diff --git a/package/libfreeimage/0004-fixed-C-11-warnings.patch b/package/libfreeimage/0004-fixed-C-11-warnings.patch new file mode 100644 index 0000000000..449af621d0 --- /dev/null +++ b/package/libfreeimage/0004-fixed-C-11-warnings.patch @@ -0,0 +1,94 @@ +fixed C++11 warnings + +Signed-off-by: Fabrice Fontaine +[Retrieved from: https://sourceforge.net/p/freeimage/svn/1896] + +Index: trunk/Source/FreeImage/CacheFile.cpp +=================================================================== +--- trunk/Source/FreeImage/CacheFile.cpp (révision 1895) ++++ trunk/Source/FreeImage/CacheFile.cpp (révision 1896) +@@ -147,10 +147,14 @@ + m_current_block->data = new BYTE[BLOCK_SIZE]; + + fseek(m_file, m_current_block->nr * BLOCK_SIZE, SEEK_SET); +- fread(m_current_block->data, BLOCK_SIZE, 1, m_file); +- +- m_page_cache_mem.splice(m_page_cache_mem.begin(), m_page_cache_disk, it->second); +- m_page_map[nr] = m_page_cache_mem.begin(); ++ if (fread(m_current_block->data, BLOCK_SIZE, 1, m_file) == 1) { ++ m_page_cache_mem.splice(m_page_cache_mem.begin(), m_page_cache_disk, it->second); ++ m_page_map[nr] = m_page_cache_mem.begin(); ++ } ++ else { ++ FreeImage_OutputMessageProc(FIF_UNKNOWN, "Failed to lock a block in CacheFile"); ++ return NULL; ++ } + } + + // if the memory cache size is too large, swap an item to disc +Index: trunk/Source/FreeImage/MultiPage.cpp +=================================================================== +--- trunk/Source/FreeImage/MultiPage.cpp (révision 1895) ++++ trunk/Source/FreeImage/MultiPage.cpp (révision 1896) +@@ -271,8 +271,8 @@ + } + } + +- std::auto_ptr bitmap (new FIMULTIBITMAP); +- std::auto_ptr header (new MULTIBITMAPHEADER); ++ std::unique_ptr bitmap (new FIMULTIBITMAP); ++ std::unique_ptr header (new MULTIBITMAPHEADER); + header->m_filename = filename; + // io is default + header->node = node; +@@ -339,8 +339,8 @@ + PluginNode *node = list->FindNodeFromFIF(fif); + + if (node) { +- std::auto_ptr bitmap (new FIMULTIBITMAP); +- std::auto_ptr header (new MULTIBITMAPHEADER); ++ std::unique_ptr bitmap (new FIMULTIBITMAP); ++ std::unique_ptr header (new MULTIBITMAPHEADER); + header->io = *io; + header->node = node; + header->fif = fif; +Index: trunk/Source/FreeImage/PSDParser.cpp +=================================================================== +--- trunk/Source/FreeImage/PSDParser.cpp (révision 1895) ++++ trunk/Source/FreeImage/PSDParser.cpp (révision 1896) +@@ -97,7 +97,7 @@ + template + class PSDGetValue { + public: +- static inline int get(const BYTE * iprBuffer) {} // error ++ static inline int get(const BYTE * iprBuffer) { return -1; } // error + }; + + template <> +Index: trunk/Source/FreeImage/PluginPSD.cpp +=================================================================== +--- trunk/Source/FreeImage/PluginPSD.cpp (révision 1895) ++++ trunk/Source/FreeImage/PluginPSD.cpp (révision 1896) +@@ -127,7 +127,7 @@ + static BOOL DLL_CALLCONV + Save(FreeImageIO *io, FIBITMAP *dib, fi_handle handle, int page, int flags, void *data) { + if(!handle) { +- return NULL; ++ return FALSE; + } + try { + psdParser parser; +Index: trunk/Source/FreeImage/PluginHDR.cpp +=================================================================== +--- trunk/Source/FreeImage/PluginHDR.cpp (révision 1895) ++++ trunk/Source/FreeImage/PluginHDR.cpp (révision 1896) +@@ -244,7 +244,8 @@ + } + else if((buf[0] == '#') && (buf[1] == 0x20)) { + header_info->valid |= RGBE_VALID_COMMENT; +- strcpy(header_info->comment, buf); ++ strncpy(header_info->comment, buf, HDR_MAXLINE - 1); ++ header_info->comment[HDR_MAXLINE - 1] = '\0'; + } + } + if(!bHeaderFound || !bFormatFound) {