paste: delimiter list use should restart for each new output line
authorDenys Vlasenko <vda.linux@googlemail.com>
Thu, 23 Mar 2017 16:58:32 +0000 (17:58 +0100)
committerDenys Vlasenko <vda.linux@googlemail.com>
Thu, 23 Mar 2017 16:58:32 +0000 (17:58 +0100)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
coreutils/paste.c

index 54e15c9a0991830c2afb367713cb3908a23aa5fb..d929d6aa0c6207e5e65d76363a5212acb9bb4706 100644 (file)
@@ -36,11 +36,12 @@ static void paste_files(FILE** files, int file_cnt, char* delims, int del_cnt)
 {
        char *line;
        char delim;
-       int del_idx = 0;
        int active_files = file_cnt;
        int i;
 
        while (active_files > 0) {
+               int del_idx = 0;
+
                for (i = 0; i < file_cnt; ++i) {
                        if (files[i] == NULL)
                                continue;
@@ -70,10 +71,11 @@ static void paste_files_separate(FILE** files, char* delims, int del_cnt)
 {
        char *line, *next_line;
        char delim;
-       int del_idx = 0;
        int i;
 
        for (i = 0; files[i]; ++i) {
+               int del_idx = 0;
+
                line = NULL;
                while ((next_line = xmalloc_fgetline(files[i])) != NULL) {
                        if (line) {