From ea90c5d3bdb03846cbe7845b65d5be1343eddbe3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jan=20Dj=C3=A4rv?= Date: Wed, 9 Aug 2006 06:56:16 +0000 Subject: [PATCH] (readline): Change position on %n and \" in sscanf. --- lib-src/ChangeLog | 1 + lib-src/etags.c | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/lib-src/ChangeLog b/lib-src/ChangeLog index 3e7d9efad31..3328f010846 100644 --- a/lib-src/ChangeLog +++ b/lib-src/ChangeLog @@ -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 --git a/lib-src/etags.c b/lib-src/etags.c index c7d18d34849..b02268ac218 100644 --- a/lib-src/etags.c +++ b/lib-src/etags.c @@ -6259,9 +6259,10 @@ readline (lbp, stream) 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 -- 2.39.5