This source file includes following definitions.
- fpm_trace_get_strz
1
2
3
4
5 #include "fpm_config.h"
6
7 #include <sys/types.h>
8
9 #include "fpm_trace.h"
10
11 int fpm_trace_get_strz(char *buf, size_t sz, long addr)
12 {
13 int i;
14 long l;
15 char *lc = (char *) &l;
16
17 if (0 > fpm_trace_get_long(addr, &l)) {
18 return -1;
19 }
20
21 i = l % SIZEOF_LONG;
22 l -= i;
23 for (addr = l; ; addr += SIZEOF_LONG) {
24 if (0 > fpm_trace_get_long(addr, &l)) {
25 return -1;
26 }
27 for ( ; i < SIZEOF_LONG; i++) {
28 --sz;
29 if (sz && lc[i]) {
30 *buf++ = lc[i];
31 continue;
32 }
33 *buf = '\0';
34 return 0;
35 }
36 i = 0;
37 }
38 }
39
40
41