]> Creatis software - gdcm.git/blobdiff - src/gdcmopenjpeg/codec/convert.c
I don't like warnings!
[gdcm.git] / src / gdcmopenjpeg / codec / convert.c
index b65dd064bdc72715a690bff1baaf7fcd9470eb26..fc7a17fac785b7a1ed69232f1f1e094c1b5dc068 100644 (file)
@@ -417,7 +417,6 @@ opj_image_t* bmptoimage(char *filename, opj_cparameters_t *parameters) {
               opj_image_destroy(image);
               fclose(IN);
               return NULL;
-              break;
             default:
               for (i = 0; i < v; i++) {
                 v2 = getc(IN);
@@ -597,7 +596,6 @@ int imagetobmp(opj_image_t * image, char *outfile) {
     fprintf(fdest, "%c%c%c%c", (7834) & 0xff, ((7834) >> 8) & 0xff,  ((7834) >> 16) & 0xff, ((7834) >> 24) & 0xff);
     fprintf(fdest, "%c%c%c%c", (256) & 0xff, ((256) >> 8) & 0xff, ((256) >> 16) & 0xff, ((256) >> 24) & 0xff);
     fprintf(fdest, "%c%c%c%c", (256) & 0xff, ((256) >> 8) & 0xff, ((256) >> 16) & 0xff, ((256) >> 24) & 0xff);
-  }
 
   for (i = 0; i < 256; i++) {
     fprintf(fdest, "%c%c%c%c", i, i, i, 0);
@@ -615,6 +613,7 @@ int imagetobmp(opj_image_t * image, char *outfile) {
     }
   }
   fclose(fdest);
+  }
 
   return 0;
 }
@@ -844,7 +843,6 @@ opj_image_t* pnmtoimage(char *filename, opj_cparameters_t *parameters) {
   opj_image_cmptparm_t cmptparm[3];  /* maximum of 3 components */
   opj_image_t * image = NULL;
   char value;
-  char comment[256];
 
   f = fopen(filename, "rb");
   if (!f) {
@@ -859,64 +857,14 @@ opj_image_t* pnmtoimage(char *filename, opj_cparameters_t *parameters) {
   switch(value) {
     case '2':  /* greyscale image type */
     case '5':
-    {
       numcomps = 1;
       color_space = CLRSPC_GRAY;
-
-      fgetc(f);
-
-      if (fgetc(f) == '#') {
-        /* skip comments */
-        fseek(f, 0, SEEK_SET);
-        if (value == '2') {
-          fscanf(f, "P2\n");
-        } else if (value == '5') {
-          fscanf(f, "P5\n");
-        }
-        fgets(comment, 256, f);
-        fscanf(f, "%d %d\n255", &w, &h);
-      } else {
-        fseek(f, 0, SEEK_SET);
-        if (value == '2') {
-          fscanf(f, "P2\n%d %d\n255", &w, &h);
-        } else if (value == '5') {
-          fscanf(f, "P5\n%d %d\n255", &w, &h);
-        }
-      }
-      
-      fgetc(f);  /* <cr><lf> */
-    }
     break;
 
     case '3':  /* RGB image type */
     case '6':
-    {
       numcomps = 3;
       color_space = CLRSPC_SRGB;
-
-      fgetc(f);
-
-      if (fgetc(f) == '#') {
-        /* skip comments */
-        fseek(f, 0, SEEK_SET);
-        if (value == '3') {
-          fscanf(f, "P3\n");
-        } else if (value == '6') {
-          fscanf(f, "P6\n");
-        }
-        fgets(comment, 256, f);
-        fscanf(f, "%d %d\n255", &w, &h);
-      } else {
-        fseek(f, 0, SEEK_SET);
-        if (value == '3') {
-          fscanf(f, "P3\n%d %d\n255", &w, &h);
-        } else if (value == '6') {
-          fscanf(f, "P6\n%d %d\n255", &w, &h);
-        }
-      }
-      
-      fgetc(f);  /* <cr><lf> */
-    }
     break;
 
     default:
@@ -924,6 +872,15 @@ opj_image_t* pnmtoimage(char *filename, opj_cparameters_t *parameters) {
       return NULL;
   }
 
+    fgetc(f);
+    
+    /* skip comments */
+    while(fgetc(f) == '#') while(fgetc(f) != '\n');
+    
+    fseek(f, -1, SEEK_CUR);
+    fscanf(f, "%d %d\n255", &w, &h);      
+    fgetc(f);  /* <cr><lf> */
+    
   /* initialize image components */
   memset(&cmptparm[0], 0, 3 * sizeof(opj_image_cmptparm_t));
   for(i = 0; i < numcomps; i++) {