Fix a warning in sh.c. Remove use of getline() in md5sum since
authorEric Andersen <andersen@codepoet.org>
Wed, 20 Dec 2000 22:59:16 +0000 (22:59 -0000)
committerEric Andersen <andersen@codepoet.org>
Wed, 20 Dec 2000 22:59:16 +0000 (22:59 -0000)
nobody else uses it and it is a GNU extension anyways...

coreutils/md5sum.c
lash.c
md5sum.c
sh.c
shell/lash.c

index ecc1458a2a4a4652ab9bf47853e71db89b243454..2c08b29c51feede2e23bd03ea1adb607770b71f6 100644 (file)
 #include <ctype.h>
 #include <getopt.h>
 
-/* It turns out that libc5 doesn't have this in its headers
- * even though it is actually in the lib.  Force it to work */
-#if ! defined __GLIBC__ && ! defined __UCLIBC__
-#define getline __getline
-extern _IO_ssize_t getline __P ((char **, size_t *, FILE *));
-#endif
-
 //----------------------------------------------------------------------------
 //--------md5.c
 //----------------------------------------------------------------------------
@@ -680,8 +673,7 @@ static int md5_check(const char *checkfile_name)
   int n_open_or_read_failures = 0;
   unsigned char md5buffer[16];
   size_t line_number;
-  char *line;
-  size_t line_chars_allocated;
+  char line[BUFSIZ];
 
   if (STREQ(checkfile_name, "-")) {
     have_read_stdin = 1;
@@ -695,8 +687,6 @@ static int md5_check(const char *checkfile_name)
   }
 
   line_number = 0;
-  line = 0;
-  line_chars_allocated = 0;
 
   do {
     char *filename;
@@ -706,7 +696,8 @@ static int md5_check(const char *checkfile_name)
 
     ++line_number;
 
-    line_length = getline(&line, &line_chars_allocated, checkfile_stream);
+    fgets(line, BUFSIZ-1, checkfile_stream);
+    line_length = strlen(line);
 
     if (line_length <= 0)
       break;
diff --git a/lash.c b/lash.c
index 590f5ee896400532da0aa8bade89df4aaec65445..b8ddc87c18a4f9bfc30579e7d56ca2d4a5b0d871 100644 (file)
--- a/lash.c
+++ b/lash.c
@@ -137,6 +137,8 @@ static int builtin_if(struct child_prog *cmd);
 static int builtin_then(struct child_prog *cmd);
 static int builtin_else(struct child_prog *cmd);
 static int builtin_fi(struct child_prog *cmd);
+/* function prototypes for shell stuff */
+static int run_command_predicate(char *cmd);
 #endif
 
 
@@ -146,7 +148,6 @@ static int get_command(FILE * source, char *command);
 static int parse_command(char **command_ptr, struct job *job, int *inbg);
 static int run_command(struct job *newjob, int inbg, int outpipe[2]);
 static int pseudo_exec(struct child_prog *cmd) __attribute__ ((noreturn));
-static int run_command_predicate(char *cmd);
 static int busy_loop(FILE * input);
 
 
@@ -580,6 +581,7 @@ static int builtin_unset(struct child_prog *child)
        return EXIT_SUCCESS;
 }
 
+#ifdef BB_FEATURE_SH_IF_EXPRESSIONS
 /* currently used by if/then/else.
  * Needlessly (?) forks and reparses the command line.
  * But pseudo_exec on the pre-parsed args doesn't have the
@@ -596,6 +598,7 @@ static int run_command_predicate(char *cmd)
        local_pending_command[n]='\0';
        return( busy_loop(NULL));
 }
+#endif
 
 /* free up all memory from a job */
 static void free_job(struct job *cmd)
index ecc1458a2a4a4652ab9bf47853e71db89b243454..2c08b29c51feede2e23bd03ea1adb607770b71f6 100644 (file)
--- a/md5sum.c
+++ b/md5sum.c
 #include <ctype.h>
 #include <getopt.h>
 
-/* It turns out that libc5 doesn't have this in its headers
- * even though it is actually in the lib.  Force it to work */
-#if ! defined __GLIBC__ && ! defined __UCLIBC__
-#define getline __getline
-extern _IO_ssize_t getline __P ((char **, size_t *, FILE *));
-#endif
-
 //----------------------------------------------------------------------------
 //--------md5.c
 //----------------------------------------------------------------------------
@@ -680,8 +673,7 @@ static int md5_check(const char *checkfile_name)
   int n_open_or_read_failures = 0;
   unsigned char md5buffer[16];
   size_t line_number;
-  char *line;
-  size_t line_chars_allocated;
+  char line[BUFSIZ];
 
   if (STREQ(checkfile_name, "-")) {
     have_read_stdin = 1;
@@ -695,8 +687,6 @@ static int md5_check(const char *checkfile_name)
   }
 
   line_number = 0;
-  line = 0;
-  line_chars_allocated = 0;
 
   do {
     char *filename;
@@ -706,7 +696,8 @@ static int md5_check(const char *checkfile_name)
 
     ++line_number;
 
-    line_length = getline(&line, &line_chars_allocated, checkfile_stream);
+    fgets(line, BUFSIZ-1, checkfile_stream);
+    line_length = strlen(line);
 
     if (line_length <= 0)
       break;
diff --git a/sh.c b/sh.c
index 590f5ee896400532da0aa8bade89df4aaec65445..b8ddc87c18a4f9bfc30579e7d56ca2d4a5b0d871 100644 (file)
--- a/sh.c
+++ b/sh.c
@@ -137,6 +137,8 @@ static int builtin_if(struct child_prog *cmd);
 static int builtin_then(struct child_prog *cmd);
 static int builtin_else(struct child_prog *cmd);
 static int builtin_fi(struct child_prog *cmd);
+/* function prototypes for shell stuff */
+static int run_command_predicate(char *cmd);
 #endif
 
 
@@ -146,7 +148,6 @@ static int get_command(FILE * source, char *command);
 static int parse_command(char **command_ptr, struct job *job, int *inbg);
 static int run_command(struct job *newjob, int inbg, int outpipe[2]);
 static int pseudo_exec(struct child_prog *cmd) __attribute__ ((noreturn));
-static int run_command_predicate(char *cmd);
 static int busy_loop(FILE * input);
 
 
@@ -580,6 +581,7 @@ static int builtin_unset(struct child_prog *child)
        return EXIT_SUCCESS;
 }
 
+#ifdef BB_FEATURE_SH_IF_EXPRESSIONS
 /* currently used by if/then/else.
  * Needlessly (?) forks and reparses the command line.
  * But pseudo_exec on the pre-parsed args doesn't have the
@@ -596,6 +598,7 @@ static int run_command_predicate(char *cmd)
        local_pending_command[n]='\0';
        return( busy_loop(NULL));
 }
+#endif
 
 /* free up all memory from a job */
 static void free_job(struct job *cmd)
index 590f5ee896400532da0aa8bade89df4aaec65445..b8ddc87c18a4f9bfc30579e7d56ca2d4a5b0d871 100644 (file)
@@ -137,6 +137,8 @@ static int builtin_if(struct child_prog *cmd);
 static int builtin_then(struct child_prog *cmd);
 static int builtin_else(struct child_prog *cmd);
 static int builtin_fi(struct child_prog *cmd);
+/* function prototypes for shell stuff */
+static int run_command_predicate(char *cmd);
 #endif
 
 
@@ -146,7 +148,6 @@ static int get_command(FILE * source, char *command);
 static int parse_command(char **command_ptr, struct job *job, int *inbg);
 static int run_command(struct job *newjob, int inbg, int outpipe[2]);
 static int pseudo_exec(struct child_prog *cmd) __attribute__ ((noreturn));
-static int run_command_predicate(char *cmd);
 static int busy_loop(FILE * input);
 
 
@@ -580,6 +581,7 @@ static int builtin_unset(struct child_prog *child)
        return EXIT_SUCCESS;
 }
 
+#ifdef BB_FEATURE_SH_IF_EXPRESSIONS
 /* currently used by if/then/else.
  * Needlessly (?) forks and reparses the command line.
  * But pseudo_exec on the pre-parsed args doesn't have the
@@ -596,6 +598,7 @@ static int run_command_predicate(char *cmd)
        local_pending_command[n]='\0';
        return( busy_loop(NULL));
 }
+#endif
 
 /* free up all memory from a job */
 static void free_job(struct job *cmd)