SCP: Removed unused conditional compile referenced to HAS_vsprintf_void and HAS_vsnprintf_void. Avoid emitting redundant \r characters when writing to stdout while a simulator is running. Suggestions from Bob Supnik.

This commit is contained in:
Mark Pizzolato 2015-03-29 16:21:27 -07:00
parent cc442a85cc
commit 137f825811
2 changed files with 15 additions and 73 deletions

60
scp.c
View file

@ -9505,25 +9505,9 @@ va_list arglist;
while (1) { /* format passed string, args */ while (1) { /* format passed string, args */
va_start (arglist, fmt); va_start (arglist, fmt);
#if defined(NO_vsnprintf) #if defined(NO_vsnprintf)
#if defined(HAS_vsprintf_void)
/* Note, this could blow beyond the buffer, and we couldn't tell */
/* That is a limitation of the C runtime library available on this platform */
vsprintf (buf, fmt, arglist);
for (len = 0; len < bufsize-1; len++)
if (buf[len] == 0) break;
#else
len = vsprintf (buf, fmt, arglist); len = vsprintf (buf, fmt, arglist);
#endif /* HAS_vsprintf_void */ #else /* !defined(NO_vsnprintf) */
#else /* NO_vsnprintf */
#if defined(HAS_vsnprintf_void)
vsnprintf (buf, bufsize-1, fmt, arglist);
for (len = 0; len < bufsize-1; len++)
if (buf[len] == 0) break;
#else
len = vsnprintf (buf, bufsize-1, fmt, arglist); len = vsnprintf (buf, bufsize-1, fmt, arglist);
#endif /* HAS_vsnprintf_void */
#endif /* NO_vsnprintf */ #endif /* NO_vsnprintf */
va_end (arglist); va_end (arglist);
@ -9546,7 +9530,10 @@ if (sim_is_running) {
char *c, *remnant = buf; char *c, *remnant = buf;
while ((c = strchr(remnant, '\n'))) { while ((c = strchr(remnant, '\n'))) {
if ((c != buf) && (*(c - 1) != '\r'))
printf("%.*s\r\n", (int)(c-remnant), remnant); printf("%.*s\r\n", (int)(c-remnant), remnant);
else
printf("%.*s\n", (int)(c-remnant), remnant);
remnant = c + 1; remnant = c + 1;
} }
printf("%s", remnant); printf("%s", remnant);
@ -9575,25 +9562,9 @@ t_bool inhibit_message = (!sim_show_message || (stat & SCPE_NOMESSAGE));
while (1) { /* format passed string, args */ while (1) { /* format passed string, args */
va_start (arglist, fmt); va_start (arglist, fmt);
#if defined(NO_vsnprintf) #if defined(NO_vsnprintf)
#if defined(HAS_vsprintf_void)
/* Note, this could blow beyond the buffer, and we couldn't tell */
/* That is a limitation of the C runtime library available on this platform */
vsprintf (buf, fmt, arglist);
for (len = 0; len < bufsize-1; len++)
if (buf[len] == 0) break;
#else
len = vsprintf (buf, fmt, arglist); len = vsprintf (buf, fmt, arglist);
#endif /* HAS_vsprintf_void */ #else /* !defined(NO_vsnprintf) */
#else /* NO_vsnprintf */
#if defined(HAS_vsnprintf_void)
vsnprintf (buf, bufsize-1, fmt, arglist);
for (len = 0; len < bufsize-1; len++)
if (buf[len] == 0) break;
#else
len = vsnprintf (buf, bufsize-1, fmt, arglist); len = vsnprintf (buf, bufsize-1, fmt, arglist);
#endif /* HAS_vsnprintf_void */
#endif /* NO_vsnprintf */ #endif /* NO_vsnprintf */
va_end (arglist); va_end (arglist);
@ -9624,7 +9595,10 @@ if (sim_is_running && !inhibit_message) {
char *c, *remnant = buf; char *c, *remnant = buf;
while ((c = strchr(remnant, '\n'))) { while ((c = strchr(remnant, '\n'))) {
if ((c != buf) && (*(c - 1) != '\r'))
printf("%.*s\r\n", (int)(c-remnant), remnant); printf("%.*s\r\n", (int)(c-remnant), remnant);
else
printf("%.*s\n", (int)(c-remnant), remnant);
remnant = c + 1; remnant = c + 1;
} }
printf("%s", remnant); printf("%s", remnant);
@ -9668,25 +9642,9 @@ if (sim_deb && dptr && (dptr->dctrl & dbits)) {
while (1) { /* format passed string, args */ while (1) { /* format passed string, args */
va_start (arglist, fmt); va_start (arglist, fmt);
#if defined(NO_vsnprintf) #if defined(NO_vsnprintf)
#if defined(HAS_vsprintf_void)
/* Note, this could blow beyond the buffer, and we couldn't tell */
/* That is a limitation of the C runtime library available on this platform */
vsprintf (buf, fmt, arglist);
for (len = 0; len < bufsize-1; len++)
if (buf[len] == 0) break;
#else
len = vsprintf (buf, fmt, arglist); len = vsprintf (buf, fmt, arglist);
#endif /* HAS_vsprintf_void */ #else /* !defined(NO_vsnprintf) */
#else /* NO_vsnprintf */
#if defined(HAS_vsnprintf_void)
vsnprintf (buf, bufsize-1, fmt, arglist);
for (len = 0; len < bufsize-1; len++)
if (buf[len] == 0) break;
#else
len = vsnprintf (buf, bufsize-1, fmt, arglist); len = vsnprintf (buf, bufsize-1, fmt, arglist);
#endif /* HAS_vsnprintf_void */
#endif /* NO_vsnprintf */ #endif /* NO_vsnprintf */
va_end (arglist); va_end (arglist);

View file

@ -3867,25 +3867,9 @@ int32 i, len;
buf[bufsize-1] = '\0'; buf[bufsize-1] = '\0';
while (1) { /* format passed string, args */ while (1) { /* format passed string, args */
#if defined(NO_vsnprintf) #if defined(NO_vsnprintf)
#if defined(HAS_vsprintf_void)
/* Note, this could blow beyond the buffer, and we couldn't tell */
/* That is a limitation of the C runtime library available on this platform */
vsprintf (buf, fmt, arglist);
for (len = 0; len < bufsize-1; len++)
if (buf[len] == 0) break;
#else
len = vsprintf (buf, fmt, arglist); len = vsprintf (buf, fmt, arglist);
#endif /* HAS_vsprintf_void */ #else /* !defined(NO_vsnprintf) */
#else /* NO_vsnprintf */
#if defined(HAS_vsnprintf_void)
vsnprintf (buf, bufsize-1, fmt, arglist);
for (len = 0; len < bufsize-1; len++)
if (buf[len] == 0) break;
#else
len = vsnprintf (buf, bufsize-1, fmt, arglist); len = vsnprintf (buf, bufsize-1, fmt, arglist);
#endif /* HAS_vsnprintf_void */
#endif /* NO_vsnprintf */ #endif /* NO_vsnprintf */
/* If the formatted result didn't fit into the buffer, then grow the buffer and try again */ /* If the formatted result didn't fit into the buffer, then grow the buffer and try again */