Stuff
authorEric Andersen <andersen@codepoet.org>
Mon, 8 Nov 1999 17:00:52 +0000 (17:00 -0000)
committerEric Andersen <andersen@codepoet.org>
Mon, 8 Nov 1999 17:00:52 +0000 (17:00 -0000)
 -Erik

dutmp.c
findutils/grep.c
grep.c
init.c
init/init.c
miscutils/dutmp.c
more.c
util-linux/more.c

diff --git a/dutmp.c b/dutmp.c
index c5307b638c84a4ac66ecdbc46ecc15253eab4752..a9e879dafc1a735a63f54768acdc4ed9f6e77c65 100644 (file)
--- a/dutmp.c
+++ b/dutmp.c
@@ -19,7 +19,7 @@ static const char dutmp_usage[] = "dutmp\n"
     "\tDump file or stdin utmp file format to stdout, pipe delimited.\n"
     "\tdutmp /var/run/utmp\n";
 
-static int dutmp_main (int argc, char **argv)
+extern int dutmp_main (int argc, char **argv)
 {
 
     FILE *f = stdin;
index 9495bf85824706963b030b68e6ba674d610f55a0..50a29617845259b7b9e7523d3dbf9a1328f621f3 100644 (file)
@@ -43,6 +43,33 @@ static const char grep_usage[] =
 "This version of grep matches strings (not full regexps).\n";
 #endif
 
+int tellName=TRUE;
+int ignoreCase=FALSE;
+int tellLine=FALSE;
+
+static do_grep(char* needle, char* haystack )
+{
+       line = 0;
+
+       while (fgets (haystack, sizeof (haystack), fp)) {
+           line++;
+           cp = &haystack[strlen (haystack) - 1];
+
+           if (*cp != '\n')
+               fprintf (stderr, "%s: Line too long\n", name);
+
+           if (find_match(haystack, needle, ignoreCase) == TRUE) {
+               if (tellName==TRUE)
+                   printf ("%s: ", name);
+
+               if (tellLine==TRUE)
+                   printf ("%ld: ", line);
+
+               fputs (haystack, stdout);
+           }
+       }
+}
+
 
 extern int grep_main (int argc, char **argv)
 {
@@ -50,9 +77,6 @@ extern int grep_main (int argc, char **argv)
     char *needle;
     char *name;
     char *cp;
-    int tellName=TRUE;
-    int ignoreCase=FALSE;
-    int tellLine=FALSE;
     long line;
     char haystack[BUF_SIZE];
 
@@ -91,7 +115,16 @@ extern int grep_main (int argc, char **argv)
     needle = *argv++;
     argc--;
 
+
     while (argc-- > 0) {
+
+       if (argc==0) {
+           file = stdin;
+       }
+       else
+           file = fopen(*argv, "r");
+
+
        name = *argv++;
 
        fp = fopen (name, "r");
@@ -100,26 +133,6 @@ extern int grep_main (int argc, char **argv)
            continue;
        }
 
-       line = 0;
-
-       while (fgets (haystack, sizeof (haystack), fp)) {
-           line++;
-           cp = &haystack[strlen (haystack) - 1];
-
-           if (*cp != '\n')
-               fprintf (stderr, "%s: Line too long\n", name);
-
-           if (find_match(haystack, needle, ignoreCase) == TRUE) {
-               if (tellName==TRUE)
-                   printf ("%s: ", name);
-
-               if (tellLine==TRUE)
-                   printf ("%ld: ", line);
-
-               fputs (haystack, stdout);
-           }
-       }
-
        if (ferror (fp))
            perror (name);
 
diff --git a/grep.c b/grep.c
index 9495bf85824706963b030b68e6ba674d610f55a0..50a29617845259b7b9e7523d3dbf9a1328f621f3 100644 (file)
--- a/grep.c
+++ b/grep.c
@@ -43,6 +43,33 @@ static const char grep_usage[] =
 "This version of grep matches strings (not full regexps).\n";
 #endif
 
+int tellName=TRUE;
+int ignoreCase=FALSE;
+int tellLine=FALSE;
+
+static do_grep(char* needle, char* haystack )
+{
+       line = 0;
+
+       while (fgets (haystack, sizeof (haystack), fp)) {
+           line++;
+           cp = &haystack[strlen (haystack) - 1];
+
+           if (*cp != '\n')
+               fprintf (stderr, "%s: Line too long\n", name);
+
+           if (find_match(haystack, needle, ignoreCase) == TRUE) {
+               if (tellName==TRUE)
+                   printf ("%s: ", name);
+
+               if (tellLine==TRUE)
+                   printf ("%ld: ", line);
+
+               fputs (haystack, stdout);
+           }
+       }
+}
+
 
 extern int grep_main (int argc, char **argv)
 {
@@ -50,9 +77,6 @@ extern int grep_main (int argc, char **argv)
     char *needle;
     char *name;
     char *cp;
-    int tellName=TRUE;
-    int ignoreCase=FALSE;
-    int tellLine=FALSE;
     long line;
     char haystack[BUF_SIZE];
 
@@ -91,7 +115,16 @@ extern int grep_main (int argc, char **argv)
     needle = *argv++;
     argc--;
 
+
     while (argc-- > 0) {
+
+       if (argc==0) {
+           file = stdin;
+       }
+       else
+           file = fopen(*argv, "r");
+
+
        name = *argv++;
 
        fp = fopen (name, "r");
@@ -100,26 +133,6 @@ extern int grep_main (int argc, char **argv)
            continue;
        }
 
-       line = 0;
-
-       while (fgets (haystack, sizeof (haystack), fp)) {
-           line++;
-           cp = &haystack[strlen (haystack) - 1];
-
-           if (*cp != '\n')
-               fprintf (stderr, "%s: Line too long\n", name);
-
-           if (find_match(haystack, needle, ignoreCase) == TRUE) {
-               if (tellName==TRUE)
-                   printf ("%s: ", name);
-
-               if (tellLine==TRUE)
-                   printf ("%ld: ", line);
-
-               fputs (haystack, stdout);
-           }
-       }
-
        if (ferror (fp))
            perror (name);
 
diff --git a/init.c b/init.c
index 707b1916fa2dd759bc9ef3038e3669ff1d3130b4..a354f8a75c38ded8cf2846b1c658f6a041b0ddb2 100644 (file)
--- a/init.c
+++ b/init.c
@@ -192,7 +192,7 @@ static void console_init()
     if ((s = getenv("CONSOLE")) != NULL) {
        console = s;
     }
-#if defined (__sparc__)
+#if #cpu(sparc)
     /* sparc kernel supports console=tty[ab] parameter which is also 
      * passed to init, so catch it here */
     else if ((s = getenv("console")) != NULL) {
index 707b1916fa2dd759bc9ef3038e3669ff1d3130b4..a354f8a75c38ded8cf2846b1c658f6a041b0ddb2 100644 (file)
@@ -192,7 +192,7 @@ static void console_init()
     if ((s = getenv("CONSOLE")) != NULL) {
        console = s;
     }
-#if defined (__sparc__)
+#if #cpu(sparc)
     /* sparc kernel supports console=tty[ab] parameter which is also 
      * passed to init, so catch it here */
     else if ((s = getenv("console")) != NULL) {
index c5307b638c84a4ac66ecdbc46ecc15253eab4752..a9e879dafc1a735a63f54768acdc4ed9f6e77c65 100644 (file)
@@ -19,7 +19,7 @@ static const char dutmp_usage[] = "dutmp\n"
     "\tDump file or stdin utmp file format to stdout, pipe delimited.\n"
     "\tdutmp /var/run/utmp\n";
 
-static int dutmp_main (int argc, char **argv)
+extern int dutmp_main (int argc, char **argv)
 {
 
     FILE *f = stdin;
diff --git a/more.c b/more.c
index bc3850510205b8d454eeb31e28668e5fde843b8b..ea5e22562165b1b78cf4644c6cf6bedebab7defd 100644 (file)
--- a/more.c
+++ b/more.c
@@ -41,8 +41,7 @@ static const char more_usage[] = "[file ...]";
 /* ED: sparc termios is broken: revert back to old termio handling. */
 #ifdef BB_MORE_TERM
 
-
-#if defined (__sparc__)
+#if #cpu(sparc)
 #      define USE_OLD_TERMIO
 #      include <termio.h>
 #      include <sys/ioctl.h>
@@ -69,13 +68,13 @@ extern int more_main(int argc, char **argv)
     struct stat st;    
     FILE *file;
 
-    if ( strcmp(*argv,"--help")==0 || strcmp(*argv,"-h")==0 ) {
-       usage (more_usage);
-    }
     argc--;
     argv++;
 
-    while (argc >= 0) {
+    if ( argc > 0 && (strcmp(*argv,"--help")==0 || strcmp(*argv,"-h")==0) ) {
+       usage (more_usage);
+    }
+    do {
        if (argc==0) {
            file = stdin;
        }
@@ -103,6 +102,9 @@ extern int more_main(int argc, char **argv)
        stty(fileno(cin), &new_settings);
        
        (void) signal(SIGINT, gotsig);
+       (void) signal(SIGQUIT, gotsig);
+       (void) signal(SIGTERM, gotsig);
+
 
 #endif
        while ((c = getc(file)) != EOF) {
@@ -141,18 +143,17 @@ extern int more_main(int argc, char **argv)
            }
            if (input=='q')
                goto end;
-           if (input==' ' &&  c == '\n' )
+           if (input=='\n' &&  c == '\n' )
                next_page = 1;
-           if ( c == '\n' && ++lines == 24 )
+           if ( c == ' ' && ++lines == 24 )
                next_page = 1;
            putc(c, stdout);
        }
        fclose(file);
        fflush(stdout);
 
-       argc--;
        argv++;
-    }
+    } while (--argc > 0);
 end:
 #ifdef BB_MORE_TERM
     gotsig(0);
index bc3850510205b8d454eeb31e28668e5fde843b8b..ea5e22562165b1b78cf4644c6cf6bedebab7defd 100644 (file)
@@ -41,8 +41,7 @@ static const char more_usage[] = "[file ...]";
 /* ED: sparc termios is broken: revert back to old termio handling. */
 #ifdef BB_MORE_TERM
 
-
-#if defined (__sparc__)
+#if #cpu(sparc)
 #      define USE_OLD_TERMIO
 #      include <termio.h>
 #      include <sys/ioctl.h>
@@ -69,13 +68,13 @@ extern int more_main(int argc, char **argv)
     struct stat st;    
     FILE *file;
 
-    if ( strcmp(*argv,"--help")==0 || strcmp(*argv,"-h")==0 ) {
-       usage (more_usage);
-    }
     argc--;
     argv++;
 
-    while (argc >= 0) {
+    if ( argc > 0 && (strcmp(*argv,"--help")==0 || strcmp(*argv,"-h")==0) ) {
+       usage (more_usage);
+    }
+    do {
        if (argc==0) {
            file = stdin;
        }
@@ -103,6 +102,9 @@ extern int more_main(int argc, char **argv)
        stty(fileno(cin), &new_settings);
        
        (void) signal(SIGINT, gotsig);
+       (void) signal(SIGQUIT, gotsig);
+       (void) signal(SIGTERM, gotsig);
+
 
 #endif
        while ((c = getc(file)) != EOF) {
@@ -141,18 +143,17 @@ extern int more_main(int argc, char **argv)
            }
            if (input=='q')
                goto end;
-           if (input==' ' &&  c == '\n' )
+           if (input=='\n' &&  c == '\n' )
                next_page = 1;
-           if ( c == '\n' && ++lines == 24 )
+           if ( c == ' ' && ++lines == 24 )
                next_page = 1;
            putc(c, stdout);
        }
        fclose(file);
        fflush(stdout);
 
-       argc--;
        argv++;
-    }
+    } while (--argc > 0);
 end:
 #ifdef BB_MORE_TERM
     gotsig(0);