202{
203#ifndef __OPTIMIZE__
205
209 {
211 {
213 {
215 break;
216 }
217 }
219 }
220#ifdef OM_TRACK_RETURN
223#endif
224#ifndef OM_INTERNAL_DEBUG
226 {
227#ifdef OM_TRACK_RETURN
230#endif
231#ifdef OM_TRACK_FILE_LINE
234#endif
235
236
237#if defined(OM_TRACK_RETURN) && defined(OM_TRACK_FILE_LINE)
238 if (r !=
NULL &&
info[0].addr == r &&
l > 0 &&
f != 0)
239 {
240 strcpy(
info[0].file,
f);
242 }
243#endif
244 }
246 {
247#endif
248
249#ifdef OM_TRACK_FILE_LINE
250 fprintf(
fd,
" %s:%d",
f,
l);
251#endif
252#ifdef OM_TRACK_RETURN
253 fprintf(
fd,
" ra=%p", r);
254#endif
255
256#ifndef OM_INTERNAL_DEBUG
257 return 1;
258 }
259 else
260#endif
261#ifdef OM_PRINT_RETURN_ADDRESS
263#else
265#endif
266#else
267 return 0;
268#endif
269}
int omPrintRetInfo(omRetInfo info, int max, FILE *fd, const char *fmt)
int omBackTrace_2_RetInfo(void **bt, omRetInfo info, int max)
#define OM_MAX_BACKTRACE_DEPTH
#define omFilterRetInfo(info, max, cond)