From a6163888f3c56123b1db313743c6147ba498732c Mon Sep 17 00:00:00 2001 From: Yuval Adam Date: Fri, 8 Aug 2014 14:42:07 +0300 Subject: Add third_party libs --- third_party/windows/fltk-1.1.10/test/fromdos.c | 65 ++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 third_party/windows/fltk-1.1.10/test/fromdos.c (limited to 'third_party/windows/fltk-1.1.10/test/fromdos.c') diff --git a/third_party/windows/fltk-1.1.10/test/fromdos.c b/third_party/windows/fltk-1.1.10/test/fromdos.c new file mode 100644 index 0000000..c79a0ad --- /dev/null +++ b/third_party/windows/fltk-1.1.10/test/fromdos.c @@ -0,0 +1,65 @@ +/* fromdos.c : strip the stupid ^M characters without mistakes! */ + +/* this can do in-place conversion or be used as a pipe... */ + +#include +#include +#include +#include + +int main(int argc, char** argv) { + int f,c; + if (argc <= 1) { + if (isatty(0)) { + fprintf(stderr,"usage : %s \nStrips ^M characters.\nCan do in-place conversion of many files or can be used in a pipe\n",argv[0]); + return 1; + } + for (;;) { + c = getchar(); + while (c == '\r') { + c = getchar(); + if (c != '\n') putchar(c); + } + if (c < 0) break; + putchar(c); + } + return 0; + } + for (f = 1; f < argc; f++) { + char* fname = argv[f]; + char tempname[1024]; + FILE* in = fopen(fname,"rb"); + FILE* out; + int mod = 0; + if (!in) { + fprintf(stderr,"%s : %s\n", fname, strerror(errno)); + return 1; + } + strcpy(tempname, fname); + strcat(tempname, ".temp"); + out = fopen(tempname, "wb"); + if (!out) { + fprintf(stderr,"%s : %s\n", fname, strerror(errno)); + return 1; + } + for (;;) { + c = getc(in); + while (c == '\r') { + c = getc(in); + if (c == '\n') mod=1; else putc(c,out); + } + if (c < 0) break; + putc(c,out); + } + fclose(in); + fclose(out); + if (!mod) { + fprintf(stderr,"%s : no change\n", fname); + unlink(tempname); + } else if (rename(tempname, fname)) { + fprintf(stderr,"Can't mv %s %s : %s\n",tempname,fname,strerror(errno)); + return 1; + } + } + return 0; +} -- cgit v1.3.1