- 10 Nov, 2021 7 commits
-
-
Nils Goroll authored
As agreed with phk
-
Poul-Henning Kamp authored
-
Nils Goroll authored
bitshift of signed
-
Nils Goroll authored
avoid warning 666 ("Expression with side effects passed to repeated parameter"): The non-type macros still trigger an warning due to the expression passed a second time in typeof(). Use the typed macros for these cases. avoid error 1058 ("Initializing a non-const reference"): Our type check (void)(&_va == &_vb) trips for dereferences.
-
Nils Goroll authored
-
Nils Goroll authored
Reviewing flexelint output for the recently added vmin/vmax macros made apparent that vmin_t/vmax_t basically used typeof((cast)var), which makes for an unnecessary de-tour via typeof. We change the min/max macros to explicitly pass the type for the temporary variables such that typeof() is only needed for vmin/vmax. Being at it, we also reduce the min/max case to just one take macro ("take the min/max of ...") as they only differed in a single character, the operator.
-
Poul-Henning Kamp authored
-
- 09 Nov, 2021 1 commit
-
-
Poul-Henning Kamp authored
-
- 08 Nov, 2021 9 commits
-
-
Nils Goroll authored
Fixes: left operand must be modifiable lvalue: op "="
-
Nils Goroll authored
Fixes warning on 32 bit: comparison of distinct pointer types ('typeof ((*lp)) *' (aka 'int *') and 'typeof (((VRND_RandomTestable() & 3) + 1)) *' (aka 'long *'))
-
Nils Goroll authored
Minor rewrite for clarity. VSL lines are truncated, so the return value _is_ sufficiently checked. Ref 519ead4a
-
Asad Sajjad Ahmed authored
Signed-off-by: Asad Sajjad Ahmed <asadsa@varnish-software.com>
-
Asad Sajjad Ahmed authored
Signed-off-by: Asad Sajjad Ahmed <asadsa@varnish-software.com>
-
Asad Sajjad Ahmed authored
Signed-off-by: Asad Sajjad Ahmed <asadsa@varnish-software.com>
-
Asad Sajjad Ahmed authored
This should make the code easier to read and stop us from being inconsistent. Signed-off-by: Asad Sajjad Ahmed <asadsa@varnish-software.com>
-
Nils Goroll authored
For the REGEX type, we now peek ahead after the first CSTR token if a '+' operator follows and, if yes, create the pattern as a concatenation. Fixes #3726
-
Nils Goroll authored
The disconnect function should not complain when the server is already closed by an explicit close. Saw this failure in vtest: * top TEST ../../../../bin/varnishtest/tests/r01918.vtc starting ... ** s1 === txresp -nolen -bodylen 10 **** s1 txresp|HTTP/1.1 200 OK\r **** s1 txresp|\r **** s1 txresp|!"#$%&'() ** s1 === close ... ** s1 Waiting for server (4/-1) **** s1 Closed *** s1 shutting fd -1 ---- s1 Shutdown failed: Bad file descriptor
-
- 04 Nov, 2021 1 commit
-
-
Nils Goroll authored
fixes regression from 9a20cdfd
-
- 03 Nov, 2021 2 commits
-
-
Nils Goroll authored
It needs to be a generic pointer pointer, because it is initialized as a pointer to a pointer to an arbitrary struct, yet (void **) is can not be dereferenced. Right now, the instance info is not used, but this might change.
-
Poul-Henning Kamp authored
-
- 01 Nov, 2021 2 commits
-
-
Nils Goroll authored
-
Nils Goroll authored
calling strlen() twice caused an itch
-
- 29 Oct, 2021 3 commits
-
-
Nils Goroll authored
-
Nils Goroll authored
-
Nils Goroll authored
-
- 27 Oct, 2021 5 commits
-
-
Poul-Henning Kamp authored
-
Nils Goroll authored
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
-
- 26 Oct, 2021 9 commits
-
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
-
Poul-Henning Kamp authored
When VJSN is both in libvarnish and libvarnishapi, as in varnishtest, you would think one of them took precedence, but not so on OSX. In the shlib (libvarnishapi) text (code) symbols come from the version in the main binary (varnishtest) which got it from libvarnish, whereas the data symbols come from the version in libvarnishapi, so we now hide the data symbols behind code.
-
Nils Goroll authored
Ref 611baec6
-
Nils Goroll authored
... but we can not make any assumption as to why Fixes #3664
-
Nils Goroll authored
add a vmod function for strftime() formatting in UTC.
-
Nils Goroll authored
-
Nils Goroll authored
As a follow-up issue from #3719, it was noticed that dynamic calls to built-in SUBs did not work. This issue was caused by more (struct symbol) members missing initialization in VCC_New(). In turn, it became apparent that the evaluation context check in vcc_expr5() as tested in v00020.vtc only worked by accident, and only for built-in subs because (struct symbol).eval was NULL for built-in subs. We fix SUB type expression evaluation with a type specific evaluation function which allows expression evaluation from explicit SUB contexts only. Fixes #3720
-
Nils Goroll authored
vcc_act_call() implements use-before-define semantics. To do so, it needs to instantiate SUB symbols if they do not exist. However, it wrongly called VCC_GlobalSymbol() also for existing symbols, overwriting symbol properties. In the case of the built-in subs, the symbol's lname (historically) still is the unescaped literal name, while user defined subs have their name escaped via VCC_GlobalSymbol() -> VCC_PrintCName(). This made the wrong call to VCC_GlobalSymbol() apparent when a built-in sub was called with an explicit "call" action. Besides fixing the VCC_GlobalSymbol() call, we also need to set the lname and rname attributes for built-in SUB symbols initialized in VCC_New(). Alternatively, we could also have used VCC_GlobalSymbol() there, but that would have affected other places where we (still) rely on the known name scheme of built-in subs, e.h. EmitStruct(). While the name unifaction was nice in general, I found the necessary changes (look up SUB symbols) not worth the benefit. Fixes #3719
-
- 25 Oct, 2021 1 commit
-
-
Dridi Boukelmoune authored
Already archived since there are no more occurrences in trunk, but it could be useful on other branches or third-party libvarnish consumers. The coccinelle patch also takes care of the recent manual refactoring. Refs 4ae73a5b Refs cf00dd2e
-