]> git.sur5r.net Git - bacula/bacula/commitdiff
Update copyright
authorKern Sibbald <kern@sibbald.com>
Tue, 21 Nov 2006 13:20:11 +0000 (13:20 +0000)
committerKern Sibbald <kern@sibbald.com>
Tue, 21 Nov 2006 13:20:11 +0000 (13:20 +0000)
git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@3668 91ce42f0-d328-0410-95d8-f526ca767f89

90 files changed:
bacula/src/c
bacula/src/cl
bacula/src/dird/admin.c
bacula/src/dird/authenticate.c
bacula/src/dird/autoprune.c
bacula/src/dird/backup.c
bacula/src/dird/bsr.c
bacula/src/dird/bsr.h
bacula/src/dird/catreq.c
bacula/src/dird/dird.c
bacula/src/dird/dird.h
bacula/src/dird/dird_conf.c
bacula/src/dird/dird_conf.h
bacula/src/dird/expand.c
bacula/src/dird/fd_cmds.c
bacula/src/dird/getmsg.c
bacula/src/dird/inc_conf.c
bacula/src/dird/job.c
bacula/src/dird/jobq.c
bacula/src/dird/jobq.h
bacula/src/dird/migrate.c
bacula/src/dird/mountreq.c
bacula/src/dird/msgchan.c
bacula/src/dird/newvol.c
bacula/src/dird/next_vol.c
bacula/src/dird/protos.h
bacula/src/dird/pythondir.c
bacula/src/dird/recycle.c
bacula/src/dird/restore.c
bacula/src/dird/run_conf.c
bacula/src/dird/scheduler.c
bacula/src/dird/ua.h
bacula/src/dird/ua_acl.c
bacula/src/dird/ua_cmds.c
bacula/src/dird/ua_dotcmds.c
bacula/src/dird/ua_input.c
bacula/src/dird/ua_label.c
bacula/src/dird/ua_output.c
bacula/src/dird/ua_prune.c
bacula/src/dird/ua_purge.c
bacula/src/dird/ua_query.c
bacula/src/dird/ua_restore.c
bacula/src/dird/ua_run.c
bacula/src/dird/ua_select.c
bacula/src/dird/ua_server.c
bacula/src/dird/ua_status.c
bacula/src/dird/ua_tree.c
bacula/src/dird/ua_update.c
bacula/src/dird/verify.c
bacula/src/lib/address_conf.c
bacula/src/lib/address_conf.h
bacula/src/lib/alist.h
bacula/src/lib/attr.h
bacula/src/lib/base64.h
bacula/src/lib/berrno.h
bacula/src/lib/bits.h
bacula/src/lib/bpipe.h
bacula/src/lib/bregex.h
bacula/src/lib/bsock.h
bacula/src/lib/btime.h
bacula/src/lib/btimers.h
bacula/src/lib/btree.h
bacula/src/lib/crypto.h
bacula/src/lib/dlist.h
bacula/src/lib/htable.h
bacula/src/lib/lex.h
bacula/src/lib/lib.h
bacula/src/lib/md5.h
bacula/src/lib/mem_pool.h
bacula/src/lib/message.h
bacula/src/lib/openssl.h
bacula/src/lib/parse_conf.h
bacula/src/lib/protos.h
bacula/src/lib/queue.h
bacula/src/lib/runscript.h
bacula/src/lib/rwlock.h
bacula/src/lib/semlock.h
bacula/src/lib/serial.h
bacula/src/lib/smartall.h
bacula/src/lib/tls.h
bacula/src/lib/tree.c
bacula/src/lib/tree.h
bacula/src/lib/util.c
bacula/src/lib/var.c
bacula/src/lib/var.h
bacula/src/lib/waitq.h
bacula/src/lib/watchdog.c
bacula/src/lib/watchdog.h
bacula/src/lib/workq.c
bacula/src/lib/workq.h

index 7da09c8a1ab17f306efaec2dc1b3d1c32faf38f3..1e7eaf6c5e894a2ad4c8dd95c1e6538d6c224d2b 100644 (file)
@@ -20,7 +20,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 416dfba530ffa51234394bd2660d85d384dc60ae..eb9aac79dc80477c79e05bc966f00f5fc8651133 100644 (file)
@@ -20,7 +20,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index a3c833303bb489e6727ef0885585a47aeca0bdca..f6a46b8a9569422bac14a54b786523ed1d2252c8 100644 (file)
@@ -31,7 +31,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 3ab21863edffdb828214a8bcd8648712c520df58..799f8e255f79c7aad5c016dca6e8cd46498502f0 100644 (file)
@@ -32,7 +32,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 53031ad82929de69b584c33c2bb24f730d0c3163..1259c205f9db2b0c9813f9929ea646757a627fc7 100644 (file)
@@ -29,7 +29,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 83fc3e3c205ff17dfc705ff7b9938b88fbf2d20a..47e70441b7e7093256da9b1304544f75e14c010e 100644 (file)
@@ -35,7 +35,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 99145fddfda4cd4f692e65c25e78bc1c820002e4..5b2a2aff218a59c452c51be4a50dc079166b4ef9 100644 (file)
@@ -31,7 +31,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index a7e7b51ff7b22ae11cae2efb80bb262632291e91..1928183800b7fff8972be938714439410e9ece4f 100644 (file)
@@ -32,7 +32,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index adc03c8bd3207998b58c4749b56d837c3fed7e10..1d19a5a26fd053aa1ed47e93845862a2ea6357a9 100644 (file)
@@ -34,7 +34,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index aa203d2c39bcad605c8993ec2d7d1694e35a3205..69f09d080ff91f4a2a7ea4e41594c82c9f499145 100644 (file)
@@ -28,7 +28,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 73623375a496d80f03bb64f0a0fecea28d199125..6f95d5c80364abdc900e7343adcaaeac7003f156 100644 (file)
@@ -27,7 +27,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index e8c089bbc0e478aac85ac8b61bc88a80682730b6..7299e197aa76c3254402be69d3e47e171396b6da 100644 (file)
@@ -43,7 +43,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index b66973bfaeb9e9ca6cf5f4c1c913e94b358b6ba8..69381516fc60d46bb4ae5b3be7e7b7b577056b74 100644 (file)
@@ -27,7 +27,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 5752135ff6b24dd00edd6da4f2cee81c2fcb5575..513ebb1a95830aa5baf44d7c0b3a4c71d236b2a2 100644 (file)
@@ -29,7 +29,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 91895887ea8c536005a9ef9e5a8b1b9ec1cde592..8a8782109ed6e560922689daa35cead65efd3e92 100644 (file)
@@ -34,7 +34,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index b73a11ef797f068004ee58846525aa18e9dd26b7..7d50a1b944a44f8a10b398a06df07710150a7f80 100644 (file)
@@ -42,7 +42,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 983f2a757e8301403ed6156db8b03396f424ae07..dc7a2ba74cb8f3c5917df61a024f5c62d6fd3be1 100644 (file)
@@ -28,7 +28,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index aecbc82746ee9132f93ed8de01524bc765e4f484..f817e88632e5ce7cea966b3f03b0566a79879a37 100644 (file)
@@ -28,7 +28,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index d56d600e5141cbf65d5c5dfb82ffd8d709246808..2c02aa5e778b174c23ba0b06693d1db9030cfffa 100755 (executable)
@@ -39,7 +39,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index c578cdf5635c6a47a0d1c324777ce8bd64288c32..fce145e34746bc34ce9d8c023529414f136587ac 100644 (file)
@@ -31,7 +31,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 1cdd0c4ea933939f13ab729c9acfe08392761504..c8e90f0d203f054925613202aa6f4e4f46317409 100644 (file)
@@ -36,7 +36,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index d8f2a716ca7ad12f82d66ad28c9300a9a88a594e..ae16aaf89e57e9ee15091d14b66c9514f82568ba 100644 (file)
@@ -34,7 +34,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 8fcb10e112a58b0c143de2315005e7e181950c1f..f83152fcca824b1c4f7fe4a9026ac203b2bec706 100644 (file)
@@ -37,7 +37,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 0f6e5fac0692bc43ca6cf57371286cc27d3e84f7..ce455edcb4dff6e433cdb7f77bb16e498ef2f6d5 100644 (file)
@@ -34,7 +34,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 2585a1f71801f24228be1f6bee741bdcd017db72..6643b3a41e5f6904a4cb8e060aea0bdbd76d6cb1 100644 (file)
@@ -30,7 +30,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 6571880ffe23d5503a2992b47567019b8862bee5..ccd77085684f805190758911368f4bc3959a187b 100644 (file)
@@ -25,7 +25,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 8ca4431351e5e254443220a6a9f4b7dba840787f..282ca44187e5c110985cdb4ff5fab627f4bc9532 100644 (file)
@@ -29,7 +29,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 2c11cd9f2efe66a2275f38ee20cbff09cbc2d7aa..fb6772c5c8f3c8f736b31c5e768635131baa239d 100644 (file)
@@ -29,7 +29,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 8371fb41c4faba4cd582742eb5b3ca3960ae7f9e..1b39576e51553e6865bb4387a710534867cba5e9 100644 (file)
@@ -39,7 +39,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 9f5d1aef13a5ca4c52fa1699bbc2c5014b0d79d1..334ef8a184db405da0657a14324a09de9cd16528 100644 (file)
@@ -29,7 +29,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 668e139206bf45ec51e7d8ff5eaecaa0077341df..6b9550442fc6791a9b48e8c8e187a192ead48918 100644 (file)
@@ -31,7 +31,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 249c9c8fe2fd18aa27251ad533290a04017ca054..9b71b8d856e49e238ff635447c1277a188e8258e 100644 (file)
@@ -27,7 +27,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index c1346ea293fd3019061d904595b84ce0630a08c1..7d5b686d5c9f4c3e165d236156cef8ce72b9f8e4 100644 (file)
@@ -28,7 +28,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 1100887ea1912dd146dc2639be7eb421c34940d0..a019c3be6c8fae4519742a53d8525b6ef00e2ec7 100644 (file)
@@ -28,7 +28,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 14144858aae97ab29eea565ce0da39be4e9d4eea..ecb26693c7024a0e8a6766438c481c69a668dc37 100644 (file)
@@ -32,7 +32,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index b7fb74ece1dc860bae7f60a49ce83e9be1caff80..a51dbce63603aaaa2e72d829480ae65b96948c46 100644 (file)
@@ -28,7 +28,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 0f43ba70fba4ea04febc8ce5507d34f6b64d327f..cfbb7a6c89b6fb6873b431a671e4d6238a5005fc 100644 (file)
@@ -28,7 +28,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 175128d6d1d0d69299247f96445c083fbdd2910f..30352ef11d95aa65526f75de63b3fc689f1d8073 100644 (file)
@@ -29,7 +29,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index fc0bd59f9f1138a9ca34c05306a0020ef0173a7c..1de851c8da1a72e1bd7ffccf94835b930b89a427 100644 (file)
@@ -29,7 +29,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index a3de849b66dce8c5f2b4607b135c360dd27b9e50..ed4e9103fcbf2fe5818e451407c623f8f307942d 100644 (file)
@@ -32,7 +32,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index aadab20664ebb5f29c26286368cee712fa7b0115..def1a0a2caf7de464d5ad073d126e463e3385697 100644 (file)
@@ -28,7 +28,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index ddb025700f3ce90a57578154a92f0310b822c976..b20fb4b9f382beb4e1fdd7c9e2515d2989f4d3b9 100644 (file)
@@ -34,7 +34,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 9cd61ac258d050828e31832b3d65354d1d654ab5..a37fd9a9a10cef5ace68338af44ac17efe733eb7 100644 (file)
@@ -28,7 +28,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 6f2c1c006e52c0f77a06ab0099267cb7e07a3596..f5234a4e1d000ff6ab18666ec1fc4b3aba392847 100644 (file)
@@ -28,7 +28,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 5423a07d16afe68834ce65b3ffe5ff10c0dc6830..d64b93635dcaa107ad10f72a2776036eab5c48d1 100644 (file)
@@ -28,7 +28,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index b3c85c9d72e482fad31c48ec5295e809355cc9a7..7a4715d338d44c9e5960265220b7b54762ccbfc5 100644 (file)
@@ -28,7 +28,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 0022fb9de5ffd537788fc2a0e990822f99cd5315..0c232a8be41aed0c6559b31a84e7f930bac95fbd 100644 (file)
@@ -30,7 +30,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 05c0784138865c578952bed536d90629cb02bea6..6536235f37066a5f7e494d4beb911fa587a7c1fa 100644 (file)
@@ -29,7 +29,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index aa67aebf07c0482ae7066bf522ba9fca166e4f6a..bffc003766095a10c950077606e29675dcb8c33b 100644 (file)
@@ -35,7 +35,7 @@
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Bacula® is a registered trademark ofJohn Walker.
+   Bacula® is a registered trademark of John Walker.
    The licensor of Bacula is the Free Software Foundation Europe
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
index 76057c9282be96b98a67433138d7076e119d23e5..b79ae3b487d2361daf2d2e913ff68bb8aa14f286 100644 (file)
@@ -1,24 +1,37 @@
 /*
  *   Configuration file parser for IP-Addresse ipv4 and ipv6
  *
- *     Written by Meno Abels, June MMIIII
+ *     Written by Meno Abels, June MMIV
  *
  *     Version $Id$
  */
 /*
-   Copyright (C) 2004-2005 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2004-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark ofJohn Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 
 #include "bacula.h"
index 64842aeb5d44aaffe8d9a3c613264342b0247b0f..78d7992d2be8a1254b5780dfe0600845c3ed580c 100644 (file)
@@ -5,19 +5,32 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2004-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2004-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 class IPADDR : public SMARTALLOC {
  public:
index dcdf809d4f171692008f61035521870a2aa14701..4c3efd5e1a760e85f707b1d5cb40cc16342cfa8a 100644 (file)
@@ -4,19 +4,32 @@
  *  Kern Sibbald, June MMIII
  */
 /*
-   Copyright (C) 2003-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2003-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 
 /*
index b510017a6fbe4547ef6d64b7f91e0d06140b2f67..21815ef172f2e82a777741ad67f9baca246c2eb4 100644 (file)
@@ -6,19 +6,32 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2003-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2003-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 
 struct ATTR {
index 17deac9d08f9d91e22bab12ab9d86c5c86d1af90..2fabb1387fd98d716755012fb2a0e141ba0d0ced 100644 (file)
@@ -5,21 +5,33 @@
  *
  *   Version $Id$
  */
-
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 /* Maximum size of len bytes after base64 encoding */
 #define BASE64_SIZE(len) ((4 * len + 2) / 3 + 1)
index efc6af05c8c3464dea5638d58e846f4987aab7e0..28408a8089aa96d5042e2e51dff44531af868651 100644 (file)
@@ -5,19 +5,32 @@
  *
  */
 /*
-   Copyright (C) 2004-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2004-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 /*
  * Extra bits set to interpret errno value differently from errno
index 5f3f0c85f08ddfd9e6f1fb37e6cda610f8d64a20..ac4200cfb8b0c086a96545b61218b5bc5fdad796 100644 (file)
@@ -7,24 +7,32 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2000, 2001, 2002 Kern Sibbald and John Walker
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of
-   the License, or (at your option) any later version.
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    General Public License for more details.
 
-   You should have received a copy of the GNU General Public
-   License along with this program; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA.
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
 
- */
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #ifndef __BITS_H_
 #define __BITS_H_
index 36a7ed7ceae73f996b056f5617f5b17561aace74..2d75b7e3539a15d72d010d734e78297689159f9c 100644 (file)
@@ -3,21 +3,33 @@
  *
  *   Version $Id$
  */
-
 /*
-   Copyright (C) 2002-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2002-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 class BPIPE {
 public:
index e848185cb9c44fe074a1e60df4a80ed898a4481a..ed5cb1f37983dbbbc10f12d671f0785d40bf489d 100644 (file)
@@ -23,6 +23,33 @@ extern "C" {
  *  Modified to work with C++ for use in Bacula,           
  *     Kern Sibbald April, 2006
  */ 
+/*
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2006-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #ifndef REGEXPR_H
 #define REGEXPR_H
index 4ca9fcff7a0cca3449e661e70739ebb166993a6a..05e9a905a038652ff073b381dc6effb8e4fae7bd 100644 (file)
  *   Version $Id$
  */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 struct BSOCK {
    uint64_t read_seqno;               /* read sequence number */
index 7158e1b85c7f0a2becaca660124fdbcc731d7185..38b4eedee6f9bb44e48ba4599c72ab9ba226fd33 100644 (file)
@@ -7,19 +7,32 @@
 
  */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 
 #ifndef __btime_INCLUDED
index de7328b7701acce82cb972c381121e6a9ecd9af0..51329d495b513511b9debd28c47008df121474dc 100644 (file)
@@ -5,19 +5,32 @@
  *
 */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2003-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 typedef struct s_btimer_t {
    watchdog_t *wd;                    /* Parent watchdog */
index e3f8c946d9183d073d6ead0305c60ef27d2adee7..23e79a9be9e84e21722ce3b2f228509e354055b1 100644 (file)
@@ -2,19 +2,32 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2005-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2005-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 
 /* ========================================================================
index 8b3552d08c96e3bd4b51bbd548c78ac74b3198ee..975d980837ad7a73054cf79f2955ecef651194b9 100644 (file)
@@ -5,8 +5,6 @@
  *
  * Version $Id$
  *
- * Copyright (C) 2005 Kern Sibbald
- *
  * This file was contributed to the Bacula project by Landon Fuller.
  *
  * Landon Fuller has been granted a perpetual, worldwide, non-exclusive,
  * license please contact Landon Fuller <landonf@opendarwin.org>.
  */
 /*
-   Copyright (C) 2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2005-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #ifndef __CRYPTO_H_
 #define __CRYPTO_H_
index 2644158ef8d5ee78e6bea40cccbebf629dd6434f..66934ce7b87e7c7e7d1037caaee487568886f8c9 100644 (file)
@@ -1,20 +1,35 @@
 /*
+ *  Written by Kern Sibbald MMIV
+ *
  *   Version $Id$
  */
 /*
-   Copyright (C) 2004-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2004-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 
 /* ========================================================================
index ab5a0e1ebf4c93a98f5460fbe022d98520a55c52..9702a6f43d59f5c61c0a2d603b6bb4a85b351e09 100644 (file)
@@ -1,20 +1,36 @@
 /*
+ *
+ * Written by Kern Sibbald, MMIV
+ *
  *   Version $Id$
  */
 /*
-   Copyright (C) 2003-2005 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2003-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 /* ========================================================================
  *
index bf0bd1aac1be5ed11a920f096fc099048b788ed2..b91bdbfefc8ffd03aee1f9b8c951ae8a78cb2944 100644 (file)
@@ -9,19 +9,32 @@
  *
  */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #ifndef _LEX_H
 #define _LEX_H
index 73c23e8857b21b5a2ffd8ac20289bcfe377cc6fb..398990a406fdf3c039bd1e5e5663136954966109 100644 (file)
@@ -7,21 +7,33 @@
  *
  *   Version $Id$
  */
-
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #include "smartall.h"
 #include "alist.h"
index 2ee8a8f5ab2987d0c6629b282fbe440c8dbdc085..b6469dff66f17e2ef83e70923d28dca2b9e27b41 100644 (file)
@@ -6,19 +6,32 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2001-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2001-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #ifndef __BMD5_H
 #define __BMD5_H
index 1a36331b6fea361c5b90d07b21653d63b4593b56..0a6b123e7645b657af61ed225579060aa1fbafba 100644 (file)
@@ -6,19 +6,32 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #ifndef __MEM_POOL_H_
 #define __MEM_POOL_H_
index 37293f9b2645a850b654fe12cfddc886826b2041..aa88cbbc255702f93f2515cf4cccfa98d9405c12 100644 (file)
@@ -5,19 +5,32 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #include "bits.h"
 
@@ -114,7 +127,7 @@ enum {
    MD_OPERATOR,                       /* email a single message to the operator */
    MD_CONSOLE,                        /* send msg to UserAgent or console */
    MD_MAIL_ON_ERROR,                  /* email messages if job errors */
-   MD_MAIL_ON_SUCCESS,               /* email messages if job succeeds */
+   MD_MAIL_ON_SUCCESS,                /* email messages if job succeeds */
    MD_CATALOG                         /* sent to catalog Log table */
 };
 
index 4ec6ea020da1b3611777b9fb50aaf0b6edaf174c..b55e3afb7992a6fcf664574fd913ae70a0544d19 100644 (file)
@@ -5,8 +5,6 @@
  *
  * Version $Id$
  *
- * Copyright (C) 2005 Kern Sibbald
- *
  * This file was contributed to the Bacula project by Landon Fuller.
  *
  * Landon Fuller has been granted a perpetual, worldwide, non-exclusive,
  * license please contact Landon Fuller <landonf@opendarwin.org>.
  */
 /*
-   Copyright (C) 2005-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2005-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #ifndef __OPENSSL_H_
 #define __OPENSSL_H_
index 181d55343d0a0adc51cb65fdc252c15338507aaf..5833e0ad4034b82da697ec2e577d481c5805f771 100644 (file)
@@ -2,19 +2,32 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 struct RES_ITEM;                    /* Declare forward referenced structure */
 struct RES;                         /* Declare forware referenced structure */
index 7d93cfd6389e392acebb722514d519a0b2a44da8..20e11a5841e4431acbc6e9c2fb9672a1c9934821 100644 (file)
@@ -4,19 +4,32 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 class JCR;
 
index 91f0713e7c0db2cf5f842537934900fc0658d053..ae7cdf5f7bd02c1b49ec7b4440294d1654cb0f21 100644 (file)
@@ -1,20 +1,35 @@
 /*
+ *  Written by John Walker MM
+ *
  *   Version $Id$
  */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 
 /*  General purpose queue  */
index 69fce04187d6fe9badca9888f1a474ba3776b07c..d75a7b4b474f06f25f591ad0f35a02bf6fb98a00 100644 (file)
@@ -4,19 +4,32 @@
  * Version $Id$
  */
 /*
-   Copyright (C) 2006-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2006-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 
 #ifndef __RUNSCRIPT_H_
@@ -59,7 +72,7 @@ public:
    bool abort_on_error;         /* abort job on error (Before) */
    int  when;                   /* SCRIPT_Before|Script_After BEFORE/AFTER JOB*/
    /* TODO : drop this with bacula 1.42 */
-   bool old_proto;             /* used by old 1.3X protocol */
+   bool old_proto;              /* used by old 1.3X protocol */
 
    int run(JCR *job, const char *name="");
    bool can_run_at_level(int JobLevel) { return true;};        /* TODO */
index 178410945cd470ee3d84dd3f2821e283d40ce1ad..e4e89cb5c379a0caaff9927bf4bfb6e91ea4f9f4 100644 (file)
  *
  */
 /*
-   Copyright (C) 2001-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2001-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #ifndef __RWLOCK_H
 #define __RWLOCK_H 1
index d03904dac8895ec24a3ce78c5ce2ff332721f10a..64c0de9a85a8dc12adf54011a13dc55fa341a971 100644 (file)
  *   Version $Id$
  */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2003-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark o John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #ifndef __SEMLOCK_H
 #define __SEMLOCK_H 1
index e3e0013910cb78727f9ba75130b30c1544a5f682..05f6eb5c51896b7c48e0c046bf1f40c633303071 100644 (file)
@@ -1,22 +1,36 @@
 /*
+ *
+ * Written by John Walker, MM
  *
  *   Version $Id$
  */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
-
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark ofJohn Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 /*  Serialisation support functions from serial.c.  */
 
index 439f990ea148011e1ff3b67bcbee330fec8d9965..3472566fda1f94b01380c79fac35f3b9aeaa2f1b 100644 (file)
@@ -5,21 +5,33 @@
      Version $Id$
 
 */
-
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark ofJohn Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 extern uint64_t DLL_IMP_EXP sm_max_bytes;
 extern uint64_t DLL_IMP_EXP sm_bytes;
index d74918d6c5d050de6c366e5e51212ec209c99cb2..5c088fffc344d18bc389a4ba3ad71e8273ddcc6a 100644 (file)
@@ -5,8 +5,6 @@
  *
  * Version $Id$
  *
- * Copyright (C) 2005-2006 Kern Sibbald
- *
  * This file was contributed to the Bacula project by Landon Fuller
  * and Three Rings Design, Inc.
  *
  * under an alternate open source license please contact
  * Landon Fuller <landonf@threerings.net>.
  */
-/*  
-   This library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Lesser General Public
-   License as published by the Free Software Foundation; either
-   version 2.1 of the License, or (at your option) any later version.
-  
-   This library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+/*
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2005-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU Lesser General 
+   Public License as published by the Free Software Foundation plus 
+   additions that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    Lesser General Public License for more details.
-  
-   You should have received a copy of the GNU Lesser General Public
-   License along with this library; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-   MA 02111-1307, USA.
- */
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark ofJohn Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #ifndef __TLS_H_
 #define __TLS_H_
index 899b237a986066d35d2e9eba3e532fa8f97d6312..62b9aa154d47fd959e58fa518b55ebd576a3d7cc 100755 (executable)
@@ -5,19 +5,32 @@
  *
 */
 /*
-   Copyright (C) 2002-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2002-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 
 #include "bacula.h"
index ffa697c218f8ffaa80d5666d7100cfcbd9128f12..fbe89b02fdf0e63753631dbff19fbdd6bdd15789 100644 (file)
@@ -5,19 +5,32 @@
  *
 */
 /*
-   Copyright (C) 2002-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2002-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark ofJohn Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 struct s_mem {
    struct s_mem *next;                /* next buffer */
index 8a48d8514df314486e12332d4c87b072f89bc90c..154965b9d51583970abc9eb1722ac1df9de8c068 100644 (file)
@@ -6,19 +6,32 @@
  *   Version $Id$
  */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #include "bacula.h"
 #include "jcr.h"
index 14289b19a8edece5f81d4415241a08e9abc6ad04..aac43f66e9e385f69765fe18d512d27d2b2cd0c9 100644 (file)
  *  Adapted by Kern Sibbald to Bacula June 2003
  */
 /*
-   Copyright (C) 2000-2004 Kern Sibbald and John Walker
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of
-   the License, or (at your option) any later version.
+   Copyright (C) 2003-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    General Public License for more details.
 
-   You should have received a copy of the GNU General Public
-   License along with this program; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA.
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
 
- */
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #include "bacula.h"
 #if defined(HAVE_PCREPOSIX)
@@ -71,21 +79,21 @@ typedef char char_class_t[256]; /* 256 == 2 ^ sizeof(unsigned char)*8 */
 
 /* the external context structure */
 struct var_st {
-    var_syntax_t        syntax;
-    char_class_t        syntax_nameclass;
-    var_cb_value_t      cb_value_fct;
-    void               *cb_value_ctx;
-    var_cb_operation_t  cb_operation_fct;
-    void               *cb_operation_ctx;
+    var_syntax_t         syntax;
+    char_class_t         syntax_nameclass;
+    var_cb_value_t       cb_value_fct;
+    void                *cb_value_ctx;
+    var_cb_operation_t   cb_operation_fct;
+    void                *cb_operation_ctx;
 };
 
 /* the internal expansion context structure */
 struct var_parse_st {
     struct var_parse_st *lower;
-    int                 force_expand;
-    int                 rel_lookup_flag;
-    int                 rel_lookup_cnt;
-    int                 index_this;
+    int                  force_expand;
+    int                  rel_lookup_flag;
+    int                  rel_lookup_cnt;
+    int                  index_this;
 };
 typedef struct var_parse_st var_parse_t;
 
@@ -122,54 +130,54 @@ var_mvxprintf(
     int bytes;
 
     if (format == NULL)
-       return -1;
+        return -1;
     bytes = 0;
     while (*format != '\0') {
-       if (*format == '%') {
-           c = *(format+1);
-           if (c == '%') {
-               /* expand "%%" */
-               cp = &c;
-               n = sizeof(char);
-           }
-           else if (c == 'c') {
-               /* expand "%c" */
-               c = (char)va_arg(ap, int);
-               cp = &c;
-               n = sizeof(char);
-           }
-           else if (c == 's') {
-               /* expand "%s" */
-               if ((cp = (char *)va_arg(ap, char *)) == NULL)
-                   cp = "(null)";
-               n = strlen(cp);
-           }
-           else if (c == 'd') {
-               /* expand "%d" */
-               d = (int)va_arg(ap, int);
-               bsnprintf(ibuf, sizeof(ibuf), "%d", d); /* explicitly secure */
-               cp = ibuf;
-               n = strlen(cp);
-           }
-           else {
-               /* any other "%X" */
-               cp = (char *)format;
-               n  = 2;
-           }
-           format += 2;
-       }
-       else {
-           /* plain text */
-           cp = (char *)format;
-           if ((format = strchr(cp, '%')) == NULL)
-               format = strchr(cp, '\0');
-           n = format - cp;
-       }
-       /* perform output operation */
-       if (output != NULL)
-           if ((n = output(ctx, cp, n)) == -1)
-               break;
-       bytes += n;
+        if (*format == '%') {
+            c = *(format+1);
+            if (c == '%') {
+                /* expand "%%" */
+                cp = &c;
+                n = sizeof(char);
+            }
+            else if (c == 'c') {
+                /* expand "%c" */
+                c = (char)va_arg(ap, int);
+                cp = &c;
+                n = sizeof(char);
+            }
+            else if (c == 's') {
+                /* expand "%s" */
+                if ((cp = (char *)va_arg(ap, char *)) == NULL)
+                    cp = "(null)";
+                n = strlen(cp);
+            }
+            else if (c == 'd') {
+                /* expand "%d" */
+                d = (int)va_arg(ap, int);
+                bsnprintf(ibuf, sizeof(ibuf), "%d", d); /* explicitly secure */
+                cp = ibuf;
+                n = strlen(cp);
+            }
+            else {
+                /* any other "%X" */
+                cp = (char *)format;
+                n  = 2;
+            }
+            format += 2;
+        }
+        else {
+            /* plain text */
+            cp = (char *)format;
+            if ((format = strchr(cp, '%')) == NULL)
+                format = strchr(cp, '\0');
+            n = format - cp;
+        }
+        /* perform output operation */
+        if (output != NULL)
+            if ((n = output(ctx, cp, n)) == -1)
+                break;
+        bytes += n;
     }
     return bytes;
 }
@@ -189,7 +197,7 @@ var_mvsnprintf_cb(
     var_mvsnprintf_cb_t *ctx = (var_mvsnprintf_cb_t *)_ctx;
 
     if (bufsize > ctx->buflen)
-       return -1;
+        return -1;
     memcpy(ctx->bufptr, buffer, bufsize);
     ctx->bufptr += bufsize;
     ctx->buflen -= bufsize;
@@ -206,21 +214,21 @@ var_mvsnprintf(
     var_mvsnprintf_cb_t ctx;
 
     if (format == NULL)
-       return -1;
+        return -1;
     if (buffer != NULL && bufsize == 0)
-       return -1;
+        return -1;
     if (buffer == NULL)
-       /* just determine output length */
-       n = var_mvxprintf(NULL, NULL, format, ap);
+        /* just determine output length */
+        n = var_mvxprintf(NULL, NULL, format, ap);
     else {
-       /* perform real output */
-       ctx.bufptr = buffer;
-       ctx.buflen = bufsize;
-       n = var_mvxprintf(var_mvsnprintf_cb, &ctx, format, ap);
-       if (n != -1 && ctx.buflen == 0)
-           n = -1;
-       if (n != -1)
-           *(ctx.bufptr) = '\0';
+        /* perform real output */
+        ctx.bufptr = buffer;
+        ctx.buflen = bufsize;
+        n = var_mvxprintf(var_mvsnprintf_cb, &ctx, format, ap);
+        if (n != -1 && ctx.buflen == 0)
+            n = -1;
+        if (n != -1)
+            *(ctx.bufptr) = '\0';
     }
     return n;
 }
@@ -236,7 +244,7 @@ var_parse_push(
     var_parse_t *lower, var_parse_t *upper)
 {
     if (upper == NULL)
-       return NULL;
+        return NULL;
     memcpy(upper, lower, sizeof(var_parse_t));
     upper->lower = lower;
     return upper;
@@ -247,7 +255,7 @@ var_parse_pop(
     var_parse_t *upper)
 {
     if (upper == NULL)
-       return NULL;
+        return NULL;
     return upper->lower;
 }
 
@@ -280,7 +288,7 @@ tokenbuf_isundef(
     tokenbuf_t *buf)
 {
     if (buf->begin == NULL && buf->end == NULL)
-       return 1;
+        return 1;
     return 0;
 }
 
@@ -289,7 +297,7 @@ tokenbuf_isempty(
     tokenbuf_t *buf)
 {
     if (buf->begin == buf->end)
-       return 1;
+        return 1;
     return 0;
 }
 
@@ -321,7 +329,7 @@ tokenbuf_assign(
     char *p;
 
     if ((p = (char *)malloc(len + 1)) == NULL)
-       return 0;
+        return 0;
     memcpy(p, data, len);
     buf->begin = p;
     buf->end = p + len;
@@ -341,47 +349,47 @@ tokenbuf_append(
     /* Is the tokenbuffer initialized at all? If not, allocate a
        standard-sized buffer to begin with. */
     if (output->begin == NULL) {
-       if ((output->begin = output->end = (const char *)malloc(TOKENBUF_INITIAL_BUFSIZE)) == NULL)
-           return 0;
-       output->buffer_size = TOKENBUF_INITIAL_BUFSIZE;
+        if ((output->begin = output->end = (const char *)malloc(TOKENBUF_INITIAL_BUFSIZE)) == NULL)
+            return 0;
+        output->buffer_size = TOKENBUF_INITIAL_BUFSIZE;
     }
 
     /* does the token contain text, but no buffer has been allocated yet? */
     if (output->buffer_size == 0) {
-       /* check whether data borders to output. If, we can append
-          simly by increasing the end pointer. */
-       if (output->end == data) {
-           output->end += len;
-           return 1;
-       }
-       /* ok, so copy the contents of output into an allocated buffer
-          so that we can append that way. */
-       if ((tmp = (char *)malloc(output->end - output->begin + len + 1)) == NULL)
-           return 0;
-       memcpy(tmp, output->begin, output->end - output->begin);
-       output->buffer_size = output->end - output->begin;
-       output->begin = tmp;
-       output->end = tmp + output->buffer_size;
-       output->buffer_size += len + 1;
+        /* check whether data borders to output. If, we can append
+           simly by increasing the end pointer. */
+        if (output->end == data) {
+            output->end += len;
+            return 1;
+        }
+        /* ok, so copy the contents of output into an allocated buffer
+           so that we can append that way. */
+        if ((tmp = (char *)malloc(output->end - output->begin + len + 1)) == NULL)
+            return 0;
+        memcpy(tmp, output->begin, output->end - output->begin);
+        output->buffer_size = output->end - output->begin;
+        output->begin = tmp;
+        output->end = tmp + output->buffer_size;
+        output->buffer_size += len + 1;
     }
 
     /* does the token fit into the current buffer? If not, realloc a
        larger buffer that fits. */
     if ((output->buffer_size - (output->end - output->begin)) <= len) {
-       new_size = output->buffer_size;
-       do {
-           new_size *= 2;
-       } while ((new_size - (output->end - output->begin)) <= len);
-       if ((new_buffer = (char *)realloc((char *)output->begin, new_size)) == NULL)
-           return 0;
-       output->end = new_buffer + (output->end - output->begin);
-       output->begin = new_buffer;
-       output->buffer_size = new_size;
+        new_size = output->buffer_size;
+        do {
+            new_size *= 2;
+        } while ((new_size - (output->end - output->begin)) <= len);
+        if ((new_buffer = (char *)realloc((char *)output->begin, new_size)) == NULL)
+            return 0;
+        output->end = new_buffer + (output->end - output->begin);
+        output->begin = new_buffer;
+        output->buffer_size = new_size;
     }
 
     /* append the data at the end of the current buffer. */
     if (len > 0)
-       memcpy((char *)output->end, data, len);
+        memcpy((char *)output->end, data, len);
     output->end += len;
     *((char *)output->end) = EOS;
     return 1;
@@ -399,7 +407,7 @@ tokenbuf_free(
     tokenbuf_t *buf)
 {
     if (buf->begin != NULL && buf->buffer_size > 0)
-       free((char *)buf->begin);
+        free((char *)buf->begin);
     buf->begin = buf->end = NULL;
     buf->buffer_size = 0;
     return;
@@ -415,7 +423,7 @@ static void
 expand_range(char a, char b, char_class_t chrclass)
 {
     do {
-       chrclass[(int)a] = 1;
+        chrclass[(int)a] = 1;
     } while (++a <= b);
     return;
 }
@@ -427,19 +435,19 @@ expand_character_class(const char *desc, char_class_t chrclass)
 
     /* clear the class array. */
     for (i = 0; i < 256; ++i)
-       chrclass[i] = 0;
+        chrclass[i] = 0;
 
     /* walk through class description and set appropriate entries in array */
     while (*desc != EOS) {
-       if (desc[1] == '-' && desc[2] != EOS) {
-           if (desc[0] > desc[2])
-               return VAR_ERR_INCORRECT_CLASS_SPEC;
-           expand_range(desc[0], desc[2], chrclass);
-           desc += 3;
-       } else {
-           chrclass[(int) *desc] = 1;
-           desc++;
-       }
+        if (desc[1] == '-' && desc[2] != EOS) {
+            if (desc[0] > desc[2])
+                return VAR_ERR_INCORRECT_CLASS_SPEC;
+            expand_range(desc[0], desc[2], chrclass);
+            desc += 3;
+        } else {
+            chrclass[(int) *desc] = 1;
+            desc++;
+        }
     }
     return VAR_OK;
 }
@@ -455,9 +463,9 @@ expand_isoct(
     int c)
 {
     if (c >= '0' && c <= '7')
-       return 1;
+        return 1;
     else
-       return 0;
+        return 0;
 }
 
 static var_rc_t
@@ -467,15 +475,15 @@ expand_octal(
     int c;
 
     if (end - *src < 3)
-       return VAR_ERR_INCOMPLETE_OCTAL;
+        return VAR_ERR_INCOMPLETE_OCTAL;
     if (   !expand_isoct(**src)
-       || !expand_isoct((*src)[1])
-       || !expand_isoct((*src)[2]))
-       return VAR_ERR_INVALID_OCTAL;
+        || !expand_isoct((*src)[1])
+        || !expand_isoct((*src)[2]))
+        return VAR_ERR_INVALID_OCTAL;
 
     c = **src - '0';
     if (c > 3)
-       return VAR_ERR_OCTAL_TOO_LARGE;
+        return VAR_ERR_OCTAL_TOO_LARGE;
     c *= 8;
     (*src)++;
 
@@ -495,10 +503,10 @@ expand_ishex(
     int c)
 {
     if ((c >= '0' && c <= '9') ||
-       (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'))
-       return 1;
+        (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'))
+        return 1;
     else
-       return 0;
+        return 0;
 }
 
 static var_rc_t
@@ -508,27 +516,27 @@ expand_simple_hex(
     int c = 0;
 
     if (end - *src < 2)
-       return VAR_ERR_INCOMPLETE_HEX;
+        return VAR_ERR_INCOMPLETE_HEX;
     if (   !expand_ishex(**src)
-       || !expand_ishex((*src)[1]))
-       return VAR_ERR_INVALID_HEX;
+        || !expand_ishex((*src)[1]))
+        return VAR_ERR_INVALID_HEX;
 
     if (**src >= '0' && **src <= '9')
-       c = **src - '0';
+        c = **src - '0';
     else if (**src >= 'a' && **src <= 'f')
-       c = **src - 'a' + 10;
+        c = **src - 'a' + 10;
     else if (**src >= 'A' && **src <= 'F')
-       c = **src - 'A' + 10;
+        c = **src - 'A' + 10;
 
     c = c << 4;
     (*src)++;
 
     if (**src >= '0' && **src <= '9')
-       c += **src - '0';
+        c += **src - '0';
     else if (**src >= 'a' && **src <= 'f')
-       c += **src - 'a' + 10;
+        c += **src - 'a' + 10;
     else if (**src >= 'A' && **src <= 'F')
-       c += **src - 'A' + 10;
+        c += **src - 'A' + 10;
 
     **dst = (char)c;
     (*dst)++;
@@ -542,12 +550,12 @@ expand_grouped_hex(
     var_rc_t rc;
 
     while (*src < end && **src != '}') {
-       if ((rc = expand_simple_hex(src, dst, end)) != VAR_OK)
-           return rc;
-       (*src)++;
+        if ((rc = expand_simple_hex(src, dst, end)) != VAR_OK)
+            return rc;
+        (*src)++;
     }
     if (*src == end)
-       return VAR_ERR_INCOMPLETE_GROUPED_HEX;
+        return VAR_ERR_INCOMPLETE_GROUPED_HEX;
 
     return VAR_OK;
 }
@@ -557,12 +565,12 @@ expand_hex(
     const char **src, char **dst, const char *end)
 {
     if (*src == end)
-       return VAR_ERR_INCOMPLETE_HEX;
+        return VAR_ERR_INCOMPLETE_HEX;
     if (**src == '{') {
-       (*src)++;
-       return expand_grouped_hex(src, dst, end);
+        (*src)++;
+        return expand_grouped_hex(src, dst, end);
     } else
-       return expand_simple_hex(src, dst, end);
+        return expand_simple_hex(src, dst, end);
 }
 
 /*
@@ -574,7 +582,7 @@ expand_hex(
 /* forward declarations */
 static int parse_variable(var_t *var, var_parse_t *ctx, const char *begin, const char *end, tokenbuf_t *result);
 static int parse_numexp (var_t *var, var_parse_t *ctx, const char *begin, const char *end, int *result, int *failed);
-static int parse_name  (var_t *var, var_parse_t *ctx, const char *begin, const char *end);
+static int parse_name   (var_t *var, var_parse_t *ctx, const char *begin, const char *end);
 
 /* parse pattern text */
 static int
@@ -586,11 +594,11 @@ parse_pattern(
 
     /* parse until '/' */
     for (p = begin; p != end && *p != '/'; p++) {
-       if (*p == var->syntax.escape) {
-           if (p + 1 == end)
-               return VAR_ERR_INCOMPLETE_QUOTED_PAIR;
-           p++;
-       }
+        if (*p == var->syntax.escape) {
+            if (p + 1 == end)
+                return VAR_ERR_INCOMPLETE_QUOTED_PAIR;
+            p++;
+        }
     }
     return (p - begin);
 }
@@ -605,11 +613,11 @@ parse_substext(
 
     /* parse until delim_init or '/' */
     for (p = begin; p != end && *p != var->syntax.delim_init && *p != '/'; p++) {
-       if (*p == var->syntax.escape) {
-           if (p + 1 == end)
-               return VAR_ERR_INCOMPLETE_QUOTED_PAIR;
-           p++;
-       }
+        if (*p == var->syntax.escape) {
+            if (p + 1 == end)
+                return VAR_ERR_INCOMPLETE_QUOTED_PAIR;
+            p++;
+        }
     }
     return (p - begin);
 }
@@ -623,15 +631,15 @@ parse_exptext(
     const char *p;
 
     /* parse until delim_init or delim_close or ':' */
-    for (p = begin;    p != end
-                   && *p != var->syntax.delim_init
-                   && *p != var->syntax.delim_close
-                   && *p != ':'; p++) {
-       if (*p == var->syntax.escape) {
-           if (p + 1 == end)
-               return VAR_ERR_INCOMPLETE_QUOTED_PAIR;
-           p++;
-       }
+    for (p = begin;     p != end
+                    && *p != var->syntax.delim_init
+                    && *p != var->syntax.delim_close
+                    && *p != ':'; p++) {
+        if (*p == var->syntax.escape) {
+            if (p + 1 == end)
+                return VAR_ERR_INCOMPLETE_QUOTED_PAIR;
+            p++;
+        }
     }
     return (p - begin);
 }
@@ -646,11 +654,11 @@ parse_opargtext(
 
     /* parse until delim_init or ')' */
     for (p = begin; p != end && *p != var->syntax.delim_init && *p != ')'; p++) {
-       if (*p == var->syntax.escape) {
-           if (p + 1 == end)
-               return VAR_ERR_INCOMPLETE_QUOTED_PAIR;
-           p++;
-       }
+        if (*p == var->syntax.escape) {
+            if (p + 1 == end)
+                return VAR_ERR_INCOMPLETE_QUOTED_PAIR;
+            p++;
+        }
     }
     return (p - begin);
 }
@@ -669,29 +677,29 @@ parse_opargtext_or_variable(
     tokenbuf_init(&tmp);
     p = begin;
     if (p == end)
-       return 0;
+        return 0;
     do {
-       rc = parse_opargtext(var, ctx, p, end);
-       if (rc < 0)
-           goto error_return;
-       if (rc > 0) {
-           if (!tokenbuf_append(result, p, rc)) {
-               rc = VAR_ERR_OUT_OF_MEMORY;
-               goto error_return;
-           }
-           p += rc;
-       }
-       rc = parse_variable(var, ctx, p, end, &tmp);
-       if (rc < 0)
-           goto error_return;
-       if (rc > 0) {
-           p += rc;
-           if (!tokenbuf_merge(result, &tmp)) {
-               rc = VAR_ERR_OUT_OF_MEMORY;
-               goto error_return;
-           }
-       }
-       tokenbuf_free(&tmp);          /* KES 11/9/2003 */
+        rc = parse_opargtext(var, ctx, p, end);
+        if (rc < 0)
+            goto error_return;
+        if (rc > 0) {
+            if (!tokenbuf_append(result, p, rc)) {
+                rc = VAR_ERR_OUT_OF_MEMORY;
+                goto error_return;
+            }
+            p += rc;
+        }
+        rc = parse_variable(var, ctx, p, end, &tmp);
+        if (rc < 0)
+            goto error_return;
+        if (rc > 0) {
+            p += rc;
+            if (!tokenbuf_merge(result, &tmp)) {
+                rc = VAR_ERR_OUT_OF_MEMORY;
+                goto error_return;
+            }
+        }
+        tokenbuf_free(&tmp);          /* KES 11/9/2003 */
     } while (rc > 0);
     tokenbuf_free(&tmp);
     return (p - begin);
@@ -716,32 +724,32 @@ parse_exptext_or_variable(
     tokenbuf_init(result);
     tokenbuf_init(&tmp);
     if (begin == end)
-       return 0;
+        return 0;
     do {
-       /* try to parse expression text */
-       rc = parse_exptext(var, ctx, p, end);
-       if (rc < 0)
-           goto error_return;
-       if (rc > 0) {
-           if (!tokenbuf_append(result, p, rc)) {
-               rc = VAR_ERR_OUT_OF_MEMORY;
-               goto error_return;
-           }
-           p += rc;
-       }
-
-       /* try to parse variable construct */
-       rc = parse_variable(var, ctx, p, end, &tmp);
-       if (rc < 0)
-           goto error_return;
-       if (rc > 0) {
-           p += rc;
-           if (!tokenbuf_merge(result, &tmp)) {
-               rc = VAR_ERR_OUT_OF_MEMORY;
-               goto error_return;
-           }
-       }
-       tokenbuf_free(&tmp);          /* KES 11/9/2003 */
+        /* try to parse expression text */
+        rc = parse_exptext(var, ctx, p, end);
+        if (rc < 0)
+            goto error_return;
+        if (rc > 0) {
+            if (!tokenbuf_append(result, p, rc)) {
+                rc = VAR_ERR_OUT_OF_MEMORY;
+                goto error_return;
+            }
+            p += rc;
+        }
+
+        /* try to parse variable construct */
+        rc = parse_variable(var, ctx, p, end, &tmp);
+        if (rc < 0)
+            goto error_return;
+        if (rc > 0) {
+            p += rc;
+            if (!tokenbuf_merge(result, &tmp)) {
+                rc = VAR_ERR_OUT_OF_MEMORY;
+                goto error_return;
+            }
+        }
+        tokenbuf_free(&tmp);          /* KES 11/9/2003 */
     } while (rc > 0);
 
     tokenbuf_free(&tmp);
@@ -767,32 +775,32 @@ parse_substext_or_variable(
     tokenbuf_init(result);
     tokenbuf_init(&tmp);
     if (begin == end)
-       return 0;
+        return 0;
     do {
-       /* try to parse substitution text */
-       rc = parse_substext(var, ctx, p, end);
-       if (rc < 0)
-           goto error_return;
-       if (rc > 0) {
-           if (!tokenbuf_append(result, p, rc)) {
-               rc = VAR_ERR_OUT_OF_MEMORY;
-               goto error_return;
-           }
-           p += rc;
-       }
-
-       /* try to parse substitution text */
-       rc = parse_variable(var, ctx, p, end, &tmp);
-       if (rc < 0)
-           goto error_return;
-       if (rc > 0) {
-           p += rc;
-           if (!tokenbuf_merge(result, &tmp)) {
-               rc = VAR_ERR_OUT_OF_MEMORY;
-               goto error_return;
-           }
-       }
-       tokenbuf_free(&tmp);          /* KES 11/9/2003 */
+        /* try to parse substitution text */
+        rc = parse_substext(var, ctx, p, end);
+        if (rc < 0)
+            goto error_return;
+        if (rc > 0) {
+            if (!tokenbuf_append(result, p, rc)) {
+                rc = VAR_ERR_OUT_OF_MEMORY;
+                goto error_return;
+            }
+            p += rc;
+        }
+
+        /* try to parse substitution text */
+        rc = parse_variable(var, ctx, p, end, &tmp);
+        if (rc < 0)
+            goto error_return;
+        if (rc > 0) {
+            p += rc;
+            if (!tokenbuf_merge(result, &tmp)) {
+                rc = VAR_ERR_OUT_OF_MEMORY;
+                goto error_return;
+            }
+        }
+        tokenbuf_free(&tmp);          /* KES 11/9/2003 */
     } while (rc > 0);
 
     tokenbuf_free(&tmp);
@@ -815,19 +823,19 @@ parse_class_description(
 
     p = src->begin;
     while (p != src->end) {
-       if ((src->end - p) >= 3 && p[1] == '-') {
-           if (*p > p[2])
-               return VAR_ERR_INCORRECT_TRANSPOSE_CLASS_SPEC;
-           for (c = *p, d = p[2]; c <= d; ++c) {
-               if (!tokenbuf_append(dst, (char *)&c, 1))
-                   return VAR_ERR_OUT_OF_MEMORY;
-           }
-           p += 3;
-       } else {
-           if (!tokenbuf_append(dst, p, 1))
-               return VAR_ERR_OUT_OF_MEMORY;
-           p++;
-       }
+        if ((src->end - p) >= 3 && p[1] == '-') {
+            if (*p > p[2])
+                return VAR_ERR_INCORRECT_TRANSPOSE_CLASS_SPEC;
+            for (c = *p, d = p[2]; c <= d; ++c) {
+                if (!tokenbuf_append(dst, (char *)&c, 1))
+                    return VAR_ERR_OUT_OF_MEMORY;
+            }
+            p += 3;
+        } else {
+            if (!tokenbuf_append(dst, p, 1))
+                return VAR_ERR_OUT_OF_MEMORY;
+            p++;
+        }
     }
     return VAR_OK;
 }
@@ -848,42 +856,42 @@ parse_regex_replace(
     tokenbuf_init(expanded);
 
     while (p != orig->end) {
-       if (*p == '\\') {
-           if (orig->end - p <= 1) {
-               tokenbuf_free(expanded);
-               return VAR_ERR_INCOMPLETE_QUOTED_PAIR;
-           }
-           p++;
-           if (*p == '\\') {
-               if (!tokenbuf_append(expanded, p, 1)) {
-                   tokenbuf_free(expanded);
-                   return VAR_ERR_OUT_OF_MEMORY;
-               }
-               p++;
-               continue;
-           }
-           if (!isdigit((int)*p)) {
-               tokenbuf_free(expanded);
-               return VAR_ERR_UNKNOWN_QUOTED_PAIR_IN_REPLACE;
-           }
-           i = (*p - '0');
-           p++;
-           if (pmatch[i].rm_so == -1 || pmatch[i].rm_eo == -1) {
-               tokenbuf_free(expanded);
-               return VAR_ERR_SUBMATCH_OUT_OF_RANGE;
-           }
-           if (!tokenbuf_append(expanded, data + pmatch[i].rm_so,
-                                pmatch[i].rm_eo - pmatch[i].rm_so)) {
-               tokenbuf_free(expanded);
-               return VAR_ERR_OUT_OF_MEMORY;
-           }
-       } else {
-           if (!tokenbuf_append(expanded, p, 1)) {
-               tokenbuf_free(expanded);
-               return VAR_ERR_OUT_OF_MEMORY;
-           }
-           p++;
-       }
+        if (*p == '\\') {
+            if (orig->end - p <= 1) {
+                tokenbuf_free(expanded);
+                return VAR_ERR_INCOMPLETE_QUOTED_PAIR;
+            }
+            p++;
+            if (*p == '\\') {
+                if (!tokenbuf_append(expanded, p, 1)) {
+                    tokenbuf_free(expanded);
+                    return VAR_ERR_OUT_OF_MEMORY;
+                }
+                p++;
+                continue;
+            }
+            if (!isdigit((int)*p)) {
+                tokenbuf_free(expanded);
+                return VAR_ERR_UNKNOWN_QUOTED_PAIR_IN_REPLACE;
+            }
+            i = (*p - '0');
+            p++;
+            if (pmatch[i].rm_so == -1 || pmatch[i].rm_eo == -1) {
+                tokenbuf_free(expanded);
+                return VAR_ERR_SUBMATCH_OUT_OF_RANGE;
+            }
+            if (!tokenbuf_append(expanded, data + pmatch[i].rm_so,
+                                 pmatch[i].rm_eo - pmatch[i].rm_so)) {
+                tokenbuf_free(expanded);
+                return VAR_ERR_OUT_OF_MEMORY;
+            }
+        } else {
+            if (!tokenbuf_append(expanded, p, 1)) {
+                tokenbuf_free(expanded);
+                return VAR_ERR_OUT_OF_MEMORY;
+            }
+            p++;
+        }
     }
 
     return VAR_OK;
@@ -905,32 +913,32 @@ op_transpose(
     tokenbuf_init(&srcclass);
     tokenbuf_init(&dstclass);
     if ((rc = parse_class_description(var, ctx, search, &srcclass)) != VAR_OK)
-       goto error_return;
+        goto error_return;
     if ((rc = parse_class_description(var, ctx, replace, &dstclass)) != VAR_OK)
-       goto error_return;
+        goto error_return;
     if (srcclass.begin == srcclass.end) {
-       rc = VAR_ERR_EMPTY_TRANSPOSE_CLASS;
-       goto error_return;
+        rc = VAR_ERR_EMPTY_TRANSPOSE_CLASS;
+        goto error_return;
     }
     if ((srcclass.end - srcclass.begin) != (dstclass.end - dstclass.begin)) {
-       rc = VAR_ERR_TRANSPOSE_CLASSES_MISMATCH;
-       goto error_return;
+        rc = VAR_ERR_TRANSPOSE_CLASSES_MISMATCH;
+        goto error_return;
     }
     if (data->buffer_size == 0) {
-       tokenbuf_t tmp;
-       if (!tokenbuf_assign(&tmp, data->begin, data->end - data->begin)) {
-           rc = VAR_ERR_OUT_OF_MEMORY;
-           goto error_return;
-       }
-       tokenbuf_move(&tmp, data);
+        tokenbuf_t tmp;
+        if (!tokenbuf_assign(&tmp, data->begin, data->end - data->begin)) {
+            rc = VAR_ERR_OUT_OF_MEMORY;
+            goto error_return;
+        }
+        tokenbuf_move(&tmp, data);
     }
     for (p = data->begin; p != data->end; ++p) {
-       for (i = 0; i <= (srcclass.end - srcclass.begin); ++i) {
-           if (*p == srcclass.begin[i]) {
-               *((char *)p) = dstclass.begin[i];
-               break;
-           }
-       }
+        for (i = 0; i <= (srcclass.end - srcclass.begin); ++i) {
+            if (*p == srcclass.begin[i]) {
+                *((char *)p) = dstclass.begin[i];
+                break;
+            }
+        }
     }
     tokenbuf_free(&srcclass);
     tokenbuf_free(&dstclass);
@@ -962,165 +970,165 @@ op_search_and_replace(
     int rc;
 
     if (search->begin == search->end)
-       return VAR_ERR_EMPTY_SEARCH_STRING;
+        return VAR_ERR_EMPTY_SEARCH_STRING;
 
     for (p = flags->begin; p != flags->end; p++) {
-       switch (tolower(*p)) {
-           case 'm':
-               multiline = 1;
-               break;
-           case 'i':
-               case_insensitive = 1;
-               break;
-           case 'g':
-               global = 1;
-               break;
-           case 't':
-               no_regex = 1;
-               break;
-           default:
-               return VAR_ERR_UNKNOWN_REPLACE_FLAG;
-       }
+        switch (tolower(*p)) {
+            case 'm':
+                multiline = 1;
+                break;
+            case 'i':
+                case_insensitive = 1;
+                break;
+            case 'g':
+                global = 1;
+                break;
+            case 't':
+                no_regex = 1;
+                break;
+            default:
+                return VAR_ERR_UNKNOWN_REPLACE_FLAG;
+        }
     }
 
     if (no_regex) {
-       /* plain text pattern based operation */
-       tokenbuf_init(&tmp);
-       for (p = data->begin; p != data->end;) {
-           if (case_insensitive)
-               rc = strncasecmp(p, search->begin, search->end - search->begin);
-           else
-               rc = strncmp(p, search->begin, search->end - search->begin);
-           if (rc != 0) {
-               /* not matched, copy character */
-               if (!tokenbuf_append(&tmp, p, 1)) {
-                   tokenbuf_free(&tmp);
-                   return VAR_ERR_OUT_OF_MEMORY;
-               }
-               p++;
-           } else {
-               /* matched, copy replacement string */
-               tokenbuf_merge(&tmp, replace);
-               p += (search->end - search->begin);
-               if (!global) {
-                   /* append remaining text */
-                   if (!tokenbuf_append(&tmp, p, data->end - p)) {
-                       tokenbuf_free(&tmp);
-                       return VAR_ERR_OUT_OF_MEMORY;
-                   }
-                   break;
-               }
-           }
-       }
-       tokenbuf_free(data);
-       tokenbuf_move(&tmp, data);
+        /* plain text pattern based operation */
+        tokenbuf_init(&tmp);
+        for (p = data->begin; p != data->end;) {
+            if (case_insensitive)
+                rc = strncasecmp(p, search->begin, search->end - search->begin);
+            else
+                rc = strncmp(p, search->begin, search->end - search->begin);
+            if (rc != 0) {
+                /* not matched, copy character */
+                if (!tokenbuf_append(&tmp, p, 1)) {
+                    tokenbuf_free(&tmp);
+                    return VAR_ERR_OUT_OF_MEMORY;
+                }
+                p++;
+            } else {
+                /* matched, copy replacement string */
+                tokenbuf_merge(&tmp, replace);
+                p += (search->end - search->begin);
+                if (!global) {
+                    /* append remaining text */
+                    if (!tokenbuf_append(&tmp, p, data->end - p)) {
+                        tokenbuf_free(&tmp);
+                        return VAR_ERR_OUT_OF_MEMORY;
+                    }
+                    break;
+                }
+            }
+        }
+        tokenbuf_free(data);
+        tokenbuf_move(&tmp, data);
     } else {
-       /* regular expression pattern based operation */
-       tokenbuf_t mydata;
-       tokenbuf_t myreplace;
-       regex_t preg;
-       regmatch_t pmatch[10];
-       int regexec_flag;
-
-       /* copy pattern and data to own buffer to make sure they are EOS-terminated */
-       if (!tokenbuf_assign(&tmp, search->begin, search->end - search->begin))
-           return VAR_ERR_OUT_OF_MEMORY;
-       if (!tokenbuf_assign(&mydata, data->begin, data->end - data->begin)) {
-           tokenbuf_free(&tmp);
-           return VAR_ERR_OUT_OF_MEMORY;
-       }
-
-       /* compile the pattern. */
-       rc = regcomp(&preg, tmp.begin,
-                    (  REG_EXTENDED
-                     | (multiline ? REG_NEWLINE : 0)
-                     | (case_insensitive ? REG_ICASE : 0)));
-       tokenbuf_free(&tmp);
-       if (rc != 0) {
-           tokenbuf_free(&mydata);
-           return VAR_ERR_INVALID_REGEX_IN_REPLACE;
-       }
-
-       /* match the pattern and create the result string in the tmp buffer */
-       tokenbuf_append(&tmp, "", 0);
-       for (p = mydata.begin; p < mydata.end; ) {
-           if (p == mydata.begin || p[-1] == '\n')
-               regexec_flag = 0;
-           else
-               regexec_flag = REG_NOTBOL;
-           rc = regexec(&preg, p, sizeof(pmatch) / sizeof(regmatch_t), pmatch, regexec_flag);
-           if (rc != 0) {
-               /* no (more) matching */
-               tokenbuf_append(&tmp, p, mydata.end - p);
-               break;
-           }
-           else if (   multiline
-                    && (p + pmatch[0].rm_so) == mydata.end
-                    && (pmatch[0].rm_eo - pmatch[0].rm_so) == 0) {
-               /* special case: found empty pattern (usually /^/ or /$/ only)
-                  in multi-line at end of data (after the last newline) */
-               tokenbuf_append(&tmp, p, mydata.end - p);
-               break;
-           }
-           else {
-               /* append prolog string */
-               if (!tokenbuf_append(&tmp, p, pmatch[0].rm_so)) {
-                   regfree(&preg);
-                   tokenbuf_free(&tmp);
-                   tokenbuf_free(&mydata);
-                   return VAR_ERR_OUT_OF_MEMORY;
-               }
-               /* create replace string */
-               rc = parse_regex_replace(var, ctx, p, replace, pmatch, &myreplace);
-               if (rc != VAR_OK) {
-                   regfree(&preg);
-                   tokenbuf_free(&tmp);
-                   tokenbuf_free(&mydata);
-                   return rc;
-               }
-               /* append replace string */
-               if (!tokenbuf_merge(&tmp, &myreplace)) {
-                   regfree(&preg);
-                   tokenbuf_free(&tmp);
-                   tokenbuf_free(&mydata);
-                   tokenbuf_free(&myreplace);
-                   return VAR_ERR_OUT_OF_MEMORY;
-               }
-               tokenbuf_free(&myreplace);
-               /* skip now processed data */
-               p += pmatch[0].rm_eo;
-               /* if pattern matched an empty part (think about
-                  anchor-only regular expressions like /^/ or /$/) we
-                  skip the next character to make sure we do not enter
-                  an infinitive loop in matching */
-               if ((pmatch[0].rm_eo - pmatch[0].rm_so) == 0) {
-                   if (p >= mydata.end)
-                       break;
-                   if (!tokenbuf_append(&tmp, p, 1)) {
-                       regfree(&preg);
-                       tokenbuf_free(&tmp);
-                       tokenbuf_free(&mydata);
-                       return VAR_ERR_OUT_OF_MEMORY;
-                   }
-                   p++;
-               }
-               /* append prolog string and stop processing if we
-                  do not perform the search & replace globally */
-               if (!global) {
-                   if (!tokenbuf_append(&tmp, p, mydata.end - p)) {
-                       regfree(&preg);
-                       tokenbuf_free(&tmp);
-                       tokenbuf_free(&mydata);
-                       return VAR_ERR_OUT_OF_MEMORY;
-                   }
-                   break;
-               }
-           }
-       }
-       regfree(&preg);
-       tokenbuf_free(data);
-       tokenbuf_move(&tmp, data);
-       tokenbuf_free(&mydata);
+        /* regular expression pattern based operation */
+        tokenbuf_t mydata;
+        tokenbuf_t myreplace;
+        regex_t preg;
+        regmatch_t pmatch[10];
+        int regexec_flag;
+
+        /* copy pattern and data to own buffer to make sure they are EOS-terminated */
+        if (!tokenbuf_assign(&tmp, search->begin, search->end - search->begin))
+            return VAR_ERR_OUT_OF_MEMORY;
+        if (!tokenbuf_assign(&mydata, data->begin, data->end - data->begin)) {
+            tokenbuf_free(&tmp);
+            return VAR_ERR_OUT_OF_MEMORY;
+        }
+
+        /* compile the pattern. */
+        rc = regcomp(&preg, tmp.begin,
+                     (  REG_EXTENDED
+                      | (multiline ? REG_NEWLINE : 0)
+                      | (case_insensitive ? REG_ICASE : 0)));
+        tokenbuf_free(&tmp);
+        if (rc != 0) {
+            tokenbuf_free(&mydata);
+            return VAR_ERR_INVALID_REGEX_IN_REPLACE;
+        }
+
+        /* match the pattern and create the result string in the tmp buffer */
+        tokenbuf_append(&tmp, "", 0);
+        for (p = mydata.begin; p < mydata.end; ) {
+            if (p == mydata.begin || p[-1] == '\n')
+                regexec_flag = 0;
+            else
+                regexec_flag = REG_NOTBOL;
+            rc = regexec(&preg, p, sizeof(pmatch) / sizeof(regmatch_t), pmatch, regexec_flag);
+            if (rc != 0) {
+                /* no (more) matching */
+                tokenbuf_append(&tmp, p, mydata.end - p);
+                break;
+            }
+            else if (   multiline
+                     && (p + pmatch[0].rm_so) == mydata.end
+                     && (pmatch[0].rm_eo - pmatch[0].rm_so) == 0) {
+                /* special case: found empty pattern (usually /^/ or /$/ only)
+                   in multi-line at end of data (after the last newline) */
+                tokenbuf_append(&tmp, p, mydata.end - p);
+                break;
+            }
+            else {
+                /* append prolog string */
+                if (!tokenbuf_append(&tmp, p, pmatch[0].rm_so)) {
+                    regfree(&preg);
+                    tokenbuf_free(&tmp);
+                    tokenbuf_free(&mydata);
+                    return VAR_ERR_OUT_OF_MEMORY;
+                }
+                /* create replace string */
+                rc = parse_regex_replace(var, ctx, p, replace, pmatch, &myreplace);
+                if (rc != VAR_OK) {
+                    regfree(&preg);
+                    tokenbuf_free(&tmp);
+                    tokenbuf_free(&mydata);
+                    return rc;
+                }
+                /* append replace string */
+                if (!tokenbuf_merge(&tmp, &myreplace)) {
+                    regfree(&preg);
+                    tokenbuf_free(&tmp);
+                    tokenbuf_free(&mydata);
+                    tokenbuf_free(&myreplace);
+                    return VAR_ERR_OUT_OF_MEMORY;
+                }
+                tokenbuf_free(&myreplace);
+                /* skip now processed data */
+                p += pmatch[0].rm_eo;
+                /* if pattern matched an empty part (think about
+                   anchor-only regular expressions like /^/ or /$/) we
+                   skip the next character to make sure we do not enter
+                   an infinitive loop in matching */
+                if ((pmatch[0].rm_eo - pmatch[0].rm_so) == 0) {
+                    if (p >= mydata.end)
+                        break;
+                    if (!tokenbuf_append(&tmp, p, 1)) {
+                        regfree(&preg);
+                        tokenbuf_free(&tmp);
+                        tokenbuf_free(&mydata);
+                        return VAR_ERR_OUT_OF_MEMORY;
+                    }
+                    p++;
+                }
+                /* append prolog string and stop processing if we
+                   do not perform the search & replace globally */
+                if (!global) {
+                    if (!tokenbuf_append(&tmp, p, mydata.end - p)) {
+                        regfree(&preg);
+                        tokenbuf_free(&tmp);
+                        tokenbuf_free(&mydata);
+                        return VAR_ERR_OUT_OF_MEMORY;
+                    }
+                    break;
+                }
+            }
+        }
+        regfree(&preg);
+        tokenbuf_free(data);
+        tokenbuf_move(&tmp, data);
+        tokenbuf_free(&mydata);
     }
 
     return VAR_OK;
@@ -1140,28 +1148,28 @@ op_offset(
 
     /* determine begin of result string */
     if ((data->end - data->begin) < num1)
-       return VAR_ERR_OFFSET_OUT_OF_BOUNDS;
+        return VAR_ERR_OFFSET_OUT_OF_BOUNDS;
     p = data->begin + num1;
 
     /* if num2 is zero, we copy the rest from there. */
     if (num2 == 0) {
-       if (!tokenbuf_assign(&res, p, data->end - p))
-           return VAR_ERR_OUT_OF_MEMORY;
+        if (!tokenbuf_assign(&res, p, data->end - p))
+            return VAR_ERR_OUT_OF_MEMORY;
     } else {
-       /* ok, then use num2. */
-       if (isrange) {
-           if ((p + num2) > data->end)
-               return VAR_ERR_RANGE_OUT_OF_BOUNDS;
-           if (!tokenbuf_assign(&res, p, num2))
-               return VAR_ERR_OUT_OF_MEMORY;
-       } else {
-           if (num2 < num1)
-               return VAR_ERR_OFFSET_LOGIC;
-           if ((data->begin + num2) > data->end)
-               return VAR_ERR_RANGE_OUT_OF_BOUNDS;
-           if (!tokenbuf_assign(&res, p, num2 - num1 + 1))
-               return VAR_ERR_OUT_OF_MEMORY;
-       }
+        /* ok, then use num2. */
+        if (isrange) {
+            if ((p + num2) > data->end)
+                return VAR_ERR_RANGE_OUT_OF_BOUNDS;
+            if (!tokenbuf_assign(&res, p, num2))
+                return VAR_ERR_OUT_OF_MEMORY;
+        } else {
+            if (num2 < num1)
+                return VAR_ERR_OFFSET_LOGIC;
+            if ((data->begin + num2) > data->end)
+                return VAR_ERR_RANGE_OUT_OF_BOUNDS;
+            if (!tokenbuf_assign(&res, p, num2 - num1 + 1))
+                return VAR_ERR_OUT_OF_MEMORY;
+        }
     }
     tokenbuf_free(data);
     tokenbuf_move(&res, data);
@@ -1181,90 +1189,90 @@ op_padding(
     int i;
 
     if (fill->begin == fill->end)
-       return VAR_ERR_EMPTY_PADDING_FILL_STRING;
+        return VAR_ERR_EMPTY_PADDING_FILL_STRING;
     tokenbuf_init(&result);
     if (position == 'l') {
-       /* left padding */
-       i = width - (data->end - data->begin);
-       if (i > 0) {
-           i = i / (fill->end - fill->begin);
-           while (i > 0) {
-               if (!tokenbuf_append(data, fill->begin, fill->end - fill->begin))
-                   return VAR_ERR_OUT_OF_MEMORY;
-               i--;
-           }
-           i = (width - (data->end - data->begin)) % (fill->end - fill->begin);
-           if (!tokenbuf_append(data, fill->begin, i))
-               return VAR_ERR_OUT_OF_MEMORY;
-       }
+        /* left padding */
+        i = width - (data->end - data->begin);
+        if (i > 0) {
+            i = i / (fill->end - fill->begin);
+            while (i > 0) {
+                if (!tokenbuf_append(data, fill->begin, fill->end - fill->begin))
+                    return VAR_ERR_OUT_OF_MEMORY;
+                i--;
+            }
+            i = (width - (data->end - data->begin)) % (fill->end - fill->begin);
+            if (!tokenbuf_append(data, fill->begin, i))
+                return VAR_ERR_OUT_OF_MEMORY;
+        }
     } else if (position == 'r') {
-       /* right padding */
-       i = width - (data->end - data->begin);
-       if (i > 0) {
-           i = i / (fill->end - fill->begin);
-           while (i > 0) {
-               if (!tokenbuf_merge(&result, fill)) {
-                   tokenbuf_free(&result);
-                   return VAR_ERR_OUT_OF_MEMORY;
-               }
-               i--;
-           }
-           i = (width - (data->end - data->begin)) % (fill->end - fill->begin);
-           if (!tokenbuf_append(&result, fill->begin, i)) {
-               tokenbuf_free(&result);
-               return VAR_ERR_OUT_OF_MEMORY;
-           }
-           if (!tokenbuf_merge(&result, data)) {
-               tokenbuf_free(&result);
-               return VAR_ERR_OUT_OF_MEMORY;
-           }
-           /* move string from temporary buffer to data buffer */
-           tokenbuf_free(data);
-           tokenbuf_move(&result, data);
-       }
+        /* right padding */
+        i = width - (data->end - data->begin);
+        if (i > 0) {
+            i = i / (fill->end - fill->begin);
+            while (i > 0) {
+                if (!tokenbuf_merge(&result, fill)) {
+                    tokenbuf_free(&result);
+                    return VAR_ERR_OUT_OF_MEMORY;
+                }
+                i--;
+            }
+            i = (width - (data->end - data->begin)) % (fill->end - fill->begin);
+            if (!tokenbuf_append(&result, fill->begin, i)) {
+                tokenbuf_free(&result);
+                return VAR_ERR_OUT_OF_MEMORY;
+            }
+            if (!tokenbuf_merge(&result, data)) {
+                tokenbuf_free(&result);
+                return VAR_ERR_OUT_OF_MEMORY;
+            }
+            /* move string from temporary buffer to data buffer */
+            tokenbuf_free(data);
+            tokenbuf_move(&result, data);
+        }
     } else if (position == 'c') {
-       /* centered padding */
-       i = (width - (data->end - data->begin)) / 2;
-       if (i > 0) {
-           /* create the prefix */
-           i = i / (fill->end - fill->begin);
-           while (i > 0) {
-               if (!tokenbuf_merge(&result, fill)) {
-                   tokenbuf_free(&result);
-                   return VAR_ERR_OUT_OF_MEMORY;
-               }
-               i--;
-           }
-           i = ((width - (data->end - data->begin)) / 2)
-               % (fill->end - fill->begin);
-           if (!tokenbuf_append(&result, fill->begin, i)) {
-               tokenbuf_free(&result);
-               return VAR_ERR_OUT_OF_MEMORY;
-           }
-           /* append the actual data string */
-           if (!tokenbuf_merge(&result, data)) {
-               tokenbuf_free(&result);
-               return VAR_ERR_OUT_OF_MEMORY;
-           }
-           /* append the suffix */
-           i = width - (result.end - result.begin);
-           i = i / (fill->end - fill->begin);
-           while (i > 0) {
-               if (!tokenbuf_merge(&result, fill)) {
-                   tokenbuf_free(&result);
-                   return VAR_ERR_OUT_OF_MEMORY;
-               }
-               i--;
-           }
-           i = width - (result.end - result.begin);
-           if (!tokenbuf_append(&result, fill->begin, i)) {
-               tokenbuf_free(&result);
-               return VAR_ERR_OUT_OF_MEMORY;
-           }
-           /* move string from temporary buffer to data buffer */
-           tokenbuf_free(data);
-           tokenbuf_move(&result, data);
-       }
+        /* centered padding */
+        i = (width - (data->end - data->begin)) / 2;
+        if (i > 0) {
+            /* create the prefix */
+            i = i / (fill->end - fill->begin);
+            while (i > 0) {
+                if (!tokenbuf_merge(&result, fill)) {
+                    tokenbuf_free(&result);
+                    return VAR_ERR_OUT_OF_MEMORY;
+                }
+                i--;
+            }
+            i = ((width - (data->end - data->begin)) / 2)
+                % (fill->end - fill->begin);
+            if (!tokenbuf_append(&result, fill->begin, i)) {
+                tokenbuf_free(&result);
+                return VAR_ERR_OUT_OF_MEMORY;
+            }
+            /* append the actual data string */
+            if (!tokenbuf_merge(&result, data)) {
+                tokenbuf_free(&result);
+                return VAR_ERR_OUT_OF_MEMORY;
+            }
+            /* append the suffix */
+            i = width - (result.end - result.begin);
+            i = i / (fill->end - fill->begin);
+            while (i > 0) {
+                if (!tokenbuf_merge(&result, fill)) {
+                    tokenbuf_free(&result);
+                    return VAR_ERR_OUT_OF_MEMORY;
+                }
+                i--;
+            }
+            i = width - (result.end - result.begin);
+            if (!tokenbuf_append(&result, fill->begin, i)) {
+                tokenbuf_free(&result);
+                return VAR_ERR_OUT_OF_MEMORY;
+            }
+            /* move string from temporary buffer to data buffer */
+            tokenbuf_free(data);
+            tokenbuf_move(&result, data);
+        }
     }
     return VAR_OK;
 }
@@ -1282,12 +1290,12 @@ parse_integer(
     p = begin;
     num = 0;
     while (isdigit(*p) && p != end) {
-       num *= 10;
-       num += (*p - '0');
-       p++;
+        num *= 10;
+        num += (*p - '0');
+        p++;
     }
     if (result != NULL)
-       *result = num;
+        *result = num;
     return (p - begin);
 }
 
@@ -1316,318 +1324,318 @@ parse_operation(
     tokenbuf_init(&number2);
     p = begin;
     if (p == end)
-       return 0;
+        return 0;
 
     /* dispatch through the first operation character */
     switch (tolower(*p)) {
-       case 'l': {
-           /* turn value to lowercase. */
-           if (data->begin != NULL) {
-               /* if the buffer does not live in an allocated buffer,
-                  we have to copy it before modifying the contents. */
-               if (data->buffer_size == 0) {
-                   if (!tokenbuf_assign(data, data->begin, data->end - data->begin)) {
-                       rc = VAR_ERR_OUT_OF_MEMORY;
-                       goto error_return;
-                   }
-               }
-               /* convert value */
-               for (ptr = (char *)data->begin; ptr != data->end; ptr++)
-                   *ptr = (char)tolower((int)(*ptr));
-           }
-           p++;
-           break;
-       }
-       case 'u': {
-           /* turn value to uppercase. */
-           if (data->begin != NULL) {
-               /* if the buffer does not live in an allocated buffer,
-                  we have to copy it before modifying the contents. */
-               if (data->buffer_size == 0) {
-                   if (!tokenbuf_assign(data, data->begin, data->end - data->begin)) {
-                       rc = VAR_ERR_OUT_OF_MEMORY;
-                       goto error_return;
-                   }
-               }
-               /* convert value */
-               for (ptr = (char *)data->begin; ptr != data->end; ptr++)
-                   *ptr = (char)toupper((int)(*ptr));
-           }
-           p++;
-           break;
-       }
-       case 'o': {
-           /* cut out substring of value. */
-           p++;
-           rc = parse_integer(var, ctx, p, end, &num1);
-           if (rc == 0) {
-               rc = VAR_ERR_MISSING_START_OFFSET;
-               goto error_return;
-           }
-           else if (rc < 0)
-               goto error_return;
-           p += rc;
-           if (*p == ',') {
-               isrange = 0;
-               p++;
-           } else if (*p == '-') {
-               isrange = 1;
-               p++;
-           } else {
-               rc = VAR_ERR_INVALID_OFFSET_DELIMITER;
-               goto error_return;
-           }
-           rc = parse_integer(var, ctx, p, end, &num2);
-           p += rc;
-           if (data->begin != NULL) {
-               rc = op_offset(var, ctx, data, num1, num2, isrange);
-               if (rc < 0)
-                   goto error_return;
-           }
-           break;
-       }
-       case '#': {
-           /* determine length of the value */
-           if (data->begin != NULL) {
-               char buf[((sizeof(int)*8)/3)+10]; /* sufficient size: <#bits> x log_10(2) + safety */
-               sprintf(buf, "%d", (int)(data->end - data->begin));
-               tokenbuf_free(data);
-               if (!tokenbuf_assign(data, buf, strlen(buf))) {
-                   rc = VAR_ERR_OUT_OF_MEMORY;
-                   goto error_return;
-               }
-           }
-           p++;
-           break;
-       }
-       case '-': {
-           /* substitute parameter if data is empty */
-           p++;
-           rc = parse_exptext_or_variable(var, ctx, p, end, &tmptokbuf);
-           if (rc < 0)
-               goto error_return;
-           if (rc == 0) {
-               rc = VAR_ERR_MISSING_PARAMETER_IN_COMMAND;
-               goto error_return;
-           }
-           p += rc;
-           if (tokenbuf_isundef(data))
-               tokenbuf_move(&tmptokbuf, data);
-           else if (tokenbuf_isempty(data)) {
-               tokenbuf_free(data);
-               tokenbuf_move(&tmptokbuf, data);
-           }
-           break;
-       }
-       case '*': {
-           /* substitute empty string if data is not empty, parameter otherwise. */
-           p++;
-           rc = parse_exptext_or_variable(var, ctx, p, end, &tmptokbuf);
-           if (rc < 0)
-               goto error_return;
-           if (rc == 0) {
-               rc = VAR_ERR_MISSING_PARAMETER_IN_COMMAND;
-               goto error_return;
-           }
-           p += rc;
-           if (data->begin != NULL) {
-               if (data->begin == data->end) {
-                   tokenbuf_free(data);
-                   tokenbuf_move(&tmptokbuf, data);
-               } else {
-                   tokenbuf_free(data);
-                   data->begin = data->end = "";
-                   data->buffer_size = 0;
-               }
-           }
-           break;
-       }
-       case '+': {
-           /* substitute parameter if data is not empty. */
-           p++;
-           rc = parse_exptext_or_variable(var, ctx, p, end, &tmptokbuf);
-           if (rc < 0)
-               goto error_return;
-           if (rc == 0) {
-               rc = VAR_ERR_MISSING_PARAMETER_IN_COMMAND;
-               goto error_return;
-           }
-           p += rc;
-           if (data->begin != NULL && data->begin != data->end) {
-               tokenbuf_free(data);
-               tokenbuf_move(&tmptokbuf, data);
-           }
-           break;
-       }
-       case 's': {
-           /* search and replace. */
-           p++;
-           if (*p != '/')
-               return VAR_ERR_MALFORMATTED_REPLACE;
-           p++;
-           rc = parse_pattern(var, ctx, p, end);
-           if (rc < 0)
-               goto error_return;
-           tokenbuf_set(&search, p, p + rc, 0);
-           p += rc;
-           if (*p != '/') {
-               rc = VAR_ERR_MALFORMATTED_REPLACE;
-               goto error_return;
-           }
-           p++;
-           rc = parse_substext_or_variable(var, ctx, p, end, &replace);
-           if (rc < 0)
-               goto error_return;
-           p += rc;
-           if (*p != '/') {
-               rc = VAR_ERR_MALFORMATTED_REPLACE;
-               goto error_return;
-           }
-           p++;
-           rc = parse_exptext(var, ctx, p, end);
-           if (rc < 0)
-               goto error_return;
-           tokenbuf_set(&flags, p, p + rc, 0);
-           p += rc;
-           if (data->begin != NULL) {
-               rc = op_search_and_replace(var, ctx, data, &search, &replace, &flags);
-               if (rc < 0)
-                   goto error_return;
-           }
-           break;
-       }
-       case 'y': {
-           /* transpose characters from class A to class B. */
-           p++;
-           if (*p != '/')
-               return VAR_ERR_MALFORMATTED_TRANSPOSE;
-           p++;
-           rc = parse_substext_or_variable(var, ctx, p, end, &search);
-           if (rc < 0)
-               goto error_return;
-           p += rc;
-           if (*p != '/') {
-               rc = VAR_ERR_MALFORMATTED_TRANSPOSE;
-               goto error_return;
-           }
-           p++;
-           rc = parse_substext_or_variable(var, ctx, p, end, &replace);
-           if (rc < 0)
-               goto error_return;
-           p += rc;
-           if (*p != '/') {
-               rc = VAR_ERR_MALFORMATTED_TRANSPOSE;
-               goto error_return;
-           } else
-               p++;
-           if (data->begin) {
-               rc = op_transpose(var, ctx, data, &search, &replace);
-               if (rc < 0)
-                   goto error_return;
-           }
-           break;
-       }
-       case 'p': {
-           /* padding. */
-           p++;
-           if (*p != '/')
-               return VAR_ERR_MALFORMATTED_PADDING;
-           p++;
-           rc = parse_integer(var, ctx, p, end, &num1);
-           if (rc == 0) {
-               rc = VAR_ERR_MISSING_PADDING_WIDTH;
-               goto error_return;
-           }
-           p += rc;
-           if (*p != '/') {
-               rc = VAR_ERR_MALFORMATTED_PADDING;
-               goto error_return;
-           }
-           p++;
-           rc = parse_substext_or_variable(var, ctx, p, end, &replace);
-           if (rc < 0)
-               goto error_return;
-           p += rc;
-           if (*p != '/') {
-               rc = VAR_ERR_MALFORMATTED_PADDING;
-               goto error_return;
-           }
-           p++;
-           if (*p != 'l' && *p != 'c' && *p != 'r') {
-               rc = VAR_ERR_MALFORMATTED_PADDING;
-               goto error_return;
-           }
-           p++;
-           if (data->begin) {
-               rc = op_padding(var, ctx, data, num1, &replace, p[-1]);
-               if (rc < 0)
-                   goto error_return;
-           }
-           break;
-       }
-       case '%': {
-           /* operation callback function */
-           const char *op_ptr;
-           int op_len;
-           const char *arg_ptr;
-           int arg_len;
-           const char *val_ptr;
-           int val_len;
-           const char *out_ptr;
-           int out_len;
-           int out_size;
-           tokenbuf_t args;
-
-           p++;
-           rc = parse_name(var, ctx, p, end);
-           if (rc < 0)
-               goto error_return;
-           op_ptr = p;
-           op_len = rc;
-           p += rc;
-           if (*p == '(') {
-               p++;
-               tokenbuf_init(&args);
-               rc = parse_opargtext_or_variable(var, ctx, p, end, &args);
-               if (rc < 0)
-                   goto error_return;
-               p += rc;
-               arg_ptr = args.begin;
-               arg_len = args.end - args.begin;
-               if (*p != ')') {
-                   rc = VAR_ERR_MALFORMED_OPERATION_ARGUMENTS;
-                   goto error_return;
-               }
-               p++;
-           }
-           else {
-               arg_ptr = NULL;
-               arg_len = 0;
-           }
-           val_ptr = data->begin;
-           val_len = data->end - data->begin;
-
-           if (data->begin != NULL && var->cb_operation_fct != NULL) {
-               /* call operation callback function */
-               rc = (*var->cb_operation_fct)(var, var->cb_operation_ctx,
-                                             op_ptr, op_len,
-                                             arg_ptr, arg_len,
-                                             val_ptr, val_len,
-                                             &out_ptr, &out_len, &out_size);
-               if (rc < 0) {
-                   if (arg_ptr != NULL)
-                       free((void *)arg_ptr);
-                   goto error_return;
-               }
-               tokenbuf_free(data);
-               tokenbuf_set(data, out_ptr, out_ptr+out_len, out_size);
-           }
-           if (arg_ptr != NULL)
-              free((void *)arg_ptr);
-           break;
-       }
-       default:
-           return VAR_ERR_UNKNOWN_COMMAND_CHAR;
+        case 'l': {
+            /* turn value to lowercase. */
+            if (data->begin != NULL) {
+                /* if the buffer does not live in an allocated buffer,
+                   we have to copy it before modifying the contents. */
+                if (data->buffer_size == 0) {
+                    if (!tokenbuf_assign(data, data->begin, data->end - data->begin)) {
+                        rc = VAR_ERR_OUT_OF_MEMORY;
+                        goto error_return;
+                    }
+                }
+                /* convert value */
+                for (ptr = (char *)data->begin; ptr != data->end; ptr++)
+                    *ptr = (char)tolower((int)(*ptr));
+            }
+            p++;
+            break;
+        }
+        case 'u': {
+            /* turn value to uppercase. */
+            if (data->begin != NULL) {
+                /* if the buffer does not live in an allocated buffer,
+                   we have to copy it before modifying the contents. */
+                if (data->buffer_size == 0) {
+                    if (!tokenbuf_assign(data, data->begin, data->end - data->begin)) {
+                        rc = VAR_ERR_OUT_OF_MEMORY;
+                        goto error_return;
+                    }
+                }
+                /* convert value */
+                for (ptr = (char *)data->begin; ptr != data->end; ptr++)
+                    *ptr = (char)toupper((int)(*ptr));
+            }
+            p++;
+            break;
+        }
+        case 'o': {
+            /* cut out substring of value. */
+            p++;
+            rc = parse_integer(var, ctx, p, end, &num1);
+            if (rc == 0) {
+                rc = VAR_ERR_MISSING_START_OFFSET;
+                goto error_return;
+            }
+            else if (rc < 0)
+                goto error_return;
+            p += rc;
+            if (*p == ',') {
+                isrange = 0;
+                p++;
+            } else if (*p == '-') {
+                isrange = 1;
+                p++;
+            } else {
+                rc = VAR_ERR_INVALID_OFFSET_DELIMITER;
+                goto error_return;
+            }
+            rc = parse_integer(var, ctx, p, end, &num2);
+            p += rc;
+            if (data->begin != NULL) {
+                rc = op_offset(var, ctx, data, num1, num2, isrange);
+                if (rc < 0)
+                    goto error_return;
+            }
+            break;
+        }
+        case '#': {
+            /* determine length of the value */
+            if (data->begin != NULL) {
+                char buf[((sizeof(int)*8)/3)+10]; /* sufficient size: <#bits> x log_10(2) + safety */
+                sprintf(buf, "%d", (int)(data->end - data->begin));
+                tokenbuf_free(data);
+                if (!tokenbuf_assign(data, buf, strlen(buf))) {
+                    rc = VAR_ERR_OUT_OF_MEMORY;
+                    goto error_return;
+                }
+            }
+            p++;
+            break;
+        }
+        case '-': {
+            /* substitute parameter if data is empty */
+            p++;
+            rc = parse_exptext_or_variable(var, ctx, p, end, &tmptokbuf);
+            if (rc < 0)
+                goto error_return;
+            if (rc == 0) {
+                rc = VAR_ERR_MISSING_PARAMETER_IN_COMMAND;
+                goto error_return;
+            }
+            p += rc;
+            if (tokenbuf_isundef(data))
+                tokenbuf_move(&tmptokbuf, data);
+            else if (tokenbuf_isempty(data)) {
+                tokenbuf_free(data);
+                tokenbuf_move(&tmptokbuf, data);
+            }
+            break;
+        }
+        case '*': {
+            /* substitute empty string if data is not empty, parameter otherwise. */
+            p++;
+            rc = parse_exptext_or_variable(var, ctx, p, end, &tmptokbuf);
+            if (rc < 0)
+                goto error_return;
+            if (rc == 0) {
+                rc = VAR_ERR_MISSING_PARAMETER_IN_COMMAND;
+                goto error_return;
+            }
+            p += rc;
+            if (data->begin != NULL) {
+                if (data->begin == data->end) {
+                    tokenbuf_free(data);
+                    tokenbuf_move(&tmptokbuf, data);
+                } else {
+                    tokenbuf_free(data);
+                    data->begin = data->end = "";
+                    data->buffer_size = 0;
+                }
+            }
+            break;
+        }
+        case '+': {
+            /* substitute parameter if data is not empty. */
+            p++;
+            rc = parse_exptext_or_variable(var, ctx, p, end, &tmptokbuf);
+            if (rc < 0)
+                goto error_return;
+            if (rc == 0) {
+                rc = VAR_ERR_MISSING_PARAMETER_IN_COMMAND;
+                goto error_return;
+            }
+            p += rc;
+            if (data->begin != NULL && data->begin != data->end) {
+                tokenbuf_free(data);
+                tokenbuf_move(&tmptokbuf, data);
+            }
+            break;
+        }
+        case 's': {
+            /* search and replace. */
+            p++;
+            if (*p != '/')
+                return VAR_ERR_MALFORMATTED_REPLACE;
+            p++;
+            rc = parse_pattern(var, ctx, p, end);
+            if (rc < 0)
+                goto error_return;
+            tokenbuf_set(&search, p, p + rc, 0);
+            p += rc;
+            if (*p != '/') {
+                rc = VAR_ERR_MALFORMATTED_REPLACE;
+                goto error_return;
+            }
+            p++;
+            rc = parse_substext_or_variable(var, ctx, p, end, &replace);
+            if (rc < 0)
+                goto error_return;
+            p += rc;
+            if (*p != '/') {
+                rc = VAR_ERR_MALFORMATTED_REPLACE;
+                goto error_return;
+            }
+            p++;
+            rc = parse_exptext(var, ctx, p, end);
+            if (rc < 0)
+                goto error_return;
+            tokenbuf_set(&flags, p, p + rc, 0);
+            p += rc;
+            if (data->begin != NULL) {
+                rc = op_search_and_replace(var, ctx, data, &search, &replace, &flags);
+                if (rc < 0)
+                    goto error_return;
+            }
+            break;
+        }
+        case 'y': {
+            /* transpose characters from class A to class B. */
+            p++;
+            if (*p != '/')
+                return VAR_ERR_MALFORMATTED_TRANSPOSE;
+            p++;
+            rc = parse_substext_or_variable(var, ctx, p, end, &search);
+            if (rc < 0)
+                goto error_return;
+            p += rc;
+            if (*p != '/') {
+                rc = VAR_ERR_MALFORMATTED_TRANSPOSE;
+                goto error_return;
+            }
+            p++;
+            rc = parse_substext_or_variable(var, ctx, p, end, &replace);
+            if (rc < 0)
+                goto error_return;
+            p += rc;
+            if (*p != '/') {
+                rc = VAR_ERR_MALFORMATTED_TRANSPOSE;
+                goto error_return;
+            } else
+                p++;
+            if (data->begin) {
+                rc = op_transpose(var, ctx, data, &search, &replace);
+                if (rc < 0)
+                    goto error_return;
+            }
+            break;
+        }
+        case 'p': {
+            /* padding. */
+            p++;
+            if (*p != '/')
+                return VAR_ERR_MALFORMATTED_PADDING;
+            p++;
+            rc = parse_integer(var, ctx, p, end, &num1);
+            if (rc == 0) {
+                rc = VAR_ERR_MISSING_PADDING_WIDTH;
+                goto error_return;
+            }
+            p += rc;
+            if (*p != '/') {
+                rc = VAR_ERR_MALFORMATTED_PADDING;
+                goto error_return;
+            }
+            p++;
+            rc = parse_substext_or_variable(var, ctx, p, end, &replace);
+            if (rc < 0)
+                goto error_return;
+            p += rc;
+            if (*p != '/') {
+                rc = VAR_ERR_MALFORMATTED_PADDING;
+                goto error_return;
+            }
+            p++;
+            if (*p != 'l' && *p != 'c' && *p != 'r') {
+                rc = VAR_ERR_MALFORMATTED_PADDING;
+                goto error_return;
+            }
+            p++;
+            if (data->begin) {
+                rc = op_padding(var, ctx, data, num1, &replace, p[-1]);
+                if (rc < 0)
+                    goto error_return;
+            }
+            break;
+        }
+        case '%': {
+            /* operation callback function */
+            const char *op_ptr;
+            int op_len;
+            const char *arg_ptr;
+            int arg_len;
+            const char *val_ptr;
+            int val_len;
+            const char *out_ptr;
+            int out_len;
+            int out_size;
+            tokenbuf_t args;
+
+            p++;
+            rc = parse_name(var, ctx, p, end);
+            if (rc < 0)
+                goto error_return;
+            op_ptr = p;
+            op_len = rc;
+            p += rc;
+            if (*p == '(') {
+                p++;
+                tokenbuf_init(&args);
+                rc = parse_opargtext_or_variable(var, ctx, p, end, &args);
+                if (rc < 0)
+                    goto error_return;
+                p += rc;
+                arg_ptr = args.begin;
+                arg_len = args.end - args.begin;
+                if (*p != ')') {
+                    rc = VAR_ERR_MALFORMED_OPERATION_ARGUMENTS;
+                    goto error_return;
+                }
+                p++;
+            }
+            else {
+                arg_ptr = NULL;
+                arg_len = 0;
+            }
+            val_ptr = data->begin;
+            val_len = data->end - data->begin;
+
+            if (data->begin != NULL && var->cb_operation_fct != NULL) {
+                /* call operation callback function */
+                rc = (*var->cb_operation_fct)(var, var->cb_operation_ctx,
+                                              op_ptr, op_len,
+                                              arg_ptr, arg_len,
+                                              val_ptr, val_len,
+                                              &out_ptr, &out_len, &out_size);
+                if (rc < 0) {
+                    if (arg_ptr != NULL)
+                        free((void *)arg_ptr);
+                    goto error_return;
+                }
+                tokenbuf_free(data);
+                tokenbuf_set(data, out_ptr, out_ptr+out_len, out_size);
+            }
+            if (arg_ptr != NULL)
+               free((void *)arg_ptr);
+            break;
+        }
+        default:
+            return VAR_ERR_UNKNOWN_COMMAND_CHAR;
     }
 
     /* return successfully */
@@ -1667,90 +1675,90 @@ parse_numexp_operand(
     p = begin;
     tokenbuf_init(&tmp);
     if (p == end)
-       return VAR_ERR_INCOMPLETE_INDEX_SPEC;
+        return VAR_ERR_INCOMPLETE_INDEX_SPEC;
 
     /* parse opening numerical expression */
     if (*p == '(') {
-       /* parse inner numerical expression */
-       rc = parse_numexp(var, ctx, ++p, end, result, failed);
-       if (rc < 0)
-           return rc;
-       p += rc;
-       if (p == end)
-           return VAR_ERR_INCOMPLETE_INDEX_SPEC;
-       /* parse closing parenthesis */
-       if (*p != ')')
-           return VAR_ERR_UNCLOSED_BRACKET_IN_INDEX;
-       p++;
+        /* parse inner numerical expression */
+        rc = parse_numexp(var, ctx, ++p, end, result, failed);
+        if (rc < 0)
+            return rc;
+        p += rc;
+        if (p == end)
+            return VAR_ERR_INCOMPLETE_INDEX_SPEC;
+        /* parse closing parenthesis */
+        if (*p != ')')
+            return VAR_ERR_UNCLOSED_BRACKET_IN_INDEX;
+        p++;
     }
     /* parse contained variable */
     else if (*p == var->syntax.delim_init) {
-       /* parse variable with forced expansion */
-       ctx = var_parse_push(ctx, &myctx);
-       ctx->force_expand = 1;
-       rc = parse_variable(var, ctx, p, end, &tmp);
-       ctx = var_parse_pop(ctx);
-
-       if (rc == VAR_ERR_UNDEFINED_VARIABLE) {
-           *failed = 1;
-           /* parse variable without forced expansion */
-           ctx = var_parse_push(ctx, &myctx);
-           ctx->force_expand = 0;
-           rc = parse_variable(var, ctx, p, end, &tmp);
-           ctx = var_parse_pop(ctx);
-           if (rc < 0)
-               return rc;
-           p += rc;
-           *result = 0;
-           tokenbuf_free(&tmp);      /* KES 11/9/2003 */
-       } else if (rc < 0) {
-           return rc;
-       } else {
-           p += rc;
-           /* parse remaining numerical expression */
-           rc = parse_numexp(var, ctx, tmp.begin, tmp.end, result, failed);
-           tokenbuf_free(&tmp);
-           if (rc < 0)
-               return rc;
-       }
+        /* parse variable with forced expansion */
+        ctx = var_parse_push(ctx, &myctx);
+        ctx->force_expand = 1;
+        rc = parse_variable(var, ctx, p, end, &tmp);
+        ctx = var_parse_pop(ctx);
+
+        if (rc == VAR_ERR_UNDEFINED_VARIABLE) {
+            *failed = 1;
+            /* parse variable without forced expansion */
+            ctx = var_parse_push(ctx, &myctx);
+            ctx->force_expand = 0;
+            rc = parse_variable(var, ctx, p, end, &tmp);
+            ctx = var_parse_pop(ctx);
+            if (rc < 0)
+                return rc;
+            p += rc;
+            *result = 0;
+            tokenbuf_free(&tmp);      /* KES 11/9/2003 */
+        } else if (rc < 0) {
+            return rc;
+        } else {
+            p += rc;
+            /* parse remaining numerical expression */
+            rc = parse_numexp(var, ctx, tmp.begin, tmp.end, result, failed);
+            tokenbuf_free(&tmp);
+            if (rc < 0)
+                return rc;
+        }
     }
     /* parse relative index mark ("#") */
-    else if (  var->syntax.index_mark != EOS
-            && *p == var->syntax.index_mark) {
-       p++;
-       *result = ctx->index_this;
-       if (ctx->rel_lookup_flag)
-           ctx->rel_lookup_cnt++;
+    else if (   var->syntax.index_mark != EOS
+             && *p == var->syntax.index_mark) {
+        p++;
+        *result = ctx->index_this;
+        if (ctx->rel_lookup_flag)
+            ctx->rel_lookup_cnt++;
     }
     /* parse plain integer number */
     else if (isdigit(*p)) {
-       rc = parse_integer(var, ctx, p, end, result);
-       p += rc;
+        rc = parse_integer(var, ctx, p, end, result);
+        p += rc;
     }
     /* parse signed positive integer number */
     else if (*p == '+') {
-       if ((end - p) > 1 && isdigit(p[1])) {
-           p++;
-           rc = parse_integer(var, ctx, p, end, result);
-           p += rc;
-       }
-       else
-           return VAR_ERR_INVALID_CHAR_IN_INDEX_SPEC;
+        if ((end - p) > 1 && isdigit(p[1])) {
+            p++;
+            rc = parse_integer(var, ctx, p, end, result);
+            p += rc;
+        }
+        else
+            return VAR_ERR_INVALID_CHAR_IN_INDEX_SPEC;
     }
     /* parse signed negative integer number */
     else if (*p == '-') {
-       if (end - p > 1 && isdigit(p[1])) {
-           p++;
-           rc = parse_integer(var, ctx, p, end, result);
-           *result = -(*result);
-           p += rc;
-       }
-       else
-           return VAR_ERR_INVALID_CHAR_IN_INDEX_SPEC;
+        if (end - p > 1 && isdigit(p[1])) {
+            p++;
+            rc = parse_integer(var, ctx, p, end, result);
+            *result = -(*result);
+            p += rc;
+        }
+        else
+            return VAR_ERR_INVALID_CHAR_IN_INDEX_SPEC;
     }
     /* else we failed to parse anything reasonable */
     else
-       return VAR_ERR_INVALID_CHAR_IN_INDEX_SPEC;
+        return VAR_ERR_INVALID_CHAR_IN_INDEX_SPEC;
 
     return (p - begin);
 }
@@ -1770,60 +1778,60 @@ parse_numexp(
     /* initialization */
     p = begin;
     if (p == end)
-       return VAR_ERR_INCOMPLETE_INDEX_SPEC;
+        return VAR_ERR_INCOMPLETE_INDEX_SPEC;
 
     /* parse left numerical operand */
     rc = parse_numexp_operand(var, ctx, p, end, result, failed);
     if (rc < 0)
-       return rc;
+        return rc;
     p += rc;
 
     /* parse numerical operator */
     while (p != end) {
-       if (*p == '+' || *p == '-') {
-           op = *p++;
-           /* recursively parse right operand (light binding) */
-           rc = parse_numexp(var, ctx, p, end, &right, failed);
-           if (rc < 0)
-               return rc;
-           p += rc;
-           if (op == '+')
-               *result = (*result + right);
-           else
-               *result = (*result - right);
-       }
-       else if (*p == '*' || *p == '/' || *p == '%') {
-           op = *p++;
-           /* recursively parse right operand (string binding) */
-           rc = parse_numexp_operand(var, ctx, p, end, &right, failed);
-           if (rc < 0)
-               return rc;
-           p += rc;
-           if (op == '*')
-               *result = (*result * right);
-           else if (op == '/') {
-               if (right == 0) {
-                   if (*failed)
-                       *result = 0;
-                   else
-                       return VAR_ERR_DIVISION_BY_ZERO_IN_INDEX;
-               }
-               else
-                   *result = (*result / right);
-           }
-           else if (op == '%') {
-               if (right == 0) {
-                   if (*failed)
-                       *result = 0;
-                   else
-                       return VAR_ERR_DIVISION_BY_ZERO_IN_INDEX;
-               }
-               else
-                   *result = (*result % right);
-           }
-       }
-       else
-           break;
+        if (*p == '+' || *p == '-') {
+            op = *p++;
+            /* recursively parse right operand (light binding) */
+            rc = parse_numexp(var, ctx, p, end, &right, failed);
+            if (rc < 0)
+                return rc;
+            p += rc;
+            if (op == '+')
+                *result = (*result + right);
+            else
+                *result = (*result - right);
+        }
+        else if (*p == '*' || *p == '/' || *p == '%') {
+            op = *p++;
+            /* recursively parse right operand (string binding) */
+            rc = parse_numexp_operand(var, ctx, p, end, &right, failed);
+            if (rc < 0)
+                return rc;
+            p += rc;
+            if (op == '*')
+                *result = (*result * right);
+            else if (op == '/') {
+                if (right == 0) {
+                    if (*failed)
+                        *result = 0;
+                    else
+                        return VAR_ERR_DIVISION_BY_ZERO_IN_INDEX;
+                }
+                else
+                    *result = (*result / right);
+            }
+            else if (op == '%') {
+                if (right == 0) {
+                    if (*failed)
+                        *result = 0;
+                    else
+                        return VAR_ERR_DIVISION_BY_ZERO_IN_INDEX;
+                }
+                else
+                    *result = (*result % right);
+            }
+        }
+        else
+            break;
     }
 
     /* return amount of parsed input */
@@ -1840,7 +1848,7 @@ parse_name(
 
     /* parse as long as name class characters are found */
     for (p = begin; p != end && var->syntax_nameclass[(int)(*p)]; p++)
-       ;
+        ;
     return (p - begin);
 }
 
@@ -1848,7 +1856,7 @@ parse_name(
 static int
 lookup_value(
     var_t *var, var_parse_t *ctx,
-    const char *var_ptr, int  var_len, int var_inc, int var_idx,
+    const char  *var_ptr, int  var_len, int var_inc, int var_idx,
     const char **val_ptr, int *val_len, int *val_size)
 {
     char buf[1];
@@ -1856,8 +1864,8 @@ lookup_value(
 
     /* pass through to original callback */
     rc = (*var->cb_value_fct)(var, var->cb_value_ctx,
-                             var_ptr, var_len, var_inc, var_idx,
-                             val_ptr, val_len, val_size);
+                              var_ptr, var_len, var_inc, var_idx,
+                              val_ptr, val_len, val_size);
 
     /* convert undefined variable into empty variable if relative
        lookups are counted. This is the case inside an active loop
@@ -1865,12 +1873,12 @@ lookup_value(
        has to proceed until all variables have undefined values.
        This trick here allows it to determine this case. */
     if (ctx->rel_lookup_flag && rc == VAR_ERR_UNDEFINED_VARIABLE) {
-       ctx->rel_lookup_cnt--;
-       buf[0] = EOS;
-       *val_ptr  = buf;
-       *val_len  = 0;
-       *val_size = 0;
-       return VAR_OK;
+        ctx->rel_lookup_cnt--;
+        buf[0] = EOS;
+        *val_ptr  = buf;
+        *val_len  = 0;
+        *val_size = 0;
+        return VAR_OK;
     }
 
     return rc;
@@ -1901,145 +1909,145 @@ parse_variable_complex(
 
     /* parse open delimiter */
     if (p == end || *p != var->syntax.delim_open)
-       return 0;
+        return 0;
     p++;
     if (p == end)
-       return VAR_ERR_INCOMPLETE_VARIABLE_SPEC;
+        return VAR_ERR_INCOMPLETE_VARIABLE_SPEC;
 
     /* parse name of variable to expand. The name may consist of an
        arbitrary number of variable name character and contained variable
        constructs. */
     do {
-       /* parse a variable name */
-       rc = parse_name(var, ctx, p, end);
-       if (rc < 0)
-           goto error_return;
-       if (rc > 0) {
-           if (!tokenbuf_append(&name, p, rc)) {
-               rc = VAR_ERR_OUT_OF_MEMORY;
-               goto error_return;
-           }
-           p += rc;
-       }
-
-       /* parse an (embedded) variable */
-       rc = parse_variable(var, ctx, p, end, &tmp);
-       if (rc < 0)
-           goto error_return;
-       if (rc > 0) {
-           if (!tokenbuf_merge(&name, &tmp)) {
-               rc = VAR_ERR_OUT_OF_MEMORY;
-               goto error_return;
-           }
-           p += rc;
-       }
-       tokenbuf_free(&tmp);          /* KES 11/9/2003 */
+        /* parse a variable name */
+        rc = parse_name(var, ctx, p, end);
+        if (rc < 0)
+            goto error_return;
+        if (rc > 0) {
+            if (!tokenbuf_append(&name, p, rc)) {
+                rc = VAR_ERR_OUT_OF_MEMORY;
+                goto error_return;
+            }
+            p += rc;
+        }
+
+        /* parse an (embedded) variable */
+        rc = parse_variable(var, ctx, p, end, &tmp);
+        if (rc < 0)
+            goto error_return;
+        if (rc > 0) {
+            if (!tokenbuf_merge(&name, &tmp)) {
+                rc = VAR_ERR_OUT_OF_MEMORY;
+                goto error_return;
+            }
+            p += rc;
+        }
+        tokenbuf_free(&tmp);          /* KES 11/9/2003 */
     } while (rc > 0);
 
     /* we must have the complete expanded variable name now,
        so make sure we really do. */
     if (name.begin == name.end) {
-       if (ctx->force_expand) {
-           rc = VAR_ERR_INCOMPLETE_VARIABLE_SPEC;
-           goto error_return;
-       }
-       else {
-           /* If no force_expand is requested, we have to back-off.
-              We're not sure whether our approach here is 100% correct,
-              because it _could_ have side-effects according to Peter
-              Simons, but as far as we know and tried it, it is
-              correct. But be warned -- RSE */
-           tokenbuf_set(result, begin - 1, p, 0);
-           goto goahead;
-       }
+        if (ctx->force_expand) {
+            rc = VAR_ERR_INCOMPLETE_VARIABLE_SPEC;
+            goto error_return;
+        }
+        else {
+            /* If no force_expand is requested, we have to back-off.
+               We're not sure whether our approach here is 100% correct,
+               because it _could_ have side-effects according to Peter
+               Simons, but as far as we know and tried it, it is
+               correct. But be warned -- RSE */
+            tokenbuf_set(result, begin - 1, p, 0);
+            goto goahead;
+        }
     }
 
     /* parse an optional index specification */
     if (   var->syntax.index_open != EOS
-       && *p == var->syntax.index_open) {
-       p++;
-       rc = parse_numexp(var, ctx, p, end, &idx, &failed);
-       if (rc < 0)
-           goto error_return;
-       if (rc == 0) {
-           rc = VAR_ERR_INCOMPLETE_INDEX_SPEC;
-           goto error_return;
-       }
-       p += rc;
-       if (p == end) {
-           rc = VAR_ERR_INCOMPLETE_INDEX_SPEC;
-           goto error_return;
-       }
-       if (*p != var->syntax.index_close) {
-           rc = VAR_ERR_INVALID_CHAR_IN_INDEX_SPEC;
-           goto error_return;
-       }
-       p++;
+        && *p == var->syntax.index_open) {
+        p++;
+        rc = parse_numexp(var, ctx, p, end, &idx, &failed);
+        if (rc < 0)
+            goto error_return;
+        if (rc == 0) {
+            rc = VAR_ERR_INCOMPLETE_INDEX_SPEC;
+            goto error_return;
+        }
+        p += rc;
+        if (p == end) {
+            rc = VAR_ERR_INCOMPLETE_INDEX_SPEC;
+            goto error_return;
+        }
+        if (*p != var->syntax.index_close) {
+            rc = VAR_ERR_INVALID_CHAR_IN_INDEX_SPEC;
+            goto error_return;
+        }
+        p++;
     }
 
     /* parse end of variable construct or start of post-operations */
     if (p == end || (*p != var->syntax.delim_close && *p != ':' && *p != '+')) {
-       rc = VAR_ERR_INCOMPLETE_VARIABLE_SPEC;
-       goto error_return;
+        rc = VAR_ERR_INCOMPLETE_VARIABLE_SPEC;
+        goto error_return;
     }
     inc = (*p == '+');                /* increment variable */
     p++;
 
     /* lookup the variable value now */
     if (failed) {
-       tokenbuf_set(result, begin - 1, p, 0);
+        tokenbuf_set(result, begin - 1, p, 0);
     } else {
-       rc = lookup_value(var, ctx,
-                         name.begin, name.end-name.begin, inc, idx,
-                         &data, &len, &buffer_size);
-       if (rc == VAR_ERR_UNDEFINED_VARIABLE) {
-           tokenbuf_init(result); /* delayed handling of undefined variable */
-       } else if (rc < 0) {
-           goto error_return;
-       } else {
-           /* the preliminary result is the raw value of the variable.
-              This may be modified by the operations that may follow. */
-           tokenbuf_set(result, data, data + len, buffer_size);
-       }
+        rc = lookup_value(var, ctx,
+                          name.begin, name.end-name.begin, inc, idx,
+                          &data, &len, &buffer_size);
+        if (rc == VAR_ERR_UNDEFINED_VARIABLE) {
+            tokenbuf_init(result); /* delayed handling of undefined variable */
+        } else if (rc < 0) {
+            goto error_return;
+        } else {
+            /* the preliminary result is the raw value of the variable.
+               This may be modified by the operations that may follow. */
+            tokenbuf_set(result, data, data + len, buffer_size);
+        }
     }
 
     /* parse optional post-operations */
 goahead:
     if (p[-1] == ':') {
-       tokenbuf_free(&tmp);
-       tokenbuf_init(&tmp);
-       p--;
-       while (p != end && *p == ':') {
-           p++;
-           if (!failed)
-               rc = parse_operation(var, ctx, p, end, result);
-           else
-               rc = parse_operation(var, ctx, p, end, &tmp);
-           if (rc < 0)
-               goto error_return;
-           p += rc;
-           if (failed)
-               result->end += rc;
-       }
-       if (p == end || *p != var->syntax.delim_close) {
-           rc = VAR_ERR_INCOMPLETE_VARIABLE_SPEC;
-           goto error_return;
-       }
-       p++;
-       if (failed)
-           result->end++;
+        tokenbuf_free(&tmp);
+        tokenbuf_init(&tmp);
+        p--;
+        while (p != end && *p == ':') {
+            p++;
+            if (!failed)
+                rc = parse_operation(var, ctx, p, end, result);
+            else
+                rc = parse_operation(var, ctx, p, end, &tmp);
+            if (rc < 0)
+                goto error_return;
+            p += rc;
+            if (failed)
+                result->end += rc;
+        }
+        if (p == end || *p != var->syntax.delim_close) {
+            rc = VAR_ERR_INCOMPLETE_VARIABLE_SPEC;
+            goto error_return;
+        }
+        p++;
+        if (failed)
+            result->end++;
     } else if (p[-1] == '+') {
        p++;
     }
 
     /* lazy handling of undefined variable */
     if (!failed && tokenbuf_isundef(result)) {
-       if (ctx->force_expand) {
-           rc = VAR_ERR_UNDEFINED_VARIABLE;
-           goto error_return;
-       } else {
-           tokenbuf_set(result, begin - 1, p, 0);
-       }
+        if (ctx->force_expand) {
+            rc = VAR_ERR_UNDEFINED_VARIABLE;
+            goto error_return;
+        } else {
+            tokenbuf_set(result, begin - 1, p, 0);
+        }
     }
 
     /* return successfully */
@@ -2074,33 +2082,33 @@ parse_variable(
 
     /* parse init delimiter */
     if (p == end || *p != var->syntax.delim_init)
-       return 0;
+        return 0;
     p++;
     if (p == end)
-       return VAR_ERR_INCOMPLETE_VARIABLE_SPEC;
+        return VAR_ERR_INCOMPLETE_VARIABLE_SPEC;
 
     /* parse a simple variable name.
        (if this fails, we're try to parse a complex variable construct) */
     rc = parse_name(var, ctx, p, end);
     if (rc < 0)
-       return rc;
+        return rc;
     if (rc > 0) {
-       inc = (p[rc] == '+');
-       rc2 = lookup_value(var, ctx, p, rc, inc, 0, &data, &len, &buffer_size);
-       if (rc2 == VAR_ERR_UNDEFINED_VARIABLE && !ctx->force_expand) {
-           tokenbuf_set(result, begin, begin + 1 + rc, 0);
-           return (1 + rc);
-       }
-       if (rc2 < 0)
-           return rc2;
-       tokenbuf_set(result, data, data + len, buffer_size);
-       return (1 + rc);
+        inc = (p[rc] == '+');
+        rc2 = lookup_value(var, ctx, p, rc, inc, 0, &data, &len, &buffer_size);
+        if (rc2 == VAR_ERR_UNDEFINED_VARIABLE && !ctx->force_expand) {
+            tokenbuf_set(result, begin, begin + 1 + rc, 0);
+            return (1 + rc);
+        }
+        if (rc2 < 0)
+            return rc2;
+        tokenbuf_set(result, data, data + len, buffer_size);
+        return (1 + rc);
     }
 
     /* parse a complex variable construct (else case) */
     rc = parse_variable_complex(var, ctx, p, end, result);
     if (rc > 0)
-       rc++;
+        rc++;
     return rc;
 }
 
@@ -2120,59 +2128,59 @@ parse_looplimits(
 
     /* we are happy if nothing is to left to parse */
     if (p == end)
-       return VAR_OK;
+        return VAR_OK;
 
     /* parse start delimiter */
     if (*p != var->syntax.delim_open)
-       return VAR_OK;
+        return VAR_OK;
     p++;
 
     /* parse loop start value */
     failed = 0;
     rc = parse_numexp(var, ctx, p, end, start, &failed);
     if (rc == VAR_ERR_INVALID_CHAR_IN_INDEX_SPEC)
-       *start = 0; /* use default */
+        *start = 0; /* use default */
     else if (rc < 0)
-       return (var_rc_t)rc;
+        return (var_rc_t)rc;
     else
-       p += rc;
+        p += rc;
     if (failed)
-       return VAR_ERR_UNDEFINED_VARIABLE;
+        return VAR_ERR_UNDEFINED_VARIABLE;
 
     /* parse separator */
     if (*p != ',')
-       return VAR_ERR_INVALID_CHAR_IN_LOOP_LIMITS;
+        return VAR_ERR_INVALID_CHAR_IN_LOOP_LIMITS;
     p++;
 
     /* parse loop step value */
     failed = 0;
     rc = parse_numexp(var, ctx, p, end, step, &failed);
     if (rc == VAR_ERR_INVALID_CHAR_IN_INDEX_SPEC)
-       *step = 1; /* use default */
+        *step = 1; /* use default */
     else if (rc < 0)
-       return (var_rc_t)rc;
+        return (var_rc_t)rc;
     else
-       p += rc;
+        p += rc;
     if (failed)
-       return VAR_ERR_UNDEFINED_VARIABLE;
+        return VAR_ERR_UNDEFINED_VARIABLE;
 
     /* parse separator */
     if (*p != ',') {
-       /* if not found, parse end delimiter */
-       if (*p != var->syntax.delim_close)
-           return VAR_ERR_INVALID_CHAR_IN_LOOP_LIMITS;
-       p++;
-
-       /* shift step value to stop value */
-       *stop = *step;
-       *step = 1;
-
-       /* determine whether loop end is open */
-       if (rc > 0)
-           *open_stop = 0;
-       else
-           *open_stop = 1;
-       return (var_rc_t)(p - begin);
+        /* if not found, parse end delimiter */
+        if (*p != var->syntax.delim_close)
+            return VAR_ERR_INVALID_CHAR_IN_LOOP_LIMITS;
+        p++;
+
+        /* shift step value to stop value */
+        *stop = *step;
+        *step = 1;
+
+        /* determine whether loop end is open */
+        if (rc > 0)
+            *open_stop = 0;
+        else
+            *open_stop = 1;
+        return (var_rc_t)(p - begin);
     }
     p++;
 
@@ -2180,21 +2188,21 @@ parse_looplimits(
     failed = 0;
     rc = parse_numexp(var, ctx, p, end, stop, &failed);
     if (rc == VAR_ERR_INVALID_CHAR_IN_INDEX_SPEC) {
-       *stop = 0; /* use default */
-       *open_stop = 1;
+        *stop = 0; /* use default */
+        *open_stop = 1;
     }
     else if (rc < 0)
-       return (var_rc_t)rc;
+        return (var_rc_t)rc;
     else {
-       *open_stop = 0;
-       p += rc;
+        *open_stop = 0;
+        p += rc;
     }
     if (failed)
-       return VAR_ERR_UNDEFINED_VARIABLE;
+        return VAR_ERR_UNDEFINED_VARIABLE;
 
     /* parse end delimiter */
     if (*p != var->syntax.delim_close)
-       return VAR_ERR_INVALID_CHAR_IN_LOOP_LIMITS;
+        return VAR_ERR_INVALID_CHAR_IN_LOOP_LIMITS;
     p++;
 
     /* return amount of parsed input */
@@ -2212,17 +2220,17 @@ parse_text(
     /* parse until delim_init (variable construct)
        or index_open (loop construct) is found */
     for (p = begin; p != end; p++) {
-       if (*p == var->syntax.escape) {
-           p++; /* skip next character */
-           if (p == end)
-               return VAR_ERR_INCOMPLETE_QUOTED_PAIR;
-       }
-       else if (*p == var->syntax.delim_init)
-           break;
-       else if (   var->syntax.index_open != EOS
-                && (   *p == var->syntax.index_open
-                    || *p == var->syntax.index_close))
-           break;
+        if (*p == var->syntax.escape) {
+            p++; /* skip next character */
+            if (p == end)
+                return VAR_ERR_INCOMPLETE_QUOTED_PAIR;
+        }
+        else if (*p == var->syntax.delim_init)
+            break;
+        else if (   var->syntax.index_open != EOS
+                 && (   *p == var->syntax.index_open
+                     || *p == var->syntax.index_close))
+            break;
     }
     return (p - begin);
 }
@@ -2248,121 +2256,121 @@ parse_input(
     p = begin;
 
     do {
-       /* try to parse a loop construct */
-       if (   p != end
-           && var->syntax.index_open != EOS
-           && *p == var->syntax.index_open) {
-           p++;
-
-           /* loop preparation */
-           loop_limit_length = -1;
-           rel_lookup_cnt = ctx->rel_lookup_cnt;
-           open_stop = 1;
-           rc = 0;
-           start = 0;
-           step  = 1;
-           stop  = 0;
-           output_backup = 0;
-
-           /* iterate over loop construct, either as long as there is
-              (still) nothing known about the limit, or there is an open
-              (=unknown) limit stop and there are still defined variables
-              or there is a stop limit known and it is still not reached */
-           re_loop:
-           for (i = start;
-                (   (   open_stop
-                     && (   loop_limit_length < 0
-                         || rel_lookup_cnt > ctx->rel_lookup_cnt))
-                 || (   !open_stop
-                     && i <= stop)                                );
-                i += step) {
-
-               /* remember current output end for restoring */
-               output_backup = (output->end - output->begin);
-
-               /* open temporary context for recursion */
-               ctx = var_parse_push(ctx, &myctx);
-               ctx->force_expand    = 1;
-               ctx->rel_lookup_flag = 1;
-               ctx->index_this      = i;
-
-               /* recursive parse input through ourself */
-               rc = parse_input(var, ctx, p, end,
-                                output, recursion_level+1);
-
-               /* retrieve info and close temporary context */
-               rel_lookup_cnt = ctx->rel_lookup_cnt;
-               ctx = var_parse_pop(ctx);
-
-               /* error handling */
-               if (rc < 0)
-                   goto error_return;
-
-               /* make sure the loop construct is closed */
-               if (p[rc] != var->syntax.index_close) {
-                   rc = VAR_ERR_UNTERMINATED_LOOP_CONSTRUCT;
-                   goto error_return;
-               }
-
-               /* try to parse loop construct limit specification */
-               if (loop_limit_length < 0) {
-                   rc2 = parse_looplimits(var, ctx, p+rc+1, end,
-                                          &start, &step, &stop, &open_stop);
-                   if (rc2 < 0)
-                       goto error_return;
-                   else if (rc2 == 0)
-                       loop_limit_length = 0;
-                   else if (rc2 > 0) {
-                       loop_limit_length = rc2;
-                       /* restart loop from scratch */
-                       output->end = (output->begin + output_backup);
-                       goto re_loop;
-                   }
-               }
-           }
-
-           /* if stop value is open, restore to the output end
-              because the last iteration was just to determine the loop
-              termination and its result has to be discarded */
-           if (open_stop)
-               output->end = (output->begin + output_backup);
-
-           /* skip parsed loop construct */
-           p += rc;
-           p++;
-           p += loop_limit_length;
-
-           continue;
-       }
-
-       /* try to parse plain text */
-       rc = parse_text(var, ctx, p, end);
-       if (rc > 0) {
-           if (!tokenbuf_append(output, p, rc)) {
-               rc = VAR_ERR_OUT_OF_MEMORY;
-               goto error_return;
-           }
-           p += rc;
-           continue;
-       } else if (rc < 0)
-           goto error_return;
-
-       /* try to parse a variable construct */
-       tokenbuf_init(&result);
-       rc = parse_variable(var, ctx, p, end, &result);
-       if (rc > 0) {
-           if (!tokenbuf_merge(output, &result)) {
-               tokenbuf_free(&result);
-               rc = VAR_ERR_OUT_OF_MEMORY;
-               goto error_return;
-           }
-           tokenbuf_free(&result);
-           p += rc;
-           continue;
-       }
-       tokenbuf_free(&result);
-       if (rc < 0)
-           goto error_return;
+        /* try to parse a loop construct */
+        if (   p != end
+            && var->syntax.index_open != EOS
+            && *p == var->syntax.index_open) {
+            p++;
+
+            /* loop preparation */
+            loop_limit_length = -1;
+            rel_lookup_cnt = ctx->rel_lookup_cnt;
+            open_stop = 1;
+            rc = 0;
+            start = 0;
+            step  = 1;
+            stop  = 0;
+            output_backup = 0;
+
+            /* iterate over loop construct, either as long as there is
+               (still) nothing known about the limit, or there is an open
+               (=unknown) limit stop and there are still defined variables
+               or there is a stop limit known and it is still not reached */
+            re_loop:
+            for (i = start;
+                 (   (   open_stop
+                      && (   loop_limit_length < 0
+                          || rel_lookup_cnt > ctx->rel_lookup_cnt))
+                  || (   !open_stop
+                      && i <= stop)                                );
+                 i += step) {
+
+                /* remember current output end for restoring */
+                output_backup = (output->end - output->begin);
+
+                /* open temporary context for recursion */
+                ctx = var_parse_push(ctx, &myctx);
+                ctx->force_expand    = 1;
+                ctx->rel_lookup_flag = 1;
+                ctx->index_this      = i;
+
+                /* recursive parse input through ourself */
+                rc = parse_input(var, ctx, p, end,
+                                 output, recursion_level+1);
+
+                /* retrieve info and close temporary context */
+                rel_lookup_cnt = ctx->rel_lookup_cnt;
+                ctx = var_parse_pop(ctx);
+
+                /* error handling */
+                if (rc < 0)
+                    goto error_return;
+
+                /* make sure the loop construct is closed */
+                if (p[rc] != var->syntax.index_close) {
+                    rc = VAR_ERR_UNTERMINATED_LOOP_CONSTRUCT;
+                    goto error_return;
+                }
+
+                /* try to parse loop construct limit specification */
+                if (loop_limit_length < 0) {
+                    rc2 = parse_looplimits(var, ctx, p+rc+1, end,
+                                           &start, &step, &stop, &open_stop);
+                    if (rc2 < 0)
+                        goto error_return;
+                    else if (rc2 == 0)
+                        loop_limit_length = 0;
+                    else if (rc2 > 0) {
+                        loop_limit_length = rc2;
+                        /* restart loop from scratch */
+                        output->end = (output->begin + output_backup);
+                        goto re_loop;
+                    }
+                }
+            }
+
+            /* if stop value is open, restore to the output end
+               because the last iteration was just to determine the loop
+               termination and its result has to be discarded */
+            if (open_stop)
+                output->end = (output->begin + output_backup);
+
+            /* skip parsed loop construct */
+            p += rc;
+            p++;
+            p += loop_limit_length;
+
+            continue;
+        }
+
+        /* try to parse plain text */
+        rc = parse_text(var, ctx, p, end);
+        if (rc > 0) {
+            if (!tokenbuf_append(output, p, rc)) {
+                rc = VAR_ERR_OUT_OF_MEMORY;
+                goto error_return;
+            }
+            p += rc;
+            continue;
+        } else if (rc < 0)
+            goto error_return;
+
+        /* try to parse a variable construct */
+        tokenbuf_init(&result);
+        rc = parse_variable(var, ctx, p, end, &result);
+        if (rc > 0) {
+            if (!tokenbuf_merge(output, &result)) {
+                tokenbuf_free(&result);
+                rc = VAR_ERR_OUT_OF_MEMORY;
+                goto error_return;
+            }
+            tokenbuf_free(&result);
+            p += rc;
+            continue;
+        }
+        tokenbuf_free(&result);
+        if (rc < 0)
+            goto error_return;
 
     } while (p != end && rc > 0);
 
@@ -2373,8 +2381,8 @@ parse_input(
        text or a variable construct. This would be very strange, but
        could perhaps happen in case of configuration errors!?... */
     if (recursion_level == 0 && p != end) {
-       rc = VAR_ERR_INPUT_ISNT_TEXT_NOR_VARIABLE;
-       goto error_return;
+        rc = VAR_ERR_INPUT_ISNT_TEXT_NOR_VARIABLE;
+        goto error_return;
     }
 
     /* return amount of parsed text */
@@ -2403,9 +2411,9 @@ var_create(
     var_t *var;
 
     if (pvar == NULL)
-       return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
+        return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
     if ((var = (var_t *)malloc(sizeof(var_t))) == NULL)
-       return VAR_RC(VAR_ERR_OUT_OF_MEMORY);
+        return VAR_RC(VAR_ERR_OUT_OF_MEMORY);
     memset(var, 0, sizeof(var));
     var_config(var, VAR_CONFIG_SYNTAX, &var_syntax_default);
     *pvar = var;
@@ -2418,7 +2426,7 @@ var_destroy(
     var_t *var)
 {
     if (var == NULL)
-       return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
+        return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
     free(var);
     return VAR_OK;
 }
@@ -2434,51 +2442,51 @@ var_config(
     var_rc_t rc;
 
     if (var == NULL)
-       return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
+        return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
     va_start(ap, mode);
     switch (mode) {
-       case VAR_CONFIG_SYNTAX: {
-           var_syntax_t *s;
-           s = (var_syntax_t *)va_arg(ap, void *);
-           if (s == NULL)
-               return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
-           var->syntax.escape      = s->escape;
-           var->syntax.delim_init  = s->delim_init;
-           var->syntax.delim_open  = s->delim_open;
-           var->syntax.delim_close = s->delim_close;
-           var->syntax.index_open  = s->index_open;
-           var->syntax.index_close = s->index_close;
-           var->syntax.index_mark  = s->index_mark;
-           var->syntax.name_chars  = NULL; /* unused internally */
-           if ((rc = expand_character_class(s->name_chars, var->syntax_nameclass)) != VAR_OK)
-               return VAR_RC(rc);
-           if (   var->syntax_nameclass[(int)var->syntax.delim_init]
-               || var->syntax_nameclass[(int)var->syntax.delim_open]
-               || var->syntax_nameclass[(int)var->syntax.delim_close]
-               || var->syntax_nameclass[(int)var->syntax.escape])
-               return VAR_RC(VAR_ERR_INVALID_CONFIGURATION);
-           break;
-       }
-       case VAR_CONFIG_CB_VALUE: {
-           var_cb_value_t fct;
-           void *ctx;
-           fct = (var_cb_value_t)va_arg(ap, void *);
-           ctx = (void *)va_arg(ap, void *);
-           var->cb_value_fct = fct;
-           var->cb_value_ctx = ctx;
-           break;
-       }
-       case VAR_CONFIG_CB_OPERATION: {
-           var_cb_operation_t fct;
-           void *ctx;
-           fct = (var_cb_operation_t)va_arg(ap, void *);
-           ctx = (void *)va_arg(ap, void *);
-           var->cb_operation_fct = fct;
-           var->cb_operation_ctx = ctx;
-           break;
-       }
-       default:
-           return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
+        case VAR_CONFIG_SYNTAX: {
+            var_syntax_t *s;
+            s = (var_syntax_t *)va_arg(ap, void *);
+            if (s == NULL)
+                return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
+            var->syntax.escape      = s->escape;
+            var->syntax.delim_init  = s->delim_init;
+            var->syntax.delim_open  = s->delim_open;
+            var->syntax.delim_close = s->delim_close;
+            var->syntax.index_open  = s->index_open;
+            var->syntax.index_close = s->index_close;
+            var->syntax.index_mark  = s->index_mark;
+            var->syntax.name_chars  = NULL; /* unused internally */
+            if ((rc = expand_character_class(s->name_chars, var->syntax_nameclass)) != VAR_OK)
+                return VAR_RC(rc);
+            if (   var->syntax_nameclass[(int)var->syntax.delim_init]
+                || var->syntax_nameclass[(int)var->syntax.delim_open]
+                || var->syntax_nameclass[(int)var->syntax.delim_close]
+                || var->syntax_nameclass[(int)var->syntax.escape])
+                return VAR_RC(VAR_ERR_INVALID_CONFIGURATION);
+            break;
+        }
+        case VAR_CONFIG_CB_VALUE: {
+            var_cb_value_t fct;
+            void *ctx;
+            fct = (var_cb_value_t)va_arg(ap, void *);
+            ctx = (void *)va_arg(ap, void *);
+            var->cb_value_fct = fct;
+            var->cb_value_ctx = ctx;
+            break;
+        }
+        case VAR_CONFIG_CB_OPERATION: {
+            var_cb_operation_t fct;
+            void *ctx;
+            fct = (var_cb_operation_t)va_arg(ap, void *);
+            ctx = (void *)va_arg(ap, void *);
+            var->cb_operation_fct = fct;
+            var->cb_operation_ctx = ctx;
+            break;
+        }
+        default:
+            return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
     }
     va_end(ap);
     return VAR_OK;
@@ -2496,51 +2504,51 @@ var_unescape(
     var_rc_t rc;
 
     if (var == NULL || src == NULL || dst == NULL)
-       return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
+        return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
     end = src + srclen;
     while (src < end) {
-       if (*src == '\\') {
-           if (++src == end)
-               return VAR_RC(VAR_ERR_INCOMPLETE_NAMED_CHARACTER);
-           switch (*src) {
-               case '\\':
-                   if (!all) {
-                       *dst++ = '\\';
-                   }
-                   *dst++ = '\\';
-                   break;
-               case 'n':
-                   *dst++ = '\n';
-                   break;
-               case 't':
-                   *dst++ = '\t';
-                   break;
-               case 'r':
-                   *dst++ = '\r';
-                   break;
-               case 'x':
-                   ++src;
-                   if ((rc = expand_hex(&src, &dst, end)) != VAR_OK)
-                       return VAR_RC(rc);
-                   break;
-               case '0': case '1': case '2': case '3': case '4':
-               case '5': case '6': case '7': case '8': case '9':
-                   if (   end - src >= 3
-                       && isdigit((int)src[1])
-                       && isdigit((int)src[2])) {
-                       if ((rc = expand_octal(&src, &dst, end)) != 0)
-                           return VAR_RC(rc);
-                       break;
-                   }
-               default:
-                   if (!all) {
-                       *dst++ = '\\';
-                   }
-                   *dst++ = *src;
-           }
-           ++src;
-       } else
-           *dst++ = *src++;
+        if (*src == '\\') {
+            if (++src == end)
+                return VAR_RC(VAR_ERR_INCOMPLETE_NAMED_CHARACTER);
+            switch (*src) {
+                case '\\':
+                    if (!all) {
+                        *dst++ = '\\';
+                    }
+                    *dst++ = '\\';
+                    break;
+                case 'n':
+                    *dst++ = '\n';
+                    break;
+                case 't':
+                    *dst++ = '\t';
+                    break;
+                case 'r':
+                    *dst++ = '\r';
+                    break;
+                case 'x':
+                    ++src;
+                    if ((rc = expand_hex(&src, &dst, end)) != VAR_OK)
+                        return VAR_RC(rc);
+                    break;
+                case '0': case '1': case '2': case '3': case '4':
+                case '5': case '6': case '7': case '8': case '9':
+                    if (   end - src >= 3
+                        && isdigit((int)src[1])
+                        && isdigit((int)src[2])) {
+                        if ((rc = expand_octal(&src, &dst, end)) != 0)
+                            return VAR_RC(rc);
+                        break;
+                    }
+                default:
+                    if (!all) {
+                        *dst++ = '\\';
+                    }
+                    *dst++ = *src;
+            }
+            ++src;
+        } else
+            *dst++ = *src++;
     }
     *dst = EOS;
     return VAR_OK;
@@ -2560,14 +2568,14 @@ var_expand(
 
     /* argument sanity checks */
     if (var == NULL || src_ptr == NULL || src_len == 0 || dst_ptr == NULL)
-       return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
+        return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
 
     /* prepare internal expansion context */
-    ctx.lower          = NULL;
-    ctx.force_expand   = force_expand;
+    ctx.lower           = NULL;
+    ctx.force_expand    = force_expand;
     ctx.rel_lookup_flag = 0;
-    ctx.rel_lookup_cnt = 0;
-    ctx.index_this     = 0;
+    ctx.rel_lookup_cnt  = 0;
+    ctx.index_this      = 0;
 
     /* start the parsing */
     tokenbuf_init(&output);
@@ -2575,24 +2583,24 @@ var_expand(
 
     /* post-processing */
     if (rc >= 0) {
-       /* always EOS-terminate output for convinience reasons
-          but do not count the EOS-terminator in the length */
-       if (!tokenbuf_append(&output, "\0", 1)) {
-           tokenbuf_free(&output);
-           return VAR_RC(VAR_ERR_OUT_OF_MEMORY);
-       }
-       output.end--;
-
-       /* provide result */
-       *dst_ptr = (char *)output.begin;
-       if (dst_len != NULL)
-           *dst_len = (output.end - output.begin);
-       rc = VAR_OK;
+        /* always EOS-terminate output for convinience reasons
+           but do not count the EOS-terminator in the length */
+        if (!tokenbuf_append(&output, "\0", 1)) {
+            tokenbuf_free(&output);
+            return VAR_RC(VAR_ERR_OUT_OF_MEMORY);
+        }
+        output.end--;
+
+        /* provide result */
+        *dst_ptr = (char *)output.begin;
+        if (dst_len != NULL)
+            *dst_len = (output.end - output.begin);
+        rc = VAR_OK;
     }
     else {
-       /* provide result */
-       if (dst_len != NULL)
-           *dst_len = (output.end - output.begin);
+        /* provide result */
+        if (dst_len != NULL)
+            *dst_len = (output.end - output.begin);
     }
 
     return VAR_RC(rc);
@@ -2611,21 +2619,21 @@ var_formatv(
 
     /* argument sanity checks */
     if (var == NULL || dst_ptr == NULL || fmt == NULL)
-       return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
+        return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
 
     /* perform formatting */
     if ((cpBuf = (char *)malloc(nBuf+1)) == NULL)
-       return VAR_RC(VAR_ERR_OUT_OF_MEMORY);
+        return VAR_RC(VAR_ERR_OUT_OF_MEMORY);
     nBuf = var_mvsnprintf(cpBuf, nBuf+1, fmt, ap);
     if (nBuf == -1) {
-       free(cpBuf);
-       return VAR_RC(VAR_ERR_FORMATTING_FAILURE);
+        free(cpBuf);
+        return VAR_RC(VAR_ERR_FORMATTING_FAILURE);
     }
 
     /* perform expansion */
     if ((rc = var_expand(var, cpBuf, nBuf, dst_ptr, NULL, force_expand)) != VAR_OK) {
-       free(cpBuf);
-       return VAR_RC(rc);
+        free(cpBuf);
+        return VAR_RC(rc);
     }
 
     /* cleanup */
@@ -2646,7 +2654,7 @@ var_format(
 
     /* argument sanity checks */
     if (var == NULL || dst_ptr == NULL || fmt == NULL)
-       return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
+        return VAR_RC(VAR_ERR_INVALID_ARGUMENT);
 
     va_start(ap, fmt);
     rc = var_formatv(var, dst_ptr, force_expand, fmt, ap);
@@ -2711,9 +2719,9 @@ const char *var_strerror(var_t *var, var_rc_t rc)
     const char *str;
     rc = (var_rc_t)(0 - rc);
     if (rc < 0 || rc >= (int)sizeof(var_errors) / (int)sizeof(char *)) {
-       str = _("unknown error");
+        str = _("unknown error");
     } else {
-       str = (char *)var_errors[rc];
+        str = (char *)var_errors[rc];
     }
     return str;
 }
index e79c84b70522068655cb127fbcf55b73bc487990..5aed2150487e7e21e17a9c96b2abe9329091972c 100644 (file)
  * Modified for use with Bacula by Kern Sibbald, June 2003
  */
 /*
-   Copyright (C) 2003-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2003-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark ofJohn Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 
 
index 3225fee23d3ce39f235d05ba1494e978f7525b17..b255229d0f28dfc1f487864f335e452c7b220ba3 100644 (file)
  *
  */
 /*
-   Copyright (C) 2001-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2001-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark ofJohn Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #ifndef __WAITQ_H
 #define __WAITQ_H 1
index 43384ffc5d7611029ea643ef9566687717ad047a..8cf81767250959200c2f4ed8e2c3c9f3187eb7f5 100755 (executable)
@@ -7,19 +7,32 @@
  *
  */
 /*
-   Copyright (C) 2000-2006 Kern Sibbald
-
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
-
- */
+   Bacula® - The Network Backup Solution
+
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #include "bacula.h"
 #include "jcr.h"
index 3c47ab9124e0171fcf3196f8bab204df94246510..f8b940e90b458f94aae76a288c265d142ab53924 100644 (file)
@@ -5,19 +5,32 @@
  *
 */
 /*
-   Copyright (C) 2002-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2002-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark ofJohn Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 enum {
    TYPE_CHILD = 1,
index a00adbfb3782db9dc0ee883ba70278aad911f573..63f438a48ecfbbbd7f3ab56dd79dfd10b02ce590 100755 (executable)
  *
  */
 /*
-   Copyright (C) 2000-2004 Kern Sibbald and John Walker
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License as
-   published by the Free Software Foundation; either version 2 of
-   the License, or (at your option) any later version.
+   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
+
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
    General Public License for more details.
 
-   You should have received a copy of the GNU General Public
-   License along with this program; if not, write to the Free
-   Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-   MA 02111-1307, USA.
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
 
- */
+   Bacula® is a registered trademark of John Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #include "bacula.h"
 
index 7e5fab5429c48762010679d230880a050eb66391..719d3b1164d4c7223aa387a978722552f23d745b 100644 (file)
  *   Version $Id$
  */
 /*
-   Copyright (C) 2001-2006 Kern Sibbald
+   Bacula® - The Network Backup Solution
 
-   This program is free software; you can redistribute it and/or
-   modify it under the terms of the GNU General Public License
-   version 2 as amended with additional clauses defined in the
-   file LICENSE in the main source directory.
+   Copyright (C) 2001-2006 Free Software Foundation Europe e.V.
 
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 
-   the file LICENSE for additional details.
+   The main author of Bacula is Kern Sibbald, with contributions from
+   many others, a complete list can be found in the file AUTHORS.
+   This program is Free Software; you can redistribute it and/or
+   modify it under the terms of version two of the GNU General Public
+   License as published by the Free Software Foundation plus additions
+   that are listed in the file LICENSE.
 
- */
+   This program is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+   General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+   02110-1301, USA.
+
+   Bacula® is a registered trademark ofJohn Walker.
+   The licensor of Bacula is the Free Software Foundation Europe
+   (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
+   Switzerland, email:ftf@fsfeurope.org.
+*/
 
 #ifndef __WORKQ_H
 #define __WORKQ_H 1