]> diplodocus.org Git - nmh/blobdiff - uip/annosbr.c
Support iCalendar event request files that don't end with a newline.
[nmh] / uip / annosbr.c
index 63d2ee4487a106010b25bde0b25b0f43fa4730bd..c2aa8652718a5f50390ce06ebce0c7a92dd7c386 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * annosbr.c -- prepend annotation to messages
+/* annosbr.c -- prepend annotation to messages
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
@@ -70,7 +68,7 @@ annotate (char *file, char *comp, char *text, int inplace, int datesw, int delet
 
 /*
  *  Produce a listing of all header fields (annotations) whose field name matches
- *  comp.  Number the listing if number is set.  Treate the field bodies as path
+ *  comp.  Number the listing if number is set.  Treat the field bodies as path
  *  names and just output the last component unless text is non-NULL.  We don't
  *  care what text is set to.
  */
@@ -88,7 +86,7 @@ annolist(char *file, char *comp, char *text, int number)
     int                n;              /* number of bytes written */
     char       *sp;            /* another miscellaneous character pointer */
 
-    if ((fp = fopen(file, "r")) == (FILE *)0)
+    if ((fp = fopen(file, "r")) == NULL)
        adios(file, "unable to open");
 
     /*
@@ -140,10 +138,10 @@ annolist(char *file, char *comp, char *text, int number)
            if (number)
                (void)printf("%d\t", ++count);
 
-           if (text == (char *)0 && (sp = strrchr(cp, '/')) != (char *)0)
+           if (text == NULL && (sp = strrchr(cp, '/')) != (char *)0)
                cp = sp + 1;
 
-           (void)printf("%s\n", cp);
+            puts(cp);
        }
 
     } while (*field != '\0' && *field != '-');
@@ -155,8 +153,6 @@ annolist(char *file, char *comp, char *text, int number)
     free(field);
 
     (void)fclose(fp);
-
-    return;
 }
 
 /*
@@ -167,7 +163,6 @@ void
 annopreserve(int preserve)
 {
        preserve_actime_and_modtime = preserve;
-       return;
 }
 
 static int
@@ -203,7 +198,7 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in
      */
 
     if (delete >= -1 || append != 0) {
-       if ((fp = fdopen(fd, "r")) == (FILE *)0)
+       if ((fp = fdopen(fd, "r")) == NULL)
            adios(NULL, "unable to fdopen file.");
 
        field = (char *)mh_xmalloc(field_size = 256);
@@ -296,7 +291,7 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in
 
            if (strncasecmp(field, comp, length) == 0 && field[length] == ':') {
                if (delete == 0) {
-                   if (text == (char *)0)
+                   if (text == NULL)
                        break;
 
                    for (cp = field + length + 1; *cp == ' ' || *cp == '\t'; cp++)
@@ -307,7 +302,7 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in
                                break;
                    }
                    else {
-                       if ((sp = strrchr(cp, '/')) != (char *)0)
+                       if ((sp = strrchr(cp, '/')) != NULL)
                            cp = sp + 1;
 
                        if (strcmp(cp, text) == 0)
@@ -395,10 +390,8 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in
      * copying routine uses the descriptor, not the pointer.
      */
 
-    if (append || delete >= -1) {
-       if (lseek(fd, (off_t)ftell(fp), SEEK_SET) == (off_t)-1)
-           adios(NULL, "can't seek.");
-    }
+    if (fp && lseek(fd, (off_t)ftell(fp), SEEK_SET) == (off_t)-1)
+        adios(NULL, "can't seek.");
 
     cpydata (fd, fileno (tmp), file, tmpfil);
     fclose (tmp);
@@ -446,7 +439,7 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in
      * lkclose() fail, but that failure is ignored so it's not a problem.
      */
 
-    if (delete >= -1)
+    if (fp)
        (void)fclose(fp);
 
     return 0;