00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014 # include "parm.h"
00015 # include <stdio.h>
00016
00017 # define NIL 0
00018 # define DEBUG DEBUG
00019
00020
00021
00022
00023
00024
00025
00026
00027 typedef struct VrLine{
00028 int vr_vline,
00029
00030 vr_rline,
00031 vr_fname;
00032 struct VrLine * vr_next; } vrline;
00033
00034 extern vrline * vrtable;
00035
00036 static vrline * vrptr = NIL;
00037
00038 static int lastvl;
00039
00040 findvl(vln)
00041 register int vln;
00042 {
00043 register vrline *p,
00044 *q;
00045 lastvl = vln;
00046 p = vrtable;
00047 q = NIL;
00048 while ( p != NIL && ((p -> vr_vline) <= vln) ) {
00049 q = p;
00050 p = p -> vr_next;
00051 }
00052 vrptr = q;
00053 # ifdef DEBUG
00054 if ( q == NIL ) {
00055 dbgmsg("findvl: no vrline entry for vline: %d\n", vln);
00056 abort();
00057 }
00058 # endif
00059 }
00060
00061 char *
00062 getfn()
00063 {
00064 # ifdef DEBUG
00065 if ( vrptr == NIL ) {
00066 dbgmsg("getfn: ommitted call to findvl\n");
00067 abort();
00068 }
00069 # endif
00070 return( vrptr -> vr_fname );
00071 }
00072
00073 getrl()
00074 {
00075 # ifdef DEBUG
00076 if ( vrptr == NIL ) {
00077 dbgmsg("getrl: ommitted call to findvl\n");
00078 abort();
00079 }
00080 # endif
00081
00082 return( (vrptr -> vr_rline) + (lastvl - (vrptr -> vr_vline)) );
00083 }
00084
00085