Расширение выполняется оболочкой перед запуском вашей программы. Ваша программа не имеет понятия, произошло ли расширение или нет.
set -o noglob
отключит расширение в вызывающей оболочке, но вам нужно будет сделать это перед , вы вызываете свою программу.
Альтернатива процитировать ваши аргументы, например
foo "*"
с помощью @ozlsn и gcc -E
замена сделана. убедить коды:
while(true)
{
bool continue_flag = false;
switch(var)
{
default:
if(something)
continue_flag = true;
break;
// do something
OtherCases:
// do something
}
if (!contine_flag)
break;
}
полный коммит здесь: https://github.com/FirstLoveLife/Mach7/commit/3db24a337a7643018ed9e12ac95f53f9a036251c
Вот связанный QA: 113] Использование continue в операторе switch