File mariadb-5.1.55-compilation-fix.patch of Package mariadb.import4830
PATCH-P0-HACK-SUSE: Fixing few compilation problems
Mostly minor things. Mostly just to make compiler happy as it can't determine
that everything is ok. But few things might actually worth reporting as they
could be handled better (mostly the write calls).
Maintainer: Michal Hrusecky <mhrusecky@suse.cz>
Index: client/readline.cc
===================================================================
--- client/readline.cc.orig
+++ client/readline.cc
@@ -45,7 +45,7 @@ LINE_BUFFER *batch_readline_init(ulong m
char *batch_readline(LINE_BUFFER *line_buff, bool *truncated)
{
char *pos;
- ulong out_length;
+ ulong out_length=0;
DBUG_ASSERT(truncated != NULL);
if (!(pos=intern_read_line(line_buff,&out_length, truncated)))
Index: storage/innodb_plugin/ut/ut0ut.c
===================================================================
--- storage/innodb_plugin/ut/ut0ut.c.orig
+++ storage/innodb_plugin/ut/ut0ut.c
@@ -553,7 +553,9 @@ ut_print_namel(
trx ? trx->mysql_thd : NULL,
table_id);
- fwrite(buf, 1, bufend - buf, f);
+ if(fwrite(buf, 1, bufend - buf, f) != (size_t)max(0,(bufend - buf))) {
+ fprintf(stderr, "fwrite failed in ut_print_namel!!!\n");
+ }
}
/**********************************************************************//**
@@ -574,7 +576,8 @@ ut_copy_file(
? (size_t) len
: sizeof buf;
size_t size = fread(buf, 1, maxs, src);
- fwrite(buf, 1, size, dest);
+ if(fwrite(buf, size, 1, dest)<size)
+ break;
len -= (long) size;
if (size < maxs) {
break;
Index: storage/ndb/src/common/util/ndb_init.c
===================================================================
--- storage/ndb/src/common/util/ndb_init.c.orig
+++ storage/ndb/src/common/util/ndb_init.c
@@ -31,7 +31,7 @@ ndb_init()
{
if (my_init()) {
const char* err = "my_init() failed - exit\n";
- write(2, err, strlen(err));
+ fprintf(stderr, err, strlen(err));
exit(1);
}
ndb_init_internal();
Index: sql/log.cc
===================================================================
--- sql/log.cc.orig
+++ sql/log.cc
@@ -1868,7 +1868,7 @@ static void setup_windows_event_source()
static int find_uniq_filename(char *name)
{
- long number;
+ long number=0;
uint i;
char buff[FN_REFLEN];
struct st_my_dir *dir_info;
Index: sql/filesort.cc
===================================================================
--- sql/filesort.cc.orig
+++ sql/filesort.cc
@@ -440,16 +440,20 @@ static void dbug_print_record(TABLE *tab
Field *field= *pfield;
if (field->is_null())
- fwrite("NULL", sizeof(char), 4, DBUG_FILE);
+ if(fwrite("NULL", sizeof(char), 4, DBUG_FILE) != sizeof(char) * 4)
+ break;
if (field->type() == MYSQL_TYPE_BIT)
(void) field->val_int_as_str(&tmp, 1);
else
field->val_str(&tmp);
- fwrite(tmp.ptr(),sizeof(char),tmp.length(),DBUG_FILE);
+ if(fwrite(tmp.ptr(),sizeof(char),tmp.length(),DBUG_FILE) !=
+ sizeof(char) * tmp.length())
+ break;
if (pfield[1])
- fwrite(", ", sizeof(char), 2, DBUG_FILE);
+ if(fwrite(", ", sizeof(char), 2, DBUG_FILE) != sizeof(char) * 2)
+ break;
}
fprintf(DBUG_FILE, ")");
if (print_rowid)
Index: sql/opt_range.cc
===================================================================
--- sql/opt_range.cc.orig
+++ sql/opt_range.cc
@@ -11368,7 +11368,8 @@ print_key(KEY_PART *key_part, const ucha
{
if (*key)
{
- fwrite("NULL",sizeof(char),4,DBUG_FILE);
+ if(fwrite("NULL",sizeof(char),4,DBUG_FILE)!=4*sizeof(char))
+ break;
continue;
}
key++; // Skip null byte
@@ -11379,7 +11380,8 @@ print_key(KEY_PART *key_part, const ucha
(void) field->val_int_as_str(&tmp, 1);
else
field->val_str(&tmp);
- fwrite(tmp.ptr(),sizeof(char),tmp.length(),DBUG_FILE);
+ if(fwrite(tmp.ptr(),sizeof(char),tmp.length(),DBUG_FILE)!=sizeof(char)*tmp.length())
+ break;
if (key+store_length < key_end)
fputc('/',DBUG_FILE);
}
Index: sql/sql_table.cc
===================================================================
--- sql/sql_table.cc.orig
+++ sql/sql_table.cc
@@ -6992,7 +6992,7 @@ view_err:
need_copy_table= ALTER_TABLE_DATA_CHANGED;
else
{
- enum_alter_table_change_level need_copy_table_res;
+ enum_alter_table_change_level need_copy_table_res = ALTER_TABLE_DATA_CHANGED;
/* Check how much the tables differ. */
if (compare_tables(table, alter_info,
create_info, order_num,
Index: storage/xtradb/ut/ut0ut.c
===================================================================
--- storage/xtradb/ut/ut0ut.c.orig
+++ storage/xtradb/ut/ut0ut.c
@@ -553,7 +553,9 @@ ut_print_namel(
trx ? trx->mysql_thd : NULL,
table_id);
- (void) fwrite(buf, 1, bufend - buf, f);
+ if(fwrite(buf, 1, bufend - buf, f) != (size_t)max(0,(bufend - buf))) {
+ fprintf(stderr, "fwrite failed in ut_print_namel!!!\n");
+ }
}
/**********************************************************************//**
@@ -574,7 +576,7 @@ ut_copy_file(
? (size_t) len
: sizeof buf;
size_t size = fread(buf, 1, maxs, src);
- (void) fwrite(buf, 1, size, dest);
+ size=fwrite(buf, 1, size, dest);
len -= (long) size;
if (size < maxs) {
break;
Index: storage/maria/ha_maria.cc
===================================================================
--- storage/maria/ha_maria.cc.orig
+++ storage/maria/ha_maria.cc
@@ -2792,7 +2792,7 @@ int ha_maria::create(const char *name, r
HA_CREATE_INFO *ha_create_info)
{
int error;
- uint create_flags= 0, record_count, i;
+ uint create_flags= 0, record_count=0, i;
char buff[FN_REFLEN];
MARIA_KEYDEF *keydef;
MARIA_COLUMNDEF *recinfo;
Index: storage/pbxt/src/discover_xt.cc
===================================================================
--- storage/pbxt/src/discover_xt.cc.orig
+++ storage/pbxt/src/discover_xt.cc
@@ -1337,8 +1337,8 @@ static bool mysql_create_table_no_lock(T
char path[FN_REFLEN];
uint path_length;
const char *alias;
- uint db_options, key_count;
- KEY *key_info_buffer;
+ uint db_options, key_count=0;
+ KEY *key_info_buffer=NULL;
handler *file;
bool error= TRUE;
DBUG_ENTER("mysql_create_table_no_lock");
Index: storage/pbxt/src/table_xt.cc
===================================================================
--- storage/pbxt/src/table_xt.cc.orig
+++ storage/pbxt/src/table_xt.cc
@@ -726,7 +726,7 @@ xtPublic void xt_check_tables(XTThreadPt
{
u_int edx;
XTTableEntryPtr te_ptr;
- volatile XTTableHPtr tab;
+ volatile XTTableHPtr tab=NULL;
char path[PATH_MAX];
enter_();
@@ -1132,7 +1132,7 @@ static int tab_new_handle(XTThreadPtr se
XTOpenFilePtr of_rec, of_ind;
XTTableEntryPtr te_ptr;
size_t tab_format_offset;
- size_t tab_head_size;
+ size_t tab_head_size=0;
enter_();