Browse Source

Merge with 5.1

Fixed a couple of compilation failures that was not detected before merge.
pull/843/head
Michael Widenius 15 years ago
parent
commit
2e75dda33e
  1. 2
      client/Makefile.am
  2. 2
      include/my_dbug.h
  3. 2
      libmysql/Makefile.am
  4. 1
      libmysql/Makefile.shared
  5. 30
      storage/maria/ma_bitmap.c
  6. 7
      storage/maria/ma_blockrec.c
  7. 67
      storage/maria/ma_pagecache.c
  8. 19
      storage/maria/ma_recovery.c
  9. 21
      storage/maria/maria_chk.c
  10. 2
      storage/maria/maria_def.h
  11. 3
      strings/bchange.c
  12. 3
      strings/bcmp.c
  13. 3
      strings/bfill.c
  14. 3
      strings/bmove.c
  15. 3
      strings/bmove512.c
  16. 3
      strings/bmove_upp.c
  17. 5
      strings/conf_to_src.c
  18. 5
      strings/ctype-big5.c
  19. 5
      strings/ctype-bin.c
  20. 5
      strings/ctype-cp932.c
  21. 8
      strings/ctype-czech.c
  22. 5
      strings/ctype-euc_kr.c
  23. 5
      strings/ctype-eucjpms.c
  24. 2
      strings/ctype-extra.c
  25. 5
      strings/ctype-gb2312.c
  26. 5
      strings/ctype-gbk.c
  27. 5
      strings/ctype-latin1.c
  28. 5
      strings/ctype-mb.c
  29. 5
      strings/ctype-simple.c
  30. 5
      strings/ctype-sjis.c
  31. 7
      strings/ctype-tis620.c
  32. 6
      strings/ctype-uca.c
  33. 6
      strings/ctype-ucs2.c
  34. 5
      strings/ctype-ujis.c
  35. 6
      strings/ctype-utf8.c
  36. 5
      strings/ctype-win1250ch.c
  37. 6
      strings/ctype.c
  38. 3
      strings/decimal.c
  39. 3
      strings/do_ctype.c
  40. 3
      strings/int2str.c
  41. 3
      strings/is_prefix.c
  42. 3
      strings/llstr.c
  43. 3
      strings/longlong2str.c
  44. 3
      strings/longlong2str_asm.c
  45. 5
      strings/my_strchr.c
  46. 3
      strings/my_strtoll10.c
  47. 5
      strings/my_vsnprintf.c
  48. 3
      strings/r_strinstr.c
  49. 5
      strings/str2int.c
  50. 3
      strings/str_alloc.c
  51. 37
      strings/str_test.c
  52. 3
      strings/strappend.c
  53. 3
      strings/strcend.c
  54. 3
      strings/strcont.c
  55. 3
      strings/strend.c
  56. 3
      strings/strfill.c
  57. 31
      strings/strings_def.h
  58. 3
      strings/strinstr.c
  59. 3
      strings/strmake.c
  60. 3
      strings/strmov.c
  61. 3
      strings/strmov_overlapp.c
  62. 3
      strings/strnlen.c
  63. 3
      strings/strnmov.c
  64. 3
      strings/strstr.c
  65. 2
      strings/strto.c
  66. 2
      strings/strtod.c
  67. 3
      strings/strtol.c
  68. 3
      strings/strtoll.c
  69. 3
      strings/strtoul.c
  70. 3
      strings/strtoull.c
  71. 3
      strings/strxmov.c
  72. 3
      strings/strxnmov.c
  73. 13
      strings/uctypedump.c
  74. 2
      strings/udiv.c
  75. 3
      strings/xml.c

2
client/Makefile.am

@ -106,7 +106,7 @@ sql_src=log_event.h mysql_priv.h rpl_constants.h \
log_event.cc my_decimal.h my_decimal.cc \
log_event_old.h log_event_old.cc \
rpl_record_old.h rpl_record_old.cc
strings_src=decimal.c
strings_src=decimal.c strings_def.h
link_sources:
for f in $(sql_src) ; do \

2
include/my_dbug.h

@ -126,7 +126,7 @@ extern void _db_flush_();
#define DBUG_END() _db_end_ ()
#define DBUG_LOCK_FILE _db_lock_file_()
#define DBUG_UNLOCK_FILE _db_unlock_file_()
#define DBUG_ASSERT(A) assert(A)
#define DBUG_ASSERT(A) do { _db_flush_(); assert(A); } while(0)
#define DBUG_EXPLAIN(buf,len) _db_explain_(0, (buf),(len))
#define DBUG_EXPLAIN_INITIAL(buf,len) _db_explain_init_((buf),(len))
#define DEBUGGER_OFF do { _dbug_on_= 0; } while(0)

2
libmysql/Makefile.am

@ -41,7 +41,7 @@ link_sources:
ms=`echo $(mysysobjects) | sed "s;\.lo;.c;g"`; \
vs=`echo $(vio_objects) | sed "s;\.lo;.c;g"`; \
scs=`echo $(sql_cmn_objects) | sed "s;\.lo;.c;g"`; \
for f in $$ss; do \
for f in $$ss $(mystringsheaders); do \
rm -f $$f; \
@LN_CP_F@ $(top_srcdir)/strings/$$f $$f; \
done; \

1
libmysql/Makefile.shared

@ -50,6 +50,7 @@ mystringsobjects = strmov.lo strxmov.lo strxnmov.lo strnmov.lo \
strmov_overlapp.lo
mystringsextra= strto.c
mystringsheaders= strings_def.h
dbugobjects = dbug.lo # IT IS IN SAFEMALLOC.C sanity.lo
mysysheaders = mysys_priv.h my_static.h
vioheaders = vio_priv.h

30
storage/maria/ma_bitmap.c

@ -235,7 +235,8 @@ my_bool _ma_bitmap_init(MARIA_SHARE *share, File file)
The +1 is to add the bitmap page, as this doesn't have to be covered
*/
bitmap->pages_covered= aligned_bit_blocks * 16 + 1;
bitmap->flush_all_requested= 0;
bitmap->flush_all_requested= bitmap->waiting_for_flush_all_requested=
bitmap->waiting_for_non_flushable= 0;
bitmap->non_flushable= 0;
/* Update size for bits */
@ -365,6 +366,7 @@ filter_flush_bitmap_pages(enum pagecache_page_type type
my_bool _ma_bitmap_flush_all(MARIA_SHARE *share)
{
my_bool res= 0;
uint send_signal= 0;
MARIA_FILE_BITMAP *bitmap= &share->bitmap;
DBUG_ENTER("_ma_bitmap_flush_all");
@ -374,7 +376,7 @@ my_bool _ma_bitmap_flush_all(MARIA_SHARE *share)
uint len= my_sprintf(buff,
(buff, "bitmap_flush: fd: %d id: %u "
"changed: %d changed_not_flushed: %d "
"flush_all_requsted: %d",
"flush_all_requested: %d",
share->bitmap.file.file,
share->id,
bitmap->changed,
@ -389,6 +391,7 @@ my_bool _ma_bitmap_flush_all(MARIA_SHARE *share)
if (bitmap->changed || bitmap->changed_not_flushed)
{
bitmap->flush_all_requested++;
bitmap->waiting_for_non_flushable++;
#ifndef WRONG_BITMAP_FLUSH
while (bitmap->non_flushable > 0)
{
@ -396,6 +399,7 @@ my_bool _ma_bitmap_flush_all(MARIA_SHARE *share)
pthread_cond_wait(&bitmap->bitmap_cond, &bitmap->bitmap_lock);
}
#endif
bitmap->waiting_for_non_flushable--;
#ifdef EXTRA_DEBUG_BITMAP
{
char tmp[MAX_BITMAP_INFO_LENGTH];
@ -440,10 +444,12 @@ my_bool _ma_bitmap_flush_all(MARIA_SHARE *share)
become false, wake them up.
*/
DBUG_PRINT("info", ("bitmap flusher waking up others"));
if (bitmap->flush_all_requested)
pthread_cond_broadcast(&bitmap->bitmap_cond);
send_signal= (bitmap->waiting_for_flush_all_requested |
bitmap->waiting_for_non_flushable);
}
pthread_mutex_unlock(&bitmap->bitmap_lock);
if (send_signal)
pthread_cond_broadcast(&bitmap->bitmap_cond);
DBUG_RETURN(res);
}
@ -473,11 +479,13 @@ void _ma_bitmap_lock(MARIA_SHARE *share)
pthread_mutex_lock(&bitmap->bitmap_lock);
bitmap->flush_all_requested++;
bitmap->waiting_for_non_flushable++;
while (bitmap->non_flushable)
{
DBUG_PRINT("info", ("waiting for bitmap to be flushable"));
pthread_cond_wait(&bitmap->bitmap_cond, &bitmap->bitmap_lock);
}
bitmap->waiting_for_non_flushable--;
/*
Ensure that _ma_bitmap_flush_all() and _ma_bitmap_lock() are blocked.
ma_bitmap_flushable() is blocked thanks to 'flush_all_requested'.
@ -497,6 +505,7 @@ void _ma_bitmap_lock(MARIA_SHARE *share)
void _ma_bitmap_unlock(MARIA_SHARE *share)
{
MARIA_FILE_BITMAP *bitmap= &share->bitmap;
uint send_signal;
DBUG_ENTER("_ma_bitmap_unlock");
if (!share->now_transactional)
@ -504,10 +513,12 @@ void _ma_bitmap_unlock(MARIA_SHARE *share)
DBUG_ASSERT(bitmap->flush_all_requested > 0 && bitmap->non_flushable == 1);
pthread_mutex_lock(&bitmap->bitmap_lock);
bitmap->flush_all_requested--;
bitmap->non_flushable= 0;
send_signal= bitmap->waiting_for_non_flushable;
if (!--bitmap->flush_all_requested)
send_signal|= bitmap->waiting_for_flush_all_requested;
pthread_mutex_unlock(&bitmap->bitmap_lock);
if (bitmap->flush_all_requested > 0)
if (send_signal)
pthread_cond_broadcast(&bitmap->bitmap_cond);
DBUG_VOID_RETURN;
}
@ -2334,7 +2345,7 @@ void _ma_bitmap_flushable(MARIA_HA *info, int non_flushable_inc)
the bitmap's mutex.
*/
_ma_bitmap_unpin_all(share);
if (unlikely(bitmap->flush_all_requested))
if (unlikely(bitmap->waiting_for_non_flushable))
{
DBUG_PRINT("info", ("bitmap flushable waking up flusher"));
pthread_cond_broadcast(&bitmap->bitmap_cond);
@ -2347,6 +2358,8 @@ void _ma_bitmap_flushable(MARIA_HA *info, int non_flushable_inc)
}
DBUG_ASSERT(non_flushable_inc == 1);
DBUG_ASSERT(info->non_flushable_state == 0);
bitmap->waiting_for_flush_all_requested++;
while (unlikely(bitmap->flush_all_requested))
{
/*
@ -2363,6 +2376,7 @@ void _ma_bitmap_flushable(MARIA_HA *info, int non_flushable_inc)
DBUG_PRINT("info", ("waiting for bitmap flusher"));
pthread_cond_wait(&bitmap->bitmap_cond, &bitmap->bitmap_lock);
}
bitmap->waiting_for_flush_all_requested--;
bitmap->non_flushable++;
DBUG_PRINT("info", ("bitmap->non_flushable: %u", bitmap->non_flushable));
pthread_mutex_unlock(&bitmap->bitmap_lock);
@ -2490,7 +2504,7 @@ my_bool _ma_bitmap_release_unused(MARIA_HA *info, MARIA_BITMAP_BLOCKS *blocks)
if (--bitmap->non_flushable == 0)
{
_ma_bitmap_unpin_all(info->s);
if (unlikely(bitmap->flush_all_requested))
if (unlikely(bitmap->waiting_for_non_flushable))
{
DBUG_PRINT("info", ("bitmap flushable waking up flusher"));
pthread_cond_broadcast(&bitmap->bitmap_cond);

7
storage/maria/ma_blockrec.c

@ -3922,8 +3922,11 @@ static my_bool _ma_update_at_original_place(MARIA_HA *info,
goto err;
block= blocks->block;
block->empty_space= row_pos.empty_space;
block->org_bitmap_value= _ma_free_size_to_head_pattern(&share->bitmap,
org_empty_size);
block->org_bitmap_value=
_ma_free_size_to_head_pattern(&share->bitmap,
(enough_free_entries_on_page(share, buff) ?
org_empty_size : 0));
DBUG_ASSERT(block->org_bitmap_value ==
_ma_bitmap_get_page_bits(info, &info->s->bitmap, page));
block->used|= BLOCKUSED_USE_ORG_BITMAP;

67
storage/maria/ma_pagecache.c

@ -113,7 +113,7 @@
(uint)((B)->hash_link ? \
(B)->hash_link->requests : \
0), \
block->wlocks, block->rlocks, block->rlocks_queue, \
(B)->wlocks, (B)->rlocks, (B)->rlocks_queue, \
(uint)(B)->pins, (uint)(B)->status, \
page_cache_page_type_str[(B)->type]))
@ -153,8 +153,20 @@ struct st_pagecache_hash_link
/* simple states of a block */
#define PCBLOCK_ERROR 1 /* an error occurred when performing disk i/o */
#define PCBLOCK_READ 2 /* the is page in the block buffer */
#define PCBLOCK_IN_SWITCH 4 /* block is preparing to read new page */
#define PCBLOCK_REASSIGNED 8 /* block does not accept requests for old page */
/*
A tread is reading the data to the page. The page is not yet ready
to be used.
*/
#define PCBLOCK_IN_SWITCH 4
/*
Block does not accept new requests for old page that would cause
the page to be pinned or written to.
(Reads that copies the block can still continue).
This state happens when another thread is waiting for readers to finish
to read/write new data to the block.
*/
#define PCBLOCK_REASSIGNED 8
#define PCBLOCK_IN_FLUSH 16 /* block is in flush operation */
#define PCBLOCK_CHANGED 32 /* block buffer contains a dirty page */
#define PCBLOCK_DIRECT_W 64 /* possible direct write to the block */
@ -1807,7 +1819,9 @@ restart:
pageno number of the page in the file
init_hits_left how initialize the block counter for the page
wrmode <-> get for writing
reg_req Register request to thye page
block_is_copied 1 if block will be copied from page cache under
the pagelock mutex.
reg_req Register request to the page
page_st out {PAGE_READ,PAGE_TO_BE_READ,PAGE_WAIT_TO_BE_READ}
RETURN VALUE
@ -1836,6 +1850,7 @@ static PAGECACHE_BLOCK_LINK *find_block(PAGECACHE *pagecache,
pgcache_page_no_t pageno,
int init_hits_left,
my_bool wrmode,
my_bool block_is_copied,
my_bool reg_req,
int *page_st)
{
@ -1941,7 +1956,7 @@ restart:
Only reading requests can proceed until the old dirty page is flushed,
all others are to be suspended, then resubmitted
*/
if (!wrmode && !(block->status & PCBLOCK_REASSIGNED))
if (!wrmode && block_is_copied && !(block->status & PCBLOCK_REASSIGNED))
{
if (reg_req)
reg_requests(pagecache, block, 1);
@ -2135,7 +2150,7 @@ restart:
(my_bool)(block->hash_link ? 1 : 0));
PCBLOCK_INFO(block);
block->status= error ? PCBLOCK_ERROR : 0;
block->error= (int16) my_errno;
block->error= error ? (int16) my_errno : 0;
#ifndef DBUG_OFF
block->type= PAGECACHE_EMPTY_PAGE;
if (error)
@ -2536,22 +2551,13 @@ static my_bool make_lock_and_pin(PAGECACHE *pagecache,
my_bool any)
{
DBUG_ENTER("make_lock_and_pin");
DBUG_PRINT("enter", ("block: 0x%lx (%u) lock: %s pin: %s any %d",
(ulong)block, PCBLOCK_NUMBER(pagecache, block),
page_cache_page_lock_str[lock],
page_cache_page_pin_str[pin], (int)any));
PCBLOCK_INFO(block);
DBUG_PRINT("enter", ("block: 0x%lx", (ulong)block));
#ifndef DBUG_OFF
if (block)
{
DBUG_PRINT("enter", ("block: 0x%lx (%u) wrlocks: %u rdlocks: %u "
"rdlocks_q: %u pins: %u lock: %s pin: %s any %d",
(ulong)block, PCBLOCK_NUMBER(pagecache, block),
block->wlocks, block->rlocks, block->rlocks_queue,
block->pins,
page_cache_page_lock_str[lock],
page_cache_page_pin_str[pin], (int)any));
PCBLOCK_INFO(block);
}
#endif
DBUG_ASSERT(block);
DBUG_ASSERT(!any ||
((lock == PAGECACHE_LOCK_LEFT_UNLOCKED) &&
(pin == PAGECACHE_UNPIN)));
@ -2619,17 +2625,13 @@ static my_bool make_lock_and_pin(PAGECACHE *pagecache,
DBUG_ASSERT(0); /* Never should happened */
}
#ifndef DBUG_OFF
if (block)
PCBLOCK_INFO(block);
#endif
PCBLOCK_INFO(block);
DBUG_RETURN(0);
retry:
DBUG_PRINT("INFO", ("Retry block 0x%lx", (ulong)block));
PCBLOCK_INFO(block);
DBUG_ASSERT(block->hash_link->requests > 0);
block->hash_link->requests--;
PCBLOCK_INFO(block);
DBUG_RETURN(1);
}
@ -2661,7 +2663,6 @@ static void read_block(PAGECACHE *pagecache,
PAGECACHE_BLOCK_LINK *block,
my_bool primary)
{
DBUG_ENTER("read_block");
DBUG_PRINT("enter", ("read block: 0x%lx primary: %d",
(ulong)block, primary));
@ -2823,8 +2824,7 @@ void pagecache_unlock(PAGECACHE *pagecache,
page_cache_page_pin_str[pin]));
/* we do not allow any lock/pin increasing here */
DBUG_ASSERT(pin != PAGECACHE_PIN);
DBUG_ASSERT(lock != PAGECACHE_LOCK_READ);
DBUG_ASSERT(lock != PAGECACHE_LOCK_WRITE);
DBUG_ASSERT(lock != PAGECACHE_LOCK_READ && lock != PAGECACHE_LOCK_WRITE);
pagecache_pthread_mutex_lock(&pagecache->cache_lock);
/*
@ -2835,7 +2835,7 @@ void pagecache_unlock(PAGECACHE *pagecache,
inc_counter_for_resize_op(pagecache);
/* See NOTE for pagecache_unlock about registering requests */
block= find_block(pagecache, file, pageno, 0, 0,
block= find_block(pagecache, file, pageno, 0, 0, 0,
pin == PAGECACHE_PIN_LEFT_UNPINNED, &page_st);
PCBLOCK_INFO(block);
DBUG_ASSERT(block != 0 && page_st == PAGE_READ);
@ -2924,7 +2924,7 @@ void pagecache_unpin(PAGECACHE *pagecache,
inc_counter_for_resize_op(pagecache);
/* See NOTE for pagecache_unlock about registering requests */
block= find_block(pagecache, file, pageno, 0, 0, 0, &page_st);
block= find_block(pagecache, file, pageno, 0, 0, 0, 0, &page_st);
DBUG_ASSERT(block != 0);
DBUG_ASSERT(page_st == PAGE_READ);
/* we can't unpin such page without unlock */
@ -3367,7 +3367,7 @@ restart:
/* See NOTE for pagecache_unlock about registering requests. */
reg_request= ((new_pin == PAGECACHE_PIN_LEFT_UNPINNED) ||
(new_pin == PAGECACHE_PIN));
block= find_block(pagecache, file, pageno, level,
block= find_block(pagecache, file, pageno, level, buff != 0,
lock == PAGECACHE_LOCK_WRITE,
reg_request, &page_st);
DBUG_PRINT("info", ("Block type: %s current type %s",
@ -3785,7 +3785,6 @@ restart:
/* See NOTE for pagecache_unlock about registering requests. */
if (pin == PAGECACHE_PIN)
reg_requests(pagecache, block, 1);
DBUG_ASSERT(block != 0);
if (make_lock_and_pin(pagecache, block, lock, pin, FALSE))
{
/*
@ -3964,7 +3963,7 @@ restart:
reg_request= ((pin == PAGECACHE_PIN_LEFT_UNPINNED) ||
(pin == PAGECACHE_PIN));
block= find_block(pagecache, file, pageno, level,
TRUE,
TRUE, FALSE,
reg_request, &page_st);
if (!block)
{

19
storage/maria/ma_recovery.c

@ -1,5 +1,5 @@
/* Copyright (C) 2006, 2007 MySQL AB
Copyright (C) 2010 Monty Program Ab
Copyright (C) 2010-2011 Monty Program Ab
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
@ -1292,6 +1292,21 @@ prototype_redo_exec_hook(FILE_ID)
{
tprint(tracef, " Closing table '%s'\n", info->s->open_file_name.str);
prepare_table_for_close(info, rec->lsn);
/*
Ensure that open count is 1 on close. This is needed as the
table may initially had an open_count > 0 when we initially
opened it as the server may have crashed without closing it
properly. As we now have applied all redo's for the table up to
now, we know the table is ok, so it's safe to reset the open
count to 0.
*/
if (info->s->state.open_count != 0 && info->s->reopen == 1)
{
/* let ma_close() mark the table properly closed */
info->s->state.open_count= 1;
info->s->global_changed= 1;
}
if (maria_close(info))
{
eprint(tracef, "Failed to close table");
@ -3412,7 +3427,7 @@ static int close_all_tables(void)
*/
if (info->s->state.open_count != 0)
{
/* let ma_close() mark the table properly closed */
/* let maria_close() mark the table properly closed */
info->s->state.open_count= 1;
info->s->global_changed= 1;
}

21
storage/maria/maria_chk.c

@ -42,7 +42,7 @@ static CHARSET_INFO *set_collation;
static int stopwords_inited= 0;
static MY_TMPDIR maria_chk_tmpdir;
static my_bool opt_transaction_logging, opt_debug, opt_require_control_file;
static my_bool opt_warning_for_wrong_transid;
static my_bool opt_warning_for_wrong_transid, opt_update_state;
static const char *type_names[]=
{
@ -348,7 +348,8 @@ static struct my_option my_long_options[] =
"Mark tables as crashed if any errors were found and clean if check didn't "
"find any errors. This allows one to get rid of warnings like 'table not "
"properly closed'",
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
&opt_update_state, &opt_update_state, 0, GET_BOOL, NO_ARG,
1, 0, 0, 0, 0, 0},
{"unpack", 'u',
"Unpack file packed with maria_pack.",
0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
@ -483,8 +484,12 @@ static void usage(void)
-i, --information Print statistics information about table that is checked.\n\
-m, --medium-check Faster than extend-check, but only finds 99.99% of\n\
all errors. Should be good enough for most cases.\n\
-T, --read-only Don't mark table as checked.\n\
-U, --update-state Mark tables as crashed if you find any errors.\n\
-T, --read-only Don't mark table as checked.\n");
--warning-for-wrong-transaction-id\n\
Give a warning if we find a transaction id in the table that is bigger\n\
than what exists in the control file. Use --skip-... to disable warning\n\
");
puts("\
Recover (repair)/ options (When using '--recover' or '--safe-recover'):\n\
@ -856,6 +861,7 @@ static void get_options(register int *argc,register char ***argv)
default_argv= *argv;
if (isatty(fileno(stdout)))
check_param.testflag|=T_WRITE_LOOP;
check_param.testflag= T_UPDATE_STATE;
if ((ho_error=handle_options(argc, argv, my_long_options, get_one_option)))
exit(ho_error);
@ -1326,13 +1332,18 @@ static int maria_chk(HA_CHECK *param, char *filename)
(my_bool) !test(param->testflag & T_AUTO_INC));
if (info->update & HA_STATE_CHANGED && ! (param->testflag & T_READONLY))
{
error|=maria_update_state_info(param, info,
UPDATE_OPEN_COUNT |
(((param->testflag & T_REP_ANY) ?
(((param->testflag &
(T_REP_ANY | T_UPDATE_STATE)) ?
UPDATE_TIME : 0) |
(state_updated ? UPDATE_STAT : 0) |
((param->testflag & T_SORT_RECORDS) ?
UPDATE_SORT : 0)));
if (!(param->testflag & T_SILENT))
printf("State updated\n");
}
info->update&= ~HA_STATE_CHANGED;
_ma_reenable_logging_for_table(info, FALSE);
maria_lock_database(info, F_UNLCK);
@ -1438,7 +1449,7 @@ static void descript(HA_CHECK *param, register MARIA_HA *info, char *name)
if (share->state.check_time)
{
get_date(buff,1,share->state.check_time);
printf("Recover time: %s\n",buff);
printf("Check/recover time: %s\n",buff);
}
if (share->base.born_transactional)
{

2
storage/maria/maria_def.h

@ -249,7 +249,9 @@ typedef struct st_maria_file_bitmap
my_bool changed; /* 1 if page needs to be written */
my_bool changed_not_flushed; /* 1 if some bitmap is not flushed */
uint flush_all_requested; /**< If _ma_bitmap_flush_all waiting */
uint waiting_for_flush_all_requested; /* If someone is waiting for above */
uint non_flushable; /**< 0 if bitmap and log are in sync */
uint waiting_for_non_flushable; /* If someone is waiting for above */
PAGECACHE_FILE file; /* datafile where bitmap is stored */
#ifdef THREAD

3
strings/bchange.c

@ -23,8 +23,7 @@
src in a buffer with tot_length bytes.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
void bchange(register uchar *dst, size_t old_length, register const uchar *src,
size_t new_length, size_t tot_length)

3
strings/bcmp.c

@ -21,8 +21,7 @@
comparing a shorter string with bcmp.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
#ifdef HAVE_valgrind
#undef bcmp

3
strings/bfill.c

@ -29,8 +29,7 @@
code is presented for your interest and amusement.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
#if !defined(bfill) && !defined(HAVE_BFILL)

3
strings/bmove.c

@ -36,8 +36,7 @@
code is presented for your interest and amusement.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
#if !defined(HAVE_BMOVE) && !defined(bmove)

3
strings/bmove512.c

@ -25,8 +25,7 @@
fastest way to move a mutiple of 512 byte.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
#ifndef bmove512

3
strings/bmove_upp.c

@ -22,8 +22,7 @@
"src-len" to the destination "dst-len" counting downwards.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
#if defined(MC68000) && defined(DS90)

5
strings/conf_to_src.c

@ -13,8 +13,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include <my_global.h>
#include <m_string.h>
#include "strings_def.h"
#include <m_ctype.h>
#include <fcntl.h>
#include <my_xml.h>
@ -250,7 +249,7 @@ static void
fprint_copyright(FILE *file)
{
fprintf(file,
"/* Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems, Inc.\n"
"/* Copyright 2000-2008 MySQL AB, 2008 Sun Microsystems Inc., 2010-2011 Monty Program Ab\n"
"\n"
" This program is free software; you can redistribute it and/or modify\n"
" it under the terms of the GNU General Public License as published by\n"

5
strings/ctype-big5.c

@ -26,9 +26,8 @@
* .configure. mbmaxlen_big5=2
*/
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#ifdef HAVE_CHARSET_big5

5
strings/ctype-bin.c

@ -18,9 +18,8 @@
/* This file is for binary pseudo charset, created by bar@mysql.com */
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
static uchar ctype_bin[]=
{

5
strings/ctype-cp932.c

@ -16,9 +16,8 @@
/* This file is for cp932 charaset (Windows Japanese),
and created based on ctype-sjis.c file */
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#ifdef HAVE_CHARSET_cp932

8
strings/ctype-czech.c

@ -65,9 +65,8 @@
#ifdef REAL_MYSQL
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#else
@ -427,8 +426,7 @@ static my_bool my_like_range_czech(CHARSET_INFO *cs __attribute__((unused)),
*
* definition table reworked by Jaromir Dolecek <dolecek@ics.muni.cz>
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
static uchar NEAR ctype_czech[257] = {
0,

5
strings/ctype-euc_kr.c

@ -25,9 +25,8 @@
* .configure. mbmaxlen_euc_kr=2
*/
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#ifdef HAVE_CHARSET_euckr

5
strings/ctype-eucjpms.c

@ -26,9 +26,8 @@ ctype-ujis.c file.
* .configure. mbmaxlen_eucjpms=3
*/
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#ifdef HAVE_CHARSET_eucjpms

2
strings/ctype-extra.c

@ -21,7 +21,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
#include <my_global.h>
#include "strings_def.h"
#include <m_ctype.h>
#ifdef HAVE_CHARSET_dec8

5
strings/ctype-gb2312.c

@ -23,9 +23,8 @@
* .configure. mbmaxlen_gb2312=2
*/
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#ifdef HAVE_CHARSET_gb2312

5
strings/ctype-gbk.c

@ -26,9 +26,8 @@
*/
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#ifdef HAVE_CHARSET_gbk

5
strings/ctype-latin1.c

@ -13,9 +13,8 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
static uchar ctype_latin1[] = {
0,

5
strings/ctype-mb.c

@ -13,9 +13,8 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include <my_global.h>
#include "m_ctype.h"
#include "m_string.h"
#include "strings_def.h"
#include <m_ctype.h>
#ifdef USE_MB

5
strings/ctype-simple.c

@ -13,9 +13,8 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#include "my_sys.h" /* Needed for MY_ERRNO_ERANGE */
#include <errno.h>

5
strings/ctype-sjis.c

@ -16,9 +16,8 @@
/* This file is for Shift JIS charset, and created by tommy@valley.ne.jp.
*/
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#ifdef HAVE_CHARSET_sjis

7
strings/ctype-tis620.c

@ -47,11 +47,10 @@
* .configure. strxfrm_multiply_tis620=4
*/
#include <my_global.h>
#include <my_sys.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#include "t_ctype.h"
#include <my_sys.h>
#ifdef HAVE_CHARSET_tis620

6
strings/ctype-uca.c

@ -32,10 +32,8 @@
*/
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#define MY_UCA_CNT_FLAG_SIZE 4096
#define MY_UCA_CNT_FLAG_MASK 4095

6
strings/ctype-ucs2.c

@ -17,11 +17,9 @@
/* UCS2 support. Written by Alexander Barkov <bar@mysql.com> */
#include <my_global.h>
#include "strings_def.h"
#include <m_ctype.h>
#include <my_sys.h>
#include "m_string.h"
#include "m_ctype.h"
#include <errno.h>
#include <stdarg.h>

5
strings/ctype-ujis.c

@ -25,9 +25,8 @@
* .configure. mbmaxlen_ujis=3
*/
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#ifdef HAVE_CHARSET_ujis

6
strings/ctype-utf8.c

@ -18,10 +18,8 @@
/* UTF8 according RFC 2279 */
/* Written by Alexander Barkov <bar@udm.net> */
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include <errno.h>
#include "strings_def.h"
#include <m_ctype.h>
#ifndef EILSEQ
#define EILSEQ ENOENT

5
strings/ctype-win1250ch.c

@ -39,9 +39,8 @@
#define REAL_MYSQL
#ifdef REAL_MYSQL
#include "my_global.h"
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#else

6
strings/ctype.c

@ -13,13 +13,9 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include <my_global.h>
#include "strings_def.h"
#include <m_ctype.h>
#include <my_xml.h>
#ifndef SCO
#include <m_string.h>
#endif
/*

3
strings/decimal.c

@ -99,11 +99,10 @@
implementation-defined.
*/
#include <my_global.h>
#include "strings_def.h"
#include <m_ctype.h>
#include <myisampack.h>
#include <my_sys.h> /* for my_alloca */
#include <m_string.h>
#include <decimal.h>
/*

3
strings/do_ctype.c

@ -20,10 +20,9 @@
#undef DBUG_OFF
#endif
#include <my_global.h>
#include "strings_def.h"
#include <ctype.h>
#include <my_sys.h>
#include "m_string.h"
uchar NEAR to_upper[256];
uchar NEAR to_lower[256],NEAR sort_order[256];

3
strings/int2str.c

@ -13,8 +13,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
/*
_dig_vec arrays are public because they are used in several outer places.

3
strings/is_prefix.c

@ -21,8 +21,7 @@
A empty t is allways a prefix.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
int is_prefix(register const char *s, register const char *t)
{

3
strings/llstr.c

@ -24,8 +24,7 @@
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
char *llstr(longlong value,char *buff)
{

3
strings/longlong2str.c

@ -37,8 +37,7 @@
itoa assumes that 10 -base numbers are allways signed and other arn't.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
#if defined(HAVE_LONG_LONG) && !defined(longlong2str) && !defined(HAVE_LONGLONG2STR)

3
strings/longlong2str_asm.c

@ -20,8 +20,7 @@
_dig_vector in a portable manner.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
extern char *longlong2str_with_dig_vector(longlong val,char *dst,int radix,
const char *dig_vector);

5
strings/my_strchr.c

@ -21,9 +21,8 @@
frequently.
*/
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
char *my_strchr(CHARSET_INFO *cs, const char *str, const char *end,

3
strings/my_strtoll10.c

@ -13,9 +13,8 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include <my_global.h>
#include "strings_def.h"
#include <my_sys.h> /* Needed for MY_ERRNO_ERANGE */
#include <m_string.h>
#undef ULONGLONG_MAX
/*

5
strings/my_vsnprintf.c

@ -13,10 +13,9 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include <my_global.h>
#include <m_string.h>
#include <stdarg.h>
#include "strings_def.h"
#include <m_ctype.h>
#include <stdarg.h>
/*
Limited snprintf() implementations

3
strings/r_strinstr.c

@ -22,8 +22,7 @@
the pattern counted from the begining of the string.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
size_t r_strinstr(reg1 const char * str, size_t from, reg4 const char * search)
{

5
strings/str2int.c

@ -37,9 +37,8 @@
call has no problems.
*/
#include <my_global.h>
#include "m_string.h"
#include "m_ctype.h"
#include "strings_def.h"
#include <m_ctype.h>
#include "my_sys.h" /* defines errno */
#include <errno.h>

3
strings/str_alloc.c

@ -13,8 +13,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include <my_global.h>
#include <m_string.h>
#include "strings_def.h"
static void *my_str_malloc_default(size_t size)
{

37
strings/str_test.c

@ -15,9 +15,8 @@
/* Test of all stringfunktions that is coded in assembler */
#include <my_global.h>
#include "strings_def.h"
#include <stdarg.h>
#include "m_string.h"
#define F_LEN 8
#define F_CHAR 'A'
@ -50,10 +49,10 @@ int main(void)
errors=tests=0;
init_strings();
test_arg("bcmp(from,to,5)",(long) my_test(bcmp(from,to,5)),1L);
test_arg("bcmp(from,from,5)",(long) bcmp(from,from,5),0L);
test_arg("bcmp(from,to,5)",(long) my_test(bcmp((uchar*) from, (uchar*) to,5)),1L);
test_arg("bcmp(from,from,5)",(long) bcmp((uchar*) from, (uchar*) from,5),0L);
test_arg("bcmp(from,to,0)",(long) bcmp(from,to,0),0L);
test_arg("bcmp(from,to,0)",(long) bcmp((uchar*) from, (uchar*) to,0),0L);
test_arg("strend(from)",(long) strend(from),(long) from+F_LEN);
test_arg("strchr(v1,'M')",(long) strchr(v1,'M'),(long) v1);
test_arg("strchr(v1,'y')",(long) strchr(v1,'y'),(long) v1+4);
@ -90,10 +89,10 @@ int main(void)
test_strarg("bmove(to,from,4)",(bmove(to,from,4),0L),INT_MAX32,4,F_CHAR,
0,0);
test_strarg("bmove(to,from,0)",(bmove(to,from,0),0L),INT_MAX32,0,0);
test_strarg("bmove_upp(to+6,from+6,3)",(bmove_upp(to+6,from+6,3),0L),INT_MAX32,
test_strarg("bmove_upp(to+6,from+6,3)",(bmove_upp((uchar*) to+6, (uchar*) from+6,3),0L),INT_MAX32,
3,T_CHAR,3,F_CHAR,0,0);
test_strarg("bmove_upp(to,from,0)",(bmove_upp(to,from,0),0L),INT_MAX32,0,0);
test_strarg("bmove_align(to,from,8)",(bmove_align(to,from,8),0L),INT_MAX32,
test_strarg("bmove_upp(to,from,0)",(bmove_upp((uchar*) to, (uchar*) from,0),0L),INT_MAX32,0,0);
test_strarg("bmove_align(to,from,8)",(bmove_align((uchar*) to, (uchar*) from,8),0L),INT_MAX32,
8,F_CHAR,0,0);
test_strarg("strappend(to,3,' ')",(strappend(to,3,' '),0L),INT_MAX32,
3,T_CHAR,1,0,T_LEN-4,T_CHAR,1,0,0,0);
@ -124,7 +123,7 @@ int main(void)
test_strarg("strxnmov(to,2,\"!!\",NullS)",strxnmov(to,2,"!!","xx",NullS),to+2,2,'!',0,0,0);
test_strarg("strxnmov(to,2,\"!\",\"x\",\"y\",NullS)",strxnmov(to,2,"!","x","y",NullS),to+2,1,'!',1,'x',0,0,0);
test_strarg("bchange(to,2,from,4,6)",(bchange(to,2,from,4,6),0L),INT_MAX32,
test_strarg("bchange(to,2,from,4,6)",(bchange((uchar*) to,2,(uchar*) from,4,6),0L),INT_MAX32,
4,F_CHAR,2,T_CHAR,0,0);
printf("tests: %d errors: %d\n",tests,errors);
@ -233,7 +232,7 @@ int compare_buff(const char *message, char * b1, char * b2, int length,
{
int i,error=0;
if (bcmp(b1,b2,length))
if (bcmp((uchar*) b1, (uchar*) b2, length))
{
errors++;
printf("func: '%s' Buffers differ\nIs: ",message);
@ -259,19 +258,19 @@ int compare_buff(const char *message, char * b1, char * b2, int length,
return error;
} /* compare_buff */
/* These are here to be loaded and examined */
/* These are here to be loaded and examined in debugger */
extern void dummy_functions(void);
void dummy_functions(void)
{
VOID(memchr(from,'a',5));
VOID(memcmp(from,to,5));
VOID(memcpy(from,to,5));
VOID(memset(from,' ',5));
VOID(strcmp(from,to));
VOID(strcpy(from,to));
VOID(strstr(from,to));
VOID(strrchr(from,'a'));
(void) memchr(from,'a',5);
(void) memcmp(from,to,5);
(void) memcpy(from,to,5);
(void) memset(from,' ',5);
(void) strcmp(from,to);
(void) strcpy(from,to);
(void) strstr(from,to);
(void) strrchr(from,'a');
return;
}

3
strings/strappend.c

@ -23,8 +23,7 @@
trunked. The des+len character is allways set to NULL.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
void strappend(register char *s, size_t len, pchar fill)

3
strings/strcend.c

@ -22,8 +22,7 @@
occurs, or a pointer to the end-null of s if c does not occur in s.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
#if defined(MC68000) && defined(DS90)

3
strings/strcont.c

@ -24,8 +24,7 @@
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
char * strcont(reg1 const char *str,reg2 const char *set)
{

3
strings/strend.c

@ -27,8 +27,7 @@
Beware: the asm version works only if strlen(s) < 65535.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
#if VaxAsm

3
strings/strfill.c

@ -23,8 +23,7 @@
strfill() returns pointer to dest+len;
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
char * strfill(char *s, size_t len, pchar fill)
{

31
strings/strings_def.h

@ -0,0 +1,31 @@
/* Copyright (C) 2011 Monty Program Ab
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
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 */
/* This file is to be include first in all files in the string directory */
#include <my_global.h> /* Define standar vars */
#include "m_string.h" /* Exernal defintions of string functions */
/*
We can't use the original DBUG_ASSERT() (which includes _db_flush())
in the strings library as libdbug is compiled after the the strings
library and we don't want to have strings depending on libdbug which
depends on mysys and strings.
*/
#if !defined(DBUG_OFF)
#undef DBUG_ASSERT
#define DBUG_ASSERT(A) assert(A)
#endif

3
strings/strinstr.c

@ -25,8 +25,7 @@
char is 1.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
size_t strinstr(reg1 const char *str,reg4 const char *search)
{

3
strings/strmake.c

@ -24,8 +24,7 @@
strmake() returns pointer to closing null
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
char *strmake(register char *dst, register const char *src, size_t length)
{

3
strings/strmov.c

@ -21,8 +21,7 @@
into dst, which seems useful.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
#ifndef strmov

3
strings/strmov_overlapp.c

@ -13,8 +13,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
/* A trivial implementation */
char *strmov_overlapp(char *dst, const char *src)

3
strings/strnlen.c

@ -20,8 +20,7 @@
strnlen(s, len) returns the length of s or len if s is longer than len.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
#ifndef HAVE_STRNLEN

3
strings/strnmov.c

@ -20,8 +20,7 @@
truncated.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
char *strnmov(register char *dst, register const char *src, size_t n)
{

3
strings/strstr.c

@ -27,8 +27,7 @@
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
#ifndef HAVE_STRSTR

2
strings/strto.c

@ -40,7 +40,7 @@
/* see 'strtoll.c' and 'strtoull.c' for the reasons */
#endif
#include "m_ctype.h"
#include <m_ctype.h>
#include "my_sys.h" /* defines errno */
#include <errno.h>

2
strings/strtod.c

@ -27,7 +27,7 @@
*/
#include "my_base.h" /* Includes errno.h + EOVERFLOW */
#include "m_ctype.h"
#include <m_ctype.h>
#ifdef HAVE_IEEEFP_H
#include <ieeefp.h>
#endif

3
strings/strtol.c

@ -20,8 +20,7 @@
functions, especially they handle tricks for Tru64 where 'long' is
64 bit already and our 'longlong' is just a 'long'.
*/
#include <my_global.h>
#include <m_string.h>
#include "strings_def.h"
#if !defined(MSDOS) && !defined(HAVE_STRTOL) && !defined(__WIN__)
#include "strto.c"

3
strings/strtoll.c

@ -24,8 +24,7 @@
for 'strtoll()' but no implementation, see "6.1 New C99 library functions"
in file '/usr/share/doclib/cc.dtk/release_notes.txt'.
*/
#include <my_global.h>
#include <m_string.h>
#include "strings_def.h"
#if !defined(HAVE_STRTOLL) && defined(HAVE_LONG_LONG)
#define USE_LONGLONG

3
strings/strtoul.c

@ -20,8 +20,7 @@
functions, especially they handle tricks for Tru64 where 'long' is
64 bit already and our 'longlong' is just a 'long'.
*/
#include <my_global.h>
#include <m_string.h>
#include "strings_def.h"
#if !defined(MSDOS) && !defined(HAVE_STRTOUL)
#define USE_UNSIGNED

3
strings/strtoull.c

@ -24,8 +24,7 @@
for 'strtoull()' but no implementation, see "6.1 New C99 library functions"
in file '/usr/share/doclib/cc.dtk/release_notes.txt'.
*/
#include <my_global.h>
#include <m_string.h>
#include "strings_def.h"
#if !defined(HAVE_STRTOULL) && defined(HAVE_LONG_LONG)
#define USE_UNSIGNED

3
strings/strxmov.c

@ -30,8 +30,7 @@
character pointer, or not the same bit pattern as NullS.
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
char *strxmov(char *dst,const char *src, ...)
{

3
strings/strxnmov.c

@ -35,8 +35,7 @@
if total-string-length >= length then dst[length] will be set to \0
*/
#include <my_global.h>
#include "m_string.h"
#include "strings_def.h"
#include <stdarg.h>
char *strxnmov(char *dst, size_t len, const char *src, ...)

13
strings/uctypedump.c

@ -13,15 +13,8 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
/*
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
*/
#include <my_global.h>
#include <m_string.h>
#include "strings_def.h"
#include <m_ctype.h>
#include "m_ctype.h"
typedef struct my_ctype_name_st
@ -204,7 +197,7 @@ int main(int ac, char ** av)
int charnum=0;
int num=0;
printf("static unsigned char uctype_page%02X[256]=\n{\n",plane);
printf("static unsigned char uctype_page%02X[256]=\n{\n", (uint) plane);
for(charnum=0;charnum<256;charnum++)
{
@ -231,7 +224,7 @@ int main(int ac, char ** av)
{
char plane_name[128]="NULL";
if(uctype[plane].ctype){
sprintf(plane_name,"uctype_page%02X",plane);
sprintf(plane_name,"uctype_page%02X",(uint) plane);
}
printf("\t{%d,%s}%s\n",uctype[plane].pctype,plane_name,plane<255?",":"");
}

2
strings/udiv.c

@ -15,7 +15,7 @@
/* Do udiv and urem if machine dosn't have it */
#include <my_global.h>
#include "strings_def.h"
#include <math.h>
unsigned long udiv(long unsigned int a, long unsigned int b)

3
strings/xml.c

@ -13,8 +13,7 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */
#include "my_global.h"
#include "m_string.h"
#include "strings_def.h"
#include "my_xml.h"

Loading…
Cancel
Save