summaryrefslogtreecommitdiff
path: root/mysys
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2004-02-22 11:01:28 +0200
committerunknown <monty@mashka.mysql.fi>2004-02-22 11:01:28 +0200
commit07b40e621e5ff2a285b673b6b7bab345c7c361cf (patch)
tree5cbf5acd9871f4013aae8ed412d72912dbc4706f /mysys
parent4e17890f6afaddfa8bcdb483a60505b7aee1f652 (diff)
parenta594279dc99b0397476fbc4b2179657cd1a3e9e7 (diff)
downloadmariadb-git-07b40e621e5ff2a285b673b6b7bab345c7c361cf.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mashka.mysql.fi:/home/my/mysql-4.1 innobase/rem/rem0cmp.c: Auto merged libmysql/libmysql.c: Auto merged sql-common/client.c: Auto merged sql/ha_innodb.cc: Auto merged sql/sql_base.cc: Auto merged
Diffstat (limited to 'mysys')
-rw-r--r--mysys/mf_tempfile.c13
-rw-r--r--mysys/my_tempnam.c11
2 files changed, 13 insertions, 11 deletions
diff --git a/mysys/mf_tempfile.c b/mysys/mf_tempfile.c
index cca80dcd552..14b8fdc430c 100644
--- a/mysys/mf_tempfile.c
+++ b/mysys/mf_tempfile.c
@@ -123,12 +123,13 @@ File create_temp_file(char *to, const char *dir, const char *prefix,
}
#ifdef OS2
/* changing environ variable doesn't work with VACPP */
- char buffer[256];
- sprintf( buffer, "TMP=%s", dir);
+ char buffer[256], *end;
+ buffer[sizeof[buffer)-1]= 0;
+ end= strxnmov(buffer, sizeof(buffer)-1, (char*) "TMP=", dir, NullS);
/* remove ending backslash */
- if (buffer[strlen(buffer)-1] == '\\')
- buffer[strlen(buffer)-1] = '\0';
- putenv( buffer);
+ if (end[-1] == '\\')
+ end[-1]= 0;
+ putenv(buffer);
#elif !defined(__NETWARE__)
old_env= (char**) environ;
if (dir)
@@ -138,7 +139,7 @@ File create_temp_file(char *to, const char *dir, const char *prefix,
}
#endif
if ((res=tempnam((char*) dir, (char*) prefix)))
- {
+ {
strmake(to,res,FN_REFLEN-1);
(*free)(res);
file=my_create(to,0,
diff --git a/mysys/my_tempnam.c b/mysys/my_tempnam.c
index d079b9f66a5..b4f76727ee0 100644
--- a/mysys/my_tempnam.c
+++ b/mysys/my_tempnam.c
@@ -105,12 +105,13 @@ my_string my_tempnam(const char *dir, const char *pfx,
}
#ifdef OS2
/* changing environ variable doesn't work with VACPP */
- char buffer[256];
- sprintf( buffer, "TMP=%s", dir);
+ char buffer[256], *end;
+ buffer[sizeof[buffer)-1]= 0;
+ end= strxnmov(buffer, sizeof(buffer)-1, (char*) "TMP=", dir, NullS);
/* remove ending backslash */
- if (buffer[strlen(buffer)-1] == '\\')
- buffer[strlen(buffer)-1] = '\0';
- putenv( buffer);
+ if (end[-1] == '\\')
+ end[-1]= 0;
+ putenv(buffer);
#elif !defined(__NETWARE__)
old_env=(char**)environ;
if (dir)