Date: Tue, 2 Jun 2009 02:41:57 GMT From: Gabor Kovesdan <gabor@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 163331 for review Message-ID: <200906020241.n522fvZA005452@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=163331 Change 163331 by gabor@gabor_server on 2009/06/02 02:41:55 - Make it WARNS=6 clean Affected files ... .. //depot/projects/soc2008/gabor_textproc/grep/Makefile#21 edit .. //depot/projects/soc2008/gabor_textproc/grep/fastgrep.c#14 edit .. //depot/projects/soc2008/gabor_textproc/grep/file.c#44 edit .. //depot/projects/soc2008/gabor_textproc/grep/grep.c#88 edit .. //depot/projects/soc2008/gabor_textproc/grep/grep.h#50 edit .. //depot/projects/soc2008/gabor_textproc/grep/queue.c#8 edit .. //depot/projects/soc2008/gabor_textproc/grep/util.c#83 edit Differences ... ==== //depot/projects/soc2008/gabor_textproc/grep/Makefile#21 (text+ko) ==== @@ -15,7 +15,8 @@ grep.1 zegrep.1 \ grep.1 zfgrep.1 -CFLAGS+= -std=c99 -Wall -pedantic +CFLAGS+= -std=c99 +WARNS?= 6 LDADD= -lz -lbz2 DPADD= ${LIBZ} ${LIBBZ2} ==== //depot/projects/soc2008/gabor_textproc/grep/fastgrep.c#14 (text+ko) ==== @@ -55,7 +55,7 @@ void fgrepcomp(fastgrep_t *fg, const char *pat) { - int i; + unsigned int i; /* Initialize. */ fg->len = strlen(pat); @@ -63,10 +63,11 @@ fg->eol = 0; fg->reversed = 0; - fg->pattern = (unsigned char *)pat; /* really const */ + fg->pattern = grep_malloc(strlen(pat) + 1); + strcpy(fg->pattern, pat); /* Preprocess pattern. */ - for (i = 0; i <= (signed)UCHAR_MAX; i++) + for (i = 0; i <= UCHAR_MAX; i++) fg->qsBc[i] = fg->len; for (i = 1; i < fg->len; i++) fg->qsBc[fg->pattern[i]] = fg->len - i; @@ -78,7 +79,7 @@ int fastcomp(fastgrep_t *fg, const char *pat) { - int i; + unsigned int i; int bol = 0; int eol = 0; int shiftPatternLen; @@ -154,7 +155,7 @@ */ if ((!(lflag || cflag)) && ((!(bol || eol)) && ((lastHalfDot) && ((firstHalfDot < 0) || - ((fg->len - (lastHalfDot + 1)) < firstHalfDot)))) && !oflag && !color) { + ((fg->len - (lastHalfDot + 1)) < (size_t)firstHalfDot)))) && !oflag && !color) { fg->reversed = 1; hasDot = fg->len - (firstHalfDot < 0 ? firstLastHalfDot : firstHalfDot) - 1; @@ -184,7 +185,7 @@ shiftPatternLen = fg->len - hasDot; /* Preprocess pattern. */ - for (i = 0; i <= UCHAR_MAX; i++) + for (i = 0; i <= (signed)UCHAR_MAX; i++) fg->qsBc[i] = shiftPatternLen; for (i = hasDot + 1; i < fg->len; i++) { fg->qsBc[fg->pattern[i]] = fg->len - i; @@ -203,10 +204,10 @@ int grep_search(fastgrep_t *fg, unsigned char *data, size_t len, regmatch_t *pmatch) { - int j; - int ret = REG_NOMATCH; + unsigned int j; + int ret = REG_NOMATCH; - if (pmatch->rm_so == len) + if (pmatch->rm_so == (ssize_t)len) return (ret); if (fg->bol && pmatch->rm_so != 0) { @@ -282,25 +283,25 @@ static int grep_cmp(const unsigned char *pat, const unsigned char *data, size_t len) { - int i; + unsigned int i; size_t size; wchar_t *wdata, *wpat; if (iflag) { - if ((size = mbstowcs(NULL, (const char *)data, 0)) == -1) + if ((size = mbstowcs(NULL, (const char *)data, 0)) == ((size_t) - 1)) return (-1); wdata = grep_malloc(size * sizeof(wint_t)); - if (mbstowcs(wdata, (const char *)data, size) == -1) + if (mbstowcs(wdata, (const char *)data, size) == ((size_t) - 1)) return (-1); - if ((size = mbstowcs(NULL, (const char *)pat, 0)) == -1) + if ((size = mbstowcs(NULL, (const char *)pat, 0)) == ((size_t) - 1)) return (-1); wpat = grep_malloc(size * sizeof(wint_t)); - if (mbstowcs(wpat, (const char *)pat, size) == -1) + if (mbstowcs(wpat, (const char *)pat, size) == ((size_t) - 1)) return (-1); for (i = 0; i < len; i++) { if ((towlower(wpat[i]) == towlower(wdata[i])) || ((grepbehave != GREP_FIXED) && wpat[i] == L'.')) ==== //depot/projects/soc2008/gabor_textproc/grep/file.c#44 (text+ko) ==== @@ -122,10 +122,9 @@ char * grep_fgetln(struct file *f, size_t *len) { - int i = 0; int ch = 0; struct stat st; - size_t bufsiz; + size_t bufsiz, i = 0; /* Fill in the buffer if it is empty. */ if (binbufptr == NULL) { @@ -203,7 +202,7 @@ * Opens a normal, a gzipped or a bzip2 compressed file for processing. */ struct file * -grep_open(char *path) +grep_open(const char *path) { struct file *f; ==== //depot/projects/soc2008/gabor_textproc/grep/grep.c#88 (text+ko) ==== @@ -62,7 +62,7 @@ * Default messags to use when NLS is disabled or no catalogue * is found. */ -char *errstr[] = { +const char *errstr[] = { "", /* 1*/ "(standard input)", /* 2*/ "cannot read bzip2 compressed file", @@ -84,13 +84,13 @@ int matchall; /* Searching patterns */ -int patterns, pattern_sz; +unsigned int patterns, pattern_sz; char **pattern; regex_t *r_pattern; fastgrep_t *fg_pattern; /* Filename exclusion/inclusion patterns */ -int epatterns, epattern_sz; +unsigned int epatterns, epattern_sz; struct epat *epattern; /* For regex errors */ @@ -163,7 +163,7 @@ exit(2); } -static char *optstr = "0123456789A:B:C:D:EFGHIJLOPSRUVZabcd:e:f:hilm:nopqrsuvwxy"; +static const char *optstr = "0123456789A:B:C:D:EFGHIJLOPSRUVZabcd:e:f:hilm:nopqrsuvwxy"; struct option long_options[] = { @@ -285,11 +285,11 @@ int main(int argc, char *argv[]) { - int c, lastc, prevoptind, newarg, i, needpattern; + int c, lastc, prevoptind, newarg, needpattern; + unsigned int i, eargc, aargc; char *ep; unsigned long long l; char **eargv, **aargv, *eopts; - int eargc, aargc; setlocale(LC_ALL, ""); @@ -540,12 +540,12 @@ errx(2, getstr(11)); break; case COLOR_OPT: - if (optarg == NULL) - optarg = "auto"; - if (strcmp("auto", optarg) == 0 || strcmp("always", optarg) == 0 ) { + if (optarg == NULL || strcmp("auto", optarg) == 0 || strcmp("always", optarg) == 0 ) { color = getenv("GREP_COLOR"); - if (color == NULL) - color = "01;31"; + if (color == NULL) { + color = grep_malloc(sizeof(char) * 6); + strcpy(color, "01;31"); + } } else if (strcmp("never", optarg) == 0) color = NULL; else ==== //depot/projects/soc2008/gabor_textproc/grep/grep.h#50 (text+ko) ==== @@ -43,7 +43,7 @@ #define getstr(n) catgets(catalog, 1, n, errstr[n]) #endif -extern char *errstr[]; +extern const char *errstr[]; #define VERSION "2.5.1-FreeBSD" @@ -102,7 +102,7 @@ typedef struct { unsigned char *pattern; - int len; + size_t len; int qsBc[UCHAR_MAX + 1]; /* flags */ int bol; @@ -122,7 +122,8 @@ extern char *color, *label; extern int grepbehave, binbehave, filebehave, devbehave, dirbehave, linkbehave; -extern int first, prev, matchall, patterns, epatterns, tail, notfound; +extern int first, prev, matchall, tail, notfound; +extern unsigned int patterns, epatterns; extern char **pattern; extern struct epat *epattern; extern regex_t *r_pattern, *er_pattern; @@ -133,7 +134,7 @@ extern char re_error[RE_ERROR_BUF + 1]; /* Seems big enough */ /* util.c */ -int procfile(char *fn); +int procfile(const char *fn); int grep_tree(char **argv); void *grep_malloc(size_t size); void *grep_calloc(size_t nmemb, size_t size); @@ -148,7 +149,7 @@ /* file.c */ void grep_close(struct file *f); struct file *grep_stdin_open(void); -struct file *grep_open(char *path); +struct file *grep_open(const char *path); int grep_feof(struct file *f); int grep_fgetc(struct file *f); char *grep_fgetln(struct file *f, size_t *len); ==== //depot/projects/soc2008/gabor_textproc/grep/queue.c#8 (text+ko) ==== @@ -53,7 +53,7 @@ }; static STAILQ_HEAD(, qentry) queue = STAILQ_HEAD_INITIALIZER(queue); -static int count; +static unsigned long long count; static struct qentry *dequeue(void); ==== //depot/projects/soc2008/gabor_textproc/grep/util.c#83 (text+ko) ==== @@ -65,8 +65,9 @@ { FTS *fts; FTSENT *p; - int i, c, ok, fts_flags; + int c, ok, fts_flags; char *d, *dir; + unsigned int i; c = fts_flags = 0; @@ -142,7 +143,7 @@ * passing the lines to procline(). */ int -procfile(char *fn) +procfile(const char *fn) { struct str ln; struct file *f; @@ -179,7 +180,8 @@ return (0); } - ln.file = fn; + ln.file = grep_malloc(strlen(fn) + 1); + strcpy(ln.file, fn); ln.line_no = 0; ln.len = 0; linesqueued = 0; @@ -251,8 +253,9 @@ { regmatch_t pmatch; regmatch_t matches[MAX_LINE_MATCHES]; - regoff_t st = 0; - int c = 0, i, r = 0, m = 0; + size_t st = 0; + int c = 0, r = 0, m = 0; + unsigned int i; if (!matchall) { /* Loop to process the whole line */ @@ -280,21 +283,21 @@ continue; /* Check for full match */ if (r == 0 && xflag) - if (pmatch.rm_so != 0 || pmatch.rm_eo != l->len) + if (pmatch.rm_so != 0 || (size_t)pmatch.rm_eo != l->len) r = REG_NOMATCH; /* Check for whole word match */ - if (r == 0 && wflag && pmatch.rm_so != 0 && pmatch.rm_eo != l->len) { + if (r == 0 && wflag && pmatch.rm_so != 0 && (size_t)pmatch.rm_eo != l->len) { wchar_t *wbegin; wint_t wend; size_t size; size = mbstowcs(NULL, l->dat, pmatch.rm_so); - if (size == -1) + if (size == ((size_t) - 1)) r = REG_NOMATCH; else { wbegin = grep_malloc(size); - if (mbstowcs(wbegin, l->dat, pmatch.rm_so) == -1) + if (mbstowcs(wbegin, l->dat, pmatch.rm_so) == ((size_t) - 1)) r = REG_NOMATCH; else if (sscanf(&l->dat[pmatch.rm_eo], "%lc", &wend) != 1) r = REG_NOMATCH; @@ -316,7 +319,7 @@ if (!oflag && !color) break; - if (st == pmatch.rm_so) + if (st == (size_t)pmatch.rm_so) break; /* No matches */ } } else
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906020241.n522fvZA005452>