Tweak Win32 errmsg buffer

mdb.RE/0.9
Howard Chu 9 years ago
parent ad8488cfac
commit 798f020c59
  1. 7
      libraries/liblmdb/mdb.c

@ -1417,8 +1417,9 @@ mdb_strerror(int err)
* This works as long as no function between the call to mdb_strerror * This works as long as no function between the call to mdb_strerror
* and the actual use of the message uses more than 4K of stack. * and the actual use of the message uses more than 4K of stack.
*/ */
char pad[4096]; #define MSGSIZE 1024
char buf[1024], *ptr = buf; #define PADSIZE 4096
char buf[MSGSIZE+PADSIZE], *ptr = buf;
#endif #endif
int i; int i;
if (!err) if (!err)
@ -1450,7 +1451,7 @@ mdb_strerror(int err)
buf[0] = 0; buf[0] = 0;
FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS, FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, err, 0, ptr, sizeof(buf), (va_list *)pad); NULL, err, 0, ptr, MSGSIZE, (va_list *)buf+MSGSIZE);
return ptr; return ptr;
#else #else
return strerror(err); return strerror(err);

Loading…
Cancel
Save