- shrink logread a bit.

text    data     bss     dec     hex filename
    862      26     188    1076     434 logread.o.orig
    825      26     188    1039     40f logread.o
This commit is contained in:
Bernhard Reutner-Fischer 2006-06-01 14:36:14 +00:00
parent d112f8fa5e
commit d04e9b8130

View File

@ -6,24 +6,11 @@
* *
* Maintainer: Gennady Feldman <gfeldman@gena01.com> as of Mar 12, 2001 * Maintainer: Gennady Feldman <gfeldman@gena01.com> as of Mar 12, 2001
* *
* This program is free software; you can redistribute it and/or modify * Licensed under GPLv2 or later, see file LICENSE in this tarball for details.
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
* 02111-1307 USA
*
*/ */
#include "busybox.h"
#include <stdio.h> #include <stdio.h>
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
@ -34,7 +21,6 @@
#include <signal.h> #include <signal.h>
#include <setjmp.h> #include <setjmp.h>
#include <unistd.h> #include <unistd.h>
#include "busybox.h"
static const long KEY_ID = 0x414e4547; /*"GENA"*/ static const long KEY_ID = 0x414e4547; /*"GENA"*/
@ -80,7 +66,7 @@ int logread_main(int argc, char **argv)
int i; int i;
int follow=0; int follow=0;
if (argc == 2 && strcmp(argv[1],"-f")==0) { if (argc == 2 && argv[1][0]=='-' && argv[1][1]=='f') {
follow = 1; follow = 1;
} else { } else {
/* no options, no getopt */ /* no options, no getopt */
@ -88,7 +74,7 @@ int logread_main(int argc, char **argv)
bb_show_usage(); bb_show_usage();
} }
// handle intrrupt signal // handle interrupt signal
if (setjmp(jmp_env)) goto output_end; if (setjmp(jmp_env)) goto output_end;
// attempt to redefine ^C signal // attempt to redefine ^C signal
@ -131,9 +117,7 @@ int logread_main(int argc, char **argv)
log_len = buf->tail - i; log_len = buf->tail - i;
if (log_len < 0) if (log_len < 0)
log_len += buf->size; log_len += buf->size;
buf_data = (char *)malloc(log_len); buf_data = (char *)xmalloc(log_len);
if (!buf_data)
error_exit("malloc failed");
if (buf->tail < i) { if (buf->tail < i) {
memcpy(buf_data, buf->data+i, buf->size-i); memcpy(buf_data, buf->data+i, buf->size-i);
@ -178,7 +162,7 @@ static void interrupted(int sig){
} }
static void error_exit(const char *str){ static void error_exit(const char *str){
perror(str); bb_perror_msg(str);
//release all acquired resources //release all acquired resources
if (log_shmid != -1) if (log_shmid != -1)
shmdt(buf); shmdt(buf);