use ansi c function fgets instead of GNU function getline to avoid build error with...
authorMickael Savinaud <savmickael@users.noreply.github.com>
Tue, 26 Jul 2011 09:30:54 +0000 (09:30 +0000)
committerMickael Savinaud <savmickael@users.noreply.github.com>
Tue, 26 Jul 2011 09:30:54 +0000 (09:30 +0000)
CHANGES
tests/comparePGXimages.c
tests/compare_dump_files.c

diff --git a/CHANGES b/CHANGES
index 3b1b6bc5ccf10afed3886426015711cb35206b57..c3a24e9055d658d1c7ab3a205e2dd2d947ec31aa 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -7,6 +7,7 @@ What's New for OpenJPEG
 
 July 26, 2011
 ! [mickael] delete double semi-colon at end of line which generate crash on win platform
+! [mickael] use ansi c function fgets instead of GNU function getline to avoid build error with win platform
 
 July 25, 2011
 * [mickael] fixed issue 74 for trunk
index a31a25f1aa3abb238c141771451a12f9cccbc54f..dc3d938077880a5f0c8b99f07e2d9012d6277ff2 100644 (file)
@@ -9,6 +9,7 @@
 #include <stdlib.h>
 #include <math.h>
 #include <string.h>
+#include <ctype.h>
 
 #include "opj_config.h"
 #include "getopt.h"
index a2b8db305e351129eccebe3d699b711991f635f0..a8f573ae0be99dbe9db7539c2ef28d911d1f2b75 100644 (file)
@@ -8,6 +8,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <ctype.h>
 
 #include "getopt.h"
 
@@ -155,8 +156,7 @@ int main(int argc, char **argv)
     if(chbase != chtest)
       {
       size_t nbytes = 2048;
-      char* strbase, *strtest;
-      int nbytes_read_base, nbytes_read_test;
+      char *strbase, *strtest, *strbase_d, *strtest_d;
 
       printf("Files differ at line %lu:\n", l);
       fseek(fbase,pos,SEEK_SET);
@@ -164,14 +164,18 @@ int main(int argc, char **argv)
 
       strbase = (char *) malloc(nbytes + 1);
       strtest = (char *) malloc(nbytes + 1);
-      nbytes_read_base = getline(&strbase, &nbytes, fbase);
-      nbytes_read_test = getline(&strtest, &nbytes, ftest);
-      strbase[nbytes_read_base-1] = '\0';
-      strtest[nbytes_read_test-1] = '\0';
-      printf("<%s> vs. <%s>\n", strbase, strtest);
-
-      free(strbase);
-      free(strtest);
+      fgets(strbase, nbytes, fbase);
+      fgets(strtest, nbytes, ftest);
+      strbase_d = (char *) malloc(strlen(strbase));
+      strtest_d = (char *) malloc(strlen(strtest));
+      strncpy(strbase_d, strbase, strlen(strbase)-1);
+      strncpy(strtest_d, strtest, strlen(strtest)-1);
+      strbase_d[strlen(strbase)] = '\0';
+      strtest_d[strlen(strtest)] = '\0';
+      printf("<%s> vs. <%s>\n", strbase_d, strtest_d);
+
+      free(strbase);free(strtest);
+      free(strbase_d);free(strtest_d);
       same = 0;
       break;
       }