aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--coreutils/md5sum.c15
-rw-r--r--lash.c5
-rw-r--r--md5sum.c15
-rw-r--r--sh.c5
-rw-r--r--shell/lash.c5
5 files changed, 18 insertions, 27 deletions
diff --git a/coreutils/md5sum.c b/coreutils/md5sum.c
index ecc1458a2..2c08b29c5 100644
--- a/coreutils/md5sum.c
+++ b/coreutils/md5sum.c
@@ -26,13 +26,6 @@
#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 590f5ee89..b8ddc87c1 100644
--- 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)
diff --git a/md5sum.c b/md5sum.c
index ecc1458a2..2c08b29c5 100644
--- a/md5sum.c
+++ b/md5sum.c
@@ -26,13 +26,6 @@
#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 590f5ee89..b8ddc87c1 100644
--- 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)
diff --git a/shell/lash.c b/shell/lash.c
index 590f5ee89..b8ddc87c1 100644
--- a/shell/lash.c
+++ b/shell/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)