common/xyzModem.c: Do not use hard-coded address for debug buffer

Under the plethora of #ifdefs, the xyzModem code hid this pearl:
static char *zm_out = (char *) 0x00380000;
This was only enabled when DEBUG is defined, so it's probably why it
went unnoticed for so long. No idea what platform had memory at that
exact location, but the this approach is extremely hacky.
Use a static buffer instead.

Signed-off-by: Alexandru Gagniuc <alex.g@adaptrum.com>
This commit is contained in:
Alexandru Gagniuc 2017-04-04 10:42:31 -07:00 committed by Tom Rini
parent 306b236bc1
commit b09ece0836

View File

@ -176,16 +176,10 @@ parse_num (char *s, unsigned long *val, char **es, char *delim)
/*
* Note: this debug setup works by storing the strings in a fixed buffer
*/
#define FINAL
#ifdef FINAL
static char *zm_out = (char *) 0x00380000;
static char *zm_out_start = (char *) 0x00380000;
#else
static char zm_buf[8192];
static char *zm_out = zm_buf;
static char *zm_out_start = zm_buf;
static char zm_debug_buf[8192];
static char *zm_out = zm_debug_buf;
static char *zm_out_start = zm_debug_buf;
#endif
static int
zm_dprintf (char *fmt, ...)
{