diff options
author | Francesco Potortì <pot@gnu.org> | 2006-11-28 13:40:36 +0000 |
---|---|---|
committer | Francesco Potortì <pot@gnu.org> | 2006-11-28 13:40:36 +0000 |
commit | d95a57eccba17e3b3115f60f7eceeb7ccf5e66e6 (patch) | |
tree | 8c0117e2bbf3d46fb8a5269e793740e9744be9e7 /lib-src/etags.c | |
parent | 918432bc0698ccf8d9fc280f5956a9d46bbf42a1 (diff) | |
download | emacs-d95a57eccba17e3b3115f60f7eceeb7ccf5e66e6.tar.gz |
Previous changes checked in by jhd checked and cleaned up:
(readline): Check for double quote after #line.
(readline): sscanf could in principle return 2.
(TeX_commands): Use p++ (rather than *p++) to increment p.
(Lua_functions): Explicitely discard LOOKING_AT's return value.
(TEX_mode): Check getc retruns EOF.
File ended without newline causes infinite loop.
Diffstat (limited to 'lib-src/etags.c')
-rw-r--r-- | lib-src/etags.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/lib-src/etags.c b/lib-src/etags.c index 49a18be1df5..c3578a4b1ad 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c @@ -41,7 +41,7 @@ * configuration file containing regexp definitions for etags. */ -char pot_etags_version[] = "@(#) pot revision number is 17.20"; +char pot_etags_version[] = "@(#) pot revision number is $Revision: 17.22 $"; #define TRUE 1 #define FALSE 0 @@ -4955,7 +4955,7 @@ Lua_functions (inf) if (bp[0] != 'f' && bp[0] != 'l') continue; - LOOKING_AT (bp, "local"); /* skip possible "local" */ + (void)LOOKING_AT (bp, "local"); /* skip possible "local" */ if (LOOKING_AT (bp, "function")) get_tag (bp, NULL); @@ -5137,7 +5137,7 @@ TeX_commands (inf) if (!opgrp || *p == TEX_clgrp) { while (*p != '\0' && *p != TEX_opgrp && *p != TEX_clgrp) - *p++; + p++; linelen = p - lb.buffer + 1; } make_tag (cp, namelen, TRUE, @@ -6256,15 +6256,14 @@ readline (lbp, stream) /* Check whether this is a #line directive. */ if (result > 12 && strneq (lbp->buffer, "#line ", 6)) { - int start, lno; + unsigned int lno; + int start = 0; - if (DEBUG) start = 0; /* shut up the compiler */ - if (sscanf (lbp->buffer, "#line %d %n\"", &lno, &start) >= 1 - && lbp->buffer[start] == '"') + if (sscanf (lbp->buffer, "#line %u \"%n", &lno, &start) >= 1 + && start > 0) /* double quote character found */ { - char *endp = lbp->buffer + ++start; + char *endp = lbp->buffer + start; - assert (start > 0); while ((endp = etags_strchr (endp, '"')) != NULL && endp[-1] == '\\') endp++; |