summaryrefslogtreecommitdiff
path: root/strings/decimal.c
diff options
context:
space:
mode:
authorunknown <stewart@mysql.com>2005-12-28 13:55:59 +1100
committerunknown <stewart@mysql.com>2005-12-28 13:55:59 +1100
commit94cbe6fd293eac2eed1bfd48a31a0498dcb11406 (patch)
tree720547939e4403e5a08c0131165d304b2444ea79 /strings/decimal.c
parent581750330bf6c0777db9e7dfd71c0c5b99a27b28 (diff)
parent6706115c0a6db47ea5e640f4f03ca775c3cfda04 (diff)
downloadmariadb-git-94cbe6fd293eac2eed1bfd48a31a0498dcb11406.tar.gz
Merge mysql.com:/home/stewart/Documents/MySQL/5.0/main
into mysql.com:/home/stewart/Documents/MySQL/5.1/new client/mysqltest.c: Auto merged sql/item.cc: Auto merged sql/sql_trigger.cc: Auto merged storage/myisam/mi_create.c: Auto merged storage/myisam/mi_delete.c: Auto merged storage/ndb/src/kernel/blocks/backup/Backup.cpp: Auto merged storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp: Auto merged storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp: Auto merged strings/decimal.c: Auto merged configure.in: remove 5.0 version increement sql/ha_archive.cc: merge sql/handler.cc: merge sql/mysqld.cc: merge
Diffstat (limited to 'strings/decimal.c')
-rw-r--r--strings/decimal.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/strings/decimal.c b/strings/decimal.c
index 9cf4a281be2..919d4c7d3bc 100644
--- a/strings/decimal.c
+++ b/strings/decimal.c
@@ -1075,9 +1075,9 @@ int decimal2longlong(decimal_t *from, longlong *to)
}
}
/* boundary case: 9223372036854775808 */
- if (unlikely(from->sign==0 && x < 0 && -x < 0))
+ if (unlikely(from->sign==0 && x == LONGLONG_MIN))
{
- *to= -1-x;
+ *to= LONGLONG_MAX;
return E_DEC_OVERFLOW;
}
@@ -2681,7 +2681,8 @@ void test_pr(const char *s1, int prec, int dec, char filler, const char *orig,
int slen= sizeof(s2);
int res;
- sprintf(s, "'%s', %d, %d, '%c'", s1, prec, dec, filler);
+ sprintf(s, filler ? "'%s', %d, %d, '%c'" : "'%s', %d, %d, '\\0'",
+ s1, prec, dec, filler);
end= strend(s1);
string2decimal(s1, &a, &end);
res= decimal2string(&a, s2, &slen, prec, dec, filler);