diff options
author | msvensson@pilot.blaudden <> | 2007-02-22 16:44:37 +0100 |
---|---|---|
committer | msvensson@pilot.blaudden <> | 2007-02-22 16:44:37 +0100 |
commit | 4702ad54e5bc42628adf24b73542b4c6af6d7a1a (patch) | |
tree | ac14e101c8a457a45f577f647be94c3deb699d52 /extra/comp_err.c | |
parent | 85cbf07673980822ba131f3705daec2b5a9f4c9d (diff) | |
parent | 05305f462b4c6910b8f52b4f9d826e44fa4eaeae (diff) | |
download | mariadb-git-4702ad54e5bc42628adf24b73542b4c6af6d7a1a.tar.gz |
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
Diffstat (limited to 'extra/comp_err.c')
-rw-r--r-- | extra/comp_err.c | 15 |
1 files changed, 7 insertions, 8 deletions
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 */ |