From 70ac6784ac749ecc479163806a4e23930ce6ae17 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Thu, 26 May 2005 10:47:49 +0200 Subject: [PATCH] Moved the NPTL and UTF-8 checks after the version and help output --- CONTRIBUTORS | 1 + HISTORY | 2 ++ vdr.c | 40 ++++++++++++++++++++-------------------- 3 files changed, 23 insertions(+), 20 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 28d08f22..a69dd21f 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -646,6 +646,7 @@ Andreas Kool for fixing detecting the /dev/videoN devices for GRAB in case there are others before the DVB devices for fixing a possible NULL pointer access in cEITScanner::Process() + for pointing out that 'vdr --version' failed on an UTF-8 system Guy Roussin for suggesting not to display channel group delimiters without text diff --git a/HISTORY b/HISTORY index cea62b8c..c608f17f 100644 --- a/HISTORY +++ b/HISTORY @@ -3561,3 +3561,5 @@ Video Disk Recorder Revision History Oliver Endriss). - No longer stopping Transfer Mode or replay immediately when the Power button is pressed (thanks to Rolf Ahrenberg). +- Moved the NPTL and UTF-8 checks after the version and help output (thanks to + Andreas Kool for pointing out that 'vdr --version' failed on an UTF-8 system). diff --git a/vdr.c b/vdr.c index 4f495fe0..10a5888f 100644 --- a/vdr.c +++ b/vdr.c @@ -22,7 +22,7 @@ * * The project's page is at http://www.cadsoft.de/vdr * - * $Id: vdr.c 1.206 2005/05/26 10:30:18 kls Exp $ + * $Id: vdr.c 1.207 2005/05/26 10:45:29 kls Exp $ */ #include @@ -87,25 +87,6 @@ static void Watchdog(int signum) int main(int argc, char *argv[]) { -#ifdef _CS_GNU_LIBPTHREAD_VERSION - // Check for NPTL and exit if present - VDR apparently doesn't run well with NPTL: - char LibPthreadVersion[128]; - if (confstr(_CS_GNU_LIBPTHREAD_VERSION, LibPthreadVersion, sizeof(LibPthreadVersion)) > 0) { - if (strstr(LibPthreadVersion, "NPTL")) { - fprintf(stderr, "vdr: please turn off NPTL by setting 'export LD_ASSUME_KERNEL=2.4.1' before starting VDR\n"); - return 2; - } - } -#endif - - // Check for UTF-8 and exit if present - asprintf() will fail if it encounters 8 bit ASCII codes - char *LangEnv; - if ((LangEnv = getenv("LANG")) != NULL && strcasestr(LangEnv, "utf") || - (LangEnv = getenv("LC_CTYPE")) != NULL && strcasestr(LangEnv, "utf")) { - fprintf(stderr, "vdr: please turn off UTF-8 before starting VDR\n"); - return 2; - } - // Save terminal settings: struct termios savedTm; @@ -321,6 +302,25 @@ int main(int argc, char *argv[]) return 0; } +#ifdef _CS_GNU_LIBPTHREAD_VERSION + // Check for NPTL and exit if present - VDR apparently doesn't run well with NPTL: + char LibPthreadVersion[128]; + if (confstr(_CS_GNU_LIBPTHREAD_VERSION, LibPthreadVersion, sizeof(LibPthreadVersion)) > 0) { + if (strstr(LibPthreadVersion, "NPTL")) { + fprintf(stderr, "vdr: please turn off NPTL by setting 'export LD_ASSUME_KERNEL=2.4.1' before starting VDR\n"); + return 2; + } + } +#endif + + // Check for UTF-8 and exit if present - asprintf() will fail if it encounters 8 bit ASCII codes + char *LangEnv; + if ((LangEnv = getenv("LANG")) != NULL && strcasestr(LangEnv, "utf") || + (LangEnv = getenv("LC_CTYPE")) != NULL && strcasestr(LangEnv, "utf")) { + fprintf(stderr, "vdr: please turn off UTF-8 before starting VDR\n"); + return 2; + } + // Log file: if (SysLogLevel > 0)