# HG changeset patch # User Jan Dj¸«£rv # Date 1155106576 0 # Node ID bf72b454a40d508bb28330ff078a6560cf4aa78a # Parent 1fb4cb2b0ce01d72ff7e0ff990fdd4ab4fd8e492 (readline): Change position on %n and \" in sscanf. diff -r 1fb4cb2b0ce0 -r bf72b454a40d lib-src/ChangeLog --- a/lib-src/ChangeLog Wed Aug 09 06:22:27 2006 +0000 +++ b/lib-src/ChangeLog Wed Aug 09 06:56:16 2006 +0000 @@ -1,6 +1,7 @@ 2006-08-09 Jan Dj,Ad(Brv * etags.c (readline): expect sscanf returns >= 1. + (readline): Change position on %n and \" in sscanf. 2006-08-07 Masatake YAMATO diff -r 1fb4cb2b0ce0 -r bf72b454a40d lib-src/etags.c --- a/lib-src/etags.c Wed Aug 09 06:22:27 2006 +0000 +++ b/lib-src/etags.c Wed Aug 09 06:56:16 2006 +0000 @@ -6259,9 +6259,10 @@ int start, lno; if (DEBUG) start = 0; /* shut up the compiler */ - if (sscanf (lbp->buffer, "#line %d \"%n", &lno, &start) >= 1) + if (sscanf (lbp->buffer, "#line %d %n\"", &lno, &start) >= 1 + && inp[start] == '"') { - char *endp = lbp->buffer + start; + char *endp = lbp->buffer + ++start; assert (start > 0); while ((endp = etags_strchr (endp, '"')) != NULL