diff options
author | Petr Machata <pmachata@redhat.com> | 2012-10-31 03:28:39 +0100 |
---|---|---|
committer | Petr Machata <pmachata@redhat.com> | 2012-10-31 03:28:39 +0100 |
commit | 3240554e943bf773aa57b7e3e3bf80d7102a8b10 (patch) | |
tree | aaa6df697266abbbd2a8f0dacea439ef7b753e6f /proc.c | |
parent | 6d8aa0bba1fb9473f6e92738975f6be73a6ac722 (diff) | |
download | ltrace-3240554e943bf773aa57b7e3e3bf80d7102a8b10.tar.gz |
New function proc_each_symbol
Diffstat (limited to 'proc.c')
-rw-r--r-- | proc.c | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -999,3 +999,24 @@ proc_find_symbol(struct Process *proc, struct library_symbol *sym, return 0; } + +struct library_symbol * +proc_each_symbol(struct Process *proc, struct library_symbol *start_after, + enum callback_status (*cb)(struct library_symbol *, void *), + void *data) +{ + struct library *lib; + if (start_after != NULL) + lib = start_after->lib; + else + lib = proc->libraries; + + for (lib = start_after != NULL ? start_after->lib : proc->libraries; + lib != NULL; lib = lib->next) { + start_after = library_each_symbol(lib, start_after, cb, data); + if (start_after != NULL) + return start_after; + } + + return NULL; +} |