remove dead code from minzip
minzip had some features that were used when reading APKs, but APK handling now uses libziparchive instead of minzip. Remove these unused functions. Change-Id: Iead89209a716bfe9e3d339bf85b3e97e33a41f35
This commit is contained in:
@@ -16,34 +16,6 @@
|
||||
#include "Log.h"
|
||||
#include "SysUtil.h"
|
||||
|
||||
/*
|
||||
* Having trouble finding a portable way to get this. sysconf(_SC_PAGE_SIZE)
|
||||
* seems appropriate, but we don't have that on the device. Some systems
|
||||
* have getpagesize(2), though the linux man page has some odd cautions.
|
||||
*/
|
||||
#define DEFAULT_PAGE_SIZE 4096
|
||||
|
||||
|
||||
/*
|
||||
* Create an anonymous shared memory segment large enough to hold "length"
|
||||
* bytes. The actual segment may be larger because mmap() operates on
|
||||
* page boundaries (usually 4K).
|
||||
*/
|
||||
static void* sysCreateAnonShmem(size_t length)
|
||||
{
|
||||
void* ptr;
|
||||
|
||||
ptr = mmap(NULL, length, PROT_READ | PROT_WRITE,
|
||||
MAP_SHARED | MAP_ANON, -1, 0);
|
||||
if (ptr == MAP_FAILED) {
|
||||
LOGW("mmap(%d, RW, SHARED|ANON) failed: %s\n", (int) length,
|
||||
strerror(errno));
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return ptr;
|
||||
}
|
||||
|
||||
static int getFileStartAndLength(int fd, off_t *start_, size_t *length_)
|
||||
{
|
||||
off_t start, end;
|
||||
@@ -73,41 +45,6 @@ static int getFileStartAndLength(int fd, off_t *start_, size_t *length_)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Pull the contents of a file into an new shared memory segment. We grab
|
||||
* everything from fd's current offset on.
|
||||
*
|
||||
* We need to know the length ahead of time so we can allocate a segment
|
||||
* of sufficient size.
|
||||
*/
|
||||
int sysLoadFileInShmem(int fd, MemMapping* pMap)
|
||||
{
|
||||
off_t start;
|
||||
size_t length, actual;
|
||||
void* memPtr;
|
||||
|
||||
assert(pMap != NULL);
|
||||
|
||||
if (getFileStartAndLength(fd, &start, &length) < 0)
|
||||
return -1;
|
||||
|
||||
memPtr = sysCreateAnonShmem(length);
|
||||
if (memPtr == NULL)
|
||||
return -1;
|
||||
|
||||
pMap->baseAddr = pMap->addr = memPtr;
|
||||
pMap->baseLength = pMap->length = length;
|
||||
|
||||
actual = TEMP_FAILURE_RETRY(read(fd, memPtr, length));
|
||||
if (actual != length) {
|
||||
LOGE("only read %d of %d bytes\n", (int) actual, (int) length);
|
||||
sysReleaseShmem(pMap);
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Map a file (from fd's current offset) into a shared, read-only memory
|
||||
* segment. The file offset must be a multiple of the page size.
|
||||
@@ -139,59 +76,6 @@ int sysMapFileInShmem(int fd, MemMapping* pMap)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Map part of a file (from fd's current offset) into a shared, read-only
|
||||
* memory segment.
|
||||
*
|
||||
* On success, returns 0 and fills out "pMap". On failure, returns a nonzero
|
||||
* value and does not disturb "pMap".
|
||||
*/
|
||||
int sysMapFileSegmentInShmem(int fd, off_t start, long length,
|
||||
MemMapping* pMap)
|
||||
{
|
||||
off_t dummy;
|
||||
size_t fileLength, actualLength;
|
||||
off_t actualStart;
|
||||
int adjust;
|
||||
void* memPtr;
|
||||
|
||||
assert(pMap != NULL);
|
||||
|
||||
if (getFileStartAndLength(fd, &dummy, &fileLength) < 0)
|
||||
return -1;
|
||||
|
||||
if (start + length > (long)fileLength) {
|
||||
LOGW("bad segment: st=%d len=%ld flen=%d\n",
|
||||
(int) start, length, (int) fileLength);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* adjust to be page-aligned */
|
||||
adjust = start % DEFAULT_PAGE_SIZE;
|
||||
actualStart = start - adjust;
|
||||
actualLength = length + adjust;
|
||||
|
||||
memPtr = mmap(NULL, actualLength, PROT_READ, MAP_FILE | MAP_SHARED,
|
||||
fd, actualStart);
|
||||
if (memPtr == MAP_FAILED) {
|
||||
LOGW("mmap(%d, R, FILE|SHARED, %d, %d) failed: %s\n",
|
||||
(int) actualLength, fd, (int) actualStart, strerror(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
pMap->baseAddr = memPtr;
|
||||
pMap->baseLength = actualLength;
|
||||
pMap->addr = (char*)memPtr + adjust;
|
||||
pMap->length = length;
|
||||
|
||||
LOGVV("mmap seg (st=%d ln=%d): bp=%p bl=%d ad=%p ln=%d\n",
|
||||
(int) start, (int) length,
|
||||
pMap->baseAddr, (int) pMap->baseLength,
|
||||
pMap->addr, (int) pMap->length);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* Release a memory mapping.
|
||||
*/
|
||||
@@ -209,4 +93,3 @@ void sysReleaseShmem(MemMapping* pMap)
|
||||
pMap->baseLength = 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -26,17 +26,6 @@ INLINE void sysCopyMap(MemMapping* dst, const MemMapping* src) {
|
||||
*dst = *src;
|
||||
}
|
||||
|
||||
/*
|
||||
* Load a file into a new shared memory segment. All data from the current
|
||||
* offset to the end of the file is pulled in.
|
||||
*
|
||||
* The segment is read-write, allowing VM fixups. (It should be modified
|
||||
* to support .gz/.zip compressed data.)
|
||||
*
|
||||
* On success, "pMap" is filled in, and zero is returned.
|
||||
*/
|
||||
int sysLoadFileInShmem(int fd, MemMapping* pMap);
|
||||
|
||||
/*
|
||||
* Map a file (from fd's current offset) into a shared,
|
||||
* read-only memory segment.
|
||||
@@ -45,12 +34,6 @@ int sysLoadFileInShmem(int fd, MemMapping* pMap);
|
||||
*/
|
||||
int sysMapFileInShmem(int fd, MemMapping* pMap);
|
||||
|
||||
/*
|
||||
* Like sysMapFileInShmem, but on only part of a file.
|
||||
*/
|
||||
int sysMapFileSegmentInShmem(int fd, off_t start, long length,
|
||||
MemMapping* pMap);
|
||||
|
||||
/*
|
||||
* Release the pages associated with a shared memory segment.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user