diff options
author | unknown <kostja@bodhi.(none)> | 2007-06-01 12:12:06 +0400 |
---|---|---|
committer | unknown <kostja@bodhi.(none)> | 2007-06-01 12:12:06 +0400 |
commit | 63791f4cc4d7f79e3fe6d41c701b152674073019 (patch) | |
tree | 2c2de88de3152746bd0ffaea698446ff1cede244 /strings/my_vsnprintf.c | |
parent | 80af30efe10621b7c2b64f98cf957e0c1b5b5f8d (diff) | |
parent | c6ff8a6500f6e3e08d01fcf0687f6987e5adefa6 (diff) | |
download | mariadb-git-63791f4cc4d7f79e3fe6d41c701b152674073019.tar.gz |
Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into bodhi.(none):/opt/local/work/mysql-5.1-runtime
client/mysqlbinlog.cc:
Auto merged
include/config-win.h:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
mysql-test/lib/mtr_report.pl:
Auto merged
mysql-test/t/disabled.def:
Auto merged
sql/event_data_objects.cc:
Auto merged
sql/event_queue.cc:
Auto merged
sql/field.h:
Auto merged
sql/filesort.cc:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_func.h:
Auto merged
sql/item_xmlfunc.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/log_event.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sp.h:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sp_head.h:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_partition.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_test.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/sql_view.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/heap/hp_hash.c:
Auto merged
tests/mysql_client_test.c:
Auto merged
sql/item_func.cc:
Manual merge.
sql/sp.cc:
Manual merge.
sql/sql_cache.cc:
Manual merge.
sql/sql_table.cc:
Manual merge.
strings/my_vsnprintf.c:
Manual merge.
Diffstat (limited to 'strings/my_vsnprintf.c')
-rw-r--r-- | strings/my_vsnprintf.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/strings/my_vsnprintf.c b/strings/my_vsnprintf.c index befdb1a81c2..a57cc5b5ebe 100644 --- a/strings/my_vsnprintf.c +++ b/strings/my_vsnprintf.c @@ -40,10 +40,11 @@ length of result string */ -int my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap) +size_t my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap) { char *start=to, *end=to+n-1; - uint length, width, pre_zero, have_long; + size_t length, width; + uint pre_zero, have_long; for (; *fmt ; fmt++) { @@ -58,7 +59,8 @@ int my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap) /* Read max fill size (only used with %d and %u) */ if (*fmt == '-') fmt++; - length= width= pre_zero= have_long= 0; + length= width= 0; + pre_zero= have_long= 0; if (*fmt == '*') { fmt++; @@ -93,7 +95,7 @@ int my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap) if (*fmt == 's') /* String parameter */ { reg2 char *par = va_arg(ap, char *); - uint plen,left_len = (uint)(end-to)+1; + size_t plen,left_len = (size_t) (end - to) + 1; if (!par) par = (char*)"(null)"; plen= (uint) strnlen(par, width); if (left_len <= plen) @@ -114,11 +116,11 @@ int my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap) else if (*fmt == 'd' || *fmt == 'u'|| *fmt== 'x') /* Integer parameter */ { register long larg; - uint res_length, to_length; + size_t res_length, to_length; char *store_start= to, *store_end; char buff[32]; - if ((to_length= (uint) (end-to)) < 16 || length) + if ((to_length= (size_t) (end-to)) < 16 || length) store_start= buff; if (have_long) larg = va_arg(ap, long); @@ -134,7 +136,7 @@ int my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap) store_end= int10_to_str(larg, store_start, 10); else store_end= int2str(larg, store_start, 16, 0); - if ((res_length= (uint) (store_end - store_start)) > to_length) + if ((res_length= (size_t) (store_end - store_start)) > to_length) break; /* num doesn't fit in output */ /* If %#d syntax was used, we have to pre-zero/pre-space the string */ if (store_start == buff) @@ -142,7 +144,7 @@ int my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap) length= min(length, to_length); if (res_length < length) { - uint diff= (length- res_length); + size_t diff= (length- res_length); bfill(to, diff, pre_zero ? '0' : ' '); to+= diff; } @@ -168,10 +170,11 @@ int my_vsnprintf(char *to, size_t n, const char* fmt, va_list ap) } DBUG_ASSERT(to <= end); *to='\0'; /* End of errmessage */ - return (uint) (to - start); + return (size_t) (to - start); } -int my_snprintf(char* to, size_t n, const char* fmt, ...) + +size_t my_snprintf(char* to, size_t n, const char* fmt, ...) { int result; va_list args; |