Update of /cvsroot/ufraw/ufraw
In directory vz-cvs-3.sog:/tmp/cvs-serv26228

Modified Files:
        dcraw.cc ufraw_conf.c ufraw_routines.c 
Log Message:
Fix some GCC 4.6 compiler warnings.

Index: dcraw.cc
===================================================================
RCS file: /cvsroot/ufraw/ufraw/dcraw.cc,v
retrieving revision 1.252
retrieving revision 1.253
diff -u -d -r1.252 -r1.253
--- dcraw.cc    28 Aug 2011 11:45:47 -0000      1.252
+++ dcraw.cc    3 Sep 2011 08:05:43 -0000       1.253
@@ -24,11 +24,6 @@
 
 #define DCRAW_VERSION "9.10"
 
-// dcraw plays with array bounds everywhere, there is no point to warn about 
it.
-#if defined(__GNUC__) && (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 
4)) && !defined(__INTEL_COMPILER) 
-#pragma GCC diagnostic ignored "-Warray-bounds"
-#endif
-
 #ifndef _GNU_SOURCE
 #define _GNU_SOURCE
 #endif
@@ -2144,7 +2139,7 @@
     2,-26, 2,-13, 2,1, 3,-39, 4,16, 5,-55, 6,-76, 6,37
   };
   ushort huff[19][256];
-  int row, col, tree, nreps, rep, step, i, c, s, r, x, y, val;
+  int row, col, tree, nreps, rep, step, i, j, k, c, s, r, x, y, val;
   short last[3] = { 16,16,16 }, mul[3], buf[3][3][386];
   static const ushort pt[] =
     { 0,0, 1280,1344, 2320,3616, 3328,8000, 4095,16383, 65535,16383 };
@@ -2159,8 +2154,10 @@
   s = kodak_cbpp == 243 ? 2 : 3;
   FORC(256) huff[18][c] = (8-s) << 8 | c >> s << s | 1 << (s-1);
   getbits(-1);
-  for (i=0; i < (int) sizeof(buf)/(int) sizeof(short); i++)
-    buf[0][0][i] = 2048;
+  for (i=0; i < 3; i++)
+    for (j=0; j < 3; j++)
+      for (k=0; k < 386; k++)
+       buf[i][j][k] = 2048;
   for (row=0; row < height; row+=4) {
     FORC3 mul[c] = getbits(6);
     FORC3 {
@@ -3145,9 +3142,10 @@
 
   black = (float (*)[3]) calloc (height, sizeof *black);
   for (row=0; row < height; row++) {
-    for (i=0; i < 6; i++)
-      ddft[0][0][i] = ddft[1][0][i] +
-       row / (height-1.0) * (ddft[2][0][i] - ddft[1][0][i]);
+    for (i=0; i < 3; i++)
+      for (j=0; j < 2; j++)
+       ddft[0][i][j] = ddft[1][i][j] +
+         row / (height-1.0) * (ddft[2][i][j] - ddft[1][i][j]);
     FORC3 black[row][c] =
        ( foveon_avg (image[row*width]+c, dscr[0], cfilt) +
          foveon_avg (image[row*width]+c, dscr[1], cfilt) * 3
@@ -3191,9 +3189,10 @@
     FORC3 black[row][c] += fsum[c]/2 + total[c]/(total[3]*100.0);
 
   for (row=0; row < height; row++) {
-    for (i=0; i < 6; i++)
-      ddft[0][0][i] = ddft[1][0][i] +
-       row / (height-1.0) * (ddft[2][0][i] - ddft[1][0][i]);
+    for (i=0; i < 3; i++)
+      for (j=0; j < 2; j++)
+       ddft[0][i][j] = ddft[1][i][j] +
+         row / (height-1.0) * (ddft[2][i][j] - ddft[1][i][j]);
     pix = image[row*width];
     memcpy (prev, pix, sizeof prev);
     frow = row / (height-1.0) * (dim[2]-1);
@@ -5901,7 +5900,7 @@
 
 void CLASS parse_phase_one (int base)
 {
-  unsigned entries, tag, type, len, data, save, i, c;
+  unsigned entries, tag, len, data, save, i, j, c;
   float romm_cam[3][3];
   char *cp;
 
@@ -5914,7 +5913,7 @@
   get4();
   while (entries--) {
     tag  = get4();
-    type = get4();
+    fseek (ifp, 4, SEEK_CUR);
     len  = get4();
     data = get4();
     save = ftell(ifp);
@@ -5922,8 +5921,9 @@
     switch (tag) {
       case 0x100:  flip = "0653"[data & 3]-'0';  break;
       case 0x106:
-       for (i=0; i < 9; i++)
-         romm_cam[0][i] = getreal(11);
+       for (i=0; i < 3; i++)
+         for (j=0; j < 3; j++)
+           romm_cam[i][j] = getreal(11);
        romm_coeff (romm_cam);
        break;
       case 0x107:
@@ -6895,7 +6895,7 @@
   };
   double cam_xyz[4][3];
   char name[130];
-  int i, j;
+  int i, j, k;
 
   sprintf (name, "%s %s", make, model);
   for (i=0; i < (int) sizeof table / (int) sizeof *table; i++)
@@ -6903,8 +6903,9 @@
       if (table[i].black)   black   = (ushort) table[i].black;
       if (table[i].maximum) maximum = (ushort) table[i].maximum;
       if (table[i].trans[0]) {
-       for (j=0; j < 12; j++)
-         cam_xyz[0][j] = table[i].trans[j] / 10000.0;
+       for (j=0; j < 4; j++)
+         for (k=0; k < 3; k++)
+           cam_xyz[j][k] = table[i].trans[3*j+k] / 10000.0;
        cam_xyz_coeff (cam_xyz);
       }
       break;

Index: ufraw_routines.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_routines.c,v
retrieving revision 1.115
retrieving revision 1.116
diff -u -d -r1.115 -r1.116
--- ufraw_routines.c    22 Aug 2011 17:05:17 -0000      1.115
+++ ufraw_routines.c    3 Sep 2011 08:05:44 -0000       1.116
@@ -409,7 +409,10 @@
         locale = uf_set_locale_C();
         context = g_markup_parse_context_new(&parser, 0, cp, NULL);
         line[max_path-1] = '\0';
-        char *dummy = fgets(line, max_path - 1, in);
+        if (fgets(line, max_path - 1, in) == NULL) {
+            fclose(in);
+            return UFRAW_ERROR;
+        }
         while (!feof(in)) {
             if (!g_markup_parse_context_parse(context, line,
                                               strlen(line), &err)) {
@@ -421,7 +424,10 @@
                 g_error_free(err);
                 return UFRAW_ERROR;
             }
-            dummy = fgets(line, max_path, in);
+            if (fgets(line, max_path, in) == NULL) {
+                fclose(in);
+                return UFRAW_ERROR;
+            }
         }
         g_markup_parse_context_end_parse(context, NULL);
         g_markup_parse_context_free(context);

Index: ufraw_conf.c
===================================================================
RCS file: /cvsroot/ufraw/ufraw/ufraw_conf.c,v
retrieving revision 1.177
retrieving revision 1.178
diff -u -d -r1.177 -r1.178
--- ufraw_conf.c        28 Aug 2011 05:05:08 -0000      1.177
+++ ufraw_conf.c        3 Sep 2011 08:05:44 -0000       1.178
@@ -816,7 +816,10 @@
     user_data.ufrawQuark = g_quark_from_static_string("UFRaw");
     context = g_markup_parse_context_new(&parser, 0, &user_data, NULL);
     line[max_path-1] = '\0';
-    char *dummy = fgets(line, max_path - 1, in);
+    if (fgets(line, max_path - 1, in) == NULL) {
+        fclose(in);
+        return UFRAW_ERROR;
+    }
     while (!feof(in)) {
         if (!g_markup_parse_context_parse(context, line, strlen(line), &err)) {
             ufraw_message(UFRAW_ERROR, _("Error parsing '%s'\n%s"),
@@ -831,7 +834,10 @@
             g_error_free(err);
             return UFRAW_ERROR;
         }
-        dummy = fgets(line, max_path, in);
+        if (fgets(line, max_path, in) == NULL) {
+            fclose(in);
+            return UFRAW_ERROR;
+        }
     }
     g_markup_parse_context_end_parse(context, NULL);
     g_markup_parse_context_free(context);


------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better 
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
ufraw-cvs mailing list
ufraw-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ufraw-cvs

Reply via email to