Sample code for 30+ languages & platforms
C

Transition from ZipEntry.NextEntry to ZipEntry.GetNext

Provides instructions for replacing deprecated NextEntry method calls with GetNext.

Chilkat C Downloads

C
#include <C_CkZip.h>
#include <C_CkZipEntry.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkZip zip;
    HCkZipEntry entry;
    BOOL finished;
    HCkZipEntry next;
    HCkZipEntry ze;
    BOOL entryValid;

    success = FALSE;

    //  ------------------------------------------------------------------------
    //  The NextEntry method is deprecated.
    //  See below or code showing how to rewrite using EntryAt/GetNext

    zip = CkZip_Create();

    success = CkZip_OpenZip(zip,"qa_data/zips/xml_files.zip");
    if (success != TRUE) {
        printf("%s\n",CkZip_lastErrorText(zip));
        CkZip_Dispose(zip);
        return;
    }

    entry = CkZip_FirstEntry(zip);
    if (CkZip_getLastMethodSuccess(zip) == FALSE) {
        printf("This zip archive is empty.\n");
        CkZip_Dispose(zip);
        return;
    }

    finished = FALSE;
    while (finished == FALSE) {

        if (CkZipEntry_getIsDirectory(entry) == FALSE) {
            printf("%s\n",CkZipEntry_fileName(entry));
        }
        else {
            printf("(directory) %s\n",CkZipEntry_fileName(entry));
        }

        next = CkZipEntry_NextEntry(entry);
        if (CkZipEntry_getLastMethodSuccess(entry) == FALSE) {
            finished = TRUE;
        }

        CkZipEntry_Dispose(entry);
        entry = next;
    }

    CkZip_CloseZip(zip);

    printf("----\n");

    //  ------------------------------------------------------------------------
    //  Do the equivalent using EntryAt/GetNext.

    success = CkZip_OpenZip(zip,"qa_data/zips/xml_files.zip");

    ze = CkZipEntry_Create();
    CkZip_EntryAt(zip,0,ze);

    entryValid = TRUE;
    while (entryValid == TRUE) {

        if (CkZipEntry_getIsDirectory(ze) == FALSE) {
            printf("%s\n",CkZipEntry_fileName(ze));
        }
        else {
            printf("(directory) %s\n",CkZipEntry_fileName(ze));
        }

        entryValid = CkZipEntry_GetNext(ze);
    }

    CkZip_CloseZip(zip);


    CkZip_Dispose(zip);
    CkZipEntry_Dispose(ze);

    }