Lines Matching defs:pz

29 restore(register Pz_t* pz, Pzpart_t* pp, register Sfio_t* ip, Sfio_t* op, register unsigned char* pat, register unsigned char* buf, size_t row, size_t m, register size_t* map, register unsigned char** mix, register size_t* inc)
35 writef = pz->disc->writef;
38 PZGETZ(pz, ip, z, i);
49 if ((*writef)(pz, op, buf, pz->disc) < 0)
54 if (pz->disc->errorf)
55 (*pz->disc->errorf)(pz, pz->disc, ERROR_SYSTEM|2, "write error");
59 PZGETP(pz, ip, z, i, break);
62 pat[z - 1] = *pz->nxt++;
63 PZGETP(pz, ip, z, i, break);
70 * pz inflate from pz->io to op
74 pzinflate(register Pz_t* pz, Sfio_t* op)
86 if (!(pz->flags & PZ_READ))
88 if (pz->disc->errorf)
89 (*pz->disc->errorf)(pz, pz->disc, ERROR_SYSTEM|2, "%s: cannot inflate -- not open for read", pz->path);
92 if (pz->flags & PZ_SPLIT)
93 return pzssplit(pz);
94 if (pz->flags & PZ_FORCE)
96 if (writef = pz->disc->writef)
98 n = pz->part->row;
101 if (!(pat = (unsigned char*)sfreserve(pz->io, n, 0)))
103 if (sfvalue(pz->io))
105 if (pz->disc->errorf)
106 (*pz->disc->errorf)(pz, pz->disc, 2, "%s: data corrupted", pz->path);
111 } while ((r = (*writef)(pz, op, pat, pz->disc)) >= 0);
115 else if (sfmove(pz->io, op, SF_UNBOUND, -1) < 0 || sferror(pz->io))
117 if (pz->disc->errorf)
118 (*pz->disc->errorf)(pz, pz->disc, 2, "%s: data corrupted", pz->path);
123 if (pz->disc->errorf)
124 (*pz->disc->errorf)(pz, pz->disc, 2, "%s: output write error", pz->path);
134 if (pz->prefix.count)
136 if (!pz->prefix.skip && pz->prefix.data && sfwrite(op, pz->prefix.data, pz->prefix.count) != pz->prefix.count)
138 if (pz->disc->errorf)
139 (*pz->disc->errorf)(pz, pz->disc, 2, "%s: output write error", pz->path);
142 pz->prefix.count = 0;
144 if ((pz->split.flags & (PZ_SPLIT_INFLATE|PZ_SPLIT_PART)) == PZ_SPLIT_INFLATE)
145 i = pzsinflate(pz, op);
158 pp = pz->part;
159 pat = pz->pat;
160 while (m = sfgetu(pz->io))
163 * hi frequency data in pz->buf
168 if (m > pz->win || (m % pp->nmap) || sfread(pz->io, pz->buf, m) != m)
170 if (pz->disc->errorf)
171 (*pz->disc->errorf)(pz, pz->disc, ERROR_SYSTEM|2, "%s: data corrupted", pz->path);
185 pp->mix[k++] = pz->buf + j;
191 if (pz->disc->errorf)
192 (*pz->disc->errorf)(pz, pz->disc, ERROR_SYSTEM|2, "%s: data corrupted", pz->path);
200 m = sfgetu(pz->io);
201 if (m < pp->row || sfread(pz->io, pat, pp->row) != pp->row)
203 if (pz->disc->errorf)
204 (*pz->disc->errorf)(pz, pz->disc, ERROR_SYSTEM|2, "%s: data corrupted", pz->path);
208 if (sfread(pz->io, pz->nxt = pz->val, m) != m)
210 if (pz->disc->errorf)
211 (*pz->disc->errorf)(pz, pz->disc, ERROR_SYSTEM|2, "%s: data corrupted", pz->path);
219 if (restore(pz, pp, pz->io, op, pat, pz->wrk, pp->row, k, pp->map, pp->mix, pp->inc))
222 if (!(pz->flags & PZ_SECTION))
224 if ((k = sfgetc(pz->io)) == PZ_MARK_PART)
226 if ((m = sfgetu(pz->io)) && !sferror(pz->io) && !sfeof(pz->io) && (pat = (unsigned char*)sfreserve(pz->io, m, 0)))
230 sfungetc(pz->io, k);
234 if (pz->disc->errorf)
235 (*pz->disc->errorf)(pz, pz->disc, ERROR_SYSTEM|2, "write error");
238 } while ((i = !(pz->flags & PZ_SECTION)) && (i = pzfile(pz)) > 0);
240 if (i >= 0 && !(pz->split.flags & PZ_SPLIT_PART) && sfsync(op))
242 if (pz->disc->errorf)
243 (*pz->disc->errorf)(pz, pz->disc, ERROR_SYSTEM|2, "write error");