Lines Matching refs:gen

78  * open a file generation according to the current settings of gen
84 FILEGEN *gen,
94 len = strlen(gen->prefix) + strlen(gen->basename) + 1;
96 sprintf(basename, "%s%s", gen->prefix, gen->basename);
98 switch(gen->type) {
101 gen->type, basename);
102 gen->type = FILEGEN_NONE;
158 if (gen->type != FILEGEN_NONE) {
229 gen->type, (u_long)newid, filename);
245 if (gen->fp != NULL) {
246 fclose(gen->fp);
248 gen->fp = fp;
249 gen->id = newid;
251 if (gen->flag & FGEN_FLAG_LINK) {
255 * gen->basename spanning directory levels
283 * this function sets up gen->fp to point to the correct
292 FILEGEN *gen,
299 if (!(gen->flag & FGEN_FLAG_ENABLED)) {
300 if (gen->fp != NULL)
301 fclose(gen->fp);
305 switch (gen->type) {
307 if (gen->fp != NULL) return; /* file already open */
357 if (gen->fp == NULL || gen->id != new_gen) {
360 printf("filegen %0x %lu %lu %lu\n", gen->type, now,
361 gen->id, new_gen);
363 filegen_open(gen, new_gen);
373 FILEGEN *gen,
382 if ((basename == gen->basename || strcmp(basename,gen->basename) == 0) &&
383 type == gen->type &&
384 flag == gen->flag)
390 if (!valid_fileref(gen->prefix,basename))
393 if (gen->fp != NULL)
394 fclose(gen->fp);
399 gen->prefix, gen->basename, basename, gen->type, type, gen->flag, flag);
401 if (gen->basename != basename || strcmp(gen->basename, basename) != 0) {
402 free(gen->basename);
403 gen->basename = (char*)emalloc(strlen(basename) + 1);
404 strcpy(gen->basename, basename);
406 gen->type = (u_char) type;
407 gen->flag = (u_char) flag;
415 if (gen->fp != NULL) {
419 filegen_setup(gen, now.l_ui);