coan 4.2.4
|
![]() |
Modules | |
Macro-generated code | |
Files | |
file | includes_tally.c |
file | includes_tally.h |
Functions | |
void | hash_include_tally (char const *arg, size_t arglen, canonical_string_const_h sym_val) |
void hash_include_tally | ( | char const * | arg, |
size_t | arglen, | ||
canonical_string_const_h | sym_val | ||
) |
Tally an occurrence of an hash-include argument.
arg | The start of the hash-include argument. |
arglen | The length of the hash-include argumentument. |
sym_val | Where the hash-include argument is a defined symmbol, sym_def contains the canonicalised final value of that symbol, else NULL. |
If no hash-include argument matching arg exists in in the includes table, then a new hash-include argument is added to the table. If a matching hash-include argument is already in the table then that hash-include argument is given the definition sym_val if sym_val is not NULL and if the existing hash-include argument does not already have that definition. If sym_val is NULL then the matching hash-include argument is made undefined if it currently has a definition.
The occurrence of the hash-include argument is reported on stdout if the same hash-include argument has not already been seen or if --once
is not in effect. If the hash-include argument is reported and sym_val is not NULL then the hash-include argument will be reported as a symbol that resolves sym_val.
Definition at line 110 of file includes_tally.c.
References canonical_string_equal(), GET_PUBLIC, hash_include_add(), hash_include_define(), hash_include_definition, hash_include_lookup(), hash_include_new(), hash_include_undefine, and report_include().
Referenced by eval_hash_include().