4 #if defined(WITH_XAR) && defined(HAVE_XAR_H)
8 #if defined(__LCLINT__)
27 const char *
name,
char *buffer,
size_t length)
31 char **buffer,
size_t *size)
44 #define xar_open(_fn, _f) (NULL)
45 #define xar_close(_x) (1)
46 #define xar_iter_new() (NULL)
47 #define xar_iter_free(_i)
48 #define xar_file_first(_x, _i) (NULL)
49 #define xar_file_next(_i) (NULL)
50 #define xar_add_frombuffer(_x, _parent, _fn, _b, _bsize) (NULL)
51 #define xar_extract_tobuffersz(_x, _f, _b, _bsize) (1)
52 #define xar_get_path(_f) "*No XAR*"
53 #define xar_opt_set(_a1, _a2, _a3) (1)
54 #define XAR_OPT_COMPRESSION 0
55 #define XAR_OPT_VAL_NONE 0
56 #define XAR_OPT_VAL_GZIP 0
59 #define _RPMXAR_INTERNAL
89 xar->member =
_free(xar->member);
90 xar->b =
_free(xar->b);
100 if (_xarPool == NULL) {
111 int flags = ((fmode && *fmode ==
'w') ?
WRITE :
READ);
125 fprintf(stderr,
"--> rpmxarNext(%p) first %d\n", xar, xar->first);
133 return (xar->f == NULL ? 1 : 0);
138 int payload = !strcmp(fn,
"Payload");
142 fprintf(stderr,
"--> rpmxarPush(%p, %s) %p[%u] %02x%02x%02x%02x%02x%02x%02x%02x\n", xar, fn, b, (
unsigned)bsize, b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7]);
145 if (xar->x && b != NULL) {
162 if (fn != NULL && strcmp(fn, path)) {
166 xar->member =
_free(xar->member);
169 xar->b =
_free(xar->b);
170 xar->bsize = xar->bx = 0;
180 unsigned char * b = xar->b;
181 size_t bsize = xar->bsize;
182 fprintf(stderr,
"--> rpmxarPull(%p, %s) %p[%u] %02x%02x%02x%02x%02x%02x%02x%02x\n", xar, fn, b, (
unsigned)bsize, b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7]);
190 unsigned char ** obp,
size_t * obsizep)
193 fprintf(stderr,
"--> rpmxarSwapBuf(%p, %p[%u], %p, %p) %p[%u]\n", xar, b, (
unsigned) bsize, obp, obsizep, xar->b, (
unsigned) xar->bsize);
197 *obsizep = xar->bsize;
204 xar->b =
_free(xar->b);
215 ssize_t
xarRead(
void * cookie,
char * buf,
size_t count)
228 rc = xar->bsize - xar->bx;
230 if (count < (
size_t)rc) rc = count;
231 assert(xar->b != NULL);
232 memmove(buf, &xar->b[xar->bx], rc);
241 fprintf(stderr,
"--> xarRead(%p,%p,0x%x) %s %p[%u:%u] rc 0x%x\n", cookie, buf, (
unsigned)count, (xar->member ? xar->member :
"(nil)"), xar->b, (
unsigned)xar->bx, (
unsigned)xar->bsize, (
unsigned)rc);