]> gitweb.hhaalo.de Git - discspan.git/commitdiff
+copyfile funktion - input copy to work
authorBastian Dehn <hhaalo@arcor.de>
Thu, 16 Jul 2015 21:46:33 +0000 (23:46 +0200)
committerBastian Dehn <hhaalo@arcor.de>
Thu, 16 Jul 2015 21:46:33 +0000 (23:46 +0200)
discspan.c

index bcb5e8196925f0c31f4fdae50ac9c4fe8bb0cebe..339ada19e62f83b435b15948da34c95153923aa4 100644 (file)
@@ -4,6 +4,21 @@
 #include <sys/stat.h>
 #include <unistd.h>
 
+void filecopy(const char *fsource, const char *ftarget)
+{
+       FILE *source; FILE *target;
+       char ch;
+
+       source = fopen(fsource, "r");
+       target = fopen(ftarget, "w");
+
+       while((ch = fgetc(source)) != EOF)
+               fputc(ch, target);
+
+       fclose(source);
+       fclose(target);
+}
+
 int exists(const char *fname)
 {
        struct stat buffer;
@@ -89,6 +104,7 @@ int main(int argc, char *argv[])
        const char *input = argv[1];
        const char *output = argv[2];
        const char *rest = argv[3];
+       const char *work = "work";
        unsigned long long split;
        int c;
        extern char *optarg;
@@ -126,7 +142,9 @@ int main(int argc, char *argv[])
                }
        }
 
-       splitter(input, output, rest, split);
+       filecopy(input, work);
+       splitter(work, output, rest, split);
+       remove(work);
 
        return 0;
 }