Bug fixes

This commit is contained in:
Eric Andersen 1999-11-22 07:41:00 +00:00
parent 5d44d1fda5
commit cb41c2e83b
7 changed files with 35 additions and 23 deletions

View File

@ -12,11 +12,11 @@ h=`sort busybox.links | uniq`
for i in $h ; do
mypath=`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\1/g' `;
myapp=`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' `;
mkdir -p $1$mypath
echo " $1$mypath$myapp -> /bin/busybox"
(cd $1$mypath ; rm -f $1$mypath$myapp ; ln -s /bin/busybox $1$mypath$myapp )
mkdir -p $1$mypath
(cd $1$mypath && rm -f $1$mypath$myapp && ln -s /bin/busybox $1$mypath$myapp )
done
rm -f $1/bin/busybox
install -m 755 busybox $1/bin/busybox
exit 0

View File

@ -29,10 +29,15 @@
#include "internal.h"
#include <features.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#if (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)
#include <inttypes.h>
#else
typedef unsigned long long int uintmax_t;
#endif
static const char dd_usage[] =
"dd [if=name] [of=name] [bs=n] [count=n]\n\n"

View File

@ -80,17 +80,21 @@ extern int mkdir_main(int argc, char **argv)
while (argc > 0) {
int status;
struct stat statBuf;
status=stat(*argv, &statBuf);
char buf[NAME_MAX];
strcpy (buf, *argv);
status=stat(buf, &statBuf);
if (status != -1 && status != ENOENT ) {
fprintf(stderr, "%s: File exists\n", *argv);
fprintf(stderr, "%s: File exists\n", buf);
exit( FALSE);
}
if (parentFlag == TRUE) {
createPath(*argv, mode);
strcat( buf, "/");
createPath(buf, mode);
}
else {
if (mkdir (*argv, mode) != 0) {
perror(*argv);
if (mkdir (buf, mode) != 0) {
perror(buf);
exit( FALSE);
}
}

5
dd.c
View File

@ -29,10 +29,15 @@
#include "internal.h"
#include <features.h>
#include <stdio.h>
#include <fcntl.h>
#include <errno.h>
#if (__GLIBC__ == 2) && (__GLIBC_MINOR__ >= 1)
#include <inttypes.h>
#else
typedef unsigned long long int uintmax_t;
#endif
static const char dd_usage[] =
"dd [if=name] [of=name] [bs=n] [count=n]\n\n"

View File

@ -12,11 +12,11 @@ h=`sort busybox.links | uniq`
for i in $h ; do
mypath=`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\1/g' `;
myapp=`echo $i | sed -e 's/\(^.*\/\)\(.*\)/\2/g' `;
mkdir -p $1$mypath
echo " $1$mypath$myapp -> /bin/busybox"
(cd $1$mypath ; rm -f $1$mypath$myapp ; ln -s /bin/busybox $1$mypath$myapp )
mkdir -p $1$mypath
(cd $1$mypath && rm -f $1$mypath$myapp && ln -s /bin/busybox $1$mypath$myapp )
done
rm -f $1/bin/busybox
install -m 755 busybox $1/bin/busybox
exit 0

14
mkdir.c
View File

@ -80,17 +80,21 @@ extern int mkdir_main(int argc, char **argv)
while (argc > 0) {
int status;
struct stat statBuf;
status=stat(*argv, &statBuf);
char buf[NAME_MAX];
strcpy (buf, *argv);
status=stat(buf, &statBuf);
if (status != -1 && status != ENOENT ) {
fprintf(stderr, "%s: File exists\n", *argv);
fprintf(stderr, "%s: File exists\n", buf);
exit( FALSE);
}
if (parentFlag == TRUE) {
createPath(*argv, mode);
strcat( buf, "/");
createPath(buf, mode);
}
else {
if (mkdir (*argv, mode) != 0) {
perror(*argv);
if (mkdir (buf, mode) != 0) {
perror(buf);
exit( FALSE);
}
}

View File

@ -481,14 +481,8 @@ extern void createPath (const char *name, int mode)
char *cpOld;
char buf[NAME_MAX];
strcpy (buf, name);
if (buf[strlen(buf)]!='/') {
buf[strlen(buf)] = '/';
buf[strlen(buf)+1] = '\0';
}
strcpy( buf, name);
cp = strchr (buf, '/');
while (cp) {
cpOld = cp;
cp = strchr (cp + 1, '/');