From: RĂ©mi Duraffort Date: Mon, 4 Jan 2010 09:21:01 +0000 (+0100) Subject: zsh: fix infinite loop. X-Git-Tag: 1.1.0-ff~1489 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=089821fb58411044200fbf228e127b01b74a3361;p=vlc zsh: fix infinite loop. --- diff --git a/extras/analyser/zsh.cpp b/extras/analyser/zsh.cpp index 7eb2bf23c1..249f812f44 100644 --- a/extras/analyser/zsh.cpp +++ b/extras/analyser/zsh.cpp @@ -224,14 +224,15 @@ void ParseOption( module_config_t *p_item, mumap &mods, mcmap &mods2 ) { std::pair range = mods.equal_range( p_item->psz_type ); std::string list = (*range.first).second; - ++range.first; - while( range.first != range.second ) + if( range.first != range.second ) { - list = list.append( " " ); - list = list.append( range.first->second ); - ++range.first; + while( range.first++ != range.second ) + { + list = list.append( " " ); + list = list.append( range.first->second ); + } + asprintf( &psz_arguments, "(%s)", list.c_str() ); } - asprintf( &psz_arguments, "(%s)", list.c_str() ); } break; case CONFIG_ITEM_MODULE_CAT: @@ -239,14 +240,15 @@ void ParseOption( module_config_t *p_item, mumap &mods, mcmap &mods2 ) std::pair range = mods2.equal_range( p_item->min.i ); std::string list = (*range.first).second; - ++range.first; - while( range.first != range.second ) + if( range.first != range.second ) { - list = list.append( " " ); - list = list.append( range.first->second ); - ++range.first; + while( range.first++ != range.second ) + { + list = list.append( " " ); + list = list.append( range.first->second ); + } + asprintf( &psz_arguments, "(%s)", list.c_str() ); } - asprintf( &psz_arguments, "(%s)", list.c_str() ); } break; case CONFIG_ITEM_MODULE_LIST_CAT: