Lines Matching refs:tf

139 	struct tarfile *tf, *tfn;
145 tf = package->pkg_first;
146 while (tf != NULL) {
147 tfn = tf->tf_next;
148 if (tf->tf_cachesz > 0)
149 free(tf->tf_cache);
150 free(tf);
151 tf = tfn;
202 struct tarfile *tf;
238 tf = scan_tarfile(package, NULL);
239 while (tf != NULL) {
240 if (strcmp(fn, tf->tf_hdr.ut_name) == 0) {
241 f->f_fsdata = tf;
242 tf->tf_fp = 0; /* Reset the file pointer. */
245 tf = scan_tarfile(package, tf);
253 struct tarfile *tf;
255 tf = (struct tarfile *)f->f_fsdata;
256 if (tf == NULL)
262 if (tf->tf_fp == tf->tf_size && tf->tf_cachesz > 0) {
263 free(tf->tf_cache);
264 tf->tf_cachesz = 0;
272 struct tarfile *tf;
277 tf = (struct tarfile *)f->f_fsdata;
278 if (tf == NULL) {
284 fp = tf->tf_fp;
288 sz = tf->tf_size - fp;
289 if (fp < tf->tf_cachesz && tf->tf_cachesz < tf->tf_size)
290 sz = tf->tf_cachesz - fp;
296 if (fp < tf->tf_cachesz) {
298 memcpy(p, tf->tf_cache + fp, sz);
305 if (get_zipped(tf->tf_pkg, p, sz) == -1) {
314 if (tf->tf_cachesz != 0)
317 tf->tf_cachesz = (sz <= PKG_MAXCACHESZ) ? sz : PKG_MAXCACHESZ;
318 tf->tf_cache = malloc(tf->tf_cachesz);
319 if (tf->tf_cache != NULL)
320 memcpy(tf->tf_cache, buf, tf->tf_cachesz);
322 tf->tf_cachesz = 0;
325 tf->tf_fp = fp;
335 struct tarfile *tf;
340 tf = (struct tarfile *)f->f_fsdata;
341 if (tf == NULL) {
348 delta = ofs - tf->tf_fp;
354 delta = tf->tf_size - tf->tf_fp + ofs;
368 while (delta > 0 && tf->tf_fp < tf->tf_size) {
378 return (tf->tf_fp);
384 struct tarfile *tf;
386 tf = (struct tarfile *)f->f_fsdata;
387 if (tf == NULL)
390 sb->st_mode = get_mode(tf);
391 sb->st_size = tf->tf_size;
392 sb->st_blocks = (tf->tf_size + 511) / 512;
399 struct tarfile *tf;
401 tf = (struct tarfile *)f->f_fsdata;
402 if (tf != NULL)
405 tf = scan_tarfile(package, NULL);
406 if (tf == NULL)
412 memcpy(d->d_name, tf->tf_hdr.ut_name, sizeof(d->d_name));
471 cache_data(struct tarfile *tf)
476 if (tf == NULL) {
482 pkg = tf->tf_pkg;
489 if (tf->tf_ofs != pkg->pkg_ofs) {
491 __func__, tf->tf_hdr.ut_name));
497 if (tf->tf_size > PKG_MAXCACHESZ) {
503 sz = (tf->tf_size + 0x1ff) & ~0x1ff;
505 tf->tf_cache = malloc(sz);
506 if (tf->tf_cache == NULL) {
512 tf->tf_cachesz = sz;
513 return (get_zipped(pkg, tf->tf_cache, sz));
601 get_mode(struct tarfile *tf)
603 return (pkg_atol(tf->tf_hdr.ut_mode, sizeof(tf->tf_hdr.ut_mode)));