[Mplayerxp-cvslog] SF.net SVN: mplayerxp:[392] mplayerxp
Brought to you by:
olov
From: <nic...@us...> - 2012-11-17 13:59:01
|
Revision: 392 http://mplayerxp.svn.sourceforge.net/mplayerxp/?rev=392&view=rev Author: nickols_k Date: 2012-11-17 13:58:55 +0000 (Sat, 17 Nov 2012) Log Message: ----------- flexibility dureing configure malloc-debug Modified Paths: -------------- mplayerxp/cfg-mplayerxp.h mplayerxp/mplayerxp.cpp Modified: mplayerxp/cfg-mplayerxp.h =================================================================== --- mplayerxp/cfg-mplayerxp.h 2012-11-17 13:57:45 UTC (rev 391) +++ mplayerxp/cfg-mplayerxp.h 2012-11-17 13:58:55 UTC (rev 392) @@ -35,7 +35,7 @@ {"speed", &mp_conf.playbackspeed_factor, CONF_TYPE_FLOAT, CONF_RANGE, 0.01, 100.0, "sets playback speed factor"}, {"benchmark", &mp_conf.benchmark, CONF_TYPE_FLAG, 0, 0, 1, "performs benchmarking to estimate performance of MPlayerXP"}, {"test-av", &mp_conf.test_av, CONF_TYPE_FLAG, 0, 0, 1, "test antiviral protection of MPlayerXP"}, - {"malloc-debug", &mp_conf.malloc_debug, CONF_TYPE_FLAG, 0, 0, 1, "debugs malloc() calls in MPlayerXP"}, + {"malloc-debug", &mp_conf.malloc_debug, CONF_TYPE_INT, CONF_RANGE, 0, 3, "debugs malloc() calls in MPlayerXP"}, {"max-trace", &mp_conf.max_trace, CONF_TYPE_INT, CONF_RANGE, 1, 1024, "maximal number of backtrace stack"}, {NULL, NULL, 0, 0, 0, 0, NULL}, }; Modified: mplayerxp/mplayerxp.cpp =================================================================== --- mplayerxp/mplayerxp.cpp 2012-11-17 13:57:45 UTC (rev 391) +++ mplayerxp/mplayerxp.cpp 2012-11-17 13:58:55 UTC (rev 392) @@ -1650,6 +1650,30 @@ } return eof; } + +static void mpxp_config_malloc(int argc,char *argv[]) +{ + int i,level; + mp_conf.malloc_debug=0; + mp_malloc_e flg=MPA_FLG_RANDOMIZER; + for(i=0;i<argc;i++) { + if(strncmp(argv[i],"-core.malloc-debug",18)==0) { + char *p; + if((p=strchr(argv[i],'='))!=NULL) { + mp_conf.malloc_debug=atoi(p+1); + } + switch(mp_conf.malloc_debug) { + default: + case 0: flg=MPA_FLG_RANDOMIZER; break; + case 1: flg=MPA_FLG_BOUNDS_CHECK; break; + case 2: flg=MPA_FLG_BEFORE_CHECK; break; + case 3: flg=MPA_FLG_BACKTRACE; break; + } + break; + } + } + mp_init_malloc(argv[0],1000,10,flg); +} /******************************************\ * MAIN MPLAYERXP FUNCTION !!! * \******************************************/ @@ -1669,11 +1693,7 @@ int forced_subs_only=0; seek_args_t seek_args = { 0, DEMUX_SEEK_CUR|DEMUX_SEEK_SECONDS }; - mp_conf.malloc_debug=0; - for(i=0;i<argc;i++) if(strcmp(argv[i],"-core.malloc-debug")==0) { mp_conf.malloc_debug=1; break; } - mp_init_malloc(argv[0],1000,10,mp_conf.malloc_debug?MPA_FLG_BACKTRACE:MPA_FLG_RANDOMIZER); -// mp_init_malloc(argv[0],1000,10,MPA_FLG_BOUNDS_CHECK); -// mp_init_malloc(argv[0],1000,10,MPA_FLG_BEFORE_CHECK); + mpxp_config_malloc(argc,argv); // Yes, it really must be placed in stack or in very secret place xmpcore::PointerProtector<MPXPSecureKeys> ptr_protector; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |