mirror of
https://github.com/mpv-player/mpv
synced 2024-12-23 07:12:39 +00:00
- move our setenv() fallback implementation to osdep
- assert that the override param is nonzero (zero is not implemented) - correct return value type to int based on a patch by Diego fixes bugzilla bug #342 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17246 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
74f1ad8a0a
commit
fa2d1c9a69
21
configure
vendored
21
configure
vendored
@ -3304,6 +3304,21 @@ fi
|
||||
echores "$_glob"
|
||||
|
||||
|
||||
echocheck "setenv()"
|
||||
cat > $TMPC << EOF
|
||||
#include <stdlib.h>
|
||||
int main (void){ setenv("","",0); return 0; }
|
||||
EOF
|
||||
_setenv=no
|
||||
cc_check && _setenv=yes
|
||||
if test "$_setenv" = yes ; then
|
||||
_def_setenv='#define HAVE_SETENV 1'
|
||||
else
|
||||
_def_setenv='#undef HAVE_SETENV'
|
||||
fi
|
||||
echores "$_setenv"
|
||||
|
||||
|
||||
echocheck "sys/sysinfo.h"
|
||||
cat > $TMPC << EOF
|
||||
#include <sys/sysinfo.h>
|
||||
@ -7480,6 +7495,12 @@ $_def_gettimeofday
|
||||
/* Define this if your system has glob */
|
||||
$_def_glob
|
||||
|
||||
/* Define this if your system has setenv */
|
||||
$_def_setenv
|
||||
#ifndef HAVE_SETENV
|
||||
int setenv(const char *name, const char *val, int overwrite);
|
||||
#endif
|
||||
|
||||
/* Define this if your system has pthreads */
|
||||
$_def_pthreads
|
||||
|
||||
|
@ -122,22 +122,6 @@ static int read_buffer(unsigned char* data,int len){
|
||||
|
||||
// end ring buffer stuff
|
||||
|
||||
#if defined(__MINGW32__) || defined(HPUX) || defined(sgi) || (defined(sun) && defined(__svr4__))
|
||||
/* setenv is missing on win32, solaris, IRIX and HPUX */
|
||||
static void setenv(const char *name, const char *val, int _xx)
|
||||
{
|
||||
int len = strlen(name) + strlen(val) + 2;
|
||||
char *env = malloc(len);
|
||||
|
||||
if (env != NULL) {
|
||||
strcpy(env, name);
|
||||
strcat(env, "=");
|
||||
strcat(env, val);
|
||||
putenv(env);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
// to set/get/query special features/parameters
|
||||
static int control(int cmd,void *arg){
|
||||
|
@ -138,22 +138,6 @@ LIBVO_EXTERN(sdl)
|
||||
#include <SDL.h>
|
||||
//#include <SDL/SDL_syswm.h>
|
||||
|
||||
#if defined(__MINGW32__) || defined(HPUX) || defined(sgi) || (defined(sun) && defined(__svr4__))
|
||||
/* setenv is missing on win32, solaris, IRIX and HPUX */
|
||||
static void setenv(const char *name, const char *val, int _xx)
|
||||
{
|
||||
int len = strlen(name) + strlen(val) + 2;
|
||||
char *env = malloc(len);
|
||||
|
||||
if (env != NULL) {
|
||||
strcpy(env, name);
|
||||
strcat(env, "=");
|
||||
strcat(env, val);
|
||||
putenv(env);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef SDL_ENABLE_LOCKS
|
||||
#define SDL_OVR_LOCK(x) if (SDL_LockYUVOverlay (priv->overlay)) { \
|
||||
|
@ -4,7 +4,7 @@ include ../config.mak
|
||||
LIBNAME = libosdep.a
|
||||
|
||||
SRCS= shmem.c strsep.c strl.c vsscanf.c scandir.c gettimeofday.c fseeko.c \
|
||||
swab.c
|
||||
swab.c setenv.c
|
||||
# timer.c
|
||||
|
||||
getch = getch2.c
|
||||
|
29
osdep/setenv.c
Normal file
29
osdep/setenv.c
Normal file
@ -0,0 +1,29 @@
|
||||
/* setenv implementation for systems lacking it. */
|
||||
|
||||
#include "../config.h"
|
||||
|
||||
#ifndef HAVE_SETENV
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifndef MP_DEBUG
|
||||
#define NDEBUG
|
||||
#endif
|
||||
#include <assert.h>
|
||||
|
||||
int setenv(const char *name, const char *val, int overwrite)
|
||||
{
|
||||
int len = strlen(name) + strlen(val) + 2;
|
||||
char *env = malloc(len);
|
||||
if (!env) { return -1; }
|
||||
|
||||
assert(overwrite != 0);
|
||||
|
||||
strcpy(env, name);
|
||||
strcat(env, "=");
|
||||
strcat(env, val);
|
||||
putenv(env);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
Loading…
Reference in New Issue
Block a user