Commit 1d066ee3 authored by Sam Hocevar's avatar Sam Hocevar

  * Win32 plugin support by Gildas Bazin <gbazin@netcourrier.com>.
parent 0c128d47
......@@ -212,6 +212,9 @@ DCFLAGS += -MM
LCFLAGS += @LCFLAGS@ $(LIB)
LCFLAGS += -Wall
#LCFLAGS += -s
ifneq (,$(findstring mingw32,$(SYS)))
LCFLAGS += -Xlinker --force-exe-suffix
endif
#
# Debugging and profiling support
......
......@@ -2,7 +2,7 @@
* modules_core.h : Module management functions used by the core application.
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: modules_core.h,v 1.5 2001/03/21 13:42:33 sam Exp $
* $Id: modules_core.h,v 1.6 2001/05/31 12:45:39 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
*
......@@ -37,12 +37,17 @@ module_load( char * psz_filename, module_handle_t * handle )
#ifdef SYS_BEOS
*handle = load_add_on( psz_filename );
return( *handle < 0 );
#elif defined(WIN32)
*handle = LoadLibrary( psz_filename );
return( *handle == NULL );
#else
/* Do not open modules with RTLD_GLOBAL, or we are going to get namespace
* collisions when two modules have common public symbols */
*handle = dlopen( psz_filename, RTLD_NOW );
return( *handle == NULL );
#endif
}
......@@ -58,8 +63,13 @@ module_unload( module_handle_t handle )
{
#ifdef SYS_BEOS
unload_add_on( handle );
#elif defined(WIN32)
FreeLibrary( handle );
#else
dlclose( handle );
#endif
return;
}
......@@ -101,6 +111,9 @@ module_getsymbol( module_handle_t handle, char * psz_function )
free( psz_call );
return( p_return );
#elif defined(WIN32)
return( (void *)GetProcAddress( handle, psz_function ) );
#else
return( dlsym( handle, psz_function ) );
#endif
......@@ -116,10 +129,12 @@ module_getsymbol( module_handle_t handle, char * psz_function )
static __inline__ const char *
module_error( void )
{
#ifdef SYS_BEOS
#if defined(SYS_BEOS) || defined(WIN32)
return( "failed" );
#else
return( dlerror() );
#endif
}
......@@ -2,7 +2,7 @@
* intf_gtk.c: Gtk+ interface
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
* $Id: intf_gtk.c,v 1.24 2001/05/31 03:23:24 sam Exp $
* $Id: intf_gtk.c,v 1.25 2001/05/31 12:45:39 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Stphane Borel <stef@via.ecp.fr>
......@@ -35,7 +35,6 @@
#include <string.h> /* strerror() */
#include <stdio.h>
#include <glib/glib.h>
#include <gtk/gtk.h>
#include "config.h"
......
......@@ -4,7 +4,7 @@
* decoders.
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
* $Id: input.c,v 1.117 2001/05/31 03:57:54 sam Exp $
* $Id: input.c,v 1.118 2001/05/31 12:45:39 sam Exp $
*
* Authors: Christophe Massiot <massiot@via.ecp.fr>
*
......@@ -519,7 +519,7 @@ static void FileOpen( input_thread_t * p_input )
psz_name += 4;
i_stat = stat( psz_name, &stat_info );
#if defined( WIN32 )
snprintf( buf, 7, "\\\\.\\%c:", psz_name[0] );
_snprintf( buf, 7, "\\\\.\\%c:", psz_name[0] );
#endif
}
else if( ( i_size > 5 )
......
......@@ -2,7 +2,7 @@
* modules.c : Built-in and plugin modules management functions
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: modules.c,v 1.32 2001/05/31 01:37:08 sam Exp $
* $Id: modules.c,v 1.33 2001/05/31 12:45:39 sam Exp $
*
* Authors: Samuel Hocevar <sam@zoy.org>
* Ethan C. Baldridge <BaldridgeE@cadmus.com>
......@@ -45,6 +45,8 @@
#elif defined(HAVE_IMAGE_H) /* BeOS */
# include <image.h>
# define HAVE_DYNAMIC_PLUGINS
#elif defined(WIN32)
# define HAVE_DYNAMIC_PLUGINS
#else
# undef HAVE_DYNAMIC_PLUGINS
#endif
......
......@@ -3,7 +3,7 @@
* Functions are prototyped in mtime.h.
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
* $Id: mtime.c,v 1.20 2001/05/31 03:12:49 sam Exp $
* $Id: mtime.c,v 1.21 2001/05/31 12:45:39 sam Exp $
*
* Authors: Vincent Seguin <seguin@via.ecp.fr>
*
......@@ -68,13 +68,13 @@ static __inline__ void usleep( unsigned int i_useconds )
{
QueryPerformanceCounter( (LARGE_INTEGER *) &i_cur );
i_now = ( cur * 1000 * 1000 / i_freq );
i_now = ( i_cur * 1000 * 1000 / i_freq );
i_then = i_now + i_useconds;
while( i_now < i_then )
{
QueryPerformanceCounter( (LARGE_INTEGER *) &i_cur );
now = cur * 1000 * 1000 / i_freq;
i_now = i_cur * 1000 * 1000 / i_freq;
}
}
else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment