| 816 | ******************************************************************************/ |
| 817 | |
| 818 | int /* rcode */ |
| 819 | stack_pc_getlist( |
| 820 | ucontext_t *context, /* or NULL for current context */ |
| 821 | void **pcArray, /* output array of program counters */ |
| 822 | unsigned pcArraySize, /* number of elements in pcArray */ |
| 823 | unsigned *pcOutCount /* number of program counters returned */ |
| 824 | ) |
| 825 | { |
| 826 | |
| 827 | struct pclist_add_arg_t arg; |
| 828 | int rcode = ENOIMPL, stackmin; |
| 829 | |
| 830 | arg.pcArray = pcArray; |
| 831 | arg.pcMaxCount = pcArraySize; |
| 832 | arg.pcOutCount = 0; |
| 833 | |
| 834 | if (gbl_walkback_enabled) { |
| 835 | rcode = stack_pc_walkback(context, pcArraySize, pclist_add, &arg); |
| 836 | } |
| 837 | |
| 838 | *pcOutCount = arg.pcOutCount; |
| 839 | |
| 840 | stackmin = pcArraySize < arg.pcOutCount ? pcArraySize : arg.pcOutCount; |
| 841 | trace_pc_getlist(pcArray, stackmin, stderr); |
| 842 | return rcode; |
| 843 | } /* end of stack_pc_getlist() */ |
| 844 | |
| 845 | #define MAXFRAMES 100 |
| 846 |
no test coverage detected