From 8dfa32f6a5c8570ab2eb0f379491209a3d4494c9 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 25 Feb 2011 14:21:01 -0800 Subject: [PATCH] * make-docfile.c (scan_c_file): Refactor local variable decls to make their scope more accurate and to avoid a GCC -Wuninitialized diagnostic. --- lib-src/ChangeLog | 2 ++ lib-src/make-docfile.c | 13 ++++--------- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 61480cfaec..928e8621c2 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -3,6 +3,8 @@ * make-docfile.c (write_globals): Change char * to char const * to avoid a GCC "assignment discards qualifiers" diagnostic in some configurations. + (scan_c_file): Refactor local variable decls to make their scope + more accurate and to avoid a GCC -Wuninitialized diagnostic. 2011-02-22 Eli Zaretskii diff --git a/lib-src/make-docfile.c b/lib-src/make-docfile.c index 12dbdbee21..f900ea42e9 100644 --- a/lib-src/make-docfile.c +++ b/lib-src/make-docfile.c @@ -658,12 +658,8 @@ scan_c_file (char *filename, const char *mode) FILE *infile; register int c; register int commas; - register int defunflag; - register int defvarperbufferflag; - register int defvarflag; int minargs, maxargs; int extension = filename[strlen (filename) - 1]; - enum global_type type; if (extension == 'o') filename[strlen (filename) - 1] = 'c'; @@ -693,6 +689,10 @@ scan_c_file (char *filename, const char *mode) while (!feof (infile)) { int doc_keyword = 0; + int defunflag = 0; + int defvarperbufferflag = 0; + int defvarflag = 0; + enum global_type type = INVALID; if (c != '\n' && c != '\r') { @@ -726,7 +726,6 @@ scan_c_file (char *filename, const char *mode) continue; defvarflag = 1; - defunflag = 0; c = getc (infile); defvarperbufferflag = (c == 'P'); @@ -738,8 +737,6 @@ scan_c_file (char *filename, const char *mode) type = LISP_OBJECT; else if (c == 'B') type = BOOLEAN; - else - type = INVALID; } c = getc (infile); @@ -758,8 +755,6 @@ scan_c_file (char *filename, const char *mode) continue; c = getc (infile); defunflag = c == 'U'; - defvarflag = 0; - defvarperbufferflag = 0; } else continue; -- 2.20.1