• Dridi Boukelmoune's avatar
    vcc: Fold string parsing into a single function · 5a99d056
    Dridi Boukelmoune authored
    Having now the guarantee that VCL sources are always null-terminated we
    can use standard string.h functions to detect long strings. We can also
    generalize vcc_decstr() to work with all kinds of strings.
    
    Instead of duplicating the code in 3 locations with slight variations,
    encode the specificities of each type of string into a struct and have
    one location to parse them.
    
    Bonus deduplication, inline C parsing is identical.
    
    This is loosely inspired by vcl_fixed_token() and we could further
    reduce the size of the loop in vcc_Lexer() by extracting more logic.
    5a99d056
Name
Last commit
Last update
..
tests Loading commit data...
tests.disabled Loading commit data...
Makefile.am Loading commit data...
cmds.h Loading commit data...
flint.lnt Loading commit data...
flint.sh Loading commit data...
gensequences Loading commit data...
hpack.h Loading commit data...
huffman_gen.py Loading commit data...
huffman_input Loading commit data...
sequences Loading commit data...
teken.3 Loading commit data...
teken.c Loading commit data...
teken.h Loading commit data...
teken_scs.h Loading commit data...
teken_subr.h Loading commit data...
teken_subr_compat.h Loading commit data...
teken_wcwidth.h Loading commit data...
vtc.c Loading commit data...
vtc.h Loading commit data...
vtc_barrier.c Loading commit data...
vtc_client.c Loading commit data...
vtc_gzip.c Loading commit data...
vtc_h2_enctbl.h Loading commit data...
vtc_h2_hpack.c Loading commit data...
vtc_h2_priv.h Loading commit data...
vtc_h2_stattbl.h Loading commit data...
vtc_h2_tbl.c Loading commit data...
vtc_haproxy.c Loading commit data...
vtc_http.c Loading commit data...
vtc_http.h Loading commit data...
vtc_http2.c Loading commit data...
vtc_log.c Loading commit data...
vtc_log.h Loading commit data...
vtc_logexp.c Loading commit data...
vtc_main.c Loading commit data...
vtc_misc.c Loading commit data...
vtc_process.c Loading commit data...
vtc_proxy.c Loading commit data...
vtc_server.c Loading commit data...
vtc_sess.c Loading commit data...
vtc_subr.c Loading commit data...
vtc_syslog.c Loading commit data...
vtc_varnish.c Loading commit data...