rpmwf.c | rpmwf.c | |||
---|---|---|---|---|
skipping to change at line 60 | skipping to change at line 60 | |||
rpmRC rpmwfPullXAR(rpmwf wf, const char * fn) | rpmRC rpmwfPullXAR(rpmwf wf, const char * fn) | |||
{ | { | |||
rpmRC rc = RPMRC_OK; | rpmRC rc = RPMRC_OK; | |||
char * b = NULL; | char * b = NULL; | |||
size_t nb = 0; | size_t nb = 0; | |||
int xx; | int xx; | |||
xx = rpmxarPull(wf->xar, fn); | xx = rpmxarPull(wf->xar, fn); | |||
if (xx == 1) | if (xx == 1) | |||
return RPMRC_NOTFOUND; | return RPMRC_NOTFOUND; | |||
xx = rpmxarSwapBuf(wf->xar, NULL, 0, (void *)&b, &nb); | xx = rpmxarSwapBuf(wf->xar, NULL, 0, (unsigned char **)&b, &nb); | |||
if (_rpmwf_debug) | if (_rpmwf_debug) | |||
fprintf(stderr, "==> rpmwfPullXAR(%p, %s) %p[%u]\n", wf, fn, b, (unsigned) nb); | fprintf(stderr, "==> rpmwfPullXAR(%p, %s) %p[%u]\n", wf, fn, b, (unsigned) nb); | |||
if (!strcmp(fn, "Lead")) { | if (!strcmp(fn, "Lead")) { | |||
wf->l = b; | wf->l = b; | |||
wf->nl = nb; | wf->nl = nb; | |||
} else | } else | |||
if (!strcmp(fn, "Signature")) { | if (!strcmp(fn, "Signature")) { | |||
wf->s = b; | wf->s = b; | |||
skipping to change at line 135 | skipping to change at line 135 | |||
if (fmode && *fmode == 'r') { | if (fmode && *fmode == 'r') { | |||
wf->b = mmap(NULL, wf->nb, PROT_READ, MAP_SHARED, Fileno(wf->fd), 0L ); | wf->b = mmap(NULL, wf->nb, PROT_READ, MAP_SHARED, Fileno(wf->fd), 0L ); | |||
if (wf->b == (void *)-1) { | if (wf->b == (void *)-1) { | |||
wf->b = NULL; | wf->b = NULL; | |||
(void) rpmwfFini(wf); | (void) rpmwfFini(wf); | |||
return RPMRC_NOTFOUND; | return RPMRC_NOTFOUND; | |||
} | } | |||
wf->l = wf->b; | wf->l = (char *) wf->b; | |||
assert(wf->l != NULL); | assert(wf->l != NULL); | |||
wf->nl = 96; | wf->nl = 96; | |||
wf->s = wf->l + wf->nl; | wf->s = wf->l + wf->nl; | |||
wf->ns = hSize((void *)wf->s); | wf->ns = hSize((rpmuint32_t *)wf->s); | |||
wf->ns += ((8 - (wf->ns % 8)) % 8); /* padding */ | wf->ns += ((8 - (wf->ns % 8)) % 8); /* padding */ | |||
wf->h = wf->s + wf->ns; | wf->h = wf->s + wf->ns; | |||
wf->nh = hSize((void *)wf->h); | wf->nh = hSize((rpmuint32_t *)wf->h); | |||
wf->p = wf->h + wf->nh; | wf->p = wf->h + wf->nh; | |||
wf->np = wf->nb; | wf->np = wf->nb; | |||
wf->np -= wf->nl + wf->ns + wf->nh; | wf->np -= wf->nl + wf->ns + wf->nh; | |||
} | } | |||
return RPMRC_OK; | return RPMRC_OK; | |||
} | } | |||
rpmRC rpmwfPushRPM(rpmwf wf, const char * fn) | rpmRC rpmwfPushRPM(rpmwf wf, const char * fn) | |||
skipping to change at line 193 | skipping to change at line 193 | |||
return RPMRC_FAIL; | return RPMRC_FAIL; | |||
return RPMRC_OK; | return RPMRC_OK; | |||
} | } | |||
/*@-mustmod@*/ | /*@-mustmod@*/ | |||
static void rpmwfScrub(void *_wf) | static void rpmwfScrub(void *_wf) | |||
/*@globals fileSystem, internalState @*/ | /*@globals fileSystem, internalState @*/ | |||
/*@modifies _wf, fileSystem, internalState @*/ | /*@modifies _wf, fileSystem, internalState @*/ | |||
{ | { | |||
rpmwf wf = _wf; | rpmwf wf = (rpmwf) _wf; | |||
if (wf->b == NULL) { | if (wf->b == NULL) { | |||
/*@-dependenttrans -onlytrans @*/ /* rpm needs dependent, xar needs on ly */ | /*@-dependenttrans -onlytrans @*/ /* rpm needs dependent, xar needs on ly */ | |||
wf->l = _free(wf->l); | wf->l = _free(wf->l); | |||
wf->s = _free(wf->s); | wf->s = _free(wf->s); | |||
wf->h = _free(wf->h); | wf->h = _free(wf->h); | |||
wf->p = _free(wf->p); | wf->p = _free(wf->p); | |||
/*@=dependenttrans =onlytrans @*/ | /*@=dependenttrans =onlytrans @*/ | |||
} | } | |||
End of changes. 5 change blocks. | ||||
5 lines changed or deleted | 5 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |