X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=uip%2Fwhatnow.c;h=75d9a9b62d7c61e69bebb356341f27ccc2e38184;hb=6cdade9983a7ebd5a5bb8296daa49d5475f07af8;hp=874a787417f0667bfcda79962198cc3757a083ff;hpb=f8960957ae53f962fe12e5a5eb4c01eb54cb4228;p=mmh diff --git a/uip/whatnow.c b/uip/whatnow.c index 874a787..75d9a9b 100644 --- a/uip/whatnow.c +++ b/uip/whatnow.c @@ -28,9 +28,8 @@ ** attach files This option attaches the named files to ** the draft. ** -** alist [-ln] This option lists the attachments on the -** draft. -l gets long listings, -n gets -** numbered listings. +** alist This option lists the attachments on the +** draft. ** ** detach files This option removes attachments from the ** detach -n numbers draft. This can be done by file name or @@ -86,9 +85,9 @@ static struct swit aleqs[] = { #define ATTACHCMDSW 11 { "attach", 0 }, #define DETACHCMDSW 12 - { "detach [-n]", 2 }, + { "detach [-n]", 0 }, #define ALISTCMDSW 13 - { "alist [-ln] ", 2 }, + { "alist", 0 }, { NULL, 0 } }; @@ -125,8 +124,7 @@ main(int argc, char **argv) char file[MAXPATHLEN + 1]; /* file name buffer */ char shell[MAXPATHLEN + 1]; /* shell response buffer */ FILE *f; /* read pointer for bgnd proc */ - char *l; /* set on -l to alist command */ - int n; /* set on -n to alist command */ + int n; /* set on -n to detach command */ #ifdef LOCALE setlocale(LC_ALL, ""); @@ -319,38 +317,14 @@ main(int argc, char **argv) case ALISTCMDSW: /* - ** List attachments on current draft. Options are: - ** - ** -l long listing (full path names) - ** -n numbers listing + ** List attachments on current draft. */ - - l = NULL; - n = 0; - - while (*++argp) { - if (strcmp(*argp, "-l") == 0) - l = "/"; - - else if (strcmp(*argp, "-n") == 0) - n = 1; - - else if (strcmp(*argp, "-ln") == 0 || - strcmp(*argp, "-nl") == 0) { - l = "/"; - n = 1; - } else { - n = -1; - break; - } + snprintf(buf, sizeof buf, "anno -list -comp '%s' " + "-number all -text IGNORE '%s'", + attach_hdr, drft); + if (system(buf) != 0) { + advise(NULL, "Could not list attachment headers."); } - - if (n == -1) - advise(NULL, "usage is alist [-ln]."); - - else - annolist(drft, attach_hdr, l, n); - break; case ATTACHCMDSW: @@ -381,6 +355,8 @@ main(int argc, char **argv) ** Add the attachment annotation to the draft. */ if ((f = popen_in_dir(cwd, buf, "r"))) { + char buf[BUFSIZ]; + while (fgets(shell, sizeof(shell), f)) { *(strchr(shell, '\n')) = '\0'; @@ -390,8 +366,15 @@ main(int argc, char **argv) sprintf(file, "%s/%s", cwd, shell); } - annotate(drft, attach_hdr, file, 0, - -2, 1, 0); + snprintf(buf, sizeof buf, + "anno -nodate -append " + "-comp '%s' -text '%s'" + " '%s'", + attach_hdr, file, + drft); + if (system(buf) != 0) { + advise(NULL, "Could not add attachment header."); + } } pclose(f); @@ -409,7 +392,6 @@ main(int argc, char **argv) ** names and numbers aren't allowed, so this ** catches a -n anywhere in the argument list. */ - for (n = 0, arguments = argp + 1; *arguments != NULL; arguments++) { @@ -426,21 +408,23 @@ main(int argc, char **argv) ** just processed after processing each one so ** that the numbering stays correct. */ - if (n == 1) { - for (arguments = argp + 1; - *arguments != NULL; + for (arguments=argp+1; *arguments; arguments++) { if (strcmp(*arguments, "-n") == 0) continue; if (**arguments != '\0') { + char buf[BUFSIZ]; + n = atoi(*arguments); - annotate(drft, attach_hdr, - NULL, 0, - n, 1, 0); + snprintf(buf, sizeof buf, "anno -delete -comp '%s' -number '%d' '%s'", attach_hdr, n, drft); + if (system(buf) != 0) { + advise(NULL, "Could not delete attachment header."); + } - for (argp = arguments + 1; *argp; argp++) { + for (argp=arguments+1; *argp; + argp++) { if (atoi(*argp) > n) { if (atoi(*argp) == 1) *argp = ""; @@ -450,7 +434,9 @@ main(int argc, char **argv) } } } + break; } + /* else */ /* ** The arguments are interpreted as file names. @@ -468,8 +454,14 @@ main(int argc, char **argv) if ((f = popen_in_dir(cwd, buf, "r"))) { while (fgets(shell, sizeof (shell), f)) { *(strchr(shell, '\n')) = '\0'; - annotate(drft, attach_hdr, shell, - 0, 0, 1, 0); + snprintf(buf, sizeof buf, + "anno -delete -comp " + "'%s' -text '%s' '%s'", + attach_hdr, shell, + drft); + if (system(buf) != 0) { + advise(NULL, "Could not delete attachment header."); + } } pclose(f); } else {