const char *
_tor_fix_source_file(const char *fname)
{
- const char *cp1, *cp2;
+ const char *cp1, *cp2, *r;
cp1 = strrchr(fname, '/');
cp2 = strrchr(fname, '\\');
if (cp1 && cp2) {
- return (cp1<cp2)?(cp2+1):(cp1+1);
+ r = (cp1<cp2)?(cp2+1):(cp1+1);
} else if (cp1) {
- return cp1+1;
+ r = cp1+1;
} else if (cp2) {
- return cp2+2;
+ r = cp2+1;
} else {
- return fname;
+ r = fname;
}
+ return r;
}
#ifndef UNALIGNED_INT_ACCESS_OK
if (!(expr)) { \
log(LOG_ERR, "%s:%d: %s: Assertion %s failed; aborting.", \
_SHORT_FILE_, __LINE__, __FUNCTION__, #expr); \
- assert(expr); /* write to console too. */ \
+ fprintf(stderr,"%s:%d %s: Assertion %s failed; aborting.\n", \
+ _SHORT_FILE_, __LINE__, __FUNCTION__, #expr); \
abort(); /* unreached */ \
} } while (0)
#endif