[xiph-cvs] cvs commit: ao/src audio_out.c

Jack Moffitt jack at xiph.org
Wed Jul 25 12:19:12 PDT 2001



Shouldn't ifdef's always go in headers if possible?  Putting them in the
.c files is super-ugly.

jack.

On Wed, Jul 25, 2001 at 12:55:30PM -0700, Stan Seibert wrote:
> volsung     01/07/25 12:55:30
> 
>   Modified:    src      Tag: volsung_20010721 audio_out.c
>   Log:
>   OpenBSD compatability patches from Christian Weisgerber
>   <naddy at mips.inka.de>.  Yes, I know #ifdef's are evil, but making C
>   work on multiple UNIX's is the work of the devil to begin with.
> 
> Revision  Changes    Path
> No                   revision
> 
> 
> No                   revision
> 
> 
> 1.15.2.5  +16 -2     ao/src/audio_out.c
> 
> Index: audio_out.c
> ===================================================================
> RCS file: /usr/local/cvsroot/ao/src/audio_out.c,v
> retrieving revision 1.15.2.4
> retrieving revision 1.15.2.5
> diff -u -r1.15.2.4 -r1.15.2.5
> --- audio_out.c	2001/07/24 17:51:11	1.15.2.4
> +++ audio_out.c	2001/07/25 19:55:29	1.15.2.5
> @@ -90,13 +90,27 @@
>  
>  
>  /* Load a plugin from disk and put the function table into a driver_list
> -   struct. */
> +   struct.
> +
> +   OpenBSD systems with a.out binaries require dlsym()ed symbols to be
> +   prepended with an underscore, so we need the following nasty #ifdef
> +   hack. */
> +#if defined(__OpenBSD__) && !defined(__ELF__)
> +#define dlsym(h,s) dlsym(h, "_" s)
> +#endif
>  driver_list *_get_plugin(char *plugin_file)
>  {
>  	driver_list *dt;
>  	void *handle;
> -	
> +
> +	/* RTLD_NOW is the preferred symbol resolution behavior, but
> +           some platforms do not support it. */
> +#if defined(__OpenBSD__)	
> +	handle = dlopen(plugin_file, RTLD_LAZY);
> +#else
>  	handle = dlopen(plugin_file, RTLD_NOW);
> +#endif
> +
>  	if (handle) {
>  		dt = (driver_list *)malloc(sizeof(driver_list));
>  		if (!dt) return NULL;
> 
> 
> 
> 
> --- >8 ----
> List archives:  http://www.xiph.org/archives/
> Ogg project homepage: http://www.xiph.org/ogg/
> To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
> containing only the word 'unsubscribe' in the body.  No subject is needed.
> Unsubscribe messages sent to the list will be ignored/filtered.

--- >8 ----
List archives:  http://www.xiph.org/archives/
Ogg project homepage: http://www.xiph.org/ogg/
To unsubscribe from this list, send a message to 'cvs-request at xiph.org'
containing only the word 'unsubscribe' in the body.  No subject is needed.
Unsubscribe messages sent to the list will be ignored/filtered.



More information about the commits mailing list