X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=uip%2Fanno.c;h=170855798c44476ef8218fb7d798b4f359169d27;hp=1c97179160c388f3ed3a129c67151edbed76d88d;hb=641a9d953e86685f9ca2f3da72e9a94e5bcfd69e;hpb=cf1205b5cbea2f0cd6ea710ec16c637df85b647c diff --git a/uip/anno.c b/uip/anno.c index 1c97179..1708557 100644 --- a/uip/anno.c +++ b/uip/anno.c @@ -53,6 +53,8 @@ static struct swit switches[] = { { NULL, 0 } }; +char *version=VERSION; + /* ** static prototypes */ @@ -181,7 +183,7 @@ main(int argc, char **argv) if (folder) adios(EX_USAGE, NULL, "only one folder at a time!"); else - folder = getcpy(expandfol(cp)); + folder = mh_xstrdup(expandfol(cp)); } else if (*cp == '/' || *cp == '.') { if (file) adios(EX_USAGE, NULL, "only one file at a time!"); @@ -305,7 +307,7 @@ annolist(char *file, unsigned char *comp, int number) } /* We'll grow this buffer as needed. */ - field = (char *)mh_xmalloc(field_size = 256); + field = mh_xcalloc(field_size = 256, sizeof(char)); make_comp(&comp); length = strlen(comp); /* Convenience copy. */ @@ -325,8 +327,7 @@ annolist(char *file, unsigned char *comp, int number) break; } if (++n >= field_size - 1) { - field = (char *)mh_xrealloc(field, - field_size += 256); + field = mh_xrealloc(field, field_size += 256); cp = field + n - 1; } } @@ -343,7 +344,7 @@ annolist(char *file, unsigned char *comp, int number) } while (*field && *field != '-'); - free(field); + mh_free0(&field); fclose(fp); return; @@ -459,7 +460,7 @@ dodel(int fd, unsigned char *comp, char *text, FILE *tmp, int number) if ((fp = fdopen(fd, "r")) == NULL) { adios(EX_IOERR, NULL, "unable to fdopen file."); } - field = (char *)mh_xmalloc(field_size); + field = mh_xcalloc(field_size, sizeof(char)); /* ** Copy lines from the input file to the temporary file @@ -479,16 +480,17 @@ dodel(int fd, unsigned char *comp, char *text, FILE *tmp, int number) ** a long path name. */ for (n=0, cp=field; (c=getc(fp)) != EOF; *cp++ = c) { - if (c == '\n' && (c = getc(fp)) != ' ' && - c != '\t') { - ungetc(c, fp); + if (c == '\n') { + ungetc((c = getc(fp)), fp); + if (c != ' ' && c != '\t') { + c = '\n'; + break; + } c = '\n'; - break; } if (++n >= field_size - 1) { - field = (char *) mh_xrealloc(field, - field_size *= 2); + field = mh_xrealloc(field, field_size *= 2); cp = field + n - 1; } } @@ -544,7 +546,7 @@ dodel(int fd, unsigned char *comp, char *text, FILE *tmp, int number) } while (*field && *field != '-'); - free(field); + mh_free0(&field); fflush(tmp); fflush(fp); /* The underlying fd will be closed by lkclose() */