On 1 January 2015 at 14:32, Peter Kelly <[email protected]> wrote: > BTW just a minor note on the summary line - git —oneline and other similar > tools (e.g. github) only recognise blank lines as paragraph separators; if > there is a blank line after the summary then the summary will show as > intended, otherwise the whole thing is treated as part of the summary > “line”. > Ups, forgot that, will remember it next time. rgds jan i.
> > -- > Dr. Peter M. Kelly > [email protected] > http://www.kellypmk.net/ > > PGP key: http://www.kellypmk.net/pgp-key <http://www.kellypmk.net/pgp-key> > (fingerprint 5435 6718 59F0 DD1F BFA0 5E46 2523 BAA1 44AE 2966) > > > On 1 Jan 2015, at 8:28 pm, [email protected] wrote: > > > > Repository: incubator-corinthia > > Updated Branches: > > refs/heads/master c2d1a7513 -> 7710f0f24 > > > > > > Isolated minizip in platform, offering our own API to application. > > All references to the minizip directory have been removed from all > CMakeFileList.txt (excapt platform) > > DFZipFile.c has been updated to use the new API. > > Next step is to write unittest code for platform, so we can see the > effect of removing minizip > > > > > > Project: http://git-wip-us.apache.org/repos/asf/incubator-corinthia/repo > > Commit: > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/commit/7710f0f2 > > Tree: > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/tree/7710f0f2 > > Diff: > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/diff/7710f0f2 > > > > Branch: refs/heads/master > > Commit: 7710f0f24ef3b9a7ded94921518b2a7b1d3668ce > > Parents: c2d1a75 > > Author: jani <[email protected]> > > Authored: Thu Jan 1 14:20:45 2015 +0100 > > Committer: jani <[email protected]> > > Committed: Thu Jan 1 14:20:45 2015 +0100 > > > > ---------------------------------------------------------------------- > > DocFormats/api/CMakeLists.txt | 1 - > > DocFormats/core/CMakeLists.txt | 1 - > > DocFormats/core/src/lib/DFZipFile.c | 138 ++++++++++--------------- > > DocFormats/filters/latex/CMakeLists.txt | 1 - > > DocFormats/filters/odf/CMakeLists.txt | 1 - > > DocFormats/filters/ooxml/CMakeLists.txt | 1 - > > DocFormats/platform/CMakeLists.txt | 8 +- > > DocFormats/platform/headers/DFPlatform.h | 16 +++ > > DocFormats/platform/src/Win32.c | 4 +- > > DocFormats/platform/src/Wrapper.c | 137 ++++++++++++++++++++++++ > > DocFormats/platform/tests/OStests.c | 64 ++++++++++++ > > DocFormats/platform/tests/PlatformTests.c | 27 ----- > > DocFormats/platform/tests/WrapperTests.c | 83 +++++++++++++++ > > DocFormats/unittest/CMakeLists.txt | 1 - > > consumers/dftest/src/main.c | 6 +- > > 15 files changed, 368 insertions(+), 121 deletions(-) > > ---------------------------------------------------------------------- > > > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/api/CMakeLists.txt > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/api/CMakeLists.txt > b/DocFormats/api/CMakeLists.txt > > index 8032b33..4df69cc 100644 > > --- a/DocFormats/api/CMakeLists.txt > > +++ b/DocFormats/api/CMakeLists.txt > > @@ -44,7 +44,6 @@ set(GroupTests > > include_directories(/usr/include/libxml2) > > > include_directories(../../DocFormats/3rdparty/external/w3c-tidy-html5/include) > > > include_directories(../../DocFormats/3rdparty/external/w3c-tidy-html5/src) > > -include_directories(../../DocFormats/3rdparty/external/minizip) > > > > include_directories(SYSTEM ${INCLUDE_DIRS}) > > include_directories(SYSTEM ../api/headers) > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/core/CMakeLists.txt > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/core/CMakeLists.txt > b/DocFormats/core/CMakeLists.txt > > index cfd46cc..9590118 100644 > > --- a/DocFormats/core/CMakeLists.txt > > +++ b/DocFormats/core/CMakeLists.txt > > @@ -149,7 +149,6 @@ include_directories() > > include_directories(/usr/include/libxml2) > > > include_directories(../../DocFormats/platform/3rdparty/w3c-tidy-html5/include) > > > include_directories(../../DocFormats/platform/3rdparty//w3c-tidy-html5/src) > > -include_directories(../../DocFormats/platform/3rdparty/minizip) > > include_directories(SYSTEM ${INCLUDE_DIRS}) > > include_directories(SYSTEM ../api/headers) > > include_directories(../platform/headers) > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/core/src/lib/DFZipFile.c > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/core/src/lib/DFZipFile.c > b/DocFormats/core/src/lib/DFZipFile.c > > index 651b43b..451934e 100644 > > --- a/DocFormats/core/src/lib/DFZipFile.c > > +++ b/DocFormats/core/src/lib/DFZipFile.c > > @@ -13,8 +13,7 @@ > > // limitations under the License. > > > > #include "DFZipFile.h" > > -#include "unzip.h" > > -#include "zip.h" > > +#include "DFPlatform.h" > > #include "DFFilesystem.h" > > #include "DFString.h" > > #include "DFCommon.h" > > @@ -35,118 +34,95 @@ static int zipError(DFError **error, const char > *format, ...) > > > > int DFUnzip(const char *zipFilename, DFStorage *storage, DFError **error) > > { > > - unzFile zipFile = unzOpen(zipFilename); > > - if (zipFile == NULL) > > - return zipError(error,"Cannot open file"); > > + char entryName[4096]; > > + DFextZipHandleP zipHandle; > > + > > + zipHandle = DFextZipOpen(zipFilename, 1); > > + if (!zipHandle) > > + return zipError(error,"Cannot open file"); > > > > int ret; > > - for (ret = unzGoToFirstFile(zipFile); ret == UNZ_OK; ret = > unzGoToNextFile(zipFile)) { > > - unz_file_info info; > > - char entryName[4096]; > > - if (UNZ_OK != > unzGetCurrentFileInfo(zipFile,&info,entryName,4096,NULL,0,NULL,0)) > > - return zipError(error,"Zip directory is corrupt"); > > - > > - if (!DFStringHasSuffix(entryName,"/")) { > > - // Regular file > > - if (UNZ_OK != unzOpenCurrentFile(zipFile)) > > - return zipError(error,"%s: Cannot open zip > entry",entryName);; > > - > > - DFBuffer *content = DFBufferNew(); > > - > > - unsigned char buf[4096]; > > - int r; > > - while (0 < (r = unzReadCurrentFile(zipFile,buf,4096))) > > - DFBufferAppendData(content,(void *)buf,r); > > - if (0 > r) { > > - DFBufferRelease(content); > > - return zipError(error,"%s: decompression > failed",entryName); > > - } > > - > > - if (UNZ_OK != unzCloseCurrentFile(zipFile)) { > > - DFBufferRelease(content); > > - return zipError(error,"%s: decompression > failed",entryName); > > - } > > - > > - if > (!DFBufferWriteToStorage(content,storage,entryName,error)) { > > - DFBufferRelease(content); > > - return zipError(error,"%s: > %s",entryName,DFErrorMessage(error)); > > - } > > + for (; (ret = DFextZipOpenNextFile(zipHandle, entryName, > sizeof(entryName))) > 0;) { > > + DFBuffer *content = DFBufferNew(); > > + > > + unsigned char buf[4096]; > > + int r; > > + while (0 < (r = DFextZipReadCurrentFile(zipHandle, buf, > sizeof(buf)))) > > + DFBufferAppendData(content,(void *)buf,r); > > + if (0 > r) { > > + DFBufferRelease(content); > > + return zipError(error,"%s: decompression failed",entryName); > > + } > > + > > + if (DFextZipCloseFile(zipHandle) < 0) { > > + DFBufferRelease(content); > > + return zipError(error,"%s: decompression failed",entryName); > > + } > > + > > + if (!DFBufferWriteToStorage(content,storage,entryName,error)) { > > DFBufferRelease(content); > > + return zipError(error,"%s: > %s",entryName,DFErrorMessage(error)); > > } > > + DFBufferRelease(content); > > } > > > > - if (UNZ_END_OF_LIST_OF_FILE != ret) > > + if (ret < 0) > > return zipError(error,"Zip directory is corrupt"); > > > > - if (UNZ_OK != unzClose(zipFile)) > > - return zipError(error,"Cannot close file"); > > + DFextZipClose(zipHandle); > > > > return 1; > > } > > > > -static int zipAddFile(zipFile zip, const char *dest, DFBuffer *content, > DFError **error) > > +static int zipAddFile(DFextZipHandleP zipHandle, const char *dest, > DFBuffer *content, DFError **error) > > { > > - zip_fileinfo fileinfo; > > - bzero(&fileinfo,sizeof(fileinfo)); > > - > > - if (ZIP_OK != zipOpenNewFileInZip(zip, > > - dest, > > - &fileinfo, > > - NULL,0, > > - NULL,0, > > - NULL, > > - Z_DEFLATED, > > - Z_DEFAULT_COMPRESSION)) { > > + if (DFextZipOpenNextFile(zipHandle, dest, 0) < 0) > > return zipError(error,"%s: Cannot create entry in zip > file",dest); > > - } > > > > - if (ZIP_OK != zipWriteInFileInZip(zip,content->data,(unsigned > int)content->len)) > > + if (DFextZipWriteCurrentFile(zipHandle, content->data, (unsigned > int)content->len) < 0) > > return zipError(error,"%s: Error writing to entry in zip > file",dest); > > > > - > > - if (ZIP_OK != zipCloseFileInZip(zip)) > > + if (DFextZipCloseFile(zipHandle) <0) > > return zipError(error,"%s: Error closing entry in zip > file",dest); > > - > > return 1; > > } > > > > + > > + > > int DFZip(const char *zipFilename, DFStorage *storage, DFError **error) > > { > > const char **allPaths = NULL; > > - zipFile zip = NULL; > > DFBuffer *content = NULL; > > int ok = 0; > > + DFextZipHandleP zipHandle; > > > > allPaths = DFStorageList(storage,error); > > - if (allPaths == NULL) > > - goto end; > > - > > - zip = zipOpen(zipFilename,APPEND_STATUS_CREATE); > > - if (zip == NULL) { > > - DFErrorFormat(error,"Cannot create file"); > > - goto end; > > + if (allPaths == NULL || !(zipHandle = DFextZipOpen(zipFilename, 0))) > > + { > > + DFErrorFormat(error,"Cannot create file"); > > } > > - > > - for (int i = 0; allPaths[i]; i++) { > > - const char *path = allPaths[i]; > > - > > - DFBufferRelease(content); > > - content = DFBufferReadFromStorage(storage,path,error); > > - if (content == NULL) { > > - DFErrorFormat(error,"%s: %s",path,DFErrorMessage(error)); > > - goto end; > > - } > > - > > - if (!zipAddFile(zip,path,content,error)) > > - goto end; > > + else > > + { > > + for (int i = 0; allPaths[i]; i++) { > > + const char *path = allPaths[i]; > > + > > + DFBufferRelease(content); > > + content = DFBufferReadFromStorage(storage,path,error); > > + if (content == NULL) { > > + DFErrorFormat(error,"%s: %s",path,DFErrorMessage(error)); > > + goto end; > > + } > > + > > + if (!zipAddFile(zipHandle, path, content, error)) > > + goto end; > > + } > > + > > + ok = 1; > > } > > > > - ok = 1; > > - > > end: > > DFBufferRelease(content); > > free(allPaths); > > - if ((zip != NULL) && (ZIP_OK != zipClose(zip,NULL))) > > - return zipError(error,"Cannot close file"); > > + DFextZipClose(zipHandle); > > return ok; > > } > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/filters/latex/CMakeLists.txt > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/filters/latex/CMakeLists.txt > b/DocFormats/filters/latex/CMakeLists.txt > > index a02e559..0aca5e3 100644 > > --- a/DocFormats/filters/latex/CMakeLists.txt > > +++ b/DocFormats/filters/latex/CMakeLists.txt > > @@ -31,7 +31,6 @@ include_directories() > > include_directories(/usr/include/libxml2) > > > include_directories(../../DocFormats/3rdparty/external/w3c-tidy-html5/include) > > > include_directories(../../DocFormats/3rdparty/external/w3c-tidy-html5/src) > > -include_directories(../../DocFormats/3rdparty/external/minizip) > > > > include_directories(SYSTEM ${INCLUDE_DIRS}) > > include_directories(SYSTEM ../../api/headers) > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/filters/odf/CMakeLists.txt > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/filters/odf/CMakeLists.txt > b/DocFormats/filters/odf/CMakeLists.txt > > index fac5ee9..4673096 100644 > > --- a/DocFormats/filters/odf/CMakeLists.txt > > +++ b/DocFormats/filters/odf/CMakeLists.txt > > @@ -37,7 +37,6 @@ include_directories() > > include_directories(/usr/include/libxml2) > > > include_directories(../../DocFormats/3rdparty/external/w3c-tidy-html5/include) > > > include_directories(../../DocFormats/3rdparty/external/w3c-tidy-html5/src) > > -include_directories(../../DocFormats/3rdparty/external/minizip) > > > > include_directories(SYSTEM ${INCLUDE_DIRS}) > > include_directories(SYSTEM ../../api/headers) > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/filters/ooxml/CMakeLists.txt > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/filters/ooxml/CMakeLists.txt > b/DocFormats/filters/ooxml/CMakeLists.txt > > index 1c1a937..acc28c2 100644 > > --- a/DocFormats/filters/ooxml/CMakeLists.txt > > +++ b/DocFormats/filters/ooxml/CMakeLists.txt > > @@ -123,7 +123,6 @@ include_directories() > > include_directories(/usr/include/libxml2) > > > include_directories(../../DocFormats/3rdparty/external/w3c-tidy-html5/include) > > > include_directories(../../DocFormats/3rdparty/external/w3c-tidy-html5/src) > > -include_directories(../../DocFormats/3rdparty/external/minizip) > > > > include_directories(SYSTEM ${INCLUDE_DIRS}) > > include_directories(SYSTEM ../../api/headers) > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/platform/CMakeLists.txt > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/platform/CMakeLists.txt > b/DocFormats/platform/CMakeLists.txt > > index dcf9471..f3752e9 100644 > > --- a/DocFormats/platform/CMakeLists.txt > > +++ b/DocFormats/platform/CMakeLists.txt > > @@ -99,10 +99,12 @@ set(GroupSrc > > src/Apple.c > > src/Linux.c > > src/Unix.c > > - src/Win32.c) > > + src/Win32.c > > + src/Wrapper.c) > > > > set(GroupTests > > - tests/PlatformTests.c) > > + tests/OStests.c > > + tests/WrapperTests.c) > > > > > > > > @@ -125,7 +127,7 @@ include_directories(../unittest) > > ### > > add_library(platform OBJECT > > ${GroupMinizip} > > - ${GroupHtml5} > > + ${GroupHtml5} > > ${GroupHeaders} > > ${GroupSrc} > > ${GroupTests}) > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/platform/headers/DFPlatform.h > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/platform/headers/DFPlatform.h > b/DocFormats/platform/headers/DFPlatform.h > > index a14350d..3d379d4 100755 > > --- a/DocFormats/platform/headers/DFPlatform.h > > +++ b/DocFormats/platform/headers/DFPlatform.h > > @@ -34,4 +34,20 @@ typedef int DFOnce; > > typedef void (*DFOnceFunction)(void); > > void DFInitOnce(DFOnce *once, DFOnceFunction fun); > > > > +// Zip functions > > +typedef struct { > > + void *handle; > > + int zipFlag; > > + int zipFirst; > > + } DFextZipHandle; > > +typedef DFextZipHandle * DFextZipHandleP; > > + > > +DFextZipHandleP DFextZipOpen(const char *zipFilename, int doUnzip); > > +int DFextZipClose(DFextZipHandleP zipHandle); > > + > > +int DFextZipOpenNextFile(DFextZipHandleP zipHandle, char > *entryName, const int maxName); > > +int DFextZipCloseFile(DFextZipHandleP zipHandle); > > + > > +int DFextZipReadCurrentFile(DFextZipHandleP zipHandle, char *buf, const > int maxLen); > > +int DFextZipWriteCurrentFile(DFextZipHandleP zipHandle, char *buf, > const int len); > > #endif > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/platform/src/Win32.c > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/platform/src/Win32.c > b/DocFormats/platform/src/Win32.c > > index aa918da..d5a0ff5 100755 > > --- a/DocFormats/platform/src/Win32.c > > +++ b/DocFormats/platform/src/Win32.c > > @@ -26,7 +26,7 @@ > > #define snprintf _snprintf > > #endif > > > > -void DFErrorMsgSetWin32(char **errmsg, DWORD code) > > +static void DFErrorMsgSetWin32(char **errmsg, DWORD code) > > { > > if (errmsg == NULL) > > return; > > @@ -62,7 +62,7 @@ static int testAndSet(int *var,int value,HANDLE lock) > > return oldValue; > > } > > > > -BOOL CALLBACK initOnceMutex(PINIT_ONCE initOnce,PVOID Parameter,PVOID > *Context) > > +static BOOL CALLBACK initOnceMutex(PINIT_ONCE initOnce,PVOID > Parameter,PVOID *Context) > > { > > onceMutex = CreateMutex(NULL,FALSE,NULL); > > return TRUE; > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/platform/src/Wrapper.c > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/platform/src/Wrapper.c > b/DocFormats/platform/src/Wrapper.c > > new file mode 100644 > > index 0000000..d27be99 > > --- /dev/null > > +++ b/DocFormats/platform/src/Wrapper.c > > @@ -0,0 +1,137 @@ > > +// Copyright 2012-2014 UX Productivity Pty Ltd > > +// > > +// Licensed under the Apache License, Version 2.0 (the "License"); > > +// you may not use this file except in compliance with the License. > > +// You may obtain a copy of the License at > > +// > > +// http://www.apache.org/licenses/LICENSE-2.0 > > +// > > +// Unless required by applicable law or agreed to in writing, software > > +// distributed under the License is distributed on an "AS IS" BASIS, > > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > > +// See the License for the specific language governing permissions and > > +// limitations under the License. > > +#include <string.h> > > +#include <stdlib.h> > > +#include "DFPlatform.h" > > +#include "unzip.h" > > +#include "zip.h" > > + > > + > > +DFextZipHandleP DFextZipOpen(const char *zipFilename, int doUnzip) { > > + DFextZipHandleP zipHandle = malloc(sizeof(DFextZipHandle)); > > + > > + // no more memory > > + if (!zipHandle) > > + return NULL; > > + > > + // Open file > > + zipHandle->zipFirst = 1; > > + zipHandle->zipFlag = doUnzip; > > + if (doUnzip) > > + zipHandle->handle = unzOpen(zipFilename); > > + else > > + zipHandle->handle = zipOpen(zipFilename, APPEND_STATUS_CREATE); > > + > > + if (zipHandle->handle) > > + return zipHandle; > > + > > + free(zipHandle); > > + return NULL; > > +} > > + > > + > > + > > +int DFextZipClose(DFextZipHandleP zipHandle) > > +{ > > + int rc; > > + > > + if (zipHandle->handle) { > > + if (zipHandle->zipFlag) > > + rc = (unzClose(zipHandle->handle) == UNZ_OK); > > + else > > + rc = (zipClose(zipHandle->handle, NULL) == ZIP_OK); > > + zipHandle->handle = NULL; > > + } > > + > > + free(zipHandle); > > + return rc ? 1 : -1; > > +} > > + > > + > > + > > +int DFextZipOpenNextFile(DFextZipHandleP zipHandle, char *entryName, > const int maxName) > > +{ > > + int rc; > > + > > + > > + if (zipHandle->zipFlag) { > > + unz_file_info info; > > + > > + // handling of first file and all others are different > > + if (zipHandle->zipFirst) { > > + rc = unzGoToFirstFile(zipHandle->handle); > > + zipHandle->zipFirst = 0; > > + } > > + else > > + rc = unzGoToNextFile(zipHandle->handle); > > + > > + // Error or past last file > > + if (rc != UNZ_OK) > > + return (rc == UNZ_END_OF_LIST_OF_FILE) ? 0 : -1; > > + > > + // get file name > > + if (unzGetCurrentFileInfo(zipHandle->handle, &info, entryName, > maxName, NULL, 0, NULL, 0) != UNZ_OK) > > + return -1; > > + > > + // check for prefix "/" and if present skip file > > + if (entryName[strlen(entryName) - 1] == '/') > > + return DFextZipOpenNextFile(zipHandle, entryName, maxName); > > + > > + // open Regular file > > + if (unzOpenCurrentFile(zipHandle->handle) != UNZ_OK) > > + return -1; > > + } > > + else { > > + zip_fileinfo fileinfo; > > + memset(&fileinfo, 0, sizeof(fileinfo)); > > + > > + if (zipOpenNewFileInZip(zipHandle->handle, > > + entryName, > > + &fileinfo, > > + NULL, 0, > > + NULL, 0, > > + NULL, > > + Z_DEFLATED, > > + Z_DEFAULT_COMPRESSION) != ZIP_OK) > > + return -1; > > + } > > + > > + // ready to read > > + return 1; > > +} > > + > > + > > + > > +int DFextZipCloseFile(DFextZipHandleP zipHandle) > > +{ > > + if (zipHandle->zipFlag) > > + return (unzCloseCurrentFile(zipHandle->handle) != UNZ_OK) ? -1 > : 1; > > + else > > + return (zipCloseFileInZip(zipHandle->handle) != UNZ_OK) ? -1 : > 1; > > +} > > + > > + > > + > > + > > +int DFextZipReadCurrentFile(DFextZipHandleP zipHandle, char *buf, const > int maxLen) > > +{ > > + return unzReadCurrentFile(zipHandle->handle, buf, maxLen); > > +} > > + > > + > > + > > +int DFextZipWriteCurrentFile(DFextZipHandleP zipHandle, char *buf, > const int len) > > +{ > > + return (zipWriteInFileInZip(zipHandle->handle, buf, len) == ZIP_OK) > ? 1 : -1; > > +} > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/platform/tests/OStests.c > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/platform/tests/OStests.c > b/DocFormats/platform/tests/OStests.c > > new file mode 100644 > > index 0000000..4706916 > > --- /dev/null > > +++ b/DocFormats/platform/tests/OStests.c > > @@ -0,0 +1,64 @@ > > +// Copyright 2012-2014 UX Productivity Pty Ltd > > +// > > +// Licensed under the Apache License, Version 2.0 (the "License"); > > +// you may not use this file except in compliance with the License. > > +// You may obtain a copy of the License at > > +// > > +// http://www.apache.org/licenses/LICENSE-2.0 > > +// > > +// Unless required by applicable law or agreed to in writing, software > > +// distributed under the License is distributed on an "AS IS" BASIS, > > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > > +// See the License for the specific language governing permissions and > > +// limitations under the License. > > + > > +#include "DFUnitTest.h" > > +#include <stddef.h> > > + > > + > > +static void test_DFGetImageDimensions(void) > > +{ > > +#if 0 > > + int DFGetImageDimensions(const void *data, size_t len, const char > *ext, > > + unsigned int *width, unsigned int *height, char **errmsg) > > +#endif > > +} > > + > > + > > + > > +static void test_DFInitOnce(void) > > +{ > > +#if 0 > > + void DFInitOnce(DFOnce *once, DFOnceFunction fun) > > +#endif > > +} > > + > > + > > + > > +static void test_DFMkdirIfAbsent(void) > > +{ > > +#if 0 > > + int DFMkdirIfAbsent(const char *path, char **errmsg) > > +#endif > > +} > > + > > + > > + > > +static void test_DFAddDirContents(void) > > +{ > > +#if 0 > > + int DFAddDirContents(const char *absPath, const char *relPath, int > recursive, DFDirEntryList ***list, char **errmsg) > > +#endif > > +} > > + > > + > > + > > +TestGroup PlatformOSTests = { > > + "platform.os", { > > + { "DFGetImageDimensions", PlainTest, test_DFGetImageDimensions > }, > > + { "DFInitOnce", PlainTest, test_DFInitOnce }, > > + { "DFMkdirIfAbsent", PlainTest, test_DFMkdirIfAbsent }, > > + { "DFAddDirContents", PlainTest, test_DFAddDirContents }, > > + { NULL, PlainTest, NULL } > > + } > > +}; > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/platform/tests/PlatformTests.c > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/platform/tests/PlatformTests.c > b/DocFormats/platform/tests/PlatformTests.c > > deleted file mode 100644 > > index b792dc3..0000000 > > --- a/DocFormats/platform/tests/PlatformTests.c > > +++ /dev/null > > @@ -1,27 +0,0 @@ > > -// Copyright 2012-2014 UX Productivity Pty Ltd > > -// > > -// Licensed under the Apache License, Version 2.0 (the "License"); > > -// you may not use this file except in compliance with the License. > > -// You may obtain a copy of the License at > > -// > > -// http://www.apache.org/licenses/LICENSE-2.0 > > -// > > -// Unless required by applicable law or agreed to in writing, software > > -// distributed under the License is distributed on an "AS IS" BASIS, > > -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > > -// See the License for the specific language governing permissions and > > -// limitations under the License. > > - > > -#include "DFUnitTest.h" > > -#include <stddef.h> > > - > > -static void test_sample(void) > > -{ > > -} > > - > > -TestGroup PlatformTests = { > > - "platform", { > > - { "sample", PlainTest, test_sample }, > > - { NULL, PlainTest, NULL } > > - } > > -}; > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/platform/tests/WrapperTests.c > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/platform/tests/WrapperTests.c > b/DocFormats/platform/tests/WrapperTests.c > > new file mode 100644 > > index 0000000..f2a8f2b > > --- /dev/null > > +++ b/DocFormats/platform/tests/WrapperTests.c > > @@ -0,0 +1,83 @@ > > +// Copyright 2012-2014 UX Productivity Pty Ltd > > +// > > +// Licensed under the Apache License, Version 2.0 (the "License"); > > +// you may not use this file except in compliance with the License. > > +// You may obtain a copy of the License at > > +// > > +// http://www.apache.org/licenses/LICENSE-2.0 > > +// > > +// Unless required by applicable law or agreed to in writing, software > > +// distributed under the License is distributed on an "AS IS" BASIS, > > +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or > implied. > > +// See the License for the specific language governing permissions and > > +// limitations under the License. > > +#include "DFUnitTest.h" > > +#include <stddef.h> > > + > > + > > + > > +static void test_DFextZipOpen(void) > > +{ > > +#if 0 > > + int DFextZipOpen(const char *zipFilename, int doUnzip) { > > +#endif > > +} > > + > > + > > + > > +static void test_DFextZipClose(void) > > +{ > > +#if 0 > > + int DFextZipClose(void) > > +#endif > > +} > > + > > + > > + > > +static void test_DFextZipOpenNextFile(void) > > +{ > > +#if 0 > > + int DFextZipOpenNextFile(char *entryName, const int maxName) > > +#endif > > +} > > + > > + > > + > > +static void test_DFextZipCloseFile(void) > > +{ > > +#if 0 > > + int DFextZipCloseFile(void) > > +#endif > > +} > > + > > + > > + > > +static void test_DFextZipReadCurrentFile(void) > > +{ > > +#if 0 > > + int DFextZipReadCurrentFile(char *buf, const int maxLen) > > +#endif > > +} > > + > > + > > + > > +static void test_DFextZipWriteCurrentFile(void) > > +{ > > +#if 0 > > + int DFextZipWriteCurrentFile(char *buf, const int len) > > +#endif > > +} > > + > > + > > + > > +TestGroup PlatformWrapperTests = { > > + "platform.wrapper", { > > + { "DFextZipOpen", PlainTest, test_DFextZipOpen > }, > > + { "DFextZipClose", PlainTest, test_DFextZipClose > }, > > + { "DFextZipOpenNextFile", PlainTest, > test_DFextZipOpenNextFile }, > > + { "DFextZipCloseFile", PlainTest, > test_DFextZipCloseFile }, > > + { "DFextZipReadCurrentFile", PlainTest, > test_DFextZipReadCurrentFile }, > > + { "DFextZipWriteCurrentFile", PlainTest, > test_DFextZipWriteCurrentFile }, > > + { NULL, PlainTest, NULL } > > + } > > +}; > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/DocFormats/unittest/CMakeLists.txt > > ---------------------------------------------------------------------- > > diff --git a/DocFormats/unittest/CMakeLists.txt > b/DocFormats/unittest/CMakeLists.txt > > index b780cd7..f1d7d7e 100644 > > --- a/DocFormats/unittest/CMakeLists.txt > > +++ b/DocFormats/unittest/CMakeLists.txt > > @@ -28,7 +28,6 @@ include_directories() > > include_directories(/usr/include/libxml2) > > > include_directories(../../DocFormats/3rdparty/external/w3c-tidy-html5/include) > > > include_directories(../../DocFormats/3rdparty/external/w3c-tidy-html5/src) > > -include_directories(../../DocFormats/3rdparty/external/minizip) > > > > include_directories(SYSTEM ${INCLUDE_DIRS}) > > include_directories(SYSTEM ../api/headers) > > > > > http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/7710f0f2/consumers/dftest/src/main.c > > ---------------------------------------------------------------------- > > diff --git a/consumers/dftest/src/main.c b/consumers/dftest/src/main.c > > index e736e2f..737bf7f 100644 > > --- a/consumers/dftest/src/main.c > > +++ b/consumers/dftest/src/main.c > > @@ -36,7 +36,8 @@ extern TestGroup XMLTests; > > extern TestGroup LaTeXTests; > > extern TestGroup ODFTests; > > extern TestGroup WordTests; > > -extern TestGroup PlatformTests; > > +extern TestGroup PlatformOSTests; > > +extern TestGroup PlatformWrapperTests; > > extern TestGroup BDTTests; > > > > TestGroup *allGroups[] = { > > @@ -49,7 +50,8 @@ TestGroup *allGroups[] = { > > &LaTeXTests, > > &ODFTests, > > &WordTests, > > - &PlatformTests, > > + &PlatformOSTests, > > + &PlatformWrapperTests, > > NULL > > }; > > > > > >
