diff Resources/Patches/dcmtk-3.6.4.patch @ 3593:0301f59450fe

improved the patch for loading DICOM dictionary from memory
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 06 Jan 2020 17:58:15 +0100
parents ea54109a7312
children f2df51bff2fd
line wrap: on
line diff
--- a/Resources/Patches/dcmtk-3.6.4.patch	Mon Dec 23 15:46:50 2019 +0100
+++ b/Resources/Patches/dcmtk-3.6.4.patch	Mon Jan 06 17:58:15 2020 +0100
@@ -1,6 +1,32 @@
+diff -urEb dcmtk-3.6.4.orig/dcmdata/include/dcmtk/dcmdata/dcdict.h dcmtk-3.6.4/dcmdata/include/dcmtk/dcmdata/dcdict.h
+--- dcmtk-3.6.4.orig/dcmdata/include/dcmtk/dcmdata/dcdict.h	2020-01-06 17:38:11.323628123 +0100
++++ dcmtk-3.6.4/dcmdata/include/dcmtk/dcmdata/dcdict.h	2020-01-06 17:39:29.519603910 +0100
+@@ -152,6 +152,12 @@
+     /// returns an iterator to the end of the repeating tag dictionary
+     DcmDictEntryListIterator repeatingEnd() { return repDict.end(); }
+ 
++    // Function by the Orthanc project to load a dictionary from a
++    // memory buffer, which is necessary in sandboxed
++    // environments. This is an adapted version of
++    // DcmDataDictionary::loadDictionary().
++    OFBool loadFromMemory(const std::string& content, OFBool errorIfAbsent = OFTrue);
++
+ private:
+ 
+     /** private undefined assignment operator
+diff -urEb dcmtk-3.6.4.orig/dcmdata/libsrc/dcdict.cc dcmtk-3.6.4/dcmdata/libsrc/dcdict.cc
+--- dcmtk-3.6.4.orig/dcmdata/libsrc/dcdict.cc	2020-01-06 17:38:11.327628121 +0100
++++ dcmtk-3.6.4/dcmdata/libsrc/dcdict.cc	2020-01-06 17:39:58.927594760 +0100
+@@ -899,3 +899,6 @@
+   wrlock().clear();
+   wrunlock();
+ }
++
++
++#include "dcdict_orthanc.cc"
 diff -urEb dcmtk-3.6.4.orig/dcmdata/libsrc/dcpxitem.cc dcmtk-3.6.4/dcmdata/libsrc/dcpxitem.cc
---- dcmtk-3.6.4.orig/dcmdata/libsrc/dcpxitem.cc	2019-02-21 15:30:21.657110805 +0100
-+++ dcmtk-3.6.4/dcmdata/libsrc/dcpxitem.cc	2019-02-21 16:28:43.721049550 +0100
+--- dcmtk-3.6.4.orig/dcmdata/libsrc/dcpxitem.cc	2020-01-06 17:38:11.327628121 +0100
++++ dcmtk-3.6.4/dcmdata/libsrc/dcpxitem.cc	2020-01-06 17:38:14.195627236 +0100
 @@ -36,6 +36,9 @@
  #include "dcmtk/dcmdata/dcostrma.h"    /* for class DcmOutputStream */
  #include "dcmtk/dcmdata/dcwcache.h"    /* for class DcmWriteCache */
@@ -12,8 +38,8 @@
  // ********************************
  
 diff -urEb dcmtk-3.6.4.orig/ofstd/include/dcmtk/ofstd/offile.h dcmtk-3.6.4/ofstd/include/dcmtk/ofstd/offile.h
---- dcmtk-3.6.4.orig/ofstd/include/dcmtk/ofstd/offile.h	2019-02-21 15:30:21.645110805 +0100
-+++ dcmtk-3.6.4/ofstd/include/dcmtk/ofstd/offile.h	2019-02-21 15:30:48.273110339 +0100
+--- dcmtk-3.6.4.orig/ofstd/include/dcmtk/ofstd/offile.h	2020-01-06 17:38:11.371628108 +0100
++++ dcmtk-3.6.4/ofstd/include/dcmtk/ofstd/offile.h	2020-01-06 17:38:14.195627236 +0100
 @@ -575,7 +575,7 @@
     */
    void setlinebuf()
@@ -23,4 +49,3 @@
      this->setvbuf(NULL, _IOLBF, 0);
  #else
      :: setlinebuf(file_);
-Only in dcmtk-3.6.4/ofstd/include/dcmtk/ofstd: offile.h~