]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
return final `\0` directly from readLine()
authorYann Collet <cyan@fb.com>
Mon, 28 Oct 2019 22:03:32 +0000 (15:03 -0700)
committerYann Collet <cyan@fb.com>
Mon, 28 Oct 2019 22:03:32 +0000 (15:03 -0700)
programs/util.c
tests/playTests.sh

index 6db0c85e7ba1404df07ec37323c227e757c403a6..c09461ef77f6bc1072c82dcab1b1ed6059b717b9 100644 (file)
@@ -214,14 +214,18 @@ U64 UTIL_getTotalFileSize(const char* const * fileNamesTable, unsigned nbFiles)
 
 
 /* condition : @file must be valid, and not have reached its end.
- * @return : length of line written into buf, without the final '\n',
+ * @return : length of line written into @buf, ended with `\0` instead of '\n',
  *           or 0, if there is no new line */
 static size_t readLineFromFile(char* buf, size_t len, FILE* file)
 {
     assert(!feof(file));
     CONTROL( fgets(buf, (int) len, file) == buf );  /* requires success */
-    if (strlen(buf)==0) return 0;
-    return strlen(buf) - (buf[strlen(buf)-1] == '\n');   /* ignore final '\n' character */
+    {   size_t linelen = strlen(buf);
+        if (strlen(buf)==0) return 0;
+        if (buf[linelen-1] == '\n') linelen--;
+        buf[linelen] = '\0';
+        return linelen+1;
+    }
 }
 
 /* Conditions :
@@ -250,8 +254,7 @@ readLinesFromFile(void* dst, size_t dstCapacity,
         size_t const lineLength = readLineFromFile(buf+pos, dstCapacity-pos, inputFile);
         if (lineLength == 0) break;
         assert(pos + lineLength < dstCapacity);
-        buf[pos+lineLength] = '\0'; /* replace '\n' with '\0'*/
-        pos += lineLength + 1;
+        pos += lineLength;
         ++nbFiles;
     }
 
index d730c0c5dd8eda143a17deb9efce75c9d90b22f5..adcc1d77fc12dee7c24300c958fe122bbbeea3b0 100755 (executable)
@@ -866,9 +866,8 @@ else
 fi
 
 
-println "\n===>  lz4 frame tests "
-
 if [ $LZ4MODE -eq 1 ]; then
+    println "\n===>  lz4 frame tests "
     ./datagen > tmp
     $ZSTD -f --format=lz4 tmp
     $ZSTD -f tmp
@@ -876,9 +875,10 @@ if [ $LZ4MODE -eq 1 ]; then
     truncateLastByte tmp.lz4 | $ZSTD -t > $INTOVOID && die "incomplete frame not detected !"
     rm tmp*
 else
-    println "lz4 mode not supported"
+    println "\nlz4 mode not supported"
 fi
 
+
 println "\n===> suffix list test"
 
 ! $ZSTD -d tmp.abc 2> tmplg
@@ -896,6 +896,7 @@ if [ $LZ4MODE -ne 1 ]; then
     grep ".lz4" tmplg > $INTOVOID && die "Unsupported suffix listed"
 fi
 
+
 println "\n===>  tar extension tests "
 
 rm -f tmp tmp.tar tmp.tzst tmp.tgz tmp.txz tmp.tlz4
@@ -934,7 +935,6 @@ touch tmp.t tmp.tz tmp.tzs
 ! $ZSTD -d tmp.tz
 ! $ZSTD -d tmp.tzs
 
-exit
 
 println "\n===>  zstd round-trip tests "