1*4882a593Smuzhiyun #ifndef SRCCODE_H 2*4882a593Smuzhiyun #define SRCCODE_H 1 3*4882a593Smuzhiyun 4*4882a593Smuzhiyun struct srccode_state { 5*4882a593Smuzhiyun char *srcfile; 6*4882a593Smuzhiyun unsigned line; 7*4882a593Smuzhiyun }; 8*4882a593Smuzhiyun srccode_state_init(struct srccode_state * state)9*4882a593Smuzhiyunstatic inline void srccode_state_init(struct srccode_state *state) 10*4882a593Smuzhiyun { 11*4882a593Smuzhiyun state->srcfile = NULL; 12*4882a593Smuzhiyun state->line = 0; 13*4882a593Smuzhiyun } 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun void srccode_state_free(struct srccode_state *state); 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun /* Result is not 0 terminated */ 18*4882a593Smuzhiyun char *find_sourceline(char *fn, unsigned line, int *lenp); 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun #endif 21