Téma: Podivné chování funkce echo
Mám funkci, ve které je poslední řádek toto:
echo('Stranka je:',stranka,'Posledni index je:',posl_index);
volám ji v int
a pak následuje v main
{
echo('[0] start');
// s čím začínáme
echo('[1] sys[65]=', sys[65]);
dns_resolv('www.wwwwwww.cz');
cekam_na_dns:
// dokud se něco nestane (sys[65] se nastaví na nějakou hodnotu)
if (sys[65]==0) goto cekam_na_dns;
echo('[2] sys[65]=', sys[65]);
// takže:
cekam_na_odpoved:
if (sys[65]==514)
{
echo('cekam na odpoved, dns-server-ip:', sys[70],'.',sys[71],'.',sys[72],'.',sys[73]);
wait(1000);
goto cekam_na_odpoved;
}
echo('[3] hotovo,dns-server-ip:', sys[70],'.',sys[71],'.',sys[72],'.',sys[73]);
echo('[3] sys[65]=', sys[65]);
echo('RESOLV: ', sys[66],'.',sys[67],'.',sys[68],'.',sys[69]);
// hotovo, výsledek je v sys[66] až sys[69]
atd
DNS se nenastaví, pořád to píše čekám na DNS.
teď ale stačí v té funkci s echo vymazat dvojtečku(zkrátit string) a už to jede jak má.
echo('Stranka je:',stranka,'Posledni index je',posl_index); // chybí pouze dvojtečka
Jak kdyby delší string něco přepsal. Přitom ale ta funkce hodnoty vypíše.