summaryrefslogtreecommitdiff
path: root/innobase/include/ut0ut.h
diff options
context:
space:
mode:
authorheikki@hundin.mysql.fi <>2002-08-11 18:49:47 +0300
committerheikki@hundin.mysql.fi <>2002-08-11 18:49:47 +0300
commitbee3f072e40dbdd40b45de1988309fb4bb9f6546 (patch)
treed3f55dcc192a55ccc266a48e322be71aae0673af /innobase/include/ut0ut.h
parent0005f28b4ec6fdc73c83ea430f53f74103b26239 (diff)
downloadmariadb-git-bee3f072e40dbdd40b45de1988309fb4bb9f6546.tar.gz
ha_innobase.cc, ut0ut.c, univ.i, ut0ut.h:
Redefine sprintf as ut_sprintf inside InnoDB code; some old Unixes may have a pointer as the return type of sprintf lock0lock.c: Add safety against buffer overruns in latest deadlock info srv0srv.c: Add safety against buffer overruns in SHOW INNODB STATUS os0thread.h, os0thread.c: Fix a portability bug introduced in Windows when we changed os_thread_id_t to be the same as os_thread_t
Diffstat (limited to 'innobase/include/ut0ut.h')
-rw-r--r--innobase/include/ut0ut.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/innobase/include/ut0ut.h b/innobase/include/ut0ut.h
index 408788016c1..8ec23b23dcd 100644
--- a/innobase/include/ut0ut.h
+++ b/innobase/include/ut0ut.h
@@ -17,6 +17,18 @@ Created 1/20/1994 Heikki Tuuri
typedef time_t ib_time_t;
+
+/************************************************************
+Uses vsprintf to emulate sprintf so that the function always returns
+the printed length. Apparently in some old SCO Unixes sprintf did not
+return the printed length but a pointer to the end of the printed string. */
+
+ulint
+ut_sprintf(
+/*=======*/
+ char* buf, /* in/out: buffer where to print */
+ const char* format, /* in: format of prints */
+ ...); /* in: arguments to be printed */
/************************************************************
Gets the high 32 bits in a ulint. That is makes a shift >> 32,
but since there seem to be compiler bugs in both gcc and Visual C++,