Lines Matching refs:pos

256 void srcpos_update(struct srcpos *pos, const char *text, int len)  in srcpos_update()  argument
260 pos->file = current_srcfile; in srcpos_update()
262 pos->first_line = current_srcfile->lineno; in srcpos_update()
263 pos->first_column = current_srcfile->colno; in srcpos_update()
273 pos->last_line = current_srcfile->lineno; in srcpos_update()
274 pos->last_column = current_srcfile->colno; in srcpos_update()
278 srcpos_copy(struct srcpos *pos) in srcpos_copy() argument
283 if (!pos) in srcpos_copy()
287 assert(pos->next == NULL); in srcpos_copy()
288 memcpy(pos_new, pos, sizeof(struct srcpos)); in srcpos_copy()
292 memcpy(srcfile_state, pos->file, sizeof(struct srcfile_state)); in srcpos_copy()
298 struct srcpos *srcpos_extend(struct srcpos *pos, struct srcpos *newtail) in srcpos_extend() argument
302 if (!pos) in srcpos_extend()
305 for (p = pos; p->next != NULL; p = p->next); in srcpos_extend()
307 return pos; in srcpos_extend()
310 void srcpos_free(struct srcpos *pos) in srcpos_free() argument
314 while (pos) { in srcpos_free()
315 p_next = pos->next; in srcpos_free()
316 free(pos); in srcpos_free()
317 pos = p_next; in srcpos_free()
322 srcpos_string(struct srcpos *pos) in srcpos_string() argument
327 if (pos->file && pos->file->name) in srcpos_string()
328 fname = pos->file->name; in srcpos_string()
331 if (pos->first_line != pos->last_line) in srcpos_string()
333 pos->first_line, pos->first_column, in srcpos_string()
334 pos->last_line, pos->last_column); in srcpos_string()
335 else if (pos->first_column != pos->last_column) in srcpos_string()
337 pos->first_line, pos->first_column, in srcpos_string()
338 pos->last_column); in srcpos_string()
341 pos->first_line, pos->first_column); in srcpos_string()
347 srcpos_string_comment(struct srcpos *pos, bool first_line, int level) in srcpos_string_comment() argument
352 if (!pos) { in srcpos_string_comment()
361 if (!pos->file) in srcpos_string_comment()
363 else if (!pos->file->name) in srcpos_string_comment()
366 fname = pos->file->name; in srcpos_string_comment()
368 fresh_fname = shorten_to_initial_path(pos->file->name); in srcpos_string_comment()
372 fname = pos->file->name; in srcpos_string_comment()
377 pos->first_line, pos->first_column, in srcpos_string_comment()
378 pos->last_line, pos->last_column); in srcpos_string_comment()
381 first_line ? pos->first_line : pos->last_line); in srcpos_string_comment()
386 if (pos->next != NULL) { in srcpos_string_comment()
387 rest = srcpos_string_comment(pos->next, first_line, level); in srcpos_string_comment()
398 char *srcpos_string_first(struct srcpos *pos, int level) in srcpos_string_first() argument
400 return srcpos_string_comment(pos, true, level); in srcpos_string_first()
403 char *srcpos_string_last(struct srcpos *pos, int level) in srcpos_string_last() argument
405 return srcpos_string_comment(pos, false, level); in srcpos_string_last()
408 void srcpos_verror(struct srcpos *pos, const char *prefix, in srcpos_verror() argument
413 srcstr = srcpos_string(pos); in srcpos_verror()
422 void srcpos_error(struct srcpos *pos, const char *prefix, in srcpos_error() argument
428 srcpos_verror(pos, prefix, fmt, va); in srcpos_error()