cabinet: Remove unnecessary function.
This commit is contained in:
parent
7a04c24e63
commit
30892c8b8d
|
@ -411,26 +411,6 @@ static long FDI_getoffset(HFDI hfdi, INT_PTR hf)
|
|||
return PFDI_SEEK(hfdi, hf, 0L, SEEK_CUR);
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* FDI_realloc (internal)
|
||||
*
|
||||
* we can't use _msize; the user might not be using malloc, so we require
|
||||
* an explicit specification of the previous size. inefficient.
|
||||
*/
|
||||
static void *FDI_realloc(HFDI hfdi, void *mem, size_t prevsize, size_t newsize)
|
||||
{
|
||||
void *rslt = NULL;
|
||||
char *irslt, *imem;
|
||||
size_t copysize = (prevsize < newsize) ? prevsize : newsize;
|
||||
if (prevsize == newsize) return mem;
|
||||
rslt = PFDI_ALLOC(hfdi, newsize);
|
||||
if (rslt)
|
||||
for (irslt = (char *)rslt, imem = (char *)mem; (copysize); copysize--)
|
||||
*irslt++ = *imem++;
|
||||
PFDI_FREE(hfdi, mem);
|
||||
return rslt;
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* FDI_read_string (internal)
|
||||
*
|
||||
|
@ -439,19 +419,17 @@ static void *FDI_realloc(HFDI hfdi, void *mem, size_t prevsize, size_t newsize)
|
|||
static char *FDI_read_string(HFDI hfdi, INT_PTR hf, long cabsize)
|
||||
{
|
||||
size_t len=256,
|
||||
oldlen = 0,
|
||||
base = FDI_getoffset(hfdi, hf),
|
||||
maxlen = cabsize - base;
|
||||
BOOL ok = FALSE;
|
||||
unsigned int i;
|
||||
cab_UBYTE *buf = NULL;
|
||||
|
||||
TRACE("(hfdi == ^%p, hf == %ld)\n", hfdi, hf);
|
||||
TRACE("(hfdi == ^%p, hf == %ld, cabsize == %ld)\n", hfdi, hf, cabsize);
|
||||
|
||||
do {
|
||||
if (len > maxlen) len = maxlen;
|
||||
if (!(buf = FDI_realloc(hfdi, buf, oldlen, len))) break;
|
||||
oldlen = len;
|
||||
if (!(buf = PFDI_ALLOC(hfdi, len))) break;
|
||||
if (!PFDI_READ(hfdi, hf, buf, len)) break;
|
||||
|
||||
/* search for a null terminator in what we've just read */
|
||||
|
@ -464,8 +442,13 @@ static char *FDI_read_string(HFDI hfdi, INT_PTR hf, long cabsize)
|
|||
ERR("cabinet is truncated\n");
|
||||
break;
|
||||
}
|
||||
len += 256;
|
||||
/* The buffer is too small for the string. Reset the file to the point
|
||||
* were we started, free the buffer and increase the size for the next try
|
||||
*/
|
||||
PFDI_SEEK(hfdi, hf, base, SEEK_SET);
|
||||
PFDI_FREE(hfdi, buf);
|
||||
buf = NULL;
|
||||
len *= 2;
|
||||
}
|
||||
} while (!ok);
|
||||
|
||||
|
|
Loading…
Reference in New Issue