X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fshow.c;h=757b0018e337f9b6806df3ff82e697ac7658b4c1;hp=dc6d24e625b3ce64c7ec5c5d84d0b4b751ab3da8;hb=682962d94b21e120c78a52a8bdcb6aa994330a14;hpb=714b5c530ece27ea2835a313013f5b770163403c diff --git a/uip/show.c b/uip/show.c index dc6d24e..757b001 100644 --- a/uip/show.c +++ b/uip/show.c @@ -71,7 +71,7 @@ main(int argc, char **argv) #ifdef LOCALE setlocale(LC_ALL, ""); #endif - invo_name = r1bindex(argv[0], '/'); + invo_name = mhbasename(argv[0]); /* read user profile/context */ context_read(); @@ -112,7 +112,7 @@ usage: adios(NULL, "only one file at a time!"); if (!(cp = *argp++) || *cp == '-') adios(NULL, "missing argument to %s", argp[-2]); - file = path(cp, TFILE); + file = getcpy(expanddir(cp)); continue; case HEADSW: @@ -164,7 +164,7 @@ usage: if (folder) adios(NULL, "only one folder at a time!"); else - folder = pluspath(cp); + folder = getcpy(expandfol(cp)); } else if (mode != SHOW) { goto usage; } else { @@ -173,9 +173,6 @@ usage: } procp = vecp; - if (!context_find("path")) - free(path("./", TFOLDER)); - if (file) { if (msgp) adios(NULL, "only one file at a time!"); @@ -206,8 +203,8 @@ usage: } if (!folder) - folder = getfolder(1); - maildir = m_maildir(folder); + folder = getcurfol(); + maildir = toabsdir(folder); if (chdir(maildir) == NOTOK) adios(maildir, "unable to change directory to"); @@ -247,7 +244,7 @@ usage: seq_setcur(mp, mp->hghsel); /* update current message */ seq_save(mp); /* synchronize sequences */ - context_replace(pfolder, folder); /* update current folder */ + context_replace(curfolder, folder); /* update current folder */ context_save(); /* save the context file */ if (headersw && vecp == 2) @@ -301,7 +298,7 @@ go_to_it: ; ** then add "-show" option. Add "-file" if showing ** file. */ - if (strcmp(r1bindex(proc, '/'), "mhn") == 0) { + if (strcmp(mhbasename(proc), "mhn") == 0) { if (file) { vec[vecp] = vec[vecp - 1]; vec[vecp - 1] = "-file"; @@ -312,7 +309,7 @@ go_to_it: ; } /* If the "proc" is "mhshow", add "-file" if showing file. */ - if (strcmp(r1bindex(proc, '/'), "mhshow") == 0 && file ) { + if (strcmp(mhbasename(proc), "mhshow") == 0 && file ) { vec[vecp] = vec[vecp - 1]; vec[vecp - 1] = "-file"; vec[++vecp] = NULL; @@ -322,7 +319,7 @@ go_to_it: ; ** If "proc" is mhl, then run it internally ** rather than exec'ing it. */ - if (strcmp(r1bindex(proc, '/'), "mhl") == 0) { + if (strcmp(mhbasename(proc), "mhl") == 0) { vec[0] = "mhl"; mhl(vecp, vec); done(0); @@ -333,19 +330,19 @@ go_to_it: ; ** add the path to the message names. Currently, we are just ** checking for mhn here, since we've already taken care of mhl. */ - if (!strcmp(r1bindex(proc, '/'), "mhl") + if (!strcmp(mhbasename(proc), "mhl") && !file && chdir(maildir = - concat(m_maildir(""), "/", NULL)) != NOTOK) { + concat(toabsdir("+"), "/", NULL)) != NOTOK) { mp->foldpath = concat(mp->foldpath, "/", NULL); - cp = ssequal(maildir, mp->foldpath) + cp = isprefix(maildir, mp->foldpath) ? mp->foldpath + strlen(maildir) : mp->foldpath; for (msgnum = procp; msgnum < vecp; msgnum++) vec[msgnum] = concat(cp, vec[msgnum], NULL); } - vec[0] = r1bindex(proc, '/'); + vec[0] = mhbasename(proc); execvp(proc, vec); adios(proc, "unable to exec"); return 0; /* dead code to satisfy the compiler */ @@ -378,7 +375,7 @@ is_nontext(char *msgnam) int passno; char c; - cp = add(buf, NULL); + cp = getcpy(buf); while (state == FLDPLUS) { state = m_getfld(state, name, buf, sizeof(buf), fp); @@ -484,7 +481,7 @@ out: ** Check Content-Transfer-Encoding field */ if (!mh_strcasecmp(name, ENCODING_FIELD)) { - cp = add(buf, NULL); + cp = getcpy(buf); while (state == FLDPLUS) { state = m_getfld(state, name, buf, sizeof(buf), fp);