Commit 16f0c9f6 authored by unknown's avatar unknown

Merge pilot.blaudden:/home/msvensson/mysql/comp_err_checksum/my50-comp_err_checksum

into  pilot.blaudden:/home/msvensson/mysql/comp_err_checksum/my51-comp_err_checksum


extra/Makefile.am:
  Auto merged
sql/share/errmsg.txt:
  Use local errmsg.txt
extra/comp_err.c:
  Manual merge
parents 56dd63a7 c36e2c23
......@@ -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
......
......@@ -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 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment