summaryrefslogtreecommitdiff
path: root/sql/field.cc
diff options
context:
space:
mode:
authormonty@donna.mysql.fi <>2001-04-17 01:45:30 +0300
committermonty@donna.mysql.fi <>2001-04-17 01:45:30 +0300
commit1afbe4feba3c415de0f54806afc5887997739e49 (patch)
tree58800413195cf120aa68da2b17e0a6c91d092901 /sql/field.cc
parentac77076ff25c00430d1130e2c50cc4ad6b4bb1a4 (diff)
downloadmariadb-git-1afbe4feba3c415de0f54806afc5887997739e49.tar.gz
The environment variable PAGER is now used as the default pager
Fixed bug with float columns
Diffstat (limited to 'sql/field.cc')
-rw-r--r--sql/field.cc8
1 files changed, 5 insertions, 3 deletions
diff --git a/sql/field.cc b/sql/field.cc
index 29485797408..8d998683bd7 100644
--- a/sql/field.cc
+++ b/sql/field.cc
@@ -1791,7 +1791,8 @@ String *Field_float::val_str(String *val_buffer,
#endif
memcpy_fixed((byte*) &nr,ptr,sizeof(nr));
- val_buffer->alloc(max(field_length,70));
+ uint to_length=max(field_length,70);
+ val_buffer->alloc(to_length);
char *to=(char*) val_buffer->ptr();
if (dec >= NOT_FIXED_DEC)
@@ -1841,8 +1842,9 @@ String *Field_float::val_str(String *val_buffer,
while (tmp_dec--)
*to++= *pos++;
#else
-#ifdef HAVE_SNPRINTF_
- sprintf(to,val_buffer->length(),"%.*f",dec,nr);
+#ifdef HAVE_SNPRINTF
+ to[to_length-1]=0; // Safety
+ snprintf(to,to_length-1,"%.*f",dec,nr);
#else
sprintf(to,"%.*f",dec,nr);
#endif