src/bin/ed/re.c: warning: declaration of `exp' shadows a global
declaration
Jun Kuriyama
kuriyama at imgsrc.co.jp
Mon Jul 14 18:33:42 PDT 2003
With new gcc and -Wshadow, src/bin/ed/re.c shows this warning:
cc -Wshadow -c re.c
re.c: In function `get_compiled_pattern':
re.c:44: warning: declaration of `exp' shadows a global declaration
<built-in>:0: warning: shadowed declaration is here
It seems local variable exp is conflicted with exp(3) declaration. I
don't know what name should be used...
Index: re.c
===================================================================
RCS file: /home/ncvs/src/bin/ed/re.c,v
retrieving revision 1.19
diff -u -r1.19 re.c
--- re.c 30 Jun 2002 05:13:53 -0000 1.19
+++ re.c 14 Jul 2003 23:42:41 -0000
@@ -41,7 +41,7 @@
pattern_t *
get_compiled_pattern(void)
{
- static pattern_t *exp = NULL;
+ static pattern_t *expr = NULL;
static char error[1024];
char *exps;
@@ -52,27 +52,27 @@
errmsg = "invalid pattern delimiter";
return NULL;
} else if (delimiter == '\n' || *++ibufp == '\n' || *ibufp == delimiter) {
- if (!exp)
+ if (!expr)
errmsg = "no previous pattern";
- return exp;
+ return expr;
} else if ((exps = extract_pattern(delimiter)) == NULL)
return NULL;
/* buffer alloc'd && not reserved */
- if (exp && !patlock)
- regfree(exp);
- else if ((exp = (pattern_t *) malloc(sizeof(pattern_t))) == NULL) {
+ if (expr && !patlock)
+ regfree(expr);
+ else if ((expr = (pattern_t *) malloc(sizeof(pattern_t))) == NULL) {
fprintf(stderr, "%s\n", strerror(errno));
errmsg = "out of memory";
return NULL;
}
patlock = 0;
- if ((n = regcomp(exp, exps, 0))) {
- regerror(n, exp, error, sizeof error);
+ if ((n = regcomp(expr, exps, 0))) {
+ regerror(n, expr, error, sizeof error);
errmsg = error;
- free(exp);
- return exp = NULL;
+ free(expr);
+ return expr = NULL;
}
- return exp;
+ return expr;
}
--
Jun Kuriyama <kuriyama at imgsrc.co.jp> // IMG SRC, Inc.
<kuriyama at FreeBSD.org> // FreeBSD Project
More information about the freebsd-current
mailing list