summaryrefslogtreecommitdiff
path: root/lpsolve
diff options
context:
space:
mode:
authorRené Kjellerup <rk.katana.steel@gmail.com>2012-10-18 16:44:29 -0700
committerPetr Mladek <pmladek@suse.cz>2012-10-26 10:33:03 +0000
commit249a4da9cd5217b0c340edd779bd17e44e21d678 (patch)
treea1bc141a779ebaea3829ddbbcb4f00e5c727bf8b /lpsolve
parentd795812415c2047045c75b4f65ec74541616ecc4 (diff)
warn free build of dmake, concat-deps and lpsolve
add error handling for fread, fwrite, and fscanf calls use "fputs" instead of "fprintf" to avoid warning that it couldn't varify the format string because it wasn't a string literal. Change-Id: I1137160d28461fbac69c8e05d32ba010da491c57 Reviewed-on: https://gerrit.libreoffice.org/903 Reviewed-by: Petr Mladek <pmladek@suse.cz> Tested-by: Petr Mladek <pmladek@suse.cz>
Diffstat (limited to 'lpsolve')
-rw-r--r--lpsolve/lp_solve-fixed-warn.patch84
-rw-r--r--lpsolve/makefile.mk3
2 files changed, 86 insertions, 1 deletions
diff --git a/lpsolve/lp_solve-fixed-warn.patch b/lpsolve/lp_solve-fixed-warn.patch
new file mode 100644
index 000000000000..46742887a85f
--- /dev/null
+++ b/lpsolve/lp_solve-fixed-warn.patch
@@ -0,0 +1,84 @@
+--- misc/build/lp_solve_5.5/lp_report.c 2007-01-14 10:31:34.000000000 -0800
++++ misc/build/lp_solve_5.5/lp_report.c 2007-01-14 10:31:34.000000000 -0800
+@@ -160,7 +160,7 @@
+ {
+ int i, k = 0;
+
+- fprintf(output, label);
++ fputs(label, output);
+ fprintf(output, "\n");
+ for(i = first; i <= last; i++) {
+ fprintf(output, " %18g", vector[i]);
+@@ -189,7 +189,7 @@
+ if(last < 0)
+ last = lp->rows;
+
+- fprintf(output, label);
++ fputs(label, output);
+ fprintf(output, "\n");
+
+ if(first == 0) {
+@@ -254,7 +254,7 @@
+ if(last < 0)
+ last = lp->rows;
+
+- fprintf(output, label);
++ fputs(label, output);
+ fprintf(output, "\n");
+
+ for(i = first; i <= last; i++) {
+--- misc/build/lp_solve_5.5/lp_rlp.h 2007-01-14 10:31:52.000000000 -0800
++++ misc/build/lp_solve_5.5/lp_rlp.h 2007-01-14 10:31:52.000000000 -0800
+@@ -615,7 +615,7 @@
+ /* This used to be an fputs(), but since the string might contain NUL's,
+ * we now use fwrite().
+ */
+-#define ECHO (void) fwrite( lp_yytext, lp_yyleng, 1, lp_yyout )
++#define ECHO if(fwrite( lp_yytext, lp_yyleng, 1, lp_yyout ) != 1) YY_FATAL_ERROR( "can't write into lp_yytext" )
+ #endif
+
+ /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
+--- misc/build/lp_solve_5.5/shared/commonlib.c 2007-01-14 10:33:14.000000000 -0800
++++ misc/build/lp_solve_5.5/shared/commonlib.c 2007-01-14 10:33:14.000000000 -0800
+@@ -715,7 +715,7 @@
+ {
+ int i, k = 0;
+
+- fprintf(output, label);
++ fputs(label, output);
+ fprintf(output, "\n");
+ for(i = first; i <= last; i++) {
+ fprintf(output, " %5d", myvector[i]);
+@@ -734,7 +734,7 @@
+ {
+ int i, k = 0;
+
+- fprintf(output, label);
++ fputs(label, output);
+ fprintf(output, "\n");
+ for(i = first; i <= last; i++) {
+ if(asRaw)
+@@ -756,7 +756,7 @@
+ {
+ int i, k = 0;
+
+- fprintf(output, label);
++ fputs(label, output);
+ fprintf(output, "\n");
+ for(i = first; i <= last; i++) {
+ fprintf(output, " %18g", myvector[i]);
+--- misc/build/lp_solve_5.5/shared/mmio.c 2007-01-14 10:33:14.000000000 -0800
++++ misc/build/lp_solve_5.5/shared/mmio.c 2007-01-14 10:33:14.000000000 -0800
+@@ -74,7 +74,11 @@
+
+ for (i=0; i<nz; i++)
+ {
+- fscanf(f, "%d %d %lg\n", &I[i], &J[i], &val[i]);
++ if(fscanf(f, "%d %d %lg\n", &I[i], &J[i], &val[i]) != 3)
++ {
++ fprintf(stderr, "read_unsymmetric_sparse(): could not parse values.\n");
++ return -1;
++ }
+ I[i]--; /* adjust from 1-based to 0-based */
+ J[i]--;
+ }
diff --git a/lpsolve/makefile.mk b/lpsolve/makefile.mk
index 6f0c9f93e038..b2f12aabfdd5 100644
--- a/lpsolve/makefile.mk
+++ b/lpsolve/makefile.mk
@@ -46,7 +46,8 @@ PATCH_FILES=lp_solve_5.5-windows.patch
.ELSE
PATCH_FILES=\
lp_solve_5.5.patch \
- lp_solve-aix.patch
+ lp_solve-aix.patch \
+ lp_solve-fixed-warn.patch
ADDITIONAL_FILES=lpsolve55$/ccc.solaris lpsolve55$/ccc.static
.ENDIF