3 * Written by Jan Roeloffzen
5 * - Custom match routines
11 #include "log2lines.h"
14 // break pattern: show source+line
15 static int match_break(FILE *outFile
, char *Line
, int processed
)
19 if ( processed
) return processed
;
30 // "mod" command: update relocated addresses
31 static int match_mod(FILE *outFile
, char *Line
, int processed
)
41 if ( processed
) return processed
;
42 if ( (cnt
= sscanf(Line
," Base Size %5s", Image
)) == 1 )
44 l2l_dbg(1, "Module relocate list:\n");
51 if ( (cnt
= sscanf(Line
,"%lx %lx %20s", &Base
, &Size
, Image
)) == 3 )
53 if (( plm
= entry_lookup(&cache
, Image
) ))
57 l2l_dbg(1, "Relocated: %s %08x -> %08x\n", Image
, plm
->ImageBase
, plm
->RelBase
);
72 int match_line(FILE *outFile
, char *Line
)
76 if ( *Line
== '\n' || *Line
== '\0' )
78 if ( strncmp(Line
, KDBG_CONT
, sizeof(KDBG_CONT
)-1 ) == 0 )
81 processed
= match_mod(outFile
, Line
, processed
);
82 processed
= match_break(outFile
, Line
, processed
);
83 /* more to be appended here:
84 * processed = match_xxx(outFile, Line, processed );
88 return (int)(Line
[0]);