[master] 8a5f34c Document integers in a boolean context

Federico G. Schwindt fgsch at lodoss.net
Wed Sep 14 14:14:12 CEST 2016

commit 8a5f34ceeb6e39694faca3e5a02f0d5eef82d74a
Author: Federico G. Schwindt <fgsch at lodoss.net>
Date:   Wed Sep 14 12:18:07 2016 +0100

    Document integers in a boolean context
    While here improve and tidy things up.

diff --git a/doc/sphinx/reference/vcl.rst b/doc/sphinx/reference/vcl.rst
index 789b20d..ca77e8d 100644
--- a/doc/sphinx/reference/vcl.rst
+++ b/doc/sphinx/reference/vcl.rst
@@ -65,8 +65,8 @@ with the *elseif* statement (*elsif*/*elif*/*else if* are equivalent).
 Note that there are no loops or iterators of any kind in VCL.
-Strings, booleans, time, duration and integers
+Strings, booleans, time, duration, integers and real numbers
 These are the data types in Varnish. You can *set* or *unset* these.
@@ -87,21 +87,26 @@ characters except for the NUL (0x00) character.
-Booleans can be either *true* or *false*. Some values may be inferred as
-truthy or falthy. When cast to booleans, strings will evaluate to *false*
-if they are empty or NULL. This allows broad checks on headers existence
-for instance. Backend expressions can also be tested as booleans and can
-help find when a director like the hash director returns a NULL backend.
+Booleans can be either *true* or *false*.  In addition, in a boolean
+context some data types will evaluate to *true* or *false* depending on
+their value.
+String types will evaluate to *false* if they are empty; backend types
+will evalute to *false* if they don't have a backend assigned; integer
+types will evaluate to *false* if their value is zero.
+VCL has time. A duration can be added to a time to make another time.
+In string context they return a formatted string in RFC1123 format
+(e.g. Sun, 06 Nov 1994 08:49:37 GMT).
-VCL has time. The function *now* returns a time. A duration can be
-added to a time to make another time. In string context they return a
-formatted string.
+The keyword *now* returns a time representing the current time in seconds
+since the Epoch.
 Durations are defined by a number and a designation. The number can be a real
 so 1.5w is allowed.
@@ -128,13 +133,13 @@ so 1.5w is allowed.
 Certain fields are integers, used as expected. In string context they
 return a string.
 Real numbers
 VCL understands real numbers. As with integers, when used in a string
 context they will return a string.

More information about the varnish-commit mailing list