tags 613549 + patch
thanks
* Jakub Wilk <jw...@debian.org>, 2011-02-15, 16:39:
#0 0x00007f133f777013 in (anonymous namespace)::printer_t::print(miniexp_s*)
() from /usr/lib/libdjvulibre.so.21
#1 0x00007f133f776c86 in (anonymous namespace)::printer_t::print(miniexp_s*)
() from /usr/lib/libdjvulibre.so.21
#2 0x00007f133f7771d9 in miniexp_prin () from /usr/lib/libdjvulibre.so.21
#3 0x00000000004007d1 in main (argc=1, argv=0x7fff0ef9a1b8) at test.c:14
The attached patch fixes this bug.
Initializers of static variables are evaluated only once per program
execution. Hence "end" was not being initialized in subsequent calls to
must_quote_symbol().
--
Jakub Wilk
diff --git a/libdjvu/miniexp.cpp b/libdjvu/miniexp.cpp
--- a/libdjvu/miniexp.cpp
+++ b/libdjvu/miniexp.cpp
@@ -1003,7 +1003,7 @@
return true;
char *end;
#ifdef __GNUC__
- static long junk __attribute__ ((unused)) =
+ long junk __attribute__ ((unused)) =
#endif
strtol(s, &end, 0);
return (!*end);