Lines Matching defs:zfp

3301 static ssize_t getrec_multiline(struct zfile *zfp)
3305 k = getdelim(&zfp->recbuf_multi, &zfp->recbufsize_multi, '\n', zfp->fp);
3306 } while (k > 0 && zfp->recbuf_multi[0] == '\n');
3307 TT.rgl.recptr = zfp->recbuf_multi;
3312 kk = getdelim(&zfp->recbuf_multx, &zfp->recbufsize_multx, '\n', zfp->fp);
3313 if (kk < 0 || zfp->recbuf_multx[0] == '\n') break;
3314 // data is in zfp->recbuf_multi[0..k-1]; append to it
3315 if ((size_t)(k + kk + 1) > zfp->recbufsize_multi)
3316 zfp->recbuf_multi =
3317 xrealloc(zfp->recbuf_multi, zfp->recbufsize_multi = k + kk + 1);
3318 memmove(zfp->recbuf_multi + k, zfp->recbuf_multx, kk+1);
3321 if (k > 1 && zfp->recbuf_multi[k-1] == '\n') zfp->recbuf_multi[--k] = 0;
3322 TT.rgl.recptr = zfp->recbuf_multi;
3337 static ssize_t getrec_f(struct zfile *zfp)
3340 if (!rs) return getrec_multiline(zfp);
3347 if (zfp->recoffs == zfp->endoffs) {
3350 if (!zfp->recbuf)
3351 zfp->recbuf = xmalloc((zfp->recbufsize = INIT_RECBUF_LEN) + 1);
3352 zfp->endoffs = fread(zfp->recbuf, 1, zfp->recbufsize, zfp->fp);
3353 zfp->recoffs = 0;
3354 zfp->recbuf[zfp->endoffs] = 0;
3355 if (!zfp->endoffs) break;
3357 TT.rgl.recptr = zfp->recbuf + zfp->recoffs;
3358 r = rx_findx(rsrxp, TT.rgl.recptr, zfp->endoffs - zfp->recoffs, &so, &eo, 0);
3360 if (r || zfp->recoffs + eo > (int)zfp->recbufsize - RS_LENGTH_MARGIN) {
3362 if (zfp->endoffs < (int)zfp->recbufsize &&
3363 (r || zfp->recoffs + eo == zfp->endoffs)) {
3364 ret = zfp->endoffs - zfp->recoffs;
3365 zfp->recoffs = zfp->endoffs;
3368 if (zfp->recoffs) {
3369 memmove(zfp->recbuf, TT.rgl.recptr, zfp->endoffs - zfp->recoffs);
3370 zfp->endoffs -= zfp->recoffs;
3371 zfp->recoffs = 0;
3372 } else zfp->recbuf =
3373 xrealloc(zfp->recbuf, (zfp->recbufsize = zfp->recbufsize * 3 / 2) + 1);
3374 zfp->endoffs += fread(zfp->recbuf + zfp->endoffs,
3375 1, zfp->recbufsize - zfp->endoffs, zfp->fp);
3376 zfp->recbuf[zfp->endoffs] = 0;
3381 zfp->recoffs += eo;
3400 static ssize_t getrec_f0_f(struct zfile *zfp)
3402 ssize_t k = getrec_f(zfp);
3424 static int awk_getline(int source, struct zfile *zfp, struct zvalue *v)
3428 if (is_stream && !zfp->fp) return -1;
3430 if ((k = is_stream ? getrec_f(zfp) : getrec()) < 0) return 0;
3439 } else k = is_stream ? getrec_f0_f(zfp) : getrec_f0();
4102 struct zfile *zfp = 0;
4104 zfp = setup_file(source == tklt, "r");
4120 if (zfp != badfile) push_int_val(awk_getline(source, zfp, v));