On 12 February 2015 at 21:20, Dave Fisher <[email protected]> wrote:

> JanI -
>
> A question. Why is there a copyright in this file?
>
> Did this file come from UX Productivity as part of the initial grant or
> did you write it to contribute?
>
> Depending on the answer action should be taken to comply with
> http://www.apache.org/legal/src-headers.html


I wrote it to contrbute, but actually the file dates back from before we
entered incubator. I have a small set of files, that I worked on earlier
which was not in trunk....

Peter is working on a scripts that goes through all files to replace the
license with a new one, my reasoning was to keep everything identical until
then. We have a jira for it.

If this procedure disturbs you then I will change that file specifically,
and Peter might then need to make the script a bit more complex (check if
header is already changed).

Just to be precise you have caught 1 of approx 10 files that have been
added after we entered incubator (I have not counted, but it is my feeling).

No doubt we need to get all headers corrected. I had made the change
already, had we not agreed that peter needs to do it.

rgds
jan I.


>
> Regards,
> Dave
>
> On Feb 11, 2015, at 10:56 AM, [email protected] wrote:
>
> > added wrapper for zip.
> >
> >
> > Project: http://git-wip-us.apache.org/repos/asf/incubator-corinthia/repo
> > Commit:
> http://git-wip-us.apache.org/repos/asf/incubator-corinthia/commit/768c5aad
> > Tree:
> http://git-wip-us.apache.org/repos/asf/incubator-corinthia/tree/768c5aad
> > Diff:
> http://git-wip-us.apache.org/repos/asf/incubator-corinthia/diff/768c5aad
> >
> > Branch: refs/heads/experimentzip
> > Commit: 768c5aad43a31a2e30c0cda101ffa12cf276fa23
> > Parents: 0fbd721
> > Author: jani <[email protected]>
> > Authored: Wed Feb 11 19:55:38 2015 +0100
> > Committer: jani <[email protected]>
> > Committed: Wed Feb 11 19:55:38 2015 +0100
> >
> > ----------------------------------------------------------------------
> > DocFormats/platform/src/ZipWrapper.c | 146 ++++++++++++++++++++++++++++++
> > 1 file changed, 146 insertions(+)
> > ----------------------------------------------------------------------
> >
> >
> >
> http://git-wip-us.apache.org/repos/asf/incubator-corinthia/blob/768c5aad/DocFormats/platform/src/ZipWrapper.c
> > ----------------------------------------------------------------------
> > diff --git a/DocFormats/platform/src/ZipWrapper.c
> b/DocFormats/platform/src/ZipWrapper.c
> > new file mode 100644
> > index 0000000..14ed093
> > --- /dev/null
> > +++ b/DocFormats/platform/src/ZipWrapper.c
> > @@ -0,0 +1,146 @@
> > +// 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 = 0;
> > +
> > +    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 {
> > +        return -1; // Zip file is open in write-only mode
> > +    }
> > +
> > +    // ready to read
> > +    return 1;
> > +}
> > +
> > +int DFextZipAppendNewFile(DFextZipHandleP zipHandle, const char
> *entryName)
> > +{
> > +    zip_fileinfo fileinfo;
> > +    memset(&fileinfo, 0, sizeof(fileinfo));
> > +
> > +    if (zipHandle->zipFlag)
> > +        return -1; // Zip file is open in read-only mode
> > +
> > +    if (zipOpenNewFileInZip(zipHandle->handle,
> > +                            entryName,
> > +                            &fileinfo,
> > +                            NULL, 0,
> > +                            NULL, 0,
> > +                            NULL,
> > +                            Z_DEFLATED,
> > +                            Z_DEFAULT_COMPRESSION) != ZIP_OK) {
> > +        return -1;
> > +    }
> > +
> > +    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, void *buf, const
> int maxLen)
> > +{
> > +    return unzReadCurrentFile(zipHandle->handle, buf, maxLen);
> > +}
> > +
> > +
> > +
> > +int DFextZipWriteCurrentFile(DFextZipHandleP zipHandle, const void
> *buf, const int len)
> > +{
> > +    return (zipWriteInFileInZip(zipHandle->handle, buf, len) == ZIP_OK)
> ? 1 : -1;
> > +}
> >
>
>

Reply via email to