Lines Matching +full:i +full:- +full:leak +full:- +full:current
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
42 int len = slash - path; in get_dirname()
104 /* Try current directory first */ in fopen_any_on_path()
107 cur_dir = current_srcfile->dir; in fopen_any_on_path()
111 for (node = search_path_head; !*fp && node; node = node->next) in fopen_any_on_path()
112 fullname = try_open(node->dirname, fname, fp); in fopen_any_on_path()
122 if (streq(fname, "-")) { in srcfile_relative_open()
152 srcfile->f = srcfile_relative_open(fname, &srcfile->name); in srcfile_push()
153 srcfile->dir = get_dirname(srcfile->name); in srcfile_push()
154 srcfile->prev = current_srcfile; in srcfile_push()
156 srcfile->lineno = 1; in srcfile_push()
157 srcfile->colno = 1; in srcfile_push()
168 current_srcfile = srcfile->prev; in srcfile_pop()
170 if (fclose(srcfile->f)) in srcfile_pop()
171 die("Error closing \"%s\": %s\n", srcfile->name, in srcfile_pop()
174 /* FIXME: We allow the srcfile_state structure to leak, in srcfile_pop()
189 node->next = NULL; in srcfile_add_search_path()
190 node->dirname = xstrdup(dirname); in srcfile_add_search_path()
197 search_path_tail = &node->next; in srcfile_add_search_path()
216 int i; in srcpos_update() local
218 pos->file = current_srcfile; in srcpos_update()
220 pos->first_line = current_srcfile->lineno; in srcpos_update()
221 pos->first_column = current_srcfile->colno; in srcpos_update()
223 for (i = 0; i < len; i++) in srcpos_update()
224 if (text[i] == '\n') { in srcpos_update()
225 current_srcfile->lineno++; in srcpos_update()
226 current_srcfile->colno = 1; in srcpos_update()
227 } else if (text[i] == '\t') { in srcpos_update()
228 current_srcfile->colno = in srcpos_update()
229 ALIGN(current_srcfile->colno, TAB_SIZE); in srcpos_update()
231 current_srcfile->colno++; in srcpos_update()
234 pos->last_line = current_srcfile->lineno; in srcpos_update()
235 pos->last_column = current_srcfile->colno; in srcpos_update()
252 const char *fname = "<no-file>"; in srcpos_string()
255 if (pos->file && pos->file->name) in srcpos_string()
256 fname = pos->file->name; in srcpos_string()
259 if (pos->first_line != pos->last_line) in srcpos_string()
260 xasprintf(&pos_str, "%s:%d.%d-%d.%d", fname, in srcpos_string()
261 pos->first_line, pos->first_column, in srcpos_string()
262 pos->last_line, pos->last_column); in srcpos_string()
263 else if (pos->first_column != pos->last_column) in srcpos_string()
264 xasprintf(&pos_str, "%s:%d.%d-%d", fname, in srcpos_string()
265 pos->first_line, pos->first_column, in srcpos_string()
266 pos->last_column); in srcpos_string()
269 pos->first_line, pos->first_column); in srcpos_string()
300 current_srcfile->name = f; in srcpos_set_line()
301 current_srcfile->lineno = l; in srcpos_set_line()