From: Glenn L McGrath Date: Thu, 12 Apr 2001 00:52:29 +0000 (-0000) Subject: Move convert to libbb X-Git-Tag: 0_52~372 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=50b787cac5e83deaeea1f0c3b73b3289321f8e80;p=oweals%2Fbusybox.git Move convert to libbb --- diff --git a/coreutils/dos2unix.c b/coreutils/dos2unix.c index 7f1c5617d..b2dcfd9c2 100644 --- a/coreutils/dos2unix.c +++ b/coreutils/dos2unix.c @@ -27,19 +27,9 @@ * See the COPYING file for license information. */ -#include -#include -#include -#include #include #include "busybox.h" -#define CT_AUTO 0 -#define CT_UNIX2DOS 1 -#define CT_DOS2UNIX 2 - -int convert(char *fn, int ConvType); - int dos2unix_main(int argc, char *argv[]) { int ConvType = CT_AUTO; int o; @@ -69,84 +59,3 @@ int dos2unix_main(int argc, char *argv[]) { return o; } -// if fn is NULL then input is stdin and output is stdout -int convert(char *fn, int ConvType) { - char c; - char *tempFn = NULL; - FILE *in = stdin, *out = stdout; - - if (fn != NULL) { - if ((in = fopen(fn, "r")) == NULL) { - perror_msg(fn); - return -1; - } - tempFn = tmpnam(NULL); - if (tempFn == NULL || (out = fopen(tempFn, "w")) == NULL) { - perror_msg(NULL); - return -2; - } - } - - while ((c = fgetc(in)) != EOF) { - if (c == '\r') { - if ((ConvType == CT_UNIX2DOS) && (fn != NULL)) { - // file is alredy in DOS format so it is not necessery to touch it - if (fclose(in) < 0 || fclose(out) < 0 || remove(tempFn) < 0) { - perror_msg(NULL); - return -2; - } - return 0; - } - if (!ConvType) - ConvType = CT_DOS2UNIX; - break; - } - if (c == '\n') { - if ((ConvType == CT_DOS2UNIX) && (fn != NULL)) { - // file is alredy in UNIX format so it is not necessery to touch it - if (fclose(in) < 0 || fclose(out) < 0 || remove(tempFn) < 0) { - perror_msg(NULL); - return -2; - } - return 0; - } - if (!ConvType) - ConvType = CT_UNIX2DOS; - if (ConvType == CT_UNIX2DOS) - fputc('\r', out); - fputc('\n', out); - break; - } - fputc(c, out); - } - if (c != EOF) - while ((c = fgetc(in)) != EOF) { - if (c == '\r') - continue; - if (c == '\n') { - if (ConvType == CT_UNIX2DOS) - fputc('\r', out); - fputc('\n', out); - continue; - } - fputc(c, out); - } - - if (fn != NULL) { - if (fclose(in) < 0 || fclose(out) < 0 || - (in = fopen(tempFn, "r")) == NULL || (out = fopen(fn, "w")) == NULL) { - perror_msg(NULL); - return -2; - } - - while ((c = fgetc(in)) != EOF) - fputc(c, out); - - if (fclose(in) < 0 || fclose(out) < 0 || remove(tempFn) < 0) { - perror_msg(NULL); - return -2; - } - } - - return 0; -} diff --git a/dos2unix.c b/dos2unix.c index 7f1c5617d..b2dcfd9c2 100644 --- a/dos2unix.c +++ b/dos2unix.c @@ -27,19 +27,9 @@ * See the COPYING file for license information. */ -#include -#include -#include -#include #include #include "busybox.h" -#define CT_AUTO 0 -#define CT_UNIX2DOS 1 -#define CT_DOS2UNIX 2 - -int convert(char *fn, int ConvType); - int dos2unix_main(int argc, char *argv[]) { int ConvType = CT_AUTO; int o; @@ -69,84 +59,3 @@ int dos2unix_main(int argc, char *argv[]) { return o; } -// if fn is NULL then input is stdin and output is stdout -int convert(char *fn, int ConvType) { - char c; - char *tempFn = NULL; - FILE *in = stdin, *out = stdout; - - if (fn != NULL) { - if ((in = fopen(fn, "r")) == NULL) { - perror_msg(fn); - return -1; - } - tempFn = tmpnam(NULL); - if (tempFn == NULL || (out = fopen(tempFn, "w")) == NULL) { - perror_msg(NULL); - return -2; - } - } - - while ((c = fgetc(in)) != EOF) { - if (c == '\r') { - if ((ConvType == CT_UNIX2DOS) && (fn != NULL)) { - // file is alredy in DOS format so it is not necessery to touch it - if (fclose(in) < 0 || fclose(out) < 0 || remove(tempFn) < 0) { - perror_msg(NULL); - return -2; - } - return 0; - } - if (!ConvType) - ConvType = CT_DOS2UNIX; - break; - } - if (c == '\n') { - if ((ConvType == CT_DOS2UNIX) && (fn != NULL)) { - // file is alredy in UNIX format so it is not necessery to touch it - if (fclose(in) < 0 || fclose(out) < 0 || remove(tempFn) < 0) { - perror_msg(NULL); - return -2; - } - return 0; - } - if (!ConvType) - ConvType = CT_UNIX2DOS; - if (ConvType == CT_UNIX2DOS) - fputc('\r', out); - fputc('\n', out); - break; - } - fputc(c, out); - } - if (c != EOF) - while ((c = fgetc(in)) != EOF) { - if (c == '\r') - continue; - if (c == '\n') { - if (ConvType == CT_UNIX2DOS) - fputc('\r', out); - fputc('\n', out); - continue; - } - fputc(c, out); - } - - if (fn != NULL) { - if (fclose(in) < 0 || fclose(out) < 0 || - (in = fopen(tempFn, "r")) == NULL || (out = fopen(fn, "w")) == NULL) { - perror_msg(NULL); - return -2; - } - - while ((c = fgetc(in)) != EOF) - fputc(c, out); - - if (fclose(in) < 0 || fclose(out) < 0 || remove(tempFn) < 0) { - perror_msg(NULL); - return -2; - } - } - - return 0; -}