Commit 16f0c9f6 authored by unknown's avatar unknown
Browse files

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
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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
+7 −8
Original line number Diff line number Diff line
@@ -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 */