X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/bacae217c754a3eedd0d71bdda74397c17633123..8c6e995a43e71e012ae133ff8ebea5719d9117fe:/uip/annosbr.c diff --git a/uip/annosbr.c b/uip/annosbr.c index aaf3aad1..c5ca38bf 100644 --- a/uip/annosbr.c +++ b/uip/annosbr.c @@ -8,6 +8,8 @@ #include #include #include +#include "sbr/lock_file.h" +#include "sbr/m_mktemp.h" #include #include @@ -15,7 +17,7 @@ /* * 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 @@ -25,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 -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; @@ -50,7 +52,7 @@ annotate (char *file, char *comp, char *text, int inplace, int datesw, int delet } 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; } @@ -60,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) - 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; @@ -68,7 +70,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. */ @@ -94,7 +96,7 @@ annolist(char *file, char *comp, char *text, int number) * This buffer might need to be quite large, so we grow it as needed. */ - field = (char *)mh_xmalloc(field_size = 256); + field = mh_xmalloc(field_size = 256); /* * Get the length of the field name since we use it often. @@ -119,7 +121,7 @@ annolist(char *file, char *comp, char *text, int number) } if (++n >= field_size - 1) { - field = (char *) mh_xrealloc((void *)field, field_size += 256); + field = mh_xrealloc((void *)field, field_size += 256); cp = field + n - 1; } @@ -138,7 +140,7 @@ annolist(char *file, char *comp, char *text, int number) 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); @@ -166,7 +168,7 @@ annopreserve(int preserve) } 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; @@ -184,7 +186,7 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in mode = fstat (fd, &st) != NOTOK ? (int) (st.st_mode & 0777) : m_gmprot (); if ((cp = m_mktemp2(file, "annotate", NULL, &tmp)) == NULL) { - adios(NULL, "unable to create temporary file in %s", get_temp_dir()); + die("unable to create temporary file"); } strncpy (tmpfil, cp, sizeof(tmpfil)); chmod (tmpfil, mode); @@ -197,11 +199,11 @@ 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. */ - if (delete >= -1 || append != 0) { + if (delete >= -1 || append) { if ((fp = fdopen(fd, "r")) == NULL) - adios(NULL, "unable to fdopen file."); + die("unable to fdopen file."); - field = (char *)mh_xmalloc(field_size = 256); + field = mh_xmalloc(field_size = 256); } /* @@ -255,7 +257,7 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in } if (++n >= field_size - 1) { - field = (char *) mh_xrealloc((void *)field, field_size *= 2); + field = mh_xrealloc((void *)field, field_size *= 2); cp = field + n - 1; } @@ -322,7 +324,7 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in */ if ((n = fputs(field, tmp)) == EOF || (c == '\n' && fputc('\n', tmp) == EOF)) - adios(NULL, "unable to write temporary file."); + die("unable to write temporary file."); } while (*field != '\0' && *field != '-'); @@ -330,7 +332,7 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in * Get rid of the field buffer because we're done with it. */ - free((void *)field); + free(field); } else { @@ -391,7 +393,7 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in */ if (fp && lseek(fd, (off_t)ftell(fp), SEEK_SET) == (off_t)-1) - adios(NULL, "can't seek."); + die("can't seek."); cpydata (fd, fileno (tmp), file, tmpfil); fclose (tmp); @@ -400,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"); - 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