summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <joerg@debian.(none)>2007-07-26 12:52:13 +0200
committerunknown <joerg@debian.(none)>2007-07-26 12:52:13 +0200
commit00d694a900c6fcb2f7f1fe37b3a3c189c7f711dd (patch)
tree20ffea84e73928492f9b4943b8486724b541f558
parentc20595d8a0f2a18c7b6d7d85c6c2b42b5025df8d (diff)
downloadmariadb-git-00d694a900c6fcb2f7f1fe37b3a3c189c7f711dd.tar.gz
Raise the 64 character limit for path names in the error messages
to 150 or 107 characters for those messages which are generated by the embedded server during release builds. This fixes bug#16635: Error messages wrong: absolute path names, "%s" format code See the bug report or the changelog for "sql/share/english/errmsg.txt" for instructions how to do that with other languages, even at the customer site, and for the restrictions to keep. sql/share/english/errmsg.txt: The embedded server uses absolute path names in its error messages, in the release build environment these exceed the 64 character limit which the format strings for the error messages impose (bug#16635). But when the messages are output, the server does the "printf()" internally in a 256 character buffer; the constant text and the expanded variables (strings, error number) must fit into this. (If the buffer would overflow, a format specification will not be expanded but just copied with its code, and the message output will just contain '%s' or '%d' where a value is expected.) So the string lengths are increased to 150 characters in those messages which are issued by the embedded server during release tests and contain 1 (one) path name, but only to 107 in the "rename" message which contains 2 (two). This solves bug#16635 for the release builds. For other languages used by OEM customers, similar fixes may be needed, but we cannot test them. These fixes can be done even in a binary installation at the customer site by following these steps: cd <<install-root>>/share $EDITOR <<lang>>/errmsg.txt ../../bin/comp_err -C./charsets/ <<lang>>/errmsg.txt <<lang>>/errmsg.sys and then restarting the server.
-rw-r--r--sql/share/english/errmsg.txt6
1 files changed, 3 insertions, 3 deletions
diff --git a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt
index 62c8f4f9991..d3a611529f2 100644
--- a/sql/share/english/errmsg.txt
+++ b/sql/share/english/errmsg.txt
@@ -21,7 +21,7 @@ character-set=latin1
"NO",
"YES",
"Can't create file '%-.64s' (errno: %d)",
-"Can't create table '%-.64s' (errno: %d)",
+"Can't create table '%-.150s' (errno: %d)",
"Can't create database '%-.64s' (errno: %d)",
"Can't create database '%-.64s'; database exists",
"Can't drop database '%-.64s'; database doesn't exist",
@@ -33,7 +33,7 @@ character-set=latin1
"Can't get working directory (errno: %d)",
"Can't lock file (errno: %d)",
"Can't open file: '%-.64s' (errno: %d)",
-"Can't find file: '%-.64s' (errno: %d)",
+"Can't find file: '%-.150s' (errno: %d)",
"Can't read dir of '%-.64s' (errno: %d)",
"Can't change dir to '%-.64s' (errno: %d)",
"Record has changed since last read in table '%-.64s'",
@@ -41,7 +41,7 @@ character-set=latin1
"Can't write; duplicate key in table '%-.64s'",
"Error on close of '%-.64s' (errno: %d)",
"Error reading file '%-.64s' (errno: %d)",
-"Error on rename of '%-.64s' to '%-.64s' (errno: %d)",
+"Error on rename of '%-.107s' to '%-.107s' (errno: %d)",
"Error writing file '%-.64s' (errno: %d)",
"'%-.64s' is locked against change",
"Sort aborted",