summaryrefslogtreecommitdiff
path: root/mysys/mf_format.c
diff options
context:
space:
mode:
authormonty@donna.mysql.com <>2000-09-16 04:27:21 +0300
committermonty@donna.mysql.com <>2000-09-16 04:27:21 +0300
commit751f2d1f160a6ba6be4ee93ddf308f552527c254 (patch)
tree6e20280a8abcc28d14385983250a3e1823639028 /mysys/mf_format.c
parenta99c1757be3ad053437a494442774227d61defbe (diff)
downloadmariadb-git-751f2d1f160a6ba6be4ee93ddf308f552527c254.tar.gz
Faster log::write() call, memory leak fix, flush master fix.
Diffstat (limited to 'mysys/mf_format.c')
-rw-r--r--mysys/mf_format.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/mysys/mf_format.c b/mysys/mf_format.c
index 623f1dbd19e..39084799563 100644
--- a/mysys/mf_format.c
+++ b/mysys/mf_format.c
@@ -31,6 +31,7 @@
/* 8 Pack filename as short as possibly */
/* 16 Resolve symbolic links for filename */
/* 32 Resolve filename to full path */
+ /* 64 Return NULL if too long path */
#ifdef MAXPATHLEN
#define BUFF_LEN MAXPATHLEN
@@ -80,7 +81,10 @@ my_string fn_format(my_string to, const char *name, const char *dsk,
if (strlen(dev)+length+strlen(ext) >= FN_REFLEN || length >= FN_LEN )
{ /* To long path, return original */
- uint tmp_length=strlength(startpos);
+ uint tmp_length;
+ if (flag & 64)
+ return 0;
+ tmp_length=strlength(startpos);
DBUG_PRINT("error",("dev: '%s' ext: '%s' length: %d",dev,ext,length));
(void) strmake(to,startpos,min(tmp_length,FN_REFLEN-1));
}