diff options
Diffstat (limited to 'extra')
-rwxr-xr-x | extra/CMakeLists.txt | 4 | ||||
-rw-r--r-- | extra/Makefile.am | 16 | ||||
-rw-r--r-- | extra/comp_err.c | 83 | ||||
-rw-r--r-- | extra/innochecksum.c | 28 | ||||
-rw-r--r-- | extra/my_print_defaults.c | 33 | ||||
-rw-r--r-- | extra/mysql_waitpid.c | 8 | ||||
-rw-r--r-- | extra/perror.c | 178 | ||||
-rw-r--r-- | extra/replace.c | 143 | ||||
-rw-r--r-- | extra/resolve_stack_dump.c | 25 | ||||
-rw-r--r-- | extra/resolveip.c | 12 | ||||
-rw-r--r-- | extra/yassl/CMakeLists.txt | 1 | ||||
-rw-r--r-- | extra/yassl/Makefile.am | 2 | ||||
-rw-r--r-- | extra/yassl/taocrypt/Makefile.am | 2 |
13 files changed, 281 insertions, 254 deletions
diff --git a/extra/CMakeLists.txt b/extra/CMakeLists.txt index c1477e41a81..cec0db6a4ae 100755 --- a/extra/CMakeLists.txt +++ b/extra/CMakeLists.txt @@ -51,7 +51,5 @@ ADD_EXECUTABLE(replace replace.c) TARGET_LINK_LIBRARIES(replace strings mysys debug dbug wsock32) IF(EMBED_MANIFESTS) - MYSQL_EMBED_MANIFEST("my_print_defaults" "asInvoker") - MYSQL_EMBED_MANIFEST("perror" "asInvoker") - MYSQL_EMBED_MANIFEST("replace" "asInvoker") + MYSQL_EMBED_MANIFEST("myTest" "asInvoker") ENDIF(EMBED_MANIFESTS) diff --git a/extra/Makefile.am b/extra/Makefile.am index 16567f8d613..75422c4ee11 100644 --- a/extra/Makefile.am +++ b/extra/Makefile.am @@ -14,7 +14,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA INCLUDES = -I$(top_builddir)/include -I$(top_srcdir)/include \ - @ndbcluster_includes@ -I$(top_srcdir)/sql + -I$(top_srcdir)/sql LDADD = @CLIENT_EXTRA_LDFLAGS@ ../mysys/libmysys.a \ ../dbug/libdbug.a ../strings/libmystrings.a \ $(ZLIB_LIBS) @@ -23,10 +23,8 @@ BUILT_SOURCES= $(top_builddir)/include/mysqld_error.h \ $(top_builddir)/include/mysqld_ername.h pkginclude_HEADERS= $(BUILT_SOURCES) DISTCLEANFILES = $(BUILT_SOURCES) -# We never use SUBDIRS here, but needed for automake 1.6.3 -# to generate code to handle DIST_SUBDIRS -SUBDIRS= -DIST_SUBDIRS= yassl +SUBDIRS = @yassl_dir@ +DIST_SUBDIRS = yassl # This will build mysqld_error.h, mysqld_ername.h and sql_state.h # NOTE Built files should depend on their sources to avoid @@ -44,7 +42,7 @@ $(top_builddir)/include/mysqld_error.h: comp_err.c \ $(top_builddir)/include/mysqld_ername.h: $(top_builddir)/include/mysqld_error.h $(top_builddir)/include/sql_state.h: $(top_builddir)/include/mysqld_error.h -bin_PROGRAMS = replace comp_err perror resolveip my_print_defaults \ +bin_PROGRAMS = replace perror resolveip my_print_defaults \ resolve_stack_dump mysql_waitpid # "innochecksum" should be switched if BUILD_INNODB_TOOLS @@ -52,7 +50,11 @@ bin_PROGRAMS += innochecksum endif noinst_PROGRAMS = charset2html -EXTRA_DIST = CMakeLists.txt +EXTRA_PROGRAMS = comp_err +EXTRA_DIST = CMakeLists.txt + +perror.o: perror.c + $(COMPILE) @ndbcluster_includes@ $(LM_CFLAGS) -c $< # Don't update the files from bitkeeper %::SCCS/s.% diff --git a/extra/comp_err.c b/extra/comp_err.c index ccd978ac8ab..895524ac453 100644 --- a/extra/comp_err.c +++ b/extra/comp_err.c @@ -1,6 +1,5 @@ /* - Copyright (c) 2000, 2001, 2003-2007 MySQL AB, 2009, 2010 Sun Microsystems, Inc. - Use is subject to license terms. + Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -102,31 +101,29 @@ static struct my_option my_long_options[]= {"debug", '#', "This is a non-debug version. Catch this and exit", 0, 0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, #else - {"debug", '#', "Output debug log", (gptr *) & default_dbug_option, - (gptr *) & default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, + {"debug", '#', "Output debug log", &default_dbug_option, + &default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, #endif - {"debug-info", 'T', "Print some debug info at exit.", (gptr *) & info_flag, - (gptr *) & info_flag, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, + {"debug-info", 'T', "Print some debug info at exit.", &info_flag, + &info_flag, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"help", '?', "Displays this help and exits.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"version", 'V', "Prints version", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, - {"charset", 'C', "Charset dir", (gptr *) & charsets_dir, - (gptr *) & charsets_dir, + {"charset", 'C', "Charset dir", &charsets_dir, &charsets_dir, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, - {"in_file", 'F', "Input file", (gptr *) & TXTFILE, (gptr *) & TXTFILE, + {"in_file", 'F', "Input file", &TXTFILE, &TXTFILE, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, - {"out_dir", 'D', "Output base directory", (gptr *) & DATADIRECTORY, - (gptr *) & DATADIRECTORY, + {"out_dir", 'D', "Output base directory", &DATADIRECTORY, &DATADIRECTORY, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, - {"out_file", 'O', "Output filename (errmsg.sys)", (gptr *) & OUTFILE, - (gptr *) & OUTFILE, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, - {"header_file", 'H', "mysqld_error.h file ", (gptr *) & HEADERFILE, - (gptr *) & HEADERFILE, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, - {"name_file", 'N', "mysqld_ername.h file ", (gptr *) & NAMEFILE, - (gptr *) & NAMEFILE, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, - {"state_file", 'S', "sql_state.h file", (gptr *) & STATEFILE, - (gptr *) & STATEFILE, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, + {"out_file", 'O', "Output filename (errmsg.sys)", &OUTFILE, + &OUTFILE, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, + {"header_file", 'H', "mysqld_error.h file ", &HEADERFILE, + &HEADERFILE, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, + {"name_file", 'N', "mysqld_ername.h file ", &NAMEFILE, + &NAMEFILE, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, + {"state_file", 'S', "sql_state.h file", &STATEFILE, + &STATEFILE, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0} }; @@ -195,9 +192,9 @@ int main(int argc, char *argv[]) DBUG_RETURN(1); } clean_up(lang_head, error_head); - DBUG_LEAVE; /* we can't call my_end after DBUG_RETURN */ + DBUG_LEAVE; /* Can't use dbug after my_end() */ my_end(info_flag ? MY_CHECK_ERROR | MY_GIVE_INFO : 0); - return(0); + return 0; } } @@ -245,7 +242,7 @@ static int create_header_files(struct errors *error_head) /* generating sql_state.h file */ if (tmp_error->sql_code1[0] || tmp_error->sql_code2[0]) fprintf(sql_statef, - "%-40s,\"%s\", \"%s\",\n", tmp_error->er_name, + "{ %-40s,\"%s\", \"%s\" },\n", tmp_error->er_name, tmp_error->sql_code1, tmp_error->sql_code2); /*generating er_name file */ fprintf(er_namef, "{ \"%s\", %d },\n", tmp_error->er_name, @@ -333,21 +330,21 @@ static int create_sys_files(struct languages *lang_head, /* continue with header of the errmsg.sys file */ length= ftell(to) - HEADER_LENGTH - row_count * 2; - bzero((gptr) head, HEADER_LENGTH); - bmove((byte *) head, (byte *) file_head, 4); + bzero((uchar*) head, HEADER_LENGTH); + bmove((uchar *) head, (uchar *) file_head, 4); head[4]= 1; int2store(head + 6, length); int2store(head + 8, row_count); head[30]= csnum; my_fseek(to, 0l, MY_SEEK_SET, MYF(0)); - if (my_fwrite(to, (byte*) head, HEADER_LENGTH, MYF(MY_WME | MY_FNABP))) + if (my_fwrite(to, (uchar*) head, HEADER_LENGTH, MYF(MY_WME | MY_FNABP))) goto err; for (i= 0; i < row_count; i++) { int2store(head, file_pos[i]); - if (my_fwrite(to, (byte*) head, 2, MYF(MY_WME | MY_FNABP))) + if (my_fwrite(to, (uchar*) head, 2, MYF(MY_WME | MY_FNABP))) goto err; } my_fclose(to, MYF(0)); @@ -366,7 +363,7 @@ static void clean_up(struct languages *lang_head, struct errors *error_head) struct errors *tmp_error, *next_error; uint count, i; - my_free((gptr) default_language, MYF(0)); + my_free((uchar*) default_language, MYF(0)); for (tmp_lang= lang_head; tmp_lang; tmp_lang= next_language) { @@ -374,7 +371,7 @@ static void clean_up(struct languages *lang_head, struct errors *error_head) my_free(tmp_lang->lang_short_name, MYF(0)); my_free(tmp_lang->lang_long_name, MYF(0)); my_free(tmp_lang->charset, MYF(0)); - my_free((gptr) tmp_lang, MYF(0)); + my_free((uchar*) tmp_lang, MYF(0)); } for (tmp_error= error_head; tmp_error; tmp_error= next_error) @@ -385,17 +382,17 @@ static void clean_up(struct languages *lang_head, struct errors *error_head) { struct message *tmp; tmp= dynamic_element(&tmp_error->msg, i, struct message*); - my_free((gptr) tmp->lang_short_name, MYF(0)); - my_free((gptr) tmp->text, MYF(0)); + my_free((uchar*) tmp->lang_short_name, MYF(0)); + my_free((uchar*) tmp->text, MYF(0)); } delete_dynamic(&tmp_error->msg); if (tmp_error->sql_code1[0]) - my_free((gptr) tmp_error->sql_code1, MYF(0)); + my_free((uchar*) tmp_error->sql_code1, MYF(0)); if (tmp_error->sql_code2[0]) - my_free((gptr) tmp_error->sql_code2, MYF(0)); - my_free((gptr) tmp_error->er_name, MYF(0)); - my_free((gptr) tmp_error, MYF(0)); + my_free((uchar*) tmp_error->sql_code2, MYF(0)); + my_free((uchar*) tmp_error->er_name, MYF(0)); + my_free((uchar*) tmp_error, MYF(0)); } } @@ -475,7 +472,7 @@ static int parse_input_file(const char *file_name, struct errors **top_error, current_error->er_name, current_message.lang_short_name); DBUG_RETURN(0); } - if (insert_dynamic(¤t_error->msg, (byte *) & current_message)) + if (insert_dynamic(¤t_error->msg, (uchar *) & current_message)) DBUG_RETURN(0); continue; } @@ -538,7 +535,7 @@ static uint parse_error_offset(char *str) end= 0; ioffset= (uint) my_strtoll10(soffset, &end, &error); - my_free((gptr) soffset, MYF(0)); + my_free((uchar*) soffset, MYF(0)); DBUG_RETURN(ioffset); } @@ -644,9 +641,9 @@ static struct message *find_message(struct errors *err, const char *lang, static ha_checksum checksum_format_specifier(const char* msg) { ha_checksum chksum= 0; - const char* p= msg; - const char* start= 0; - int num_format_specifiers= 0; + const uchar* p= (const uchar*) msg; + const uchar* start= NULL; + uint32 num_format_specifiers= 0; while (*p) { @@ -765,7 +762,7 @@ static char *get_word(char **str) DBUG_ENTER("get_word"); *str= find_end_of_word(start); - DBUG_RETURN(my_strdup_with_length(start, (uint) (*str - start), + DBUG_RETURN(my_strndup(start, (uint) (*str - start), MYF(MY_WME | MY_FAE))); } @@ -799,7 +796,7 @@ static struct message *parse_message_string(struct message *new_message, while (*str != ' ' && *str != '\t' && *str) str++; if (!(new_message->lang_short_name= - my_strdup_with_length(start, (uint) (str - start), + my_strndup(start, (uint) (str - start), MYF(MY_WME | MY_FAE)))) DBUG_RETURN(0); /* Fatal error */ DBUG_PRINT("info", ("msg_slang: %s", new_message->lang_short_name)); @@ -819,7 +816,7 @@ static struct message *parse_message_string(struct message *new_message, start= str + 1; str= parse_text_line(start); - if (!(new_message->text= my_strdup_with_length(start, (uint) (str - start), + if (!(new_message->text= my_strndup(start, (uint) (str - start), MYF(MY_WME | MY_FAE)))) DBUG_RETURN(0); /* Fatal error */ DBUG_PRINT("info", ("msg_text: %s", new_message->text)); @@ -836,7 +833,6 @@ static struct message *parse_message_string(struct message *new_message, static struct errors *parse_error_string(char *str, int er_count) { struct errors *new_error; - char *start; DBUG_ENTER("parse_error_string"); DBUG_PRINT("enter", ("str: %s", str)); @@ -847,7 +843,6 @@ static struct errors *parse_error_string(char *str, int er_count) DBUG_RETURN(0); /* OOM: Fatal error */ /* getting the error name */ - start= str; str= skip_delimiters(str); if (!(new_error->er_name= get_word(&str))) diff --git a/extra/innochecksum.c b/extra/innochecksum.c index 33f925a4cad..b55b510b888 100644 --- a/extra/innochecksum.c +++ b/extra/innochecksum.c @@ -1,4 +1,5 @@ -/* Copyright (C) 2000-2005 MySQL AB & Innobase Oy +/* + Copyright (c) 2005, 2011, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -11,7 +12,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ /* InnoDB offline file checksum utility. 85% of the code in this file @@ -23,12 +25,7 @@ Published with a permission. */ -/* needed to have access to 64 bit file functions */ -#define _LARGEFILE_SOURCE -#define _LARGEFILE64_SOURCE - -#define _XOPEN_SOURCE 500 /* needed to include getopt.h on some platforms. */ - +#include <my_global.h> #include <stdio.h> #include <stdlib.h> #include <time.h> @@ -51,10 +48,9 @@ /* another argument to specify page ranges... seek to right spot and go from there */ typedef unsigned long int ulint; -typedef unsigned char byte; /* innodb function in name; modified slightly to not have the ASM version (lots of #ifs that didn't apply) */ -ulint mach_read_from_4(byte *b) +ulint mach_read_from_4(uchar *b) { return( ((ulint)(b[0]) << 24) + ((ulint)(b[1]) << 16) @@ -78,7 +74,7 @@ ulint ut_fold_binary( /*===========*/ /* out: folded value */ - byte* str, /* in: string of bytes */ + uchar* str, /* in: string of bytes */ ulint len) /* in: length */ { ulint i; @@ -98,7 +94,7 @@ ulint buf_calc_page_new_checksum( /*=======================*/ /* out: checksum */ - byte* page) /* in: buffer page */ + uchar* page) /* in: buffer page */ { ulint checksum; @@ -123,7 +119,7 @@ ulint buf_calc_page_old_checksum( /*=======================*/ /* out: checksum */ - byte* page) /* in: buffer page */ + uchar* page) /* in: buffer page */ { ulint checksum; @@ -138,7 +134,7 @@ buf_calc_page_old_checksum( int main(int argc, char **argv) { FILE *f; /* our input file */ - byte *p; /* storage of pages read */ + uchar *p; /* storage of pages read */ int bytes; /* bytes read count */ ulint ct; /* current page number (0 based) */ int now; /* current time */ @@ -224,7 +220,7 @@ int main(int argc, char **argv) } else if (verbose) { - printf("file %s= %llu bytes (%lu pages)...\n", argv[1], size, pages); + printf("file %s = %llu bytes (%lu pages)...\n", argv[optind], size, pages); printf("checking pages in range %lu to %lu\n", start_page, use_end_page ? end_page : (pages - 1)); } @@ -256,7 +252,7 @@ int main(int argc, char **argv) } /* allocate buffer for reading (so we don't realloc every time) */ - p= (byte *)malloc(UNIV_PAGE_SIZE); + p= (uchar *)malloc(UNIV_PAGE_SIZE); /* main checksumming loop */ ct= start_page; diff --git a/extra/my_print_defaults.c b/extra/my_print_defaults.c index f5f7e68c9e6..c9a845b9524 100644 --- a/extra/my_print_defaults.c +++ b/extra/my_print_defaults.c @@ -1,5 +1,6 @@ -/* Copyright (C) 2000 MySQL AB +/* + Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,7 +13,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ /* ** print_default.c: @@ -46,31 +48,36 @@ static struct my_option my_long_options[] = searched for a file of this name (and standard filename extensions are added if the file has no extension) */ - {"config-file", 'c', "Deprecated, please use --defaults-file instead. Name of config file to read; if no extension is given, default extension (e.g., .ini or .cnf) will be added", - (gptr*) &config_file, (gptr*) &config_file, 0, GET_STR, REQUIRED_ARG, + {"config-file", 'c', "Deprecated, please use --defaults-file instead. " + "Name of config file to read; if no extension is given, default " + "extension (e.g., .ini or .cnf) will be added", + &config_file, &config_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, #ifdef DBUG_OFF {"debug", '#', "This is a non-debug version. Catch this and exit", 0,0, 0, GET_DISABLED, OPT_ARG, 0, 0, 0, 0, 0, 0}, #else - {"debug", '#', "Output debug log", (gptr*) &default_dbug_option, - (gptr*) &default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, + {"debug", '#', "Output debug log", &default_dbug_option, + &default_dbug_option, 0, GET_STR, OPT_ARG, 0, 0, 0, 0, 0, 0}, #endif - {"defaults-file", 'c', "Like --config-file, except: if first option, then read this file only, do not read global or per-user config files; should be the first option", - (gptr*) &config_file, (gptr*) &config_file, 0, GET_STR, REQUIRED_ARG, + {"defaults-file", 'c', "Like --config-file, except: if first option, " + "then read this file only, do not read global or per-user config " + "files; should be the first option", + &config_file, &config_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"defaults-extra-file", 'e', - "Read this file after the global config file and before the config file in the users home directory; should be the first option", - (gptr*) &my_defaults_extra_file, (gptr*) &my_defaults_extra_file, 0, + "Read this file after the global config file and before the config " + "file in the users home directory; should be the first option", + &my_defaults_extra_file, &my_defaults_extra_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"defaults-group-suffix", 'g', "In addition to the given groups, read also groups with this suffix", - (gptr*) &my_defaults_group_suffix, (gptr*) &my_defaults_group_suffix, + &my_defaults_group_suffix, &my_defaults_group_suffix, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"extra-file", 'e', "Deprecated. Synonym for --defaults-extra-file.", - (gptr*) &my_defaults_extra_file, - (gptr*) &my_defaults_extra_file, 0, GET_STR, + &my_defaults_extra_file, + &my_defaults_extra_file, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"no-defaults", 'n', "Return an empty string (useful for scripts).", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, diff --git a/extra/mysql_waitpid.c b/extra/mysql_waitpid.c index a166e6b15af..7aae2674bfd 100644 --- a/extra/mysql_waitpid.c +++ b/extra/mysql_waitpid.c @@ -1,4 +1,5 @@ -/* Copyright (C) 2003 MySQL AB +/* + Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -11,7 +12,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ /* Wait until a program dies */ @@ -38,7 +40,7 @@ static struct my_option my_long_options[] = 0, 0, 0, 0, 0}, {"verbose", 'v', "Be more verbose. Give a warning, if kill can't handle signal 0.", - (gptr*) &verbose, (gptr*) &verbose, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, + &verbose, &verbose, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"version", 'V', "Print version information and exit.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0} diff --git a/extra/perror.c b/extra/perror.c index 5a7a8ee180c..b76f3fd8e55 100644 --- a/extra/perror.c +++ b/extra/perror.c @@ -1,5 +1,5 @@ -/* Copyright (c) 2000-2007 MySQL AB, 2008, 2009 Sun Microsystems, Inc. - Use is subject to license terms. +/* + Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -12,27 +12,46 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ -/* Return error-text for system error messages and nisam messages */ +/* Return error-text for system error messages and handler messages */ -#define PERROR_VERSION "2.10" +#define PERROR_VERSION "2.11" #include <my_global.h> #include <my_sys.h> #include <m_string.h> #include <errno.h> #include <my_getopt.h> -#ifdef HAVE_NDBCLUSTER_DB -#include "../ndb/src/ndbapi/ndberror.c" -#include "../ndb/src/kernel/error/ndbd_exit_codes.c" +#ifdef WITH_NDBCLUSTER_STORAGE_ENGINE +#include "../storage/ndb/src/ndbapi/ndberror.c" +#include "../storage/ndb/src/kernel/error/ndbd_exit_codes.c" +#include "../storage/ndb/include/mgmapi/mgmapi_error.h" #endif static my_bool verbose, print_all_codes; -#ifdef HAVE_NDBCLUSTER_DB +#include "../include/my_base.h" +#include "../mysys/my_handler_errors.h" + +#ifdef WITH_NDBCLUSTER_STORAGE_ENGINE static my_bool ndb_code; static char ndb_string[1024]; +int mgmapi_error_string(int err_no, char *str, int size) +{ + int i; + for (i= 0; i < ndb_mgm_noOfErrorMsgs; i++) + { + if ((int)ndb_mgm_error_msgs[i].code == err_no) + { + my_snprintf(str, size-1, "%s", ndb_mgm_error_msgs[i].msg); + str[size-1]= '\0'; + return 0; + } + } + return -1; +} #endif static struct my_option my_long_options[] = @@ -41,19 +60,19 @@ static struct my_option my_long_options[] = NO_ARG, 0, 0, 0, 0, 0, 0}, {"info", 'I', "Synonym for --help.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, -#ifdef HAVE_NDBCLUSTER_DB - {"ndb", 257, "Ndbcluster storage engine specific error codes.", (gptr*) &ndb_code, - (gptr*) &ndb_code, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, +#ifdef WITH_NDBCLUSTER_STORAGE_ENGINE + {"ndb", 257, "Ndbcluster storage engine specific error codes.", &ndb_code, + &ndb_code, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, #endif #ifdef HAVE_SYS_ERRLIST {"all", 'a', "Print all the error messages and the number.", - (gptr*) &print_all_codes, (gptr*) &print_all_codes, 0, GET_BOOL, NO_ARG, + &print_all_codes, &print_all_codes, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, #endif {"silent", 's', "Only print the error message.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, - {"verbose", 'v', "Print error code and message (default).", (gptr*) &verbose, - (gptr*) &verbose, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0}, + {"verbose", 'v', "Print error code and message (default).", &verbose, + &verbose, 0, GET_BOOL, NO_ARG, 1, 0, 0, 0, 0, 0}, {"version", 'V', "Displays version information and exits.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0} @@ -68,48 +87,6 @@ typedef struct ha_errors { static HA_ERRORS ha_errlist[]= { - { 120,"Didn't find key on read or update" }, - { 121,"Duplicate key on write or update" }, - { 123,"Someone has changed the row since it was read (while the table was locked to prevent it)" }, - { 124,"Wrong index given to function" }, - { 126,"Index file is crashed" }, - { 127,"Record-file is crashed" }, - { 128,"Out of memory" }, - { 130,"Incorrect file format" }, - { 131,"Command not supported by database" }, - { 132,"Old database file" }, - { 133,"No record read before update" }, - { 134,"Record was already deleted (or record file crashed)" }, - { 135,"No more room in record file" }, - { 136,"No more room in index file" }, - { 137,"No more records (read after end of file)" }, - { 138,"Unsupported extension used for table" }, - { 139,"Too big row"}, - { 140,"Wrong create options"}, - { 141,"Duplicate unique key or constraint on write or update"}, - { 142,"Unknown character set used"}, - { 143,"Conflicting table definitions in sub-tables of MERGE table"}, - { 144,"Table is crashed and last repair failed"}, - { 145,"Table was marked as crashed and should be repaired"}, - { 146,"Lock timed out; Retry transaction"}, - { 147,"Lock table is full; Restart program with a larger locktable"}, - { 148,"Updates are not allowed under a read only transactions"}, - { 149,"Lock deadlock; Retry transaction"}, - { 150,"Foreign key constraint is incorrectly formed"}, - { 151,"Cannot add a child row"}, - { 152,"Cannot delete a parent row"}, - { 153,"No savepoint with that name"}, - { 154,"Non unique key block size"}, - { 155,"The table does not exist in engine"}, - { 156,"The table existed in storage engine"}, - { 157,"Could not connect to storage engine"}, - { 158,"NULLs are not supported in spatial index"}, - { 159,"The table changed in storage engine"}, - { 160,"The table changed in storage engine"}, - { 161,"The table is not writable"}, - { 162,"Failed to get the next autoinc value"}, - { 163,"Failed to set the row autoinc value"}, - { 164,"Too many active concurrent transactions"}, { -30999, "DB_INCOMPLETE: Sync didn't finish"}, { -30998, "DB_KEYEMPTY: Key/data deleted or never created"}, { -30997, "DB_KEYEXIST: The key/data pair already exists"}, @@ -139,7 +116,7 @@ static void usage(void) { print_version(); puts("This software comes with ABSOLUTELY NO WARRANTY. This is free software,\nand you are welcome to modify and redistribute it under the GPL license\n"); - printf("Print a description for a system error code or an error code from\na MyISAM/ISAM/BDB table handler.\n"); + printf("Print a description for a system error code or a MySQL error code.\n"); printf("If you want to get the error for a negative error code, you should use\n-- before the first error code to tell perror that there was no more options.\n\n"); printf("Usage: %s [OPTIONS] [ERRORCODE [ERRORCODE...]]\n",my_progname); my_print_help(my_long_options); @@ -191,6 +168,17 @@ static const char *get_ha_error_msg(int code) { HA_ERRORS *ha_err_ptr; + /* + If you got compilation error here about compile_time_assert array, check + that every HA_ERR_xxx constant has a corresponding error message in + handler_error_messages[] list (check mysys/ma_handler_errors.h and + include/my_base.h). + */ + compile_time_assert(HA_ERR_FIRST + array_elements(handler_error_messages) == + HA_ERR_LAST + 1); + if (code >= HA_ERR_FIRST && code <= HA_ERR_LAST) + return handler_error_messages[code - HA_ERR_FIRST]; + for (ha_err_ptr=ha_errlist ; ha_err_ptr->errcode ;ha_err_ptr++) if (ha_err_ptr->errcode == code) return ha_err_ptr->msg; @@ -198,6 +186,36 @@ static const char *get_ha_error_msg(int code) } +/* + Register handler error messages for usage with my_error() + + NOTES + This is safe to call multiple times as my_error_register() + will ignore calls to register already registered error numbers. +*/ +void my_handler_error_register(void) +{ + /* + If you got compilation error here about compile_time_assert array, check + that every HA_ERR_xxx constant has a corresponding error message in + handler_error_messages[] list (check mysys/ma_handler_errors.h and + include/my_base.h). + */ + compile_time_assert(HA_ERR_FIRST + array_elements(handler_error_messages) == + HA_ERR_LAST + 1); + my_error_register(handler_error_messages, HA_ERR_FIRST, + HA_ERR_FIRST+ array_elements(handler_error_messages)-1); +} + + +void my_handler_error_unregister(void) +{ + my_error_unregister(HA_ERR_FIRST, + HA_ERR_FIRST+ array_elements(handler_error_messages)-1); +} + + + #if defined(__WIN__) static my_bool print_win_error_msg(DWORD error, my_bool verbose) { @@ -233,6 +251,8 @@ int main(int argc,char *argv[]) if (get_options(&argc,&argv)) exit(1); + my_handler_error_register(); + error=0; #ifdef HAVE_SYS_ERRLIST if (print_all_codes) @@ -273,11 +293,12 @@ int main(int argc,char *argv[]) found=0; code=atoi(*argv); -#ifdef HAVE_NDBCLUSTER_DB +#ifdef WITH_NDBCLUSTER_STORAGE_ENGINE if (ndb_code) { - if ((ndb_error_string(code, ndb_string, sizeof(ndb_string)) < 0) && - (ndbd_exit_string(code, ndb_string, sizeof(ndb_string)) < 0)) + if ((ndb_error_string(code, ndb_string, sizeof(ndb_string)) < 0) && + (ndbd_exit_string(code, ndb_string, sizeof(ndb_string)) < 0) && + (mgmapi_error_string(code, ndb_string, sizeof(ndb_string)) < 0)) { msg= 0; } @@ -312,36 +333,31 @@ int main(int argc,char *argv[]) (const uchar*) "Unknown Error", 13) && (!unknown_error || strcmp(msg, unknown_error))) { - found=1; + found= 1; if (verbose) - printf("OS error code %3d: %s\n",code,msg); + printf("OS error code %3d: %s\n", code, msg); else puts(msg); } - + if ((msg= get_ha_error_msg(code))) + { + found= 1; + if (verbose) + printf("MySQL error code %3d: %s\n", code, msg); + else + puts(msg); + } if (!found) { - /* Error message still not found, look in handler error codes */ - if (!(msg=get_ha_error_msg(code))) - { #if defined(__WIN__) - if (!(skip_win_message= !print_win_error_msg((DWORD)code, verbose))) - { + if (!(skip_win_message= !print_win_error_msg((DWORD)code, verbose))) + { #endif - fprintf(stderr,"Illegal error code: %d\n",code); - error=1; + fprintf(stderr,"Illegal error code: %d\n",code); + error=1; #if defined(__WIN__) - } -#endif - } - else - { - found= 1; - if (verbose) - printf("MySQL error code %3d: %s\n",code,msg); - else - puts(msg); } +#endif } #if defined(__WIN__) if (!skip_win_message) diff --git a/extra/replace.c b/extra/replace.c index de0a4b05764..35739a60dca 100644 --- a/extra/replace.c +++ b/extra/replace.c @@ -1,17 +1,20 @@ -/* Copyright (C) 2000 MySQL AB +/* + Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; version 2 of the License. + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License + as published by the Free Software Foundation; version 2 of + the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ /* Replace strings in textfile @@ -51,7 +54,7 @@ typedef struct st_pointer_array { /* when using array-strings */ TYPELIB typelib; /* Pointer to strings */ - byte *str; /* Strings is here */ + uchar *str; /* Strings is here */ int7 *flag; /* Flag about each var. */ uint array_allocs,max_count,length,max_length; } POINTER_ARRAY; @@ -67,7 +70,7 @@ typedef struct st_replace { } REPLACE; typedef struct st_replace_found { - bool found; + my_bool found; char *replace_string; uint to_offset; int from_offset; @@ -83,14 +86,14 @@ static int static_get_options(int *argc,char * * *argv); static int get_replace_strings(int *argc,char * * *argv, POINTER_ARRAY *from_array, POINTER_ARRAY *to_array); -static int insert_pointer_name(POINTER_ARRAY *pa, my_string name); +static int insert_pointer_name(POINTER_ARRAY *pa, char * name); static void free_pointer_array(POINTER_ARRAY *pa); static int convert_pipe(REPLACE *,FILE *,FILE *); -static int convert_file(REPLACE *, my_string); -static REPLACE *init_replace(my_string *from, my_string *to,uint count, - my_string word_end_chars); -static uint replace_strings(REPLACE *rep, my_string *start,uint *max_length, - my_string from); +static int convert_file(REPLACE *, char *); +static REPLACE *init_replace(char * *from, char * *to,uint count, + char * word_end_chars); +static uint replace_strings(REPLACE *rep, char * *start,uint *max_length, + char * from); static int initialize_buffer(void); static void reset_buffer(void); static void free_buffer(void); @@ -245,10 +248,10 @@ POINTER_ARRAY *from_array,*to_array; return 0; } -static int insert_pointer_name(reg1 POINTER_ARRAY *pa,my_string name) +static int insert_pointer_name(reg1 POINTER_ARRAY *pa,char * name) { uint i,length,old_count; - byte *new_pos; + uchar *new_pos; const char **new_array; DBUG_ENTER("insert_pointer_name"); @@ -256,16 +259,16 @@ static int insert_pointer_name(reg1 POINTER_ARRAY *pa,my_string name) { if (!(pa->typelib.type_names=(const char **) my_malloc(((PC_MALLOC-MALLOC_OVERHEAD)/ - (sizeof(my_string)+sizeof(*pa->flag))* - (sizeof(my_string)+sizeof(*pa->flag))),MYF(MY_WME)))) + (sizeof(char *)+sizeof(*pa->flag))* + (sizeof(char *)+sizeof(*pa->flag))),MYF(MY_WME)))) DBUG_RETURN(-1); - if (!(pa->str= (byte*) my_malloc((uint) (PS_MALLOC-MALLOC_OVERHEAD), + if (!(pa->str= (uchar*) my_malloc((uint) (PS_MALLOC-MALLOC_OVERHEAD), MYF(MY_WME)))) { - my_free((gptr) pa->typelib.type_names,MYF(0)); + my_free((uchar*) pa->typelib.type_names,MYF(0)); DBUG_RETURN (-1); } - pa->max_count=(PC_MALLOC-MALLOC_OVERHEAD)/(sizeof(byte*)+ + pa->max_count=(PC_MALLOC-MALLOC_OVERHEAD)/(sizeof(uchar*)+ sizeof(*pa->flag)); pa->flag= (int7*) (pa->typelib.type_names+pa->max_count); pa->length=0; @@ -277,7 +280,7 @@ static int insert_pointer_name(reg1 POINTER_ARRAY *pa,my_string name) { pa->max_length=(pa->length+length+MALLOC_OVERHEAD+PS_MALLOC-1)/PS_MALLOC; pa->max_length=pa->max_length*PS_MALLOC-MALLOC_OVERHEAD; - if (!(new_pos= (byte*) my_realloc((gptr) pa->str, + if (!(new_pos= (uchar*) my_realloc((uchar*) pa->str, (uint) pa->max_length, MYF(MY_WME)))) DBUG_RETURN(1); @@ -295,23 +298,23 @@ static int insert_pointer_name(reg1 POINTER_ARRAY *pa,my_string name) int len; pa->array_allocs++; len=(PC_MALLOC*pa->array_allocs - MALLOC_OVERHEAD); - if (!(new_array=(const char **) my_realloc((gptr) pa->typelib.type_names, + if (!(new_array=(const char **) my_realloc((uchar*) pa->typelib.type_names, (uint) len/ - (sizeof(byte*)+sizeof(*pa->flag))* - (sizeof(byte*)+sizeof(*pa->flag)), + (sizeof(uchar*)+sizeof(*pa->flag))* + (sizeof(uchar*)+sizeof(*pa->flag)), MYF(MY_WME)))) DBUG_RETURN(1); pa->typelib.type_names=new_array; old_count=pa->max_count; - pa->max_count=len/(sizeof(byte*) + sizeof(*pa->flag)); + pa->max_count=len/(sizeof(uchar*) + sizeof(*pa->flag)); pa->flag= (int7*) (pa->typelib.type_names+pa->max_count); - memcpy((byte*) pa->flag,(my_string) (pa->typelib.type_names+old_count), + memcpy((uchar*) pa->flag,(char *) (pa->typelib.type_names+old_count), old_count*sizeof(*pa->flag)); } pa->flag[pa->typelib.count]=0; /* Reset flag */ - pa->typelib.type_names[pa->typelib.count++]= pa->str+pa->length; + pa->typelib.type_names[pa->typelib.count++]= (char*) (pa->str+pa->length); pa->typelib.type_names[pa->typelib.count]= NullS; /* Put end-mark */ - VOID(strmov(pa->str+pa->length,name)); + VOID(strmov((char*) pa->str + pa->length, name)); pa->length+=length; DBUG_RETURN(0); } /* insert_pointer_name */ @@ -324,9 +327,9 @@ static void free_pointer_array(reg1 POINTER_ARRAY *pa) if (pa->typelib.count) { pa->typelib.count=0; - my_free((gptr) pa->typelib.type_names,MYF(0)); + my_free((uchar*) pa->typelib.type_names,MYF(0)); pa->typelib.type_names=0; - my_free((gptr) pa->str,MYF(0)); + my_free((uchar*) pa->str,MYF(0)); } return; } /* free_pointer_array */ @@ -380,23 +383,23 @@ static int get_next_bit(REP_SET *set,uint lastpos); static short find_set(REP_SETS *sets,REP_SET *find); static short find_found(FOUND_SET *found_set,uint table_offset, int found_offset); -static uint start_at_word(my_string pos); -static uint end_of_word(my_string pos); -static uint replace_len(my_string pos); +static uint start_at_word(char * pos); +static uint end_of_word(char * pos); +static uint replace_len(char * pos); static uint found_sets=0; /* Init a replace structure for further calls */ -static REPLACE *init_replace(my_string *from, my_string *to,uint count, - my_string word_end_chars) +static REPLACE *init_replace(char * *from, char * *to,uint count, + char * word_end_chars) { uint i,j,states,set_nr,len,result_len,max_length,found_end,bits_set,bit_nr; int used_sets,chr; short default_state; char used_chars[LAST_CHAR_CODE],is_word_end[256]; - my_string pos,to_pos,*to_array; + char * pos, *to_pos, **to_array; REP_SETS sets; REP_SET *set,*start_states,*word_states,*new_set; FOLLOWS *follow,*follow_ptr; @@ -441,7 +444,7 @@ static REPLACE *init_replace(my_string *from, my_string *to,uint count, if (!(follow=(FOLLOWS*) my_malloc((states+2)*sizeof(FOLLOWS),MYF(MY_WME)))) { free_sets(&sets); - my_free((gptr) found_set,MYF(0)); + my_free((uchar*) found_set,MYF(0)); DBUG_RETURN(0); } @@ -632,12 +635,12 @@ static REPLACE *init_replace(my_string *from, my_string *to,uint count, if ((replace=(REPLACE*) my_malloc(sizeof(REPLACE)*(sets.count)+ sizeof(REPLACE_STRING)*(found_sets+1)+ - sizeof(my_string)*count+result_len, + sizeof(char *)*count+result_len, MYF(MY_WME | MY_ZEROFILL)))) { rep_str=(REPLACE_STRING*) (replace+sets.count); - to_array=(my_string*) (rep_str+found_sets+1); - to_pos=(my_string) (to_array+count); + to_array=(char **) (rep_str+found_sets+1); + to_pos=(char *) (to_array+count); for (i=0 ; i < count ; i++) { to_array[i]=to_pos; @@ -648,7 +651,7 @@ static REPLACE *init_replace(my_string *from, my_string *to,uint count, for (i=1 ; i <= found_sets ; i++) { pos=from[found_set[i-1].table_offset]; - rep_str[i].found= (my_bool) (!bcmp(pos,"\\^",3) ? 2 : 1); + rep_str[i].found= (my_bool) (!memcmp(pos,"\\^",3) ? 2 : 1); rep_str[i].replace_string=to_array[found_set[i-1].table_offset]; rep_str[i].to_offset=found_set[i-1].found_offset-start_at_word(pos); rep_str[i].from_offset=found_set[i-1].found_offset-replace_len(pos)+ @@ -663,9 +666,9 @@ static REPLACE *init_replace(my_string *from, my_string *to,uint count, replace[i].next[j]=(REPLACE*) (rep_str+(-sets.set[i].next[j]-1)); } } - my_free((gptr) follow,MYF(0)); + my_free((uchar*) follow,MYF(0)); free_sets(&sets); - my_free((gptr) found_set,MYF(0)); + my_free((uchar*) found_set,MYF(0)); DBUG_PRINT("exit",("Replace table has %d states",sets.count)); DBUG_RETURN(replace); } @@ -681,7 +684,7 @@ static int init_sets(REP_SETS *sets,uint states) if (!(sets->bit_buffer=(uint*) my_malloc(sizeof(uint)*sets->size_of_bits* SET_MALLOC_HUNC,MYF(MY_WME)))) { - my_free((gptr) sets->set,MYF(0)); + my_free((uchar*) sets->set,MYF(0)); return 1; } return 0; @@ -713,13 +716,13 @@ static REP_SET *make_new_set(REP_SETS *sets) return set; } count=sets->count+sets->invisible+SET_MALLOC_HUNC; - if (!(set=(REP_SET*) my_realloc((gptr) sets->set_buffer, + if (!(set=(REP_SET*) my_realloc((uchar*) sets->set_buffer, sizeof(REP_SET)*count, MYF(MY_WME)))) return 0; sets->set_buffer=set; sets->set=set+sets->invisible; - if (!(bit_buffer=(uint*) my_realloc((gptr) sets->bit_buffer, + if (!(bit_buffer=(uint*) my_realloc((uchar*) sets->bit_buffer, (sizeof(uint)*sets->size_of_bits)*count, MYF(MY_WME)))) return 0; @@ -742,8 +745,8 @@ static void free_last_set(REP_SETS *sets) static void free_sets(REP_SETS *sets) { - my_free((gptr)sets->set_buffer,MYF(0)); - my_free((gptr)sets->bit_buffer,MYF(0)); + my_free((uchar*)sets->set_buffer,MYF(0)); + my_free((uchar*)sets->bit_buffer,MYF(0)); return; } @@ -770,14 +773,14 @@ static void or_bits(REP_SET *to,REP_SET *from) static void copy_bits(REP_SET *to,REP_SET *from) { - memcpy((byte*) to->bits,(byte*) from->bits, + memcpy((uchar*) to->bits,(uchar*) from->bits, (size_t) (sizeof(uint) * to->size_of_bits)); } static int cmp_bits(REP_SET *set1,REP_SET *set2) { - return bcmp((byte*) set1->bits,(byte*) set2->bits, - sizeof(uint) * set1->size_of_bits); + return memcmp(set1->bits, set2->bits, + sizeof(uint) * set1->size_of_bits); } @@ -819,7 +822,7 @@ static short find_set(REP_SETS *sets,REP_SET *find) return (short) i; } } - return (short) i; /* return new postion */ + return (short) i; /* return new position */ } @@ -842,26 +845,26 @@ static short find_found(FOUND_SET *found_set,uint table_offset, found_set[i].table_offset=table_offset; found_set[i].found_offset=found_offset; found_sets++; - return (short) (-i-2); /* return new postion */ + return (short) (-i-2); /* return new position */ } /* Return 1 if regexp starts with \b or ends with \b*/ -static uint start_at_word(my_string pos) +static uint start_at_word(char * pos) { - return (((!bcmp(pos,"\\b",2) && pos[2]) || !bcmp(pos,"\\^",2)) ? 1 : 0); + return (((!memcmp(pos,"\\b",2) && pos[2]) || !memcmp(pos,"\\^",2)) ? 1 : 0); } -static uint end_of_word(my_string pos) +static uint end_of_word(char * pos) { - my_string end=strend(pos); - return ((end > pos+2 && !bcmp(end-2,"\\b",2)) || - (end >= pos+2 && !bcmp(end-2,"\\$",2))) ? + char * end=strend(pos); + return ((end > pos+2 && !memcmp(end-2,"\\b",2)) || + (end >= pos+2 && !memcmp(end-2,"\\$",2))) ? 1 : 0; } -static uint replace_len(my_string str) +static uint replace_len(char * str) { uint len=0; while (*str) @@ -877,12 +880,12 @@ static uint replace_len(my_string str) /* The actual loop */ -static uint replace_strings(REPLACE *rep, my_string *start,uint *max_length, - my_string from) +static uint replace_strings(REPLACE *rep, char **start, uint *max_length, + char *from) { reg1 REPLACE *rep_pos; reg2 REPLACE_STRING *rep_str; - my_string to,end,pos,new; + char *to, *end, *pos, *new; end=(to= *start) + *max_length-1; rep_pos=rep+1; @@ -903,7 +906,7 @@ static uint replace_strings(REPLACE *rep, my_string *start,uint *max_length, } if (!(rep_str = ((REPLACE_STRING*) rep_pos))->replace_string) return (uint) (to - *start)-1; - updated=1; /* Some my_string is replaced */ + updated=1; /* Some char * is replaced */ to-=rep_str->to_offset; for (pos=rep_str->replace_string; *pos ; pos++) { @@ -988,7 +991,8 @@ int n; return 0; /* Read in new stuff. */ - if ((i=(int) my_read(fd, buffer + bufbytes, (uint) bufread,MYF(MY_WME))) < 0) + if ((i=(int) my_read(fd, (uchar*) buffer + bufbytes, + (size_t) bufread, MYF(MY_WME))) < 0) return -1; /* Kludge to pretend every nonempty file ends with a newline. */ @@ -1039,7 +1043,7 @@ FILE *in,*out; return 1; if (!my_eof) out_buff[length++]=save_char; /* Don't write added newline */ - if (my_fwrite(out,out_buff,length,MYF(MY_WME | MY_NABP))) + if (my_fwrite(out, (uchar*) out_buff, length, MYF(MY_WME | MY_NABP))) DBUG_RETURN(1); } } @@ -1047,7 +1051,7 @@ FILE *in,*out; } -static int convert_file(REPLACE *rep, my_string name) +static int convert_file(REPLACE *rep, char * name) { int error; FILE *in,*out; @@ -1056,6 +1060,7 @@ static int convert_file(REPLACE *rep, my_string name) char link_name[FN_REFLEN]; #endif File temp_file; + size_t dir_buff_length; DBUG_ENTER("convert_file"); /* check if name is a symlink */ @@ -1065,7 +1070,7 @@ static int convert_file(REPLACE *rep, my_string name) #endif if (!(in= my_fopen(org_name,O_RDONLY,MYF(MY_WME)))) DBUG_RETURN(1); - dirname_part(dir_buff,org_name); + dirname_part(dir_buff, org_name, &dir_buff_length); if ((temp_file= create_temp_file(tempname, dir_buff, "PR", O_WRONLY, MYF(MY_WME))) < 0) { diff --git a/extra/resolve_stack_dump.c b/extra/resolve_stack_dump.c index 04ab8a30f0d..70741eff6c7 100644 --- a/extra/resolve_stack_dump.c +++ b/extra/resolve_stack_dump.c @@ -1,4 +1,5 @@ -/* Copyright (C) 2000 MySQL AB +/* + Copyright (c) 2001, 2010, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -11,7 +12,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ /* Resolve numeric stack dump produced by mysqld 3.23.30 and later versions into symbolic names. By Sasha Pachev <sasha@mysql.com> @@ -53,10 +55,10 @@ static struct my_option my_long_options[] = 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"version", 'V', "Output version information and exit.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, - {"symbols-file", 's', "Use specified symbols file.", (gptr*) &sym_fname, - (gptr*) &sym_fname, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, + {"symbols-file", 's', "Use specified symbols file.", &sym_fname, + &sym_fname, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, {"numeric-dump-file", 'n', "Read the dump from specified file.", - (gptr*) &dump_fname, (gptr*) &dump_fname, 0, GET_STR, REQUIRED_ARG, + &dump_fname, &dump_fname, 0, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0}, { 0, 0, 0, 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0} }; @@ -235,7 +237,7 @@ static void init_sym_table() SYM_ENTRY se; if (init_sym_entry(&se, buf)) continue; - if (insert_dynamic(&sym_table, (gptr)&se)) + if (insert_dynamic(&sym_table, (uchar*)&se)) die("insert_dynamic() failed - looks like we are out of memory"); } @@ -255,7 +257,7 @@ static void verify_sort() for (i = 0; i < sym_table.elements; i++) { SYM_ENTRY se; - get_dynamic(&sym_table, (gptr)&se, i); + get_dynamic(&sym_table, (uchar*)&se, i); if (se.addr < last) die("sym table does not appear to be sorted, did you forget \ --numeric-sort arg to nm? trouble addr = %p, last = %p", se.addr, last); @@ -267,16 +269,16 @@ static void verify_sort() static SYM_ENTRY* resolve_addr(uchar* addr, SYM_ENTRY* se) { uint i; - get_dynamic(&sym_table, (gptr)se, 0); + get_dynamic(&sym_table, (uchar*)se, 0); if (addr < se->addr) return 0; for (i = 1; i < sym_table.elements; i++) { - get_dynamic(&sym_table, (gptr)se, i); + get_dynamic(&sym_table, (uchar*)se, i); if (addr < se->addr) { - get_dynamic(&sym_table, (gptr)se, i - 1); + get_dynamic(&sym_table, (uchar*)se, i - 1); return se; } } @@ -290,7 +292,8 @@ static void do_resolve() char buf[1024], *p; while (fgets(buf, sizeof(buf), fp_dump)) { - p = buf; + /* skip bracket */ + p= (p= strchr(buf, '[')) ? p+1 : buf; /* skip space */ while (my_isspace(&my_charset_latin1,*p)) ++p; diff --git a/extra/resolveip.c b/extra/resolveip.c index aedc2cc3418..6a80fd7768a 100644 --- a/extra/resolveip.c +++ b/extra/resolveip.c @@ -1,4 +1,5 @@ -/* Copyright (C) 2000 MySQL AB +/* + Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -11,7 +12,8 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ /* Resolves IP's to hostname and hostnames to IP's */ @@ -33,7 +35,7 @@ #include <my_net.h> #include <my_getopt.h> -#if !defined(_AIX) && !defined(HAVE_UNIXWARE7_THREADS) && !defined(HAVE_UNIXWARE7_POSIX) && !defined(h_errno) +#if !defined(_AIX) && !defined(h_errno) extern int h_errno; #endif @@ -45,7 +47,7 @@ static struct my_option my_long_options[] = 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, {"info", 'I', "Synonym for --help.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, - {"silent", 's', "Be more silent.", (gptr*) &silent, (gptr*) &silent, + {"silent", 's', "Be more silent.", &silent, &silent, 0, GET_BOOL, NO_ARG, 0, 0, 0, 0, 0, 0}, {"version", 'V', "Displays version information and exits.", 0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0}, @@ -85,7 +87,7 @@ get_one_option(int optid, const struct my_option *opt __attribute__((unused)), return 0; } -/*static my_string load_default_groups[]= { "resolveip","client",0 }; */ +/*static char * load_default_groups[]= { "resolveip","client",0 }; */ static int get_options(int *argc,char ***argv) { diff --git a/extra/yassl/CMakeLists.txt b/extra/yassl/CMakeLists.txt index f3b541dfa0c..eda5c3d4652 100644 --- a/extra/yassl/CMakeLists.txt +++ b/extra/yassl/CMakeLists.txt @@ -24,4 +24,5 @@ SET(YASSL_SOURCES src/buffer.cpp src/cert_wrapper.cpp src/crypto_wrapper.cpp sr src/yassl_imp.cpp src/yassl_int.cpp) IF(NOT SOURCE_SUBLIBS) ADD_LIBRARY(yassl ${YASSL_SOURCES}) + ADD_DEPENDENCIES(yassl GenError) ENDIF(NOT SOURCE_SUBLIBS) diff --git a/extra/yassl/Makefile.am b/extra/yassl/Makefile.am index 87be92f07e4..2280e02f537 100644 --- a/extra/yassl/Makefile.am +++ b/extra/yassl/Makefile.am @@ -14,7 +14,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA SUBDIRS = taocrypt src testsuite -EXTRA_DIST = yassl.dsp yassl.dsw CMakeLists.txt +EXTRA_DIST = CMakeLists.txt # Don't update the files from bitkeeper %::SCCS/s.% diff --git a/extra/yassl/taocrypt/Makefile.am b/extra/yassl/taocrypt/Makefile.am index 37a884e4deb..de59419a736 100644 --- a/extra/yassl/taocrypt/Makefile.am +++ b/extra/yassl/taocrypt/Makefile.am @@ -14,7 +14,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA SUBDIRS = src test benchmark -EXTRA_DIST = taocrypt.dsw taocrypt.dsp CMakeLists.txt $(wildcard mySTL/*.hpp) +EXTRA_DIST = CMakeLists.txt $(wildcard mySTL/*.hpp) # Don't update the files from bitkeeper %::SCCS/s.% |