Index: parse.c =================================================================== RCS file: /cvs/hypermail/hypermail/src/parse.c,v retrieving revision 1.17 diff -c -r1.17 parse.c *** parse.c 1999/05/03 07:48:07 1.17 --- parse.c 1999/05/05 16:03:36 *************** *** 1186,1192 **** fname = strstr(ptr, "name="); if (fname) { ! sscanf(fname+6, "%128[^\"]", attachname); safe_filename(attachname); } else { --- 1186,1195 ---- fname = strstr(ptr, "name="); if (fname) { ! fname+=5; ! if('\"' == *fname) ! fname++; ! sscanf(fname, "%128[^\"]", attachname); safe_filename(attachname); } else { *************** *** 1648,1654 **** if(!nameisuniq) /* get a random name */ ! binname = tmpname(dir, "bin"); else binname = checkpath; --- 1651,1657 ---- if(!nameisuniq) /* get a random name */ ! binname = tmpname(dir, FILE_PREFIXER "bin"); else binname = checkpath; *************** *** 2150,2164 **** char *ptr; for (rp = threadlist; rp != NULL; rp = rp->next) { ! if (rp->next != NULL && ! rp->next->data->msgnum == num && ! rp->data->msgnum != -1) { ! ! threadnum = rp->data->msgnum; ! name = rp->next->data->name; ! subject = rp->next->data->subject; ! break; ! } } if (rp == NULL) --- 2153,2168 ---- char *ptr; for (rp = threadlist; rp != NULL; rp = rp->next) { ! if (rp->next != NULL && ! (rp->next->data && rp->next->data->msgnum == num) && ! (rp->data && rp->data->msgnum != -1) ! ) { ! ! threadnum = rp->data->msgnum; ! name = rp->next->data->name; ! subject = rp->next->data->subject; ! break; ! } } if (rp == NULL)