logger: fix a problem of losing all argv except first
This commit is contained in:
@@ -107,7 +107,7 @@ int logger_main(int argc, char **argv)
|
|||||||
argv += optind;
|
argv += optind;
|
||||||
if (!argc) {
|
if (!argc) {
|
||||||
#define strbuf bb_common_bufsiz1
|
#define strbuf bb_common_bufsiz1
|
||||||
while (fgets(strbuf, BUFSIZ, stdin)) {
|
while (fgets(strbuf, COMMON_BUFSIZE, stdin)) {
|
||||||
if (strbuf[0]
|
if (strbuf[0]
|
||||||
&& NOT_LONE_CHAR(strbuf, '\n')
|
&& NOT_LONE_CHAR(strbuf, '\n')
|
||||||
) {
|
) {
|
||||||
@@ -117,11 +117,11 @@ int logger_main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
char *message = NULL;
|
char *message = NULL;
|
||||||
int len = 1; /* for NUL */
|
int len = 0;
|
||||||
int pos = 0;
|
int pos = 0;
|
||||||
do {
|
do {
|
||||||
len += strlen(*argv) + 1;
|
len += strlen(*argv) + 1;
|
||||||
message = xrealloc(message, len);
|
message = xrealloc(message, len + 1);
|
||||||
sprintf(message + pos, " %s", *argv),
|
sprintf(message + pos, " %s", *argv),
|
||||||
pos = len;
|
pos = len;
|
||||||
} while (*++argv);
|
} while (*++argv);
|
||||||
|
Reference in New Issue
Block a user