• unknown's avatar
    Raise the 64 character limit for path names in the error messages · 08a3c0ff
    unknown authored
    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.
    08a3c0ff
errmsg.txt 17.2 KB