Nepoužívejte uvozovky v PATH
Sunday, August 20th, 2006Při tvorbě jednoduchého .exe wrapperu ke Guidovi jsme narazili na nepříjemnou vlastnost implementace funkce execvp() na operačních systémech Windows.
Guido je aplikace napsaná v Jave, proto jsme pro pohodlí uživatele chtěli připravit velice jednoduchý prográmek v C, který by připravil parametry pro JVM, přidal k tomu to, co v příkazové řádce nechal uživatel a spustil javu. Co čert nechtěl, na některých počítačích (což zahrnovalo zejména ten, na kterém jsem wrapper napsal) fungoval krásně, na jiných (což bohužel zahrnovalo zejména počítače ve školní laboratoři) zahlásil, že nemůže nalézt javu – a to jasně znamená problémy. A o to větší, že ekvivalentní příkaz zadaný na příkazové řádce pracoval přesně tak, jak by měl.