[med-svn] r15295 - trunk/packages/dcmtk/branches/experimental/debian/patches

Mathieu Malaterre malat at moszumanska.debian.org
Wed Nov 27 15:49:35 UTC 2013


Author: malat
Date: 2013-11-27 15:49:35 +0000 (Wed, 27 Nov 2013)
New Revision: 15295

Added:
   trunk/packages/dcmtk/branches/experimental/debian/patches/warn_unused_result.patch
Modified:
   trunk/packages/dcmtk/branches/experimental/debian/patches/series
Log:
Remove warning about unused result

Modified: trunk/packages/dcmtk/branches/experimental/debian/patches/series
===================================================================
--- trunk/packages/dcmtk/branches/experimental/debian/patches/series	2013-11-27 15:07:58 UTC (rev 15294)
+++ trunk/packages/dcmtk/branches/experimental/debian/patches/series	2013-11-27 15:49:35 UTC (rev 15295)
@@ -8,3 +8,4 @@
 spelling.patch
 ofstd_markup_6.patch
 iknowwhatiamdoing.patch
+warn_unused_result.patch

Added: trunk/packages/dcmtk/branches/experimental/debian/patches/warn_unused_result.patch
===================================================================
--- trunk/packages/dcmtk/branches/experimental/debian/patches/warn_unused_result.patch	                        (rev 0)
+++ trunk/packages/dcmtk/branches/experimental/debian/patches/warn_unused_result.patch	2013-11-27 15:49:35 UTC (rev 15295)
@@ -0,0 +1,246 @@
+Description: Fix all issues with -Wunused-result
+ Eg:
+ dcmqrcnf.cc:294:43: warning: ignoring return value of 'char* fgets(char*, int,
+ FILE*)', declared with attribute warn_unused_result [-Wunused-result]
+Author: Mathieu Malaterre <malat at debian.org>
+Forwarded: no
+
+--- dcmtk-3.6.1~20131114.orig/dcmimage/libsrc/dicoimg.cc
++++ dcmtk-3.6.1~20131114/dcmimage/libsrc/dicoimg.cc
+@@ -680,8 +680,9 @@ int DiColorImage::writeRawPPM(FILE *stre
+             if ((OutputData != NULL) && (OutputData->getData() != NULL))
+             {
+                 fprintf(stream, "P6\n%u %u\n%lu\n", Columns, Rows, DicomImageClass::maxval(bits));
+-                fwrite(OutputData->getData(), OFstatic_cast(size_t, OutputData->getCount()), OutputData->getItemSize(), stream);
+-                return 1;
++                size_t tobewritten = OutputData->getItemSize();
++                size_t written = fwrite(OutputData->getData(), OFstatic_cast(size_t, OutputData->getCount()), OutputData->getItemSize(), stream);
++                if( written == tobewritten) return 1;
+             }
+         }
+     }
+--- dcmtk-3.6.1~20131114.orig/dcmsign/libsrc/simaccon.cc
++++ dcmtk-3.6.1~20131114/dcmsign/libsrc/simaccon.cc
+@@ -61,8 +61,15 @@ OFCondition SiMACConstructor::flushBuffe
+   stream.flushBuffer(bufptr, bufLen);
+   if (bufLen > 0)
+   {
+-    if (dumpFile) fwrite(bufptr, 1, (size_t)bufLen, dumpFile);
+-    result = mac.digest((unsigned char *)bufptr, (unsigned long)bufLen);
++    size_t written = (size_t)bufLen;
++    if (dumpFile)
++      {
++      written = fwrite(bufptr, 1, (size_t)bufLen, dumpFile);
++      }
++    if( written == (size_t)bufLen )
++      result = mac.digest((unsigned char *)bufptr, (unsigned long)bufLen);
++    else
++      result = EC_DirectoryNotWritable;
+   }
+   return result;
+ }
+--- dcmtk-3.6.1~20131114.orig/dcmdata/libsrc/dcvrobow.cc
++++ dcmtk-3.6.1~20131114/dcmdata/libsrc/dcvrobow.cc
+@@ -214,13 +214,21 @@ void DcmOtherByteOtherWord::printPixel(S
+                     {
+                         swapIfNecessary(EBO_LittleEndian, gLocalByteOrder, data, getLengthField(), sizeof(Uint16));
+                         setByteOrder(EBO_LittleEndian);
+-                        fwrite(data, sizeof(Uint16), OFstatic_cast(size_t, getLengthField() / sizeof(Uint16)), file);
++                        size_t tobewritten = OFstatic_cast(size_t, getLengthField() / sizeof(Uint16));
++                        size_t written = fwrite(data, sizeof(Uint16), tobewritten, file);
++                        if( written != tobewritten )
++                          DCMDATA_WARN("DcmOtherByteOtherWord: Some bytes were not written: " << (tobewritten - written) );
+                     }
+                 } else {
+                     Uint8 *data = NULL;
+                     getUint8Array(data);
+                     if (data != NULL)
+-                        fwrite(data, sizeof(Uint8), OFstatic_cast(size_t, getLengthField()), file);
++                      {
++                      size_t tobewritten = OFstatic_cast(size_t, getLengthField());
++                      size_t written = fwrite(data, sizeof(Uint8), tobewritten, file);
++                      if( written != tobewritten )
++                        DCMDATA_WARN("DcmOtherByteOtherWord: Some bytes were not written: " << (tobewritten - written) );
++                      }
+                 }
+                 fclose(file);
+             } else {
+--- dcmtk-3.6.1~20131114.orig/dcmimgle/libsrc/diimage.cc
++++ dcmtk-3.6.1~20131114/dcmimgle/libsrc/diimage.cc
+@@ -809,31 +809,40 @@ int DiImage::writeBMP(FILE *stream,
+                     swapBytes(OFreinterpret_cast(Uint8 *, palette), 256 * 4 /*byteLength*/, 4 /*valWidth*/);
+             }
+             /* write bitmap file header: do not write the struct because of 32-bit alignment */
+-            fwrite(&fileHeader.bfType, sizeof(fileHeader.bfType), 1, stream);
+-            fwrite(&fileHeader.bfSize, sizeof(fileHeader.bfSize), 1, stream);
+-            fwrite(&fileHeader.bfReserved1, sizeof(fileHeader.bfReserved1), 1, stream);
+-            fwrite(&fileHeader.bfReserved2, sizeof(fileHeader.bfReserved2), 1, stream);
+-            fwrite(&fileHeader.bfOffBits, sizeof(fileHeader.bfOffBits), 1, stream);
++            size_t singleitem; // should always be equal to 1 in the following:
++            singleitem = fwrite(&fileHeader.bfType, sizeof(fileHeader.bfType), 1, stream);
++            singleitem = singleitem && fwrite(&fileHeader.bfSize, sizeof(fileHeader.bfSize), 1, stream);
++            singleitem = singleitem && fwrite(&fileHeader.bfReserved1, sizeof(fileHeader.bfReserved1), 1, stream);
++            singleitem = singleitem && fwrite(&fileHeader.bfReserved2, sizeof(fileHeader.bfReserved2), 1, stream);
++            singleitem = singleitem && fwrite(&fileHeader.bfOffBits, sizeof(fileHeader.bfOffBits), 1, stream);
+             /* write bitmap info header: do not write the struct because of 32-bit alignment  */
+-            fwrite(&infoHeader.biSize, sizeof(infoHeader.biSize), 1, stream);
+-            fwrite(&infoHeader.biWidth, sizeof(infoHeader.biWidth), 1, stream);
+-            fwrite(&infoHeader.biHeight, sizeof(infoHeader.biHeight), 1, stream);
+-            fwrite(&infoHeader.biPlanes, sizeof(infoHeader.biPlanes), 1, stream);
+-            fwrite(&infoHeader.biBitCount, sizeof(infoHeader.biBitCount), 1, stream);
+-            fwrite(&infoHeader.biCompression, sizeof(infoHeader.biCompression), 1, stream);
+-            fwrite(&infoHeader.biSizeImage, sizeof(infoHeader.biSizeImage), 1, stream);
+-            fwrite(&infoHeader.biXPelsPerMeter, sizeof(infoHeader.biXPelsPerMeter), 1, stream);
+-            fwrite(&infoHeader.biYPelsPerMeter, sizeof(infoHeader.biYPelsPerMeter), 1, stream);
+-            fwrite(&infoHeader.biClrUsed, sizeof(infoHeader.biClrUsed), 1, stream);
+-            fwrite(&infoHeader.biClrImportant, sizeof(infoHeader.biClrImportant), 1, stream);
++            singleitem = singleitem && fwrite(&infoHeader.biSize, sizeof(infoHeader.biSize), 1, stream);
++            singleitem = singleitem && fwrite(&infoHeader.biWidth, sizeof(infoHeader.biWidth), 1, stream);
++            singleitem = singleitem && fwrite(&infoHeader.biHeight, sizeof(infoHeader.biHeight), 1, stream);
++            singleitem = singleitem && fwrite(&infoHeader.biPlanes, sizeof(infoHeader.biPlanes), 1, stream);
++            singleitem = singleitem && fwrite(&infoHeader.biBitCount, sizeof(infoHeader.biBitCount), 1, stream);
++            singleitem = singleitem && fwrite(&infoHeader.biCompression, sizeof(infoHeader.biCompression), 1, stream);
++            singleitem = singleitem && fwrite(&infoHeader.biSizeImage, sizeof(infoHeader.biSizeImage), 1, stream);
++            singleitem = singleitem && fwrite(&infoHeader.biXPelsPerMeter, sizeof(infoHeader.biXPelsPerMeter), 1, stream);
++            singleitem = singleitem && fwrite(&infoHeader.biYPelsPerMeter, sizeof(infoHeader.biYPelsPerMeter), 1, stream);
++            singleitem = singleitem && fwrite(&infoHeader.biClrUsed, sizeof(infoHeader.biClrUsed), 1, stream);
++            singleitem = singleitem && fwrite(&infoHeader.biClrImportant, sizeof(infoHeader.biClrImportant), 1, stream);
+             /* write color palette (if applicable) */
+-            if (palette != NULL)
+-                fwrite(palette, 4, 256, stream);
++            if (singleitem && palette != NULL)
++              {
++              size_t paletteitems = fwrite(palette, 4, 256, stream);
++              if( paletteitems != 256 ) singleitem = 0;
++              }
+             /* write pixel data */
+-            fwrite(data, 1, OFstatic_cast(size_t, bytes), stream);
++            if( singleitem )
++              {
++              size_t pddata = fwrite(data, 1, OFstatic_cast(size_t, bytes), stream);
++              if( pddata != OFstatic_cast(size_t, bytes)) singleitem = 0;
++              }
+             /* delete color palette */
+             delete[] palette;
+-            result = 1;
++            if( singleitem )
++              result = 1;
+         }
+         /* delete pixel data */
+         delete OFstatic_cast(char *, data);     // type cast necessary to avoid compiler warnings using gcc >2.95
+--- dcmtk-3.6.1~20131114.orig/dcmimgle/libsrc/dimoimg.cc
++++ dcmtk-3.6.1~20131114/dcmimgle/libsrc/dimoimg.cc
+@@ -2143,9 +2143,10 @@ int DiMonoImage::writeRawPPM(FILE *strea
+                 fprintf(stream, "P6\n%u %u\n255\n", Columns, Rows);
+             else
+                 fprintf(stream, "P5\n%u %u\n%lu\n", Columns, Rows, DicomImageClass::maxval(bits));
+-            fwrite(OutputData->getData(), OFstatic_cast(size_t, OutputData->getCount()), OutputData->getItemSize(), stream);
++            size_t tobewritten = OutputData->getItemSize();
++            size_t written = fwrite(OutputData->getData(), OFstatic_cast(size_t, OutputData->getCount()), OutputData->getItemSize(), stream);
+             deleteOutputData();
+-            return 1;
++            if( written == tobewritten ) return 1;
+         }
+     }
+     return 0;
+--- dcmtk-3.6.1~20131114.orig/dcmqrdb/libsrc/dcmqrcnf.cc
++++ dcmtk-3.6.1~20131114/dcmqrdb/libsrc/dcmqrcnf.cc
+@@ -291,7 +291,12 @@ int DcmQueryRetrieveConfig::readConfigLi
+    char *c;
+ 
+    while (!feof(cnffp)) {
+-      fgets(rcline, sizeof(rcline), cnffp); /* read line in configuration file */
++      char *ret = fgets(rcline, sizeof(rcline), cnffp); /* read line in configuration file */
++      if( !ret )
++        {
++        error = 1;
++        break;
++        }
+       lineno++;
+       if (feof(cnffp)) continue;
+       if (rcline[0] == '#' || rcline[0] == 10 || rcline[0] == 13)
+@@ -413,7 +418,12 @@ int DcmQueryRetrieveConfig::readHostTabl
+    DcmQueryRetrieveConfigHostEntry *helpentry;
+ 
+    while (!feof(cnffp)) {
+-      fgets(rcline, sizeof(rcline), cnffp); /* read line in configuration file */
++      char *ret = fgets(rcline, sizeof(rcline), cnffp); /* read line in configuration file */
++      if( !ret )
++        {
++        error = 1;
++        break;
++        }
+       (*lineno)++;
+       if (feof(cnffp)) continue;
+       if (rcline[0] == '#' || rcline[0] == 10 || rcline[0] == 13)
+@@ -469,7 +479,12 @@ int DcmQueryRetrieveConfig::readVendorTa
+    DcmQueryRetrieveConfigHostEntry *helpentry;
+ 
+    while (!feof(cnffp)) {
+-      fgets(rcline, sizeof(rcline), cnffp); /* read line in configuration file */
++      char * ret = fgets(rcline, sizeof(rcline), cnffp); /* read line in configuration file */
++      if( !ret )
++        {
++        error = 1;
++        break;
++        }
+       (*lineno)++;
+       if (feof(cnffp)) continue;
+       if (rcline[0] == '#' || rcline[0] == 10 || rcline[0] == 13)
+@@ -525,7 +540,12 @@ int DcmQueryRetrieveConfig::readAETable(
+    DcmQueryRetrieveConfigAEEntry *helpentry;
+ 
+    while (!feof(cnffp)) {
+-      fgets(rcline, sizeof(rcline), cnffp); /* read line in configuration file */
++      char * ret = fgets(rcline, sizeof(rcline), cnffp); /* read line in configuration file */
++      if( !ret )
++        {
++        error = 1;
++        break;
++        }
+       (*lineno)++;
+       if (feof(cnffp)) continue;
+       if (rcline[0] == '#' || rcline[0] == 10 || rcline[0] == 13)
+--- dcmtk-3.6.1~20131114.orig/dcmqrdb/libsrc/dcmqrdbi.cc
++++ dcmtk-3.6.1~20131114/dcmqrdb/libsrc/dcmqrdbi.cc
+@@ -3416,7 +3416,8 @@ OFCondition DcmQueryRetrieveIndexDatabas
+ 
+       record.hstat = DVIF_objectIsNotNew;
+       DB_lseek(handle_->pidx, OFstatic_cast(long, SIZEOF_STUDYDESC + idx * SIZEOF_IDXRECORD), SEEK_SET);
+-      write(handle_->pidx, OFreinterpret_cast(char *, &record), SIZEOF_IDXRECORD);
++      ssize_t written = write(handle_->pidx, OFreinterpret_cast(char *, &record), SIZEOF_IDXRECORD);
++      if( written != SIZEOF_IDXRECORD ) result = EC_DirectoryNotWritable;
+       DB_lseek(handle_->pidx, 0L, SEEK_SET);
+       DB_unlock();
+     }
+--- dcmtk-3.6.1~20131114.orig/dcmpstat/apps/dcmp2pgm.cc
++++ dcmtk-3.6.1~20131114/dcmpstat/apps/dcmp2pgm.cc
+@@ -363,9 +363,12 @@ static void dumpPresentationState(DVPres
+         if (ofile)
+         {
+            fprintf(ofile, "P5\n%d %d 255\n", overlayWidth, overlayHeight);
+-           fwrite(overlayData, overlayWidth, overlayHeight, ofile);
++           size_t written = fwrite(overlayData, overlayWidth, overlayHeight, ofile);
+            fclose(ofile);
+-           oss << " - written." << OFendl;
++           if( written == overlayHeight )
++             oss << " - written." << OFendl;
++           else
++             oss << " -write error-" << OFendl;
+         } else oss << " -write error-" << OFendl;
+       } else {
+         oss << "        unable to access overlay data!" << OFendl;
+@@ -546,8 +549,12 @@ int main(int argc, char *argv[])
+                 {
+                     OFLOG_DEBUG(dcmp2pgmLogger, "writing PGM file: " << opt_pgmName);
+                     fprintf(outfile, "P5\n%ld %ld 255\n", width, height);
+-                    fwrite(pixelData, (size_t)width, (size_t)height, outfile);
++                    size_t written = fwrite(pixelData, (size_t)width, (size_t)height, outfile);
+                     fclose(outfile);
++                    if( written != (size_t)height ) {
++                      OFLOG_FATAL(dcmp2pgmLogger, "Can't create output data.");
++                      return 10;
++                    }
+                 } else {
+                     OFLOG_FATAL(dcmp2pgmLogger, "Can't create output file.");
+                     return 10;




More information about the debian-med-commit mailing list