Blog literacki, portal erotyczny - seks i humor nie z tej ziemi
#define eq(a, b) (Strcmp(a, b) == 0)
struct wordent {
Char *word;
struct wordent *prev;
struct wordent *next;
};
/*
* struktura zmiennych
*
* aliasy i zmienne sa przechowywane w drzewie AVT
*/
EXTERN struct varent {
Char **vec; /* tablica slow ktore sa wartoscia */
Char *v_name; /* nazwa zmiennej/aliasu */
int v_flags; /* flagi */
struct varent *v_link[3]; /* galezie nizej sa dokladnie zdefiniowane */
int v_bal; /* jak "ciezkie" jest drezwo */
} shvhed, aliases; /*drzewo zmiennych/aliasow */
#define v_left v_link[0] /*bardziej intuicyjne potrakowanie galezi*/
#define v_right v_link[1]
#define v_parent v_link[2]
#define adrof(v) adrof1(v, &shvhed) /*znajdujemy zmienna v wsrod
zmiennych*/
#define varval(v) value1(v, &shvhed) /*zwraca wartosc zmiennej */
/*
* The following are for interfacing redo substitution in
* aliases to the lexical routines.
*/
/*
* Historia komend
*
* Kazda lista historii zawiera rozszerzona liste slow
* numer zdarzenia i jak latwo zauwazyc jest zorganizowana w kolejke
*/
EXTERN struct Hist {
struct wordent Hlex;
int Hnum;
int Href;
time_t Htime;
Char *histline;
struct Hist *Hnext;
} Histlist;