]> diplodocus.org Git - nmh/blobdiff - uip/annosbr.c
lock_file.c: close(2) file descriptor on failure, avoiding leak.
[nmh] / uip / annosbr.c
index 08201244b2d78865f4f6b0f931b23b79959f4a1d..20719804570ed48b5d55d4a37f8eeebee6d0d388 100644 (file)
@@ -8,8 +8,8 @@
 #include <h/mh.h>
 #include <h/tws.h>
 #include <h/utils.h>
 #include <h/mh.h>
 #include <h/tws.h>
 #include <h/utils.h>
-#include "../sbr/lock_file.h"
-#include "../sbr/m_mktemp.h"
+#include "sbr/lock_file.h"
+#include "sbr/m_mktemp.h"
 #include <fcntl.h>
 #include <utime.h>
 
 #include <fcntl.h>
 #include <utime.h>
 
@@ -17,7 +17,7 @@
 /*
  * static prototypes
  */
 /*
  * static prototypes
  */
-static int annosbr (int, char *, char *, char *, int, int, int, int);
+static int annosbr (int, char *, char *, char *, bool, bool, int, bool);
 
 /*
  *     This "local" global and the annopreserve() function are a hack that allows additional
 
 /*
  *     This "local" global and the annopreserve() function are a hack that allows additional
@@ -27,7 +27,7 @@ static int annosbr (int, char *, char *, char *, int, int, int, int);
 static int     preserve_actime_and_modtime = 0;        /* set to preserve access and modification times on annotated message */
 
 int
 static int     preserve_actime_and_modtime = 0;        /* set to preserve access and modification times on annotated message */
 
 int
-annotate (char *file, char *comp, char *text, int inplace, int datesw, int delete, int append)
+annotate (char *file, char *comp, char *text, bool inplace, bool datesw, int delete, bool append)
 {
     int                        i, fd;
     struct utimbuf     b;
 {
     int                        i, fd;
     struct utimbuf     b;
@@ -52,7 +52,7 @@ annotate (char *file, char *comp, char *text, int inplace, int datesw, int delet
     }
 
     if (stat(file, &s) == -1) {
     }
 
     if (stat(file, &s) == -1) {
-       advise("can't get access and modification times for %s", file);
+        inform("can't get access and modification times for %s", file);
        preserve_actime_and_modtime = 0;
     }
 
        preserve_actime_and_modtime = 0;
     }
 
@@ -62,7 +62,7 @@ annotate (char *file, char *comp, char *text, int inplace, int datesw, int delet
     i = annosbr (fd, file, comp, text, inplace, datesw, delete, append);
 
     if (preserve_actime_and_modtime && utime(file, &b) == -1)
     i = annosbr (fd, file, comp, text, inplace, datesw, delete, append);
 
     if (preserve_actime_and_modtime && utime(file, &b) == -1)
-       advise("can't set access and modification times for %s", file);
+        inform("can't set access and modification times for %s", file);
 
     lkclosedata (fd, file);
     return i;
 
     lkclosedata (fd, file);
     return i;
@@ -140,7 +140,7 @@ annolist(char *file, char *comp, char *text, int number)
            if (number)
                (void)printf("%d\t", ++count);
 
            if (number)
                (void)printf("%d\t", ++count);
 
-           if (text == NULL && (sp = strrchr(cp, '/')) != (char *)0)
+           if (text == NULL && (sp = strrchr(cp, '/')))
                cp = sp + 1;
 
             puts(cp);
                cp = sp + 1;
 
             puts(cp);
@@ -168,7 +168,7 @@ annopreserve(int preserve)
 }
 
 static int
 }
 
 static int
-annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, int delete, int append)
+annosbr (int fd, char *file, char *comp, char *text, bool inplace, bool datesw, int delete, bool append)
 {
     int mode, tmpfd;
     char *cp, *sp;
 {
     int mode, tmpfd;
     char *cp, *sp;
@@ -199,7 +199,7 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in
      * as they're read in.  This buffer is grown as needed later.
      */
 
      * as they're read in.  This buffer is grown as needed later.
      */
 
-    if (delete >= -1 || append != 0) {
+    if (delete >= -1 || append) {
        if ((fp = fdopen(fd, "r")) == NULL)
            adios(NULL, "unable to fdopen file.");
 
        if ((fp = fdopen(fd, "r")) == NULL)
            adios(NULL, "unable to fdopen file.");
 
@@ -402,7 +402,7 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in
        if ((tmpfd = open (tmpfil, O_RDONLY)) == NOTOK)
            adios (tmpfil, "unable to open for re-reading");
 
        if ((tmpfd = open (tmpfil, O_RDONLY)) == NOTOK)
            adios (tmpfil, "unable to open for re-reading");
 
-       lseek (fd, (off_t) 0, SEEK_SET);
+       lseek(fd, 0, SEEK_SET);
 
        /*
         *  We're making the file shorter if we're deleting a header field
 
        /*
         *  We're making the file shorter if we're deleting a header field