C-SaCzech Pod kapotou

Vzhledem k jistým změnám ve struktuře C-SaCzechu nemusí být informace zde obsažené aktuální. Ale mohou :-)

Zde se budu zabývat anatomií konverzního programu, tvořících C-SaCzech. Budu se zabývat programem toASCII, ve standartní instalaci jsou ostatní soubory toXXX jen linky na tento soubor, kazdopádně však mají stejnou funkci.

V celém programu jsem nešetřil komentáři, co dělá konkrétní proměnná na daném místě je tedy většinou popsáno přímo ve zdrojovém kódu, tady pak naleznete další podrobnější informace.

Tvar a hlavně funkci do značné míry závisí na tom, jakou metodu získávání dokumentů jste zvolili při instalaci. Zde budu popisovat nejkomplikovanější případ - metodu guess. Jestliže jste vybrali file nebo http, zkompilovaný program obsahuje jen příslušnou část a počáteční rozhodování o metodě je nahrazeno pouhým voláním procedury EncodeHTTP nebo EncodeFile podle vaší volby.

Standartně je přednastaveno v souboru <cstools.h> pole itab, které identifikuje přípustné názvy kódů a v souboru csaczechXX.c pole ext, identifikující přípony souborů a MIME typy, jejichž kódy má program měnit.

Při spuštění se podle názvu, pod kterým byl program spuštěn, nastaví proměnná target, která obsahuje číselné označení typu výsledného kódování (všechny konstanty a procedury, týkající se kódování jsou v souboru <cstools.h>). Proměnná source je nastavena na číslo kódu definovaného v DEFSOURCE.

Následuje jednoduchý test, kterou metodu použít pro získání kódovaného textu. Využívá k tomu informaci o cestě ke kódovanému dokumentu, kterou získá v proměnné prostředí PATH_INFO. Jestliže začíná cestou, která byla v konfiguraci ozačena za cestu k CGI skriptům, volá podprogram EncodeHTTP. V opačném případě použije EncodeFile.


ZPET Zpět

Tato stránka je součástí dokumentace programu C-SaCzech.