Commit 3295d449 authored by unknown's avatar unknown

Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt

into  magare.gmz:/home/kgeorge/mysql/autopush/B29070-5.0-opt

parents 4f4764cd 21474cd1
...@@ -1086,7 +1086,12 @@ static int read_and_execute(bool interactive) ...@@ -1086,7 +1086,12 @@ static int read_and_execute(bool interactive)
something else is still in console input buffer something else is still in console input buffer
*/ */
} while (tmpbuf.alloced_length() <= clen); } while (tmpbuf.alloced_length() <= clen);
line= buffer.c_ptr(); /*
An empty line is returned from my_cgets when there's error reading :
Ctrl-c for example
*/
if (line)
line= buffer.c_ptr();
#else /* OS2 */ #else /* OS2 */
buffer.length(0); buffer.length(0);
/* _cgets() expects the buffer size - 3 as the first byte */ /* _cgets() expects the buffer size - 3 as the first byte */
......
...@@ -184,16 +184,19 @@ char* my_cgets(char *buffer, unsigned long clen, unsigned long* plen) ...@@ -184,16 +184,19 @@ char* my_cgets(char *buffer, unsigned long clen, unsigned long* plen)
} }
while (GetLastError() == ERROR_NOT_ENOUGH_MEMORY); while (GetLastError() == ERROR_NOT_ENOUGH_MEMORY);
/* We go here on error reading the string (Ctrl-C for example) */
if (!*plen)
result= NULL; /* purecov: inspected */
if (result != NULL) if (result != NULL)
{ {
if (buffer[*plen - 2] == '\r') if (*plen > 1 && buffer[*plen - 2] == '\r')
{ {
*plen= *plen - 2; *plen= *plen - 2;
} }
else else
{ {
if (buffer[*plen - 1] == '\r') if (*plen > 0 && buffer[*plen - 1] == '\r')
{ {
char tmp[3]; char tmp[3];
int tmplen= sizeof(tmp); int tmplen= sizeof(tmp);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment