Lines Matching refs:encode
224 sfsprintf(fp->encode.file, sizeof(fp->encode.file), "%s/%s", path, findnames[k]); in findopen()
225 if (!eaccess(fp->encode.file, R_OK|W_OK)) in findopen()
227 path = fp->encode.file; in findopen()
230 if (strchr(findnames[k], '/') && (b = strrchr(fp->encode.file, '/'))) in findopen()
233 if (!stat(fp->encode.file, &st) && st.st_uid == uid && (st.st_mode & S_IWUSR)) in findopen()
236 path = fp->encode.file; in findopen()
246 sfsprintf(fp->encode.file, sizeof(fp->encode.file), "%s", path); in findopen()
247 path = fp->encode.file; in findopen()
253 sfsprintf(fp->encode.file, sizeof(fp->encode.file), "%s", path); in findopen()
254 if (b = strrchr(fp->encode.file, '/')) in findopen()
257 if (!stat(fp->encode.file, &st) && st.st_uid == uid && (st.st_mode & S_IWUSR)) in findopen()
260 path = fp->encode.file; in findopen()
266 else if (pathpath(fp->encode.file, path, "", PATH_REGULAR|PATH_READ|PATH_WRITE)) in findopen()
268 path = fp->encode.file; in findopen()
273 sfsprintf(fp->encode.file, sizeof(fp->encode.file), "%-.*s", b - path, path); in findopen()
274 if (pathpath(fp->encode.temp, fp->encode.file, "", PATH_EXECUTE|PATH_READ|PATH_WRITE) && in findopen()
275 !stat(fp->encode.temp, &st) && st.st_uid == uid && (st.st_mode & S_IWUSR)) in findopen()
277 sfsprintf(fp->encode.file, sizeof(fp->encode.file), "%s%s", fp->encode.temp, b); in findopen()
278 path = fp->encode.file; in findopen()
318 if (!pathtemp(fp->encode.temp, sizeof(fp->encode.temp), p, "ff", &fd)) in findopen()
329 (*fp->disc->errorf)(fp, fp->disc, ERROR_SYSTEM|2, "%s: cannot open tmp file", fp->encode.temp); in findopen()
336 fp->encode.namedisc.key = offsetof(Type_t, name); in findopen()
337 fp->encode.namedisc.link = offsetof(Type_t, byname); in findopen()
338 fp->encode.indexdisc.key = offsetof(Type_t, index); in findopen()
339 fp->encode.indexdisc.size = sizeof(unsigned long); in findopen()
340 fp->encode.indexdisc.link = offsetof(Type_t, byindex); in findopen()
342 …if (!(fp->encode.namedict = dtopen(&fp->encode.namedisc, Dttree)) || !(fp->encode.indexdict = dtop… in findopen()
344 if (fp->encode.namedict) in findopen()
345 dtclose(fp->encode.namedict); in findopen()
357 dtinsert(fp->encode.namedict, tp); in findopen()
358 dtinsert(fp->encode.indexdict, tp); in findopen()
962 len = sfsprintf(fp->encode.mark, sizeof(fp->encode.mark), "%-.*s/", len, path); in findwrite()
963 path = fp->encode.mark; in findwrite()
968 if (len < sizeof(fp->encode.path)) in findwrite()
972 len = sizeof(fp->encode.path) - 1; in findwrite()
975 p = (unsigned char*)fp->encode.path; in findwrite()
986 d = n - fp->encode.prefix; in findwrite()
995 fp->encode.prefix = n; in findwrite()
999 sfprintf(fp->fp, "%ld", n - fp->encode.prefix + FF_OFF); in findwrite()
1000 fp->encode.prefix = n; in findwrite()
1008 fp->encode.code[n][*s++]++; in findwrite()
1021 type = (const char*)typefix((char*)fp->encode.bigram, sizeof(fp->encode.bigram), type); in findwrite()
1022 if (x = (Type_t*)dtmatch(fp->encode.namedict, type)) in findwrite()
1030 dtinsert(fp->encode.namedict, x); in findwrite()
1031 dtinsert(fp->encode.indexdict, x); in findwrite()
1039 d = n - fp->encode.prefix; in findwrite()
1041 fp->encode.prefix = n; in findwrite()
1045 memcpy(fp->encode.path, path, len); in findwrite()
1061 (*fp->disc->errorf)(fp, fp->disc, 2, "%s: write error [sfsync]", fp->encode.file); in finddone()
1067 (*fp->disc->errorf)(fp, fp->disc, 2, "%s: write error [sferror]", fp->encode.file); in finddone()
1075 (*fp->disc->errorf)(fp, fp->disc, 2, "%s: write error [sfclose]", fp->encode.file); in finddone()
1108 remove(fp->encode.file); in findsync()
1109 if (rename(fp->encode.temp, fp->encode.file)) in findsync()
1112 … fp->disc, ERROR_SYSTEM|2, "%s: cannot rename from tmp file %s", fp->encode.file, fp->encode.temp); in findsync()
1113 remove(fp->encode.temp); in findsync()
1124 fp->encode.hits[fp->encode.code[n][m]]++; in findsync()
1125 fp->encode.hits[0] = 0; in findsync()
1128 if (d = fp->encode.hits[n]) in findsync()
1130 fp->encode.hits[n] = m; in findsync()
1135 fp->encode.hits[n] = 0; in findsync()
1138 if (fp->encode.hits[fp->encode.code[n][m]]) in findsync()
1140 d = fp->encode.code[n][m]; in findsync()
1141 b = fp->encode.hits[d] - 1; in findsync()
1142 fp->encode.code[n][m] = b + FF_MAX; in findsync()
1143 if (fp->encode.hits[d]++ >= FF_MAX) in findsync()
1144 fp->encode.hits[d] = 0; in findsync()
1145 fp->encode.bigram[b *= 2] = n; in findsync()
1146 fp->encode.bigram[b + 1] = m; in findsync()
1149 fp->encode.code[n][m] = 0; in findsync()
1161 if (!(sp = sfopen(NiL, fp->encode.file, "w"))) in findsync()
1168 sfwrite(sp, fp->encode.bigram, sizeof(fp->encode.bigram)); in findsync()
1195 if (d = fp->encode.code[n][m]) in findsync()
1212 if (!(fp->fp = sfopen(NiL, fp->encode.temp, "r"))) in findsync()
1215 (*fp->disc->errorf)(fp, fp->disc, ERROR_SYSTEM|2, "%s: cannot read tmp file", fp->encode.temp); in findsync()
1216 remove(fp->encode.temp); in findsync()
1224 if (!(sp = sfopen(NiL, fp->encode.file, "w"))) in findsync()
1238 for (x = (Type_t*)dtfirst(fp->encode.indexdict); x; x = (Type_t*)dtnext(fp->encode.indexdict, x)) in findsync()
1250 (*fp->disc->errorf)(fp, fp->disc, 2, "%s: cannot append codes", fp->encode.file); in findsync()
1257 remove(fp->encode.temp); in findsync()
1263 (*fp->disc->errorf)(fp, fp->disc, 2, "%s: cannot write codes", fp->encode.file); in findsync()
1270 remove(fp->encode.temp); in findsync()
1288 if (fp->encode.indexdict) in findclose()
1289 dtclose(fp->encode.indexdict); in findclose()
1290 if (fp->encode.namedict) in findclose()
1291 dtclose(fp->encode.namedict); in findclose()