diff options
author | Michael Widenius <monty@mysql.com> | 2009-04-25 13:05:32 +0300 |
---|---|---|
committer | Michael Widenius <monty@mysql.com> | 2009-04-25 13:05:32 +0300 |
commit | 2fe328a5666bb5b51e230a5ed78d95bd051b7b00 (patch) | |
tree | e644a6134bfe892512501c648c938a2e93f08130 /mysys/my_error.c | |
parent | d364b563a624aa320c13a291a6d135251e6b910d (diff) | |
parent | 12e300ad20774c3d1764262b023b3de480a697a6 (diff) | |
download | mariadb-git-2fe328a5666bb5b51e230a5ed78d95bd051b7b00.tar.gz |
Merged with mysql-5.1 tree.
client/mysqltest.cc:
Manually merged
configure.in:
Manually merged
mysql-test/r/variables.result:
Manually merged
mysql-test/t/variables.test:
Manually merged
mysys/my_pread.c:
Manually merged
mysys/my_read.c:
Manually merged
sql/mysqld.cc:
Manually merged
storage/csv/ha_tina.h:
Manually merged
storage/myisam/ha_myisam.cc:
Manually merged
storage/myisam/mi_check.c:
Manually merged
storage/myisam/mi_search.c:
Manually merged
Diffstat (limited to 'mysys/my_error.c')
-rw-r--r-- | mysys/my_error.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/mysys/my_error.c b/mysys/my_error.c index 7f9850ac94d..4e04d4fadc2 100644 --- a/mysys/my_error.c +++ b/mysys/my_error.c @@ -276,11 +276,16 @@ const char **my_error_unregister(int first, int last) void my_error_unregister_all(void) { - struct my_err_head *list, *next; - for (list= my_errmsgs_globerrs.meh_next; list; list= next) + struct my_err_head *cursor, *saved_next; + + for (cursor= my_errmsgs_globerrs.meh_next; cursor != NULL; cursor= saved_next) { - next= list->meh_next; - my_free((uchar*) list, MYF(0)); + /* We need this ptr, but we're about to free its container, so save it. */ + saved_next= cursor->meh_next; + + my_free((uchar*) cursor, MYF(0)); } + my_errmsgs_globerrs.meh_next= NULL; /* Freed in first iteration above. */ + my_errmsgs_list= &my_errmsgs_globerrs; } |