I am using libzip android port from here. I am able to add a new file in my archive calling zip_add(_zip, filePath, zip_source_callback)
. it creates an empty file. How can i write data to this empty file?
I know i have to handle it in my zip_source_callback
method but i don't know exactly what and how.
Any help will be appreciated.
my zip_source_callback looks like this for now:
ssize_t _source_callback(void *state, void *data, size_t len, enum zip_source_cmd cmd)
{
ssize_t r = 0;
switch ( cmd )
{
case ZIP_SOURCE_OPEN:
{
LOGD("ZIP_SOURCE_OPEN");
break;
}
case ZIP_SOURCE_CLOSE:
{
LOGD("ZIP_SOURCE_CLOSE");
break;
}
case ZIP_SOURCE_STAT:
{
LOGD("ZIP_SOURCE_STAT");
break;
}
case ZIP_SOURCE_ERROR:
default:
{
LOGD("ZIP_SOURCE_ERROR");
break;
}
case ZIP_SOURCE_READ:
{
LOGD("ZIP_SOURCE_READ");
break;
}
case ZIP_SOURCE_FREE:
{
LOGD("ZIP_SOURCE_FREE");
return 0;
}
}
return r;
}