diff options
Diffstat (limited to 'extra')
-rw-r--r-- | extra/Makefile.am | 3 | ||||
-rw-r--r-- | extra/comp_err.c | 15 |
2 files changed, 9 insertions, 9 deletions
diff --git a/extra/Makefile.am b/extra/Makefile.am index 1ea0b7ddb38..b2d504cfb62 100644 --- a/extra/Makefile.am +++ b/extra/Makefile.am @@ -16,7 +16,8 @@ INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ -I$(top_srcdir)/sql LDADD = @CLIENT_EXTRA_LDFLAGS@ ../mysys/libmysys.a \ - ../dbug/libdbug.a ../strings/libmystrings.a + ../dbug/libdbug.a ../strings/libmystrings.a \ + $(ZLIB_LIBS) BUILT_SOURCES= $(top_builddir)/include/mysqld_error.h \ $(top_builddir)/include/sql_state.h \ $(top_builddir)/include/mysqld_ername.h diff --git a/extra/comp_err.c b/extra/comp_err.c index 85d1c932d9b..28772b4c3c5 100644 --- a/extra/comp_err.c +++ b/extra/comp_err.c @@ -637,27 +637,26 @@ static char checksum_format_specifier(const char* msg) { char chksum= 0; const char* p= msg; - int is_format_specifier= 0; + const char* start= 0; int num_format_specifiers= 0; while (*p) { if (*p == '%') { - is_format_specifier= 1; /* Entering format specifier */ + start= p+1; /* Entering format specifier */ num_format_specifiers++; } - - if (is_format_specifier) + else if (start) { - chksum^= *p; switch(*p) { case 'd': case 'u': case 'x': case 's': - is_format_specifier= 0; /* Not in format specifier anymore */ + chksum= my_checksum(chksum, start, p-start); + start= 0; /* Not in format specifier anymore */ break; default: @@ -668,13 +667,13 @@ static char checksum_format_specifier(const char* msg) p++; } - if (is_format_specifier) + if (start) { /* Still inside a format specifier after end of string */ fprintf(stderr, "Still inside formatspecifier after end of string" " in'%s'\n", msg); - DBUG_ASSERT(is_format_specifier==0); + DBUG_ASSERT(start==0); } /* Add number of format specifiers to checksum as extra safeguard */ |