Lines Matching refs:fname
47 static void set_initial_path(char *fname)
49 int i, len = strlen(fname);
51 xasprintf(&initial_path, "%s", fname);
58 static char *shorten_to_initial_path(char *fname)
63 for (p1 = fname, p2 = initial_path; *p1 && *p2; p1++, p2++) {
74 int restlen = strlen(fname) - (p1 - fname);
96 * @param fname Filename to look for
100 static char *try_open(const char *dirname, const char *fname, FILE **fp)
104 if (!dirname || fname[0] == '/')
105 fullname = xstrdup(fname);
107 fullname = join_path(dirname, fname);
123 * @param fname Filename to open
127 static char *fopen_any_on_path(const char *fname, FILE **fp)
137 fullname = try_open(cur_dir, fname, fp);
141 fullname = try_open(node->dirname, fname, fp);
146 FILE *srcfile_relative_open(const char *fname, char **fullnamep)
151 if (streq(fname, "-")) {
155 fullname = fopen_any_on_path(fname, &f);
157 die("Couldn't open \"%s\": %s\n", fname,
172 void srcfile_push(const char *fname)
181 srcfile->f = srcfile_relative_open(fname, &srcfile->name);
289 const char *fname = "<no-file>";
293 fname = pos->file->name;
297 xasprintf(&pos_str, "%s:%d.%d-%d.%d", fname,
301 xasprintf(&pos_str, "%s:%d.%d-%d", fname,
305 xasprintf(&pos_str, "%s:%d.%d", fname,
314 char *pos_str, *fname, *first, *rest;
327 fname = "<no-file>";
329 fname = "<no-filename>";
331 fname = pos->file->name;
333 fname = shorten_to_initial_path(pos->file->name);
334 if (fname)
337 fname = pos->file->name;
341 xasprintf(&first, "%s:%d:%d-%d:%d", fname,
345 xasprintf(&first, "%s:%d", fname,
349 free(fname);