=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/diff/diff.c,v retrieving revision 1.49 retrieving revision 1.50 diff -c -r1.49 -r1.50 *** src/usr.bin/diff/diff.c 2007/03/01 21:48:32 1.49 --- src/usr.bin/diff/diff.c 2007/05/29 18:24:56 1.50 *************** *** 1,4 **** ! /* $OpenBSD: diff.c,v 1.49 2007/03/01 21:48:32 jmc Exp $ */ /* * Copyright (c) 2003 Todd C. Miller --- 1,4 ---- ! /* $OpenBSD: diff.c,v 1.50 2007/05/29 18:24:56 ray Exp $ */ /* * Copyright (c) 2003 Todd C. Miller *************** *** 21,27 **** */ #ifndef lint ! static const char rcsid[] = "$OpenBSD: diff.c,v 1.49 2007/03/01 21:48:32 jmc Exp $"; #endif /* not lint */ #include --- 21,27 ---- */ #ifndef lint ! static const char rcsid[] = "$OpenBSD: diff.c,v 1.50 2007/05/29 18:24:56 ray Exp $"; #endif /* not lint */ #include *************** *** 39,44 **** --- 39,45 ---- #include #include "diff.h" + #include "xmalloc.h" int aflag, bflag, dflag, iflag, lflag, Nflag, Pflag, pflag, rflag; int sflag, tflag, Tflag, wflag; *************** *** 274,314 **** exit(status); } - void * - emalloc(size_t n) - { - void *p; - - if ((p = malloc(n)) == NULL) - err(2, NULL); - return (p); - } - - void * - erealloc(void *p, size_t n) - { - void *q; - - if ((q = realloc(p, n)) == NULL) - err(2, NULL); - return (q); - } - - int - easprintf(char **ret, const char *fmt, ...) - { - int len; - va_list ap; - - va_start(ap, fmt); - len = vasprintf(ret, fmt, ap); - va_end(ap); - - if (len == -1) - err(2, NULL); - return (len); - } - void set_argstr(char **av, char **ave) { --- 275,280 ---- *************** *** 316,322 **** char **ap; argsize = 4 + *ave - *av + 1; ! diffargs = emalloc(argsize); strlcpy(diffargs, "diff", argsize); for (ap = av + 1; ap < ave; ap++) { if (strcmp(*ap, "--") != 0) { --- 282,288 ---- char **ap; argsize = 4 + *ave - *av + 1; ! diffargs = xmalloc(argsize); strlcpy(diffargs, "diff", argsize); for (ap = av + 1; ap < ave; ap++) { if (strcmp(*ap, "--") != 0) { *************** *** 343,349 **** while ((buf = fgetln(fp, &len)) != NULL) { if (buf[len - 1] == '\n') len--; ! pattern = emalloc(len + 1); memcpy(pattern, buf, len); pattern[len] = '\0'; push_excludes(pattern); --- 309,315 ---- while ((buf = fgetln(fp, &len)) != NULL) { if (buf[len - 1] == '\n') len--; ! pattern = xmalloc(len + 1); memcpy(pattern, buf, len); pattern[len] = '\0'; push_excludes(pattern); *************** *** 360,366 **** { struct excludes *entry; ! entry = emalloc(sizeof(*entry)); entry->pattern = pattern; entry->next = excludes_list; excludes_list = entry; --- 326,332 ---- { struct excludes *entry; ! entry = xmalloc(sizeof(*entry)); entry->pattern = pattern; entry->next = excludes_list; excludes_list = entry; *************** *** 371,385 **** { size_t len; ! if (ignore_pats == NULL) { ! /* XXX: estrdup */ ! len = strlen(pattern) + 1; ! ignore_pats = emalloc(len); ! strlcpy(ignore_pats, pattern, len); ! } else { /* old + "|" + new + NUL */ len = strlen(ignore_pats) + strlen(pattern) + 2; ! ignore_pats = erealloc(ignore_pats, len); strlcat(ignore_pats, "|", len); strlcat(ignore_pats, pattern, len); } --- 337,348 ---- { size_t len; ! if (ignore_pats == NULL) ! ignore_pats = xstrdup(pattern); ! else { /* old + "|" + new + NUL */ len = strlen(ignore_pats) + strlen(pattern) + 2; ! ignore_pats = xrealloc(ignore_pats, 1, len); strlcat(ignore_pats, "|", len); strlcat(ignore_pats, pattern, len); }