[gobject-introspection] giscanner: restore linemark filename unescaping



commit 69d2fe30289795b3daf099a5f84ff9216dc6ed44
Author: Dieter Verfaillie <dieterv optionexplicit be>
Date:   Thu Oct 17 08:03:02 2013 +0200

    giscanner: restore linemark filename unescaping
    
    This was broken in 0d6db7114a176c2d24a19a2d6a570aab406608ac
    where the unescaped filename was still computed but
    no longer used...
    
    https://bugzilla.gnome.org/show_bug.cgi?id=710320

 giscanner/scannerlexer.l |   29 ++++++++++++++---------------
 1 files changed, 14 insertions(+), 15 deletions(-)
---
diff --git a/giscanner/scannerlexer.l b/giscanner/scannerlexer.l
index f7199ff..2e3d0ab 100644
--- a/giscanner/scannerlexer.l
+++ b/giscanner/scannerlexer.l
@@ -316,21 +316,20 @@ check_identifier (GISourceScanner *scanner,
 static void
 process_linemarks (GISourceScanner *scanner)
 {
-        char filename[1025];
-        char *compress;
-        char *real;
-
-        sscanf(yytext, "# %d \"%1024[^\"]\"", &lineno, filename);
-
-       compress = g_strcompress (filename);
-        real = g_realpath (filename);
-        if (real) {
-                g_free (scanner->current_filename);
-                scanner->current_filename = real;
-        } else {
-                g_free (real);
-        }
-        g_free (compress);
+       char escaped_filename[1025];
+       char *filename;
+       char *real;
+
+       sscanf(yytext, "# %d \"%1024[^\"]\"", &lineno, escaped_filename);
+       filename = g_strcompress (escaped_filename);
+       real = g_realpath (filename);
+       if (real) {
+               g_free (scanner->current_filename);
+               scanner->current_filename = real;
+       } else {
+               g_free (real);
+       }
+       g_free (filename);
 }
 
 /*


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]