C
C
Transition from ZipEntry.NextEntry to ZipEntry.GetNext
Provides instructions for replacing deprecated NextEntry method calls with GetNext.Chilkat C Downloads
#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);
}