/* Apparently uclibc defines __GLIBC__ (compat trick?). Oh well. */
#if ENABLE_STATIC && defined(__GLIBC__) && !defined(__UCLIBC__)
#warning Static linking against glibc produces buggy executables
-#warning (glibc doesn't cope well with ld --gc-sections).
+#warning (glibc does not cope well with ld --gc-sections).
#warning See sources.redhat.com/bugzilla/show_bug.cgi?id=3400
#warning Note that glibc is utterly unsuitable for static linking anyway.
#endif
* Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
*/
-#include <stdio.h>
-#include <string.h>
#include "libbb.h"
-
void chomp(char *s)
{
char *lc = last_char_is(s, '\n');
- if(lc)
+ if (lc)
*lc = 0;
}
while (cur) {
sockaddr_to_dotted(cur->ai_addr, str, sizeof(str));
printf("%s %s\nAddress: %s", header, hostname, str);
- s[0] = ' ';
+ str[0] = ' ';
if (getnameinfo(cur->ai_addr, cur->ai_addrlen, str+1, sizeof(str)-1, NULL, 0, NI_NAMEREQD))
str[0] = '\0';
puts(str);
break;
/*FALLTHRU*/
default:
- chomp(buf);
- bb_error_msg_and_die("server returned error %s: %s", s, buf);
+ /* Show first line only and kill any ESC tricks */
+ buf[strcspn(buf, "\n\r\x1b")] = '\0';
+ bb_error_msg_and_die("server returned error: %s", buf);
}
/*
{
FILE *fp;
+ /* glibc 2.4 seems to try seeking on it - ??! */
+ /* hopefully it understands what ESPIPE means... */
fp = fdopen(xconnect_tcp_v4(s_in), "r+");
if (fp == NULL)
bb_perror_msg_and_die("fdopen");