diff --git a/src/isync.h b/src/isync.h index d88894a..0fd196b 100644 --- a/src/isync.h +++ b/src/isync.h @@ -405,6 +405,7 @@ void cram( const char *challenge, const char *user, const char *pass, #define VERYQUIET 16 #define KEEPJOURNAL 32 #define ZERODELAY 64 +#define CRASHDEBUG 128 extern int DFlags; diff --git a/src/main.c b/src/main.c index 8d092a2..79b39e0 100644 --- a/src/main.c +++ b/src/main.c @@ -431,7 +431,10 @@ main( int argc, char **argv ) DFlags |= VERBOSE | QUIET; break; case 'D': - DFlags |= DEBUG | QUIET; + if (*ochar == 'C') + DFlags |= CRASHDEBUG, ochar++; + else + DFlags |= CRASHDEBUG | DEBUG | QUIET; break; case 'J': DFlags |= KEEPJOURNAL; @@ -450,7 +453,7 @@ main( int argc, char **argv ) } #ifdef __linux__ - if (DFlags & DEBUG) { + if (DFlags & CRASHDEBUG) { signal( SIGSEGV, crashHandler ); signal( SIGBUS, crashHandler ); signal( SIGILL, crashHandler );