From cad449ce4a6de420b36a155f9da8c575307c66a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Tue, 4 Nov 2003 14:38:26 +0000 Subject: Final patches for compiling xine under MSVC: - basename() is added to xine-utils, if it isn't found by configure - macros with variable number of arguments are simplified to ignore additional arguments (only for MSVC), lprintf macro simplified with full functionality - minor update for building a52, some preparation for ffmpeg CVS patchset: 5687 CVS date: 2003/11/04 14:38:26 --- src/xine-engine/input_rip.c | 3 +-- src/xine-utils/utils.c | 43 ++++++++++++++++++++++++++++++++++++++++++- src/xine-utils/xineutils.h | 45 +++++++++++++++++++++++++++++++-------------- 3 files changed, 74 insertions(+), 17 deletions(-) (limited to 'src') diff --git a/src/xine-engine/input_rip.c b/src/xine-engine/input_rip.c index 3365a9ce1..60c6491b2 100644 --- a/src/xine-engine/input_rip.c +++ b/src/xine-engine/input_rip.c @@ -29,7 +29,7 @@ * - it's possible speeder saving streams in the xine without playing: * xine stream_mrl#save:file.raw\;noaudio\;novideo * - * $Id: input_rip.c,v 1.10 2003/11/02 14:12:52 valtri Exp $ + * $Id: input_rip.c,v 1.11 2003/11/04 14:38:26 valtri Exp $ */ /* TODO: @@ -46,7 +46,6 @@ #include #include #include -#include #include #include diff --git a/src/xine-utils/utils.c b/src/xine-utils/utils.c index b3286c11a..be5220231 100644 --- a/src/xine-utils/utils.c +++ b/src/xine-utils/utils.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: utils.c,v 1.18 2003/09/16 02:11:45 storri Exp $ + * $Id: utils.c,v 1.19 2003/11/04 14:38:26 valtri Exp $ * */ #define _POSIX_PTHREAD_SEMANTICS 1 /* for 5-arg getpwuid_r on solaris */ @@ -200,3 +200,44 @@ void xine_hexdump (char *buf, int length) { printf("-"); printf("\n"); } + + +#ifndef HAVE_BASENAME + +#define FILESYSTEM_PREFIX_LEN(filename) 0 +#define ISSLASH(C) ((C) == '/') + +/* + * get base name + * + * (adopted from sh-utils) + */ +char *basename (char const *name) { + char const *base = name + FILESYSTEM_PREFIX_LEN (name); + char const *p; + + for (p = base; *p; p++) + { + if (ISSLASH (*p)) + { + /* Treat multiple adjacent slashes like a single slash. */ + do p++; + while (ISSLASH (*p)); + + /* If the file name ends in slash, use the trailing slash as + the basename if no non-slashes have been found. */ + if (! *p) + { + if (ISSLASH (*base)) + base = p - 1; + break; + } + + /* *P is a non-slash preceded by a slash. */ + base = p; + } + } + + return (char *) base; +} +#endif diff --git a/src/xine-utils/xineutils.h b/src/xine-utils/xineutils.h index 6e4900b30..91e4e0d7a 100644 --- a/src/xine-utils/xineutils.h +++ b/src/xine-utils/xineutils.h @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xineutils.h,v 1.62 2003/11/01 17:25:49 mroi Exp $ + * $Id: xineutils.h,v 1.63 2003/11/04 14:38:26 valtri Exp $ * */ #ifndef XINEUTILS_H @@ -33,6 +33,9 @@ extern "C" { #include #include #include +#if HAVE_LIBGEN_H +# include +#endif #ifdef XINE_COMPILE # include "attributes.h" @@ -907,24 +910,18 @@ void xine_print_trace(void); #endif /* LOG_VERBOSE */ #ifdef LOG - #ifdef __GNUC__ - #define lprintf(fmt, args...) \ - do{ \ - LONG_LOG_MODULE_STRING \ - printf( fmt, ##args ); \ - }while(0) - #else - #define lprintf(...) \ - do{ \ - LONG_LOG_MODULE_STRING \ - printf( __VA_ARGS__ ); \ - }while(0) - #endif /* __GNUC__ */ + #define lprintf \ + LONG_LOG_MODULE_STRING \ + printf #else #ifdef __GNUC__ #define lprintf(fmt, args...) ; + #else + #ifdef _MSC_VER + #define lprintf #else #define lprintf(...) ; + #endif /* _MSC_VER */ #endif /* __GNUC__ */ #endif /* LOG */ @@ -937,6 +934,15 @@ void xine_print_trace(void); } \ }while(0) #else +#ifdef _MSC_VER + #define llprintf(cat, fmtargs) \ + do{ \ + if(cat){ \ + LONG_LOG_MODULE_STRING \ + printf( "%s", fmtargs ); \ + } \ + }while(0) +#else #define llprintf(cat, ...) \ do{ \ if(cat){ \ @@ -944,6 +950,7 @@ void xine_print_trace(void); printf( __VA_ARGS__ ); \ } \ }while(0) +#endif /* _MSC_VER */ #endif /* __GNUC__ */ #ifdef __GNUC__ @@ -955,6 +962,15 @@ void xine_print_trace(void); } \ } while(0) #else +#ifdef _MSC_VER + #define xprintf(xine, verbose, fmtargs) \ + do { \ + if((xine)->verbosity >= verbose){ \ + LOG_MODULE_STRING \ + printf("%s", fmtargs); \ + } \ + } while(0) +#else #define xprintf(xine, verbose, ...) \ do { \ if((xine)->verbosity >= verbose){ \ @@ -962,6 +978,7 @@ void xine_print_trace(void); printf(__VA_ARGS__); \ } \ } while(0) +#endif /* _MSC_VER */ #endif /* __GNUC__ */ /* time measuring macros for profiling tasks */ -- cgit v1.2.3