New commits:
commit f0a7a0c27ea5c6680e4ce0789dfa6355168bde7a
Author: Pol Vinogradov <vin.public AT gmail.com>
Commit: Pol Vinogradov <vin.public AT gmail.com>
http/lightspark: version 0.7.1
commit 65a5932fefb9485030236f02958db380d000743d
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
libs/findlib: version 1.3.3
commit 1ed1259b60468ab89bb3ea64b9295a09ce93314e
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
graphics/netpbm: version 10.35.87
commit 3e7e119030b551ddd6e46ec25d89733989c04932
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
python-pypi/pydot: version 1.0.28
commit 8273f3d17631e9d326ce9658334c78a671f46856
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
xorg-extras/xterm: version 287
commit 0a0d30822dd8a7badcf2bf9fd7943d80808589ab
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
libs/apr: version 1.4.6
commit 60b4efff6acfaeae4c4635558df335c059feb8f9
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
apache.gpg: update keys, add key 9E49284A
commit 26aa73301e096ff2abe489bcb64f4ec4ceed4448
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
utils/iotop: version 0.4.4
commit afad9b07e4efdb7de8b4728e4acfe4328356d6e8
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
doc/help2man: version 1.40.9
commit e79a5b4cd5401d296f7fc188b108c3337d1e554d
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
devel/dev86: version 0.16.19
commit 68d388239252866add34f5a7f819fffc14abf847
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
graphics-libs/libwmf: correct WEB_SITE
commit 430f6142d75c45874be11aebd626a3f9466524b4
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
net/iputils-tracepath: version 20101006-3
commit af7f749ca775a28a2ae5832a51f91278de60b75a
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
lxde/menu-cache: version 0.4.1
commit ed9c36d5e944d2bd732b4df4a15552ef7f6f6258
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
utils/atop: version 2.0.2
commit cbb342b0f31c057f0223a73c386f9193b8da891e
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
science/units: version 2.01
commit 78b895c357b8c62441dfd655254aac0d5a883046
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
x11/xcompmgr: version 1.1.6
commit 12a00d490eeaa84dff63da0cd103cdd1e2dfa362
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
audio-libs/wavpack: version 4.60.1
commit 89ecb4f142685ccccacaa6bfa54e836b609ecdf6
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
latex/glosstex: fix WEB_SITE
commit 38528766c9e07c748fa8d954741d9a254cb3db87
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
devel/cscope: version 15.8a
commit 0c945bc84a10a90fb19b0a411a7ffaf89d030baf
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
doc/enca: version 1.14
commit a6d8862f5cdaf2e09d32574b4a75d766c94f814a
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
utils/joystick: deprecated in favour of utils/linuxconsoletools
commit 652d015c668a78cbd83406e595a7a6e041e9fdad
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
utils/linuxconsoletools: new spell, tools for testing and configuring
joysticks
commit 0dd3fc36db6d20774649296e951c4490b40828df
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
video/mkvtoolnix: version 5.9.0
commit 05fc9f79bd0ad7c3dfba13ad5cf3a5055c2a572e
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
perl-cpan/ps2eps: version 1.68
commit b227311f4297bc4af50ec76a5e0e0f2f3c1c0703
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
latex/lacheck: fix WEB_SITE
commit 2a7fd9e1ad7aeee1f970bce23352ad9b76dcbf0c
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
doc/lcdf-typetools: version 2.97
commit a000209570a15f1dff1b7a37444b663f843293da
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
doc/dvipdfmx: version 20110311
commit cfb9a2f760671bee57b37ad3d3dd41bb0bb361e9
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
doc/dvi2tty: version 5.3.4
commit c492c895f478a1957b2e1802d417adc247ba159e
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
doc/t1utils: version 1.37
commit 2e77d6706fae25b63ea4c6fd8c9c87840f3273af
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
xorg-apps/xfontsel: version 1.0.4
commit 0eb457b6aea8cd6c6f3849766f9373a1fb62d37a
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
xorg-apps/xconsole: version 1.0.4
commit 4162344f977a7b15a472095e2864466df0ba42a1
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
utils/procinfo: version 2.0.304
commit 0cc6bba9b6644f53a73d4b2d05aeeca06793e2ba
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
thunar: => 1.6.1
commit a7fad4d079f20ab01addfaf41c5e15183912e807
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
python-pypi/ctypes: deprecated in favour of python
commit f95455fa82946688dc68751dc4aaef0ad3eac172
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
gtk-xfce-engine: => 3.0.1
commit 72462358b85eb3aece919880b700ba34279bf2c8
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
audio-players/listen: change dependency on ctypes to dependency on python
commit fcebbfcfe69b7dda54fe08eccd5168659ad01bd3
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
audio-libs/libmusicbrainz: change dependency on ctypes to python
commit 2df2973a1cd8bbc976efa48c90fef517652a5b7c
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
tumbler: => 0.1.26
commit 4184038732a2695c495a928110651d0a86a700cc
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
exo: => 0.10.1
commit 638b0424faf16714b87b95b83a05cd9291cf8af0
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
crypto/gnutls update WEB_SITE
commit 80763c3c213fc9a8221c8d53943bdc7a5ae9fabe
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
crypto/openssl: version 1.0.1c
commit 712e8d8048d910006569f0c358f5347385151ec2
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
lua-forge/lgi: new spell, gobject-introspection for lua
commit 29b6b3294251dc06f94ed7ab877205fcd79a915e
Author: Treeve Jelbert <treeve AT sourcemage.org>
Commit: Treeve Jelbert <treeve AT sourcemage.org>
glib2 - remove obsolete patch
commit c2fd7c86935979718da89e0e0c5e3dfeffd0f434
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
video-libs/smpeg: fix WEB_SITE
commit b4bc76b5547b6be9abcd293b9c359d3af0a23cd4
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
disk/eject: fix SOURCE_URL and WEB_SITE
commit 5717aeb4cbf55fe69c3d501d40cbe2bde75b8ddd
Author: Pol Vinogradov <vin.public AT gmail.com>
Commit: Pol Vinogradov <vin.public AT gmail.com>
graphics-libs/agg: fixes to build with current autotools
commit 0e8f2f2af5e63fbb2c10ea4ec436a2e2be3b345d
Author: Pol Vinogradov <vin.public AT gmail.com>
Commit: Pol Vinogradov <vin.public AT gmail.com>
http/gnash: fixed linking with current boost
commit b57588d6bb2a4873d34cb33e64a2e677d041ff35
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
editors/sed: version 4.2.2
commit 2ac5173e8d5cc92a11bf44ef0c7b3a4248ca579f
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
audio-libs/openal-soft: version 1.15.1
commit 23db475b0bab94465766913b789bd75f62c1968a
Author: Ladislav Hagara <hgr AT vabo.cz>
Commit: Ladislav Hagara <hgr AT vabo.cz>
pulseaudio 3.0
commit 37dec40026488b4dea395e603c8bcdf49c4b3a89
Author: Ladislav Hagara <hgr AT vabo.cz>
Commit: Ladislav Hagara <hgr AT vabo.cz>
automake 1.12.6
commit a6f05ce88ccea108efe94ad8a5c49305fe25bbeb
Author: Ladislav Hagara <hgr AT vabo.cz>
Commit: Ladislav Hagara <hgr AT vabo.cz>
cracklib 2.8.22
commit 652f88dab97fc9104b727cb5861aae3265f9862c
Author: Pol Vinogradov <vin.public AT gmail.com>
Commit: Pol Vinogradov <vin.public AT gmail.com>
http/gnash: updated to 0.8.10
commit 4af1cc625bdb1164c3b9c69b94a2f7f9183a17e9
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
mail/lbdb: new spell, the little brother's database
commit 47123ff4cfb43ec4ee7232daa9705227d8efe7c2
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
libs/libvformat: new spell, an interface to vcard files
commit fb367dbda8cdae748e17029c0a3b1d60a332fc3e
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
linux: => 3.6.11 (eol)
commit 78c1188e87461e848687a13202bf70abd4335323
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
linux: => 3.4.24 (lts)
commit d67b973203429e17b89469a78570bf356ea8e0c3
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
linux: => 3.0.57 (lts)
commit c13f90b28aa40be4ab4ad4c17ea42904340b799c
Author: Vlad Glagolev <stealth AT sourcemage.org>
Commit: Vlad Glagolev <stealth AT sourcemage.org>
xen: => 4.1.4
commit 8d4f6fdc40e847e99ba9fe0016a7a657d7ccbe74
Author: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
Commit: Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
kernels/linux: version 3.7.1
commit f05044a8266653b3c2b97c6a31243102cc5bbbd8
Author: Robin Cook <rcook AT wyrms.net>
Commit: Robin Cook <rcook AT wyrms.net>
graphite2: updated to 1.2.0
commit f98cd865657171859fb77ed7f0a78bc2d9efb62c
Author: Robin Cook <rcook AT wyrms.net>
Commit: Robin Cook <rcook AT wyrms.net>
icedtea-web: updated to 1.3.1
diff --git a/ChangeLog b/ChangeLog
index 98907d0..68e7fce 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2012-12-24 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * utils/linuxconsoletools: new spell, replacement for utils/joystick
+ * utils/joystick: spell deprecated [project has been renamed]
+ * apache.gpg: updated keys, added key 9E49284A
+
+2012-12-22 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * libs/libvformat: new spell, provides an interface to vcard files
+ * mail/lbdb: new spell, the little brother's database
+ * lua-forge/lgi: new spell, gobject-introspection for lua
+ * python-pypi/ctypes: spell deprecated [part of python as of version
2.5]
+
2012-12-22 Justin Boffemmyer <flux AT sourcemage.org>
* lua-forge/luajit: new spell, Just-In-Time implementation of Lua
diff --git a/apache.gpg b/apache.gpg
index 67d54cc..6161b51 100644
Binary files a/apache.gpg and b/apache.gpg differ
diff --git a/audio-drivers/pulseaudio/DETAILS
b/audio-drivers/pulseaudio/DETAILS
index ac3ef41..2cffa1a 100755
--- a/audio-drivers/pulseaudio/DETAILS
+++ b/audio-drivers/pulseaudio/DETAILS
@@ -1,6 +1,6 @@
SPELL=pulseaudio
- VERSION=2.0
- SOURCE=${SPELL}-${VERSION}.tar.gz
+ VERSION=3.0
+ SOURCE=${SPELL}-${VERSION}.tar.xz
SOURCE_DIRECTORY=${BUILD_DIRECTORY}/${SPELL}-${VERSION}
SOURCE_URL=http://freedesktop.org/software/$SPELL/releases/$SOURCE
SOURCE_GPG=gurus.gpg:${SOURCE}.sig
diff --git a/audio-drivers/pulseaudio/HISTORY
b/audio-drivers/pulseaudio/HISTORY
index d759129..0031889 100644
--- a/audio-drivers/pulseaudio/HISTORY
+++ b/audio-drivers/pulseaudio/HISTORY
@@ -1,3 +1,6 @@
+2012-12-22 Ladislav Hagara <hgr AT vabo.cz>
+ * DETAILS: 3.0
+
2012-08-30 Tommy Boatman <tboatman AT sourcemage.org>
* [PRE_]SUB_DEPENDS: add glib2 to force Gnome support
Fixes issue #400
diff --git a/audio-drivers/pulseaudio/pulseaudio-2.0.tar.gz.sig
b/audio-drivers/pulseaudio/pulseaudio-2.0.tar.gz.sig
deleted file mode 100644
index fa03635..0000000
Binary files a/audio-drivers/pulseaudio/pulseaudio-2.0.tar.gz.sig and
/dev/null differ
diff --git a/audio-drivers/pulseaudio/pulseaudio-3.0.tar.xz.sig
b/audio-drivers/pulseaudio/pulseaudio-3.0.tar.xz.sig
new file mode 100644
index 0000000..7c222a2
Binary files /dev/null and
b/audio-drivers/pulseaudio/pulseaudio-3.0.tar.xz.sig differ
diff --git a/audio-libs/libmusicbrainz/DEPENDS
b/audio-libs/libmusicbrainz/DEPENDS
index fd65bda..530054e 100755
--- a/audio-libs/libmusicbrainz/DEPENDS
+++ b/audio-libs/libmusicbrainz/DEPENDS
@@ -1,5 +1,5 @@
depends -sub CXX gcc &&
depends expat &&
if [[ "${LIBMUSICBRAINZ_PYTHON}" == "y" ]]
-then depends ctypes
+then depends python
fi
diff --git a/audio-libs/libmusicbrainz/HISTORY
b/audio-libs/libmusicbrainz/HISTORY
index 4e8d341..e627d63 100644
--- a/audio-libs/libmusicbrainz/HISTORY
+++ b/audio-libs/libmusicbrainz/HISTORY
@@ -1,3 +1,7 @@
+2012-12-23 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DEPENDS: change dependency on ctypes to python since recent
+ versions of python contain ctypes
+
2011-07-30 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
* DEPENDS: changed dependency on g++ to dependency on gcc with
sub-depends on CXX (scripted)
diff --git a/audio-libs/openal-soft/DETAILS b/audio-libs/openal-soft/DETAILS
index 627cdec..c7d25a7 100755
--- a/audio-libs/openal-soft/DETAILS
+++ b/audio-libs/openal-soft/DETAILS
@@ -1,6 +1,6 @@
SPELL=openal-soft
- VERSION=1.14
-
SOURCE_HASH=sha512:58ce4d1281aba790790e5cb88d4ff016ca5d053f8f78f68ca8ab3af59b69c74d473bd65f9ed1053351df40c6d2d909076a41a8be88c23927f37f9617d3c30f94
+ VERSION=1.15.1
+
SOURCE_HASH=sha512:ca6dafdd503d06892dff08763bc00b974ec6e7c4bf3dcebb4cb41a486b4ea777c278299a198db182fee888a19a5716bd57d91a2859b764a532138a79f2bd672f
SOURCE="${SPELL}-${VERSION}.tar.bz2"
SOURCE_URL[0]=http://kcat.strangesoft.net/openal-releases/${SOURCE}
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
diff --git a/audio-libs/openal-soft/HISTORY b/audio-libs/openal-soft/HISTORY
index 9f8232f..e57c201 100644
--- a/audio-libs/openal-soft/HISTORY
+++ b/audio-libs/openal-soft/HISTORY
@@ -1,3 +1,7 @@
+2012-12-23 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS: version 1.15.1
+ * avutil.patch, PRE_BUILD: removed
+
2012-04-25 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
* avutil.patch, PRE_BUILD: fixed linkage against libavutil
diff --git a/doc/t1utils/DETAILS b/doc/t1utils/DETAILS
index 21bf0d7..11dbdc0 100755
--- a/doc/t1utils/DETAILS
+++ b/doc/t1utils/DETAILS
@@ -1,11 +1,11 @@
SPELL=t1utils
- VERSION=1.34
+ VERSION=1.37
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
SOURCE_URL[0]=http://www.lcdf.org/~eddietwo/type/$SOURCE
WEB_SITE=http://www.lcdf.org/~eddietwo/type/
ENTERED=20041129
-
SOURCE_HASH=sha512:49523e32f2f55c71a9415935597142c238120fcd9b3fb6dffb90c84b506087029572dcc2a5c0382a3c439d644c77ee36a6ca84a6b241f2bdbc9266b3d212bebc
+
SOURCE_HASH=sha512:72b6eec7669be078f11927f0d8061fe9956f9a37c159cedb95344abedb7c79687c774916024f3eec2279d1b4e6d1430c78a8c8e2c95c563cb1df316d0c863a9f
LICENSE[0]="Copyright (c) 1992 by I. Lee Hetherington, all rights
reserved. Permission is hereby granted to use, modify, and distribute this
program for any purpose provided this copyright notice and the one below
remain intact. Note that these tools should not be used to illegally copy
type-1 font programs. Typeface design is an intricate art that should be
rewarded. I. Lee Hetherington ilh AT lcs.mit.edu"
KEYWORDS="fonts doc"
SHORT="Type1 font utilities"
diff --git a/doc/t1utils/HISTORY b/doc/t1utils/HISTORY
index d7c1405..39cdbfe 100644
--- a/doc/t1utils/HISTORY
+++ b/doc/t1utils/HISTORY
@@ -1,3 +1,6 @@
+2012-12-24 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS: version 1.37
+
2009-07-28 Jaka Kranjc <lynxlynxlynx AT sourcemage.org>
* DETAILS: updated spell to 1.34
* PRE_BUILD: added to fix recent glibc incompatibility #15322
diff --git a/editors/sed/DETAILS b/editors/sed/DETAILS
index 945440f..f58745f 100755
--- a/editors/sed/DETAILS
+++ b/editors/sed/DETAILS
@@ -1,5 +1,5 @@
SPELL=sed
- VERSION=4.2.1
+ VERSION=4.2.2
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE2=$SOURCE.sig
SOURCE_DIRECTORY="$BUILD_DIRECTORY/$SPELL-$VERSION"
diff --git a/editors/sed/HISTORY b/editors/sed/HISTORY
index ced3305..654ae4b 100644
--- a/editors/sed/HISTORY
+++ b/editors/sed/HISTORY
@@ -1,3 +1,6 @@
+2012-12-23 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS: version 4.2.2
+
2011-04-11 Vlad Glagolev <stealth AT sourcemage.org>
* DEPENDS: added gettext optional dependency
diff --git a/gnome2-libs/glib2/HISTORY b/gnome2-libs/glib2/HISTORY
index 63ec881..d916ede 100644
--- a/gnome2-libs/glib2/HISTORY
+++ b/gnome2-libs/glib2/HISTORY
@@ -1,3 +1,6 @@
+2012-04-22 Treeve Jelbert <treeve AT sourcemage.org>
+ * PRE_BUILD ,py3.patch.xz: deleted
+
2012-12-08 Ladislav Hagara <hgr AT vabo.cz>
* DETAILS: 2.34.3
diff --git a/gnome2-libs/glib2/PRE_BUILD b/gnome2-libs/glib2/PRE_BUILD
deleted file mode 100755
index 3106958..0000000
--- a/gnome2-libs/glib2/PRE_BUILD
+++ /dev/null
@@ -1,10 +0,0 @@
-default_pre_build &&
-cd $SOURCE_DIRECTORY &&
-if is_depends_enabled $SPELL python3; then
- message "patching for python3" &&
- xzcat $SPELL_DIRECTORY/py3.patch.xz |patch -p1
-elif is_depends_enabled $SPELL python; then
- message "not patching for python3"
-else
- find . -name 'Makefile*' -exec sed -i -e '/^SUBDIRS =/,/[^\]$/ {;s,
tests,,g;s, gdbus-2.0/codegen,,g;}' {} +
-fi
diff --git a/gnome2-libs/glib2/py3.patch.xz b/gnome2-libs/glib2/py3.patch.xz
deleted file mode 100644
index 9e1fee1..0000000
Binary files a/gnome2-libs/glib2/py3.patch.xz and /dev/null differ
diff --git a/graphics-libs/agg/HISTORY b/graphics-libs/agg/HISTORY
index 27e86c3..3646b63 100644
--- a/graphics-libs/agg/HISTORY
+++ b/graphics-libs/agg/HISTORY
@@ -1,3 +1,7 @@
+2012-12-22 Pol Vinogradov <vin.public AT gmail.com>
+ * PRE_BUILD: added fixes for buiding with current
+ autoconf and automake
+
2011-07-30 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
* DEPENDS: changed dependency on g++ to dependency on gcc with
sub-depends on CXX (scripted)
diff --git a/graphics-libs/agg/PRE_BUILD b/graphics-libs/agg/PRE_BUILD
index 61e28c4..e219e86 100755
--- a/graphics-libs/agg/PRE_BUILD
+++ b/graphics-libs/agg/PRE_BUILD
@@ -1,6 +1,8 @@
default_pre_build &&
cd $SOURCE_DIRECTORY &&
patch -p1 < $SCRIPT_DIRECTORY/agg-2.5-libtool22_fix-1.patch &&
+sed -i 's: -L@x_libraries@::' src/platform/X11/Makefile.am &&
+sed -i '/^AM_C_PROTOTYPES/d' configure.in &&
sedit '/configure/d' autogen.sh &&
chmod +x autogen.sh &&
./autogen.sh
diff --git a/graphics-libs/graphite2/DETAILS b/graphics-libs/graphite2/DETAILS
index 599292f..0efdaf5 100755
--- a/graphics-libs/graphite2/DETAILS
+++ b/graphics-libs/graphite2/DETAILS
@@ -1,7 +1,7 @@
SPELL=graphite2
- VERSION=1.1.3
+ VERSION=1.2.0
SOURCE="${SPELL}-${VERSION}.tgz"
- SOURCE_URL[0]="${SOURCEFORGE_URL}/silgraphite/${SOURCE}"
+ SOURCE_URL[0]=http://projects.palaso.org/attachments/download/298/$SOURCE
SOURCE_GPG="gurus.gpg:${SOURCE}.sig"
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
WEB_SITE="http://graphite.sil.org"
diff --git a/graphics-libs/graphite2/HISTORY b/graphics-libs/graphite2/HISTORY
index 29a3f9d..7fc0e47 100644
--- a/graphics-libs/graphite2/HISTORY
+++ b/graphics-libs/graphite2/HISTORY
@@ -1,3 +1,6 @@
+2012-12-21 Robin Cook <rcook AT wyrms.net>
+ * DETAILS: updated VERSION to 1.2.0
+
2012-06-24 Sukneet Basuta <sukneet AT sourcemage.org>
* DETAILS: updated spell to 1.1.3
diff --git a/graphics-libs/graphite2/graphite2-1.1.3.tgz.sig
b/graphics-libs/graphite2/graphite2-1.1.3.tgz.sig
deleted file mode 100644
index 80c2121..0000000
Binary files a/graphics-libs/graphite2/graphite2-1.1.3.tgz.sig and /dev/null
differ
diff --git a/graphics-libs/graphite2/graphite2-1.2.0.tgz.sig
b/graphics-libs/graphite2/graphite2-1.2.0.tgz.sig
new file mode 100644
index 0000000..b5931b9
Binary files /dev/null and b/graphics-libs/graphite2/graphite2-1.2.0.tgz.sig
differ
diff --git a/graphics-libs/libwmf/DETAILS b/graphics-libs/libwmf/DETAILS
index 4845e03..1a0f202 100755
--- a/graphics-libs/libwmf/DETAILS
+++ b/graphics-libs/libwmf/DETAILS
@@ -4,7 +4,7 @@
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
SOURCE_URL[0]=$SOURCEFORGE_URL/wvware/$SOURCE
- WEB_SITE=http://sourceforge.net/projects/wvware
+ WEB_SITE=http://wvware.sourceforge.net/
ENTERED=20020509
LICENSE[0]=GPL
KEYWORDS="images graphics libs"
diff --git a/graphics-libs/libwmf/HISTORY b/graphics-libs/libwmf/HISTORY
index e584c95..927f38f 100644
--- a/graphics-libs/libwmf/HISTORY
+++ b/graphics-libs/libwmf/HISTORY
@@ -1,3 +1,6 @@
+2012-12-24 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS: corrected WEB_SITE
+
2010-11-03 Ladislav Hagara <hgr AT vabo.cz>
* DEPENDS: jpeg -> JPEG
diff --git a/graphics/netpbm/DETAILS b/graphics/netpbm/DETAILS
index 7559af3..4719b05 100755
--- a/graphics/netpbm/DETAILS
+++ b/graphics/netpbm/DETAILS
@@ -6,8 +6,8 @@ if [[ $NETPBM_SVN == y ]]; then
SOURCE_IGNORE=volatile
FORCE_DOWNLOAD=1
else
- VERSION=10.35.81
-
SOURCE_HASH=sha512:477daf333aee6d0d3669b9810cb8ef40d40d216bec1268c9cd93a7075793031b6c9c0607c063195e19c07ee42b66f090b4d40909ed9ebd611498c4887765a42e
+ VERSION=10.35.87
+
SOURCE_HASH=sha512:c0c4a971ff7cb9268be398fcdf85a205504b6f675f89e490a2dd235da07d6c59ab1ebfe18cb899aa724e2d3b88b7220fae15a5fc6d9bb2e09299e02c9dc214a3
SOURCE=$SPELL-$VERSION.tgz
SOURCE_URL[0]=$SOURCEFORGE_URL/$SPELL/$SOURCE
fi
diff --git a/graphics/netpbm/HISTORY b/graphics/netpbm/HISTORY
index 1af17e4..81cd3e9 100644
--- a/graphics/netpbm/HISTORY
+++ b/graphics/netpbm/HISTORY
@@ -1,3 +1,6 @@
+2012-12-24 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS: version 10.35.87
+
2011-07-10 Treeve Jelbert <treeve AT sourcemage.org>
* DETAILS: version 10.35.81
* DEPENDS: xorg-libs => libx11
diff --git a/http/gnash/BUILD b/http/gnash/BUILD
index c680f94..be4394c 100755
--- a/http/gnash/BUILD
+++ b/http/gnash/BUILD
@@ -1,6 +1,8 @@
CXXFLAGS=${CXXFLAGS/-Os/-O2}
CFLAGS=${CFLAGS/-Os/-O2}
OPTS="$GNASH_OPTS $OPTS" &&
+sed -i '/^LIBS/s/\(.*\)/\1 -lboost_system/' \
+ gui/Makefile.in utilities/Makefile.in &&
if [[ "$GNASH_MEMORY" == "posix" ]]; then
list_add OPTS "--with-shm=posix"
else
diff --git a/http/gnash/DEPENDS b/http/gnash/DEPENDS
index a8ce0dc..4b22f09 100755
--- a/http/gnash/DEPENDS
+++ b/http/gnash/DEPENDS
@@ -1,4 +1,4 @@
-depends -sub "THREAD DATE_TIME" boost &&
+depends -sub "THREAD DATE_TIME PROGRAM_OPTIONS SYSTEM" boost &&
depends curl &&
depends fontconfig &&
depends -sub CXX gcc &&
diff --git a/http/gnash/DETAILS b/http/gnash/DETAILS
index e64b25b..06ecba3 100755
--- a/http/gnash/DETAILS
+++ b/http/gnash/DETAILS
@@ -1,5 +1,5 @@
SPELL=gnash
- VERSION=0.8.9
+ VERSION=0.8.10
SOURCE=$SPELL-$VERSION.tar.bz2
SOURCE2=$SOURCE.sig
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
diff --git a/http/gnash/HISTORY b/http/gnash/HISTORY
index cd9e177..5b91dbe 100644
--- a/http/gnash/HISTORY
+++ b/http/gnash/HISTORY
@@ -1,3 +1,7 @@
+2012-12-22 Pol Vinogradov <vin.public AT gmail.com>
+ * DETAILS: version 0.8.10
+ * BUILD, DEPENDS: boost specific fixes from BLFS project
+
2011-10-04 Bor Kraljič <pyrobor AT ver.si>
* DEPENDS,CONFIGURE: removed kde3 as option for GUI
diff --git a/http/lightspark/DETAILS b/http/lightspark/DETAILS
index b32732a..28e79df 100755
--- a/http/lightspark/DETAILS
+++ b/http/lightspark/DETAILS
@@ -1,9 +1,9 @@
SPELL=lightspark
- VERSION=0.7.0
-
SOURCE_HASH=sha512:d4e25dbd60d7bc3a4a50eb0708fe8c7f5b940006f598b7a5939ff8d596e6618502793cfde62839343ac8403d76d62fc127c0262a595ff57b54932db6d50c8b70
+ VERSION=0.7.1
+
SOURCE_HASH=sha512:a8c10782f144cf4b9a39d32ca4c78f441957550f790161671fa52fec686672f22ab977b41c55b5e33d1e65eaa28e78bf48e729ce01f51b56ef24d2d09e62eeae
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
-
SOURCE_URL[0]=http://launchpad.net/$SPELL/trunk/lightspark-$VERSION/+download/$SOURCE
+
SOURCE_URL[0]=http://launchpad.net/$SPELL/trunk/$SPELL-$VERSION/+download/$SOURCE
WEB_SITE=http://sourceforge.net/apps/trac/lightspark
ENTERED=20110528
LICENSE[0]=GPL
diff --git a/http/lightspark/HISTORY b/http/lightspark/HISTORY
index a07bbe7..2fe32d1 100644
--- a/http/lightspark/HISTORY
+++ b/http/lightspark/HISTORY
@@ -1,3 +1,6 @@
+2012-12-24 Pol Vinogradov <vin.public AT gmail.com>
+ * DETAILS: updated to version 0.7.1
+
2012-11-14 Pol Vinogradov <vin.public AT gmail.com>
* DETAILS: version 0.7.0
* DEPENDS: now requires rtmpdump
diff --git a/java/icedtea-web/DETAILS b/java/icedtea-web/DETAILS
index cbd0143..3d41765 100755
--- a/java/icedtea-web/DETAILS
+++ b/java/icedtea-web/DETAILS
@@ -1,5 +1,5 @@
SPELL=icedtea-web
- VERSION=1.2.1
+ VERSION=1.3.1
SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
SOURCE_URL[0]=http://icedtea.classpath.org/download/source/$SOURCE
diff --git a/java/icedtea-web/HISTORY b/java/icedtea-web/HISTORY
index 84fae04..bc9d78b 100644
--- a/java/icedtea-web/HISTORY
+++ b/java/icedtea-web/HISTORY
@@ -1,3 +1,6 @@
+2012-12-02 Robin Cook <rcook AT wyrms.net>
+ * DETAILS: updated VERSION to 1.3.1
+
2012-08-24 Robin Cook <rcook AT wyrms.net>
* DETAILS: updated VERSION to 1.2.1
diff --git a/libs/libvformat/0004-Provide-info-documentation.patch
b/libs/libvformat/0004-Provide-info-documentation.patch
new file mode 100644
index 0000000..d843ffb
--- /dev/null
+++ b/libs/libvformat/0004-Provide-info-documentation.patch
@@ -0,0 +1,939 @@
+From c05fb67cf74a6231949b7917cbe766cdb7bcdca6 Mon Sep 17 00:00:00 2001
+From: Mathias Palm <mathias.palm AT gmx.net>
+Date: Sat, 8 May 2010 23:00:09 +0200
+Subject: Provide info documentation
+
+Create texi files so that info files can be generated with texinfo.
+
+Origin: vendor
+Forwarded: http://vformat.cvs.sourceforge.net/viewvc/vformat/doc/
+Last-Update: 2010-05-09
+Applied-Upstream: http://vformat.cvs.sourceforge.net/viewvc/vformat/doc/
+---
+ doc/Makefile.am | 6 +-
+ doc/libvformat-1.texi | 733
+++++++++++++++++++++++++++++++++++++++++++++++++
+ doc/libvformat-2.texi | 79 ++++++
+ doc/libvformat-i.texi | 5 +
+ doc/libvformat.texi | 51 ++++
+ 5 files changed, 872 insertions(+), 2 deletions(-)
+ create mode 100644 doc/libvformat-1.texi
+ create mode 100644 doc/libvformat-2.texi
+ create mode 100644 doc/libvformat-i.texi
+ create mode 100644 doc/libvformat.texi
+
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index 57591c5..e078504 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -1,8 +1,8 @@
+ # No automatisation found. Write me if any idea.
++info_TEXINFOS = libvformat.texi
++libvformat_TEXINFOS = libvformat-1.texi libvformat-2.texi libvformat-i.texi
+
+ install-data-hook:
+- c2man -P "gcc -E -C -I.." ../vformat/vf_iface.h
+-
+ $(mkinstalldirs) $(mandir)/man3
+
+ for i in *.3; do \
+@@ -14,3 +14,5 @@ install-data-hook:
+ echo " $(INSTALL_DATA) $$file $(mandir)/man3/$$inst"; \
+ $(INSTALL_DATA) $$file $(mandir)/man3/$$inst; \
+ done
++
++ cp /usr/share/texmf-dist/tex/texinfo/texinfo.tex .
+diff --git a/doc/libvformat-1.texi b/doc/libvformat-1.texi
+new file mode 100644
+index 0000000..ec59664
+--- /dev/null
++++ b/doc/libvformat-1.texi
+@@ -0,0 +1,733 @@
++@node Functions of libvformat
++@chapter Functions of libvformat
++@deftypefun {VFORMATDECLSPEC bool_t} vf_parse_init (
++@multitable{VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string from}
++@item VF_PARSER_T @tab @var{**pp_parser},@tab Ptr to allocated parser.
++@item VF_OBJECT_T @tab @var{pp_object} @tab The object we're parsing into.
++@end multitable
++)
++
++
++
++Allocate and initialise a parser. To parse a VCARD (or any vObject)
++a user allocates a parser, pushes data through it using vf_parse_text()
++and finally calls vf_parse_end():
++
++@verbatim
++
++ VF_PARSER_T *p_parser;
++
++ if (vf_parse_init(&p_parser, pp_object))
++ {
++ do
++ {
++ char buffer[...];
++ int numchars;
++
++ numchars = get_chars_from_somewhere(buffer, ...);
++
++ ret = vf_parse_text(p_parser, buffer, numchars);
++ }
++ while (ret && (0 < charsread))
++ ;
++
++ if (!vf_parse_end(p_parser))
++ {
++ ret = FALSE;
++ }
++ }
++
++@end verbatim
++
++A parser allocated by vf_parse_init(), must be deallocated by calling
++vf_parse_end() whether or not parsing succeeds. Also, parsing may not
++be complete (ie. values may be held buffered and not evaluated fully
++or assigned to a VF_OBJECT_T) untill the final call to vf_parse_end()
++=> after a vf_parse_init() you _must_ vf_parse_end().
++
++Returns TRUE iff parser allocated successfully.
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_parse_text (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PARSER_T @tab @var{*p_parser}, @tab The parser
++@item char @tab @var{*p_chars},@tab New characters to parse into object
++@item int @tab @var{numchars}@tab Number of new characters
++@end multitable
++)
++
++
++Parse indicated text into the object associated with the VPARSE_T. See
++notes for vf_parse_init().
++
++Returns TRUE <=> allocation & syntax OK, FALSE else.
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_parse_end (
++ @multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to
locate string from}
++ @item VF_PARSER_T @tab @var{*p_parse} @tab The parser
++ @end multitable
++ )
++
++
++
++Ensure parse completion, release memory associated with the parser.
++
++Returns TRUE <=> parse complete with no error.
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_read_file (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_OBJECT_T @tab @var{**pp_object},@tab Pointer to output object
++@item const char @tab @var{*p_name},@tab Name of file to read
++@end multitable
++)
++
++
++Reads indicated VOBJECT_T file.
++
++Returns TRUE <=> read OK, FALSE else.
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_write_file (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item const char @tab @var{*p_name},@tab Output filename
++@item VF_OBJECT_T @tab @var{*p_object},@tab The object to write
++@item bool_t @tab @var{write_all}@tab Should write p_next as well?
++@end multitable
++)
++
++
++Write indicated vobject to file. For lists of objects (eg. read from
++a phonebook) the write_all parameter allows the caller to control if
++the library writes the entire list or just the head item.
++
++Returns TRUE <=> written OK, FALSE else.
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_get_next_object (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_OBJECT_T @tab @var{**pp_object}@tab Ptr to pointer to current
object
++@end multitable
++)
++
++
++
++Find "next" vobject. Typically called after a call to vf_read_file()
++which may well read a list of objects from a file for example:
++
++@verbatim
++ if (vf_read_file(&p_object, p_filename))
++ {
++ do
++ {
++ ...
++ }
++ while (vf_get_next_object(&p_object))
++ ;
++ }
++@end verbatim
++
++The value of *pp_object is updated by the call if it returns TRUE.
++
++Returns TRUE iff found (ie. there is a "next" object).
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC VF_OBJECT_T *} vf_create_object (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item const char @tab @var{*p_type},@tab Type of object to create
++@item VF_OBJECT_T @tab @var{*p_parent}@tab Parent object if any
++@end multitable
++)
++
++
++Creates an empty vformat object.
++
++Returns Ptr to object if created else NULL.
++@end deftypefun
++
++@deftypefun {const VFORMATDECLSPEC char *} vf_get_object_type (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_OBJECT_T @tab @var{*p_object}@tab Object to locate type of
++@end multitable
++)
++
++
++
++Return the type string identifying the indicated vformat object, the
++string after the 'BEGIN' mark so 'VCARD' or 'VNOTE' etc.
++
++Return Ptr to string.
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_get_property (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{**pp_prop}, @tab Output pointer
++@item VF_OBJECT_T @tab @var{*p_object}, @tab Object to add to
++@item vf_get_t @tab @var{ops}, @tab Search flags
++@item const char @tab @var{*p_group}, @tab Group name if any
++@item const char @tab @var{*p_name}, @tab Name of tag
++@item const char @tab @var{*p_qualifier}, @tab First qualifier if any
++@item ... @tab @tab Subequent qualifiers
++@end multitable
++)
++
++
++Basic searching function locating elements of the VOBJECT by qualified
++name. The function is a varargs function (like sprintf) and the list
++of arguments must be NULL terminated (hence the appearance of the
++p_qualifier argument in the arglist). Valid calls might be:
++
++@example
++ vf_get_property(&p_out, p_object, VFGP_FIND, NULL, "N", NULL);
++ - find and return "N" properties. If there are none, return FALSE.
++
++ vf_get_property(&p_out, p_object, VFGP_FIND, NULL, "TEL", "WORK", NULL);
++ - find and return "TEL" entries qualified by the "work" attribute
++ (ie. work phone numbers). If there are none, return FALSE.
++
++ vf_get_property(&p_out, p_object, VFGP_GET, NULL, "TEL", "WORK", NULL);
++ - find and return work phone number. The entry is automatically
++ added if not pre-existing.
++
++ vf_get_property(&p_out, p_object, VFGP_GET, NULL, "TEL", "WORK", NULL);
++ - find and return work phone numbers in the group identifier by the "ME"
++ identifier. The entry is automatically added if not pre-existing.
++
++ vf_get_property(&p_out, p_object, VFGP_FIND, "ME", "*", NULL);
++ - effectively enumerates all entries in the "ME" group.
++@end example
++
++A pointer to the first property matching the search criteria is returned
++via the pp_prop argument. The search actually locates all such matches
++and pointer to subsequent entries (if there are >1) may be found by
++calling the vf_get_next_property() function.
++
++The tags may occur in any order _except_ that the p_name must be first.
++
++Note that the VF_PROP_T returned by pp_prop is an opaque type and the
++functions vf_get_prop_xxxx() etc. must be used to locate real "values".
++
++Cached search results (the list enumerated by subsequent calls to the
++vf_get_next_property() function) are maintained through the use of a
++a single internal pointer therefore this method is not thread safe.
++
++Returns TRUE iff found/added successfully. Ptr to prop returned via
pp_prop.
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_get_property_ex (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{**pp_prop}, @tab Output pointer
++@item const char @tab @var{*p_group}, @tab Group name if any
++@item const char @tab @var{*p_name}, @tab Name of tag
++@item const char @tab @var{*p_qualifier}, @tab First qualifier if any
++@item va_list args @tab Argument list
++@end multitable
++)
++
++
++The grunt behind vf_get_property(). Manages the search as described
++vf_get_property() but takes the list of arguments as a va_list.
++This function should be used when writing higher layer functions
++which take varargs (eg. DDX functions).
++
++Returns TRUE iff found/added successfully. ptr to prop returned via
pp_prop.
++
++@end deftypefun
++
++@deftypefun bool_t vf_get_next_property (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{**pp_prop}, @tab Output pointer
++@end multitable
++)
++
++
++
++Find the next property given the current search critera. User
++calls vf_get_property() to locate first in a bunch of properties
++and can iterate over the rest by calling vf_get_next_property().
++
++Returns TRUE iff found, FALSE else. *pp_prop points to the nex property.
++
++@end deftypefun
++
++@deftypefun bool_t vf_get_prop_value (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab The property
++@item void @tab @var{**pp_value}, @tab Pointer value
++@item uint32_t @tab @var{*p_size}, @tab Integer value
++@item vf_encoding_t @tab @var{*p_encoding} @tab Type of return values
++@end multitable
++)
++
++Get hold of raw fields associated with the property. These are of
++rious types:
++
++@example
++VF_ENC_VOBJECT
++ - *pp_value = pointer to contained VF_OBJECT_T which can be
++ passed back to any of the object manipulation functions.
++
++VF_ENC_7BIT, VF_ENC_QUOTEDPRINTABLE
++ - *pp_value = ptr to array of char*, *p_size = number of elts.
++
++VF_ENC_8BIT, VF_BASE64
++ - *pp_value = ptr to bytes, *p_size = number of bytes
++@end example
++
++Returns TRUE <=> encoding is valid, FALSE else.
++
++
++@end deftypefun
++
++
++@deftypefun bool_t vf_set_prop_value (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab The property
++@item void @tab @var{*p_value}, @tab Pointer to the
data
++@item uint32_t @tab @var{n_param}, @tab Data size or
index
++@item vf_encoding_t @tab @var{encoding}, @tab Encoding in use
++@item bool_t @tab @var{copy} @tab Copy the data?
++@end multitable
++)
++
++Set values associated with a property.
++
++Passing a value of encoding not the same as the current property
++encoding will cause the property contents to be freed prior to
++setting the indicated value.
++
++Returns TRUE <=> re-allocation success & encoding correct, FALSE else.
++
++@end deftypefun
++
++@deftypefun {char *} vf_get_prop_value_string (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab Property to locate
string from
++@item uint32_t @tab @var{n_string} @tab Index to string required
++@end multitable
++)
++
++Obtain string pointer value from VF_PROP_T. For example a property
++may be defined as:
++
++THING;THIS=STUFF;WITH-QUALIFIERS:fred-fred-fred;gogogo;baabaabaa
++
++A call to vf_get_prop_value_string() specifying n_string=1 will
++return a pointer to the gogogo value.
++
++Return NULL if out of range request, ie. n_string=3 for N:0;1;2
++
++Returns Pointer to string value if value present, NULL if index too large.
++
++@end deftypefun
++
++@deftypefun bool_t vf_get_prop_value (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab The
property
++@item void @tab @var{**pp_value}, @tab Pointer
value
++@item vf_encoding_t @tab @var{*p_encoding}, @tab Type
++of return values
++@item uint32_t @tab @var{*p_size}, @tab Integer
value
++@end multitable
++)
++
++Get hold of raw fields associated with the property. These are of
++various types:
++
++ VF_ENC_VOBJECT
++ - *pp_value = pointer to contained VF_OBJECT_T which can be
++ passed back to any of the object manipulation functions.
++
++ VF_ENC_7BIT, VF_ENC_QUOTEDPRINTABLE
++ - *pp_value = ptr to array of char*, *p_size = number of elts.
++
++ VF_ENC_8BIT, VF_BASE64
++ - *pp_value = ptr to bytes, *p_size = number of bytes
++
++Returns TRUE <=> encoding is valid, FALSE else.
++
++
++@end deftypefun
++
++
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_set_prop_value (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab The property
++@item void @tab @var{*p_value}, @tab Pointer to the data
++@item uint32_t @tab @var{n_param}, @tab Data size or index
++@item vf_encoding_t @tab @var{encoding}, @tab Encoding in use
++@item bool_t @tab @var{copy} @tab Copy the data?
++@end multitable
++)
++
++Set values associated with a property.
++
++Passing a value of encoding not the same as the current property
++encoding will cause the property contents to be freed prior to
++setting the indicated value.
++Returns TRUE <=> re-allocation success & encoding correct, FALSE else.
++
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC char *} vf_get_prop_value_string (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab Property to locate
string from
++@item uint32_t @tab @var{n_string} @tab Index to string
required
++@end multitable
++)
++
++Obtain string pointer value from VF_PROP_T. For example a property
++may be defined as:
++
++THING;THIS=STUFF;WITH-QUALIFIERS:fred-fred-fred;gogogo;baabaabaa
++
++A call to vf_get_prop_value_string() specifying n_string=1 will
++return a pointer to the gogogo value.
++
++Return NULL if out of range request, ie. n_string=3 for N:0;1;2
++
++Returns Pointer to string value if value present, NULL if index too large.
++
++
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC char *} vf_get_prop_name_string (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab Property to locate
string from
++@item uint32_t @tab @var{n_string} @tab Index to string
required
++@end multitable
++)
++
++
++Get n'th name string. For example a property may be defined as:
++THING;THIS=STUFF;WITH-QUALIFIERS:fred-fred-fred;gogogo;baabaabaa
++A call to vf_get_prop_name_string() specifying n_string=2 will
++return a pointer to the WITH-QUALIFIERS value.
++Return NULL if out of range request, ie. n_string=4 for X;A;B;C:foo
++
++Returns Pointer to string value if value present, NULL if index too large.
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_set_prop_name_string (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab Property we're
setting a value in
++@item uint32_t @tab @var{n_string}, @tab Index to string
++@item const char @tab @var{*p_string} @tab Pointer to string
++@end multitable
++)
++
++
++
++Set n'th name string.
++
++Returns TRUE iff allocation OK, FALSE else.
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC void} vf_get_prop_name (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab The property
++@item char @tab @var{*p_buffer}, @tab The buffer
++@item uint32_t @tab @var{bufsize} @tab Size of the buffer
++@end multitable
++)
++
++
++
++
++Build the property name string in the indicated buffer.
++
++Returns (none)
++
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC VF_OBJECT_T *} vf_get_prop_value_object (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop} @tab Property to locate
object from
++@end multitable
++)
++
++
++Obtain object pointer value from VF_PROP_T.
++
++Returns Pointer to vobject value (or NULL if not found).
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_set_prop_value_object (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop},
++@item VF_OBJECT_T @tab @var{*p_object}
++@end multitable
++)
++
++
++Set the value of the indicated property to be a VOBJECT.
++
++Returns TRUE <=> set successfully.
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_set_prop_value_string (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab Property we're
setting a value in
++@item uint32_t @tab @var{n_string}, @tab Index to string
++@item const char @tab @var{*p_string } @tab Pointer to string
++@end multitable
++)
++
++Set the value of a property.
++
++Returns TRUE <=> set successfully.
++
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_set_prop_value_base64 (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab Property we're
setting a value in
++@item const uint8_t @tab @var{*p_data}, @tab Pointer to the binary
data
++@item uint32_t @tab @var{length}, @tab Length of the binary
data
++@item bool_t @tab @var{copy} @tab Copy or keep pointer
++@end multitable
++)
++
++
++
++Set the value of a property.
++
++Returns TRUE <=> set successfully.
++
++
++@end deftypefun
++
++@deftypefun {const VFORMATDECLSPEC uint8_t *} vf_get_prop_value_base64 (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab Property we're
setting a value in
++@item uint32_t @tab @var{*p_length} @tab Length of the binary
data
++@end multitable
++)
++
++
++
++Get a BASE64 property. Returns ptr, passes length via parameter.
++
++Returns Ptr to data.
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_set_property_from_file (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab The property
++@item vf_encoding_t @tab @var{encoding}, @tab Encoding to use
++@item const char @tab @var{*p_filename} @tab Source filename
++@end multitable
++)
++
++
++
++Loads the indicated file into memory and sets the indicated property.
++
++Returns TRUE iff succeded, FALSE else.
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC void} vf_delete_object (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_OBJECT_T @tab @var{*p_object}, @tab The object to delete
++@item bool_t @tab @var{all } @tab Delete all subsequent
objects?
++@end multitable
++)
++
++
++Cleans up the memory used by the indicated vformat object.
++
++Returns (none)
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC void} vf_delete_prop (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_OBJECT_T @tab @var{*p_object}, @tab The object we're
deleting from
++@item VF_PROP_T @tab @var{*p_prop}, @tab The property we're
removing
++@item bool_t dc @tab Should property contents be
deleted?
++@end multitable
++)
++
++
++Deletes indicated property from the indicated object. Deletes prop
++contents if dc is set.
++
++Returns (none)
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_find_prop_qual_index (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab The property
we're querying
++@item uint32_t @tab @var{*p_qualifier_index}, @tab Ptr to output
name index
++@item uint32_t @tab @var{*p_found_value_index}, @tab Ptr to output
index in array
++@item const char @tab @var{**pp_possible_values}, @tab Array of possible
values
++@item const char @tab @var{*p_token}, @tab Token searched
for
++@item vf_search_flags_t @tab @var{match} @tab String comparison
flags
++@end multitable
++)
++
++
++
++Locate property qualifier given either an array of possible values
++or a single token that is either present or absent. For example
++if we have a property:
++
++NAME;THIRD;TIME;LUCKY:VALUE1;VALUE2;VALUE3
++
++Then there are two possible searches.
++
++Firstly we can look for the property qualifier which can take values
++from the array @{ "FIRST", "SECOND", THIRD" @} in which case the array
++is passed as pp_possible_values and the function returns with the
++values *p_found_value_index=2, p_qualifier_index=1
++
++Secondly we can look for the token with value "TIME" in which case
++p_token is set to "TIME" and the function returns *p_qualifier_index=2.
++
++Returns TRUE iff found, FALSE else.
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_is_modified (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_OBJECT_T @tab @var{*p_object} @tab The object
++@end multitable
++)
++
++
++
++
++Fetch status of modified flag.
++
++Returns TRUE iff modified since list read/write.
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC const char *} vf_find_charset (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop} @tab The property we're
querying
++@end multitable
++)
++
++
++
++Locate the CHARSET property which indicates the character encoding
++in use - which indicates how the octet stream encoded in the VCARD
++is to be decoded into characters.
++
++Returns Pointer to character encoding name eg. "UTF-8".
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_date_string_to_time (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item uint32_t @tab @var{*p_time}, @tab Output time value
++@item const char @tab @var{*p_string} @tab Input string
++@end multitable
++)
++
++
++
++Convert calendar string to absolute time. The basic formats are
++19960401, 19960401T073000Z
++
++Returns TRUE <=> conversion OK, FALSE else.
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_period_string_to_time (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_ISO8601_PERIOD_T @tab @var{*p_period}, @tab Output time value
++@item const char @tab @var{*p_string} @tab Input string
++@end multitable
++)
++
++
++Convert period definition string to time value. The format is
++P[aaaY][bbbM][cccW][dddD]T[eeeH][fffM][gggS] where 'aaa' is a
++number of years, bbb months etc.
++
++Returns TRUE <=> conversion OK, FALSE else.
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC uint32_t} vf_period_time_to_string (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item char @tab @var{*p_string}, @tab Output string
++@item const VF_ISO8601_PERIOD_T @tab @var{*p_period} @tab Input period
value
++@end multitable
++)
++
++
++Convert a VF_ISO8601_PERIOD_T to a string.
++
++Returns Number of characters written.
++
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_set_prop_value_time (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab The property
++@item uint32_t @tab @var{n_string}, @tab Which string we're
encoding to
++@item const time_t @tab @var{t_value} @tab Time value
++@end multitable
++)
++
++
++Set a time_t value into a VF property.
++
++Returns TRUE iff property added & set OK.
++
++@end deftypefun
++
++@deftypefun {VFORMATDECLSPEC bool_t} vf_get_prop_value_time (
++@multitable {VF_PROP_Taaaa}{*n_stringaaaaa}{Property to locate string
from}
++@item VF_PROP_T @tab @var{*p_prop}, @tab The property
++@item uint32_t @tab @var{n_string}, @tab Which string we're
decoding
++@item time_t @tab @var{*p_t_value} @tab Pointer to output time
value
++@end multitable
++)
++
++
++Fetch a time_t value from a VF property.
++
++Returns TRUE iff foudn & converted OK.
++
++@end deftypefun
+diff --git a/doc/libvformat-2.texi b/doc/libvformat-2.texi
+new file mode 100644
+index 0000000..0511a56
+--- /dev/null
++++ b/doc/libvformat-2.texi
+@@ -0,0 +1,79 @@
++@node Public structures
++@chapter Public structures
++
++@defvr {Public Type} VF_PARSER_T
++
++Type representing "parser" - an object used to parse VOBJECTS.
++
++@end defvr
++
++@defvr {Public Type} VF_OBJECT_T
++
++Type representing an "object" - objects are collections of properties.
++
++@end defvr
++
++@defvr {Public Type} VF_PROP_T
++
++Type representing a "property" - properties associate a name & a value.
++
++@end defvr
++
++@deftp {Structure} VF_ISO8601_PERIOD_T @*
++ @{@*
++ uint32_t years@*
++ uint32_t months@*
++ uint32_t weeks@*
++ uint32_t days@*
++ uint32_t hours@*
++ uint32_t minutes@*
++ uint32_t seconds@*
++ @}
++
++
++VF_ISO8601_PERIOD_T is used to encapsulate an ISO time 'period'.
++
++@end deftp
++
++
++@deftypevr {Public Type} uint8_t vf_encoding_t
++
++vf_encoding_t enumerates the supported encodings (formats) of a
++vformat object property. Each "value" has a field of this type.
++
++Predefined values
++
++@multitable {VF_ENC_QUOTEDPRINTABLE}{((vf_encoding_t)aaaa}{123456}
++@item VF_ENC_UNKNOWN @tab ((vf_encoding_t)(0))
++@item VF_ENC_7BIT @tab ((vf_encoding_t)(1))
++@item VF_ENC_8BIT @tab ((vf_encoding_t)(2))
++@item VF_ENC_BASE64 @tab ((vf_encoding_t)(3))
++@item VF_ENC_QUOTEDPRINTABLE @tab ((vf_encoding_t)(4))
++@item VF_ENC_VOBJECT @tab ((vf_encoding_t)(5))
++@end multitable
++
++@end deftypevr
++
++
++@deftypevr {Public Type} uint16_t vf_get_t
++
++vf_get_t controls the operation of vf_get_property() (qv). Controls
++how far the search algorithm is prepared to go in order to return a
++property ready for modification.
++
++Predefined values
++
++@multitable {VF_ENC_QUOTEDPRINTABLE}{((vf_encoding_t)aaaa}{Find &
append if not present123456}
++@item VFGP_FIND @tab ((vf_get_t)(0x0001)) @tab Search for property
++@item VFGP_APPEND @tab ((vf_get_t)(0x0002)) @tab Append property, no
search
++@item VFGP_GET @tab ((vf_get_t)(0x0003)) @tab Find & append if not
present
++@end multitable
++
++@end deftypevr
++
++@deftypevr {Public Type} uint32_t vf_search_flags_t
++
++vf_search_flags_t is used to describe how string matching is performed
++when searching for properties, qualifiers, values etc.
++
++@end deftypevr
+diff --git a/doc/libvformat-i.texi b/doc/libvformat-i.texi
+new file mode 100644
+index 0000000..66d6996
+--- /dev/null
++++ b/doc/libvformat-i.texi
+@@ -0,0 +1,5 @@
++@node Function index
++@unnumbered Function Index
++
++@printindex fn
++
+diff --git a/doc/libvformat.texi b/doc/libvformat.texi
+new file mode 100644
+index 0000000..c5ff663
+--- /dev/null
++++ b/doc/libvformat.texi
+@@ -0,0 +1,51 @@
++\input texinfo @c -*-texinfo-*-
++@c %**start of header
++@setfilename libvformat.info
++@settitle libvformat
++@setchapternewpage odd
++@c %**end of header
++
++@ifinfo
++This file documents libvformat
++
++Copyright 2001 Nick Marley <Tilda@@indigo8.freeserve.co.uk>
++
++licensed under the LGPL license.
++@end ifinfo
++
++@c This title page illustrates only one of the
++@c two methods of forming a title page.
++
++@dircategory Libraries
++@direntry
++* libvformat: (libvformat). Library to manipulate vcards
++@end direntry
++
++@titlepage
++@title libvformat
++@subtitle library to access versit cards
++@author Nick <Tilda@@indigo8.freeserve.co.uk>
++@end titlepage
++
++
++@ifnottex
++@node Top, , (dir), (dir)
++@top TITLE
++
++This document describes libvformat
++
++This document applies to version 1.13
++of the program named libvformat
++@end ifnottex
++
++@menu
++* Functions of libvformat:: description of interface.
++* Public structures:: public structures of libvformat
++* Function index:: index.
++@end menu
++
++@include libvformat-1.texi
++@include libvformat-2.texi
++@include libvformat-i.texi
++
++@bye
+--
+1.7.6.3
+
diff --git a/libs/libvformat/0005-Add-manpages.patch
b/libs/libvformat/0005-Add-manpages.patch
new file mode 100644
index 0000000..f58c858
--- /dev/null
+++ b/libs/libvformat/0005-Add-manpages.patch
@@ -0,0 +1,2606 @@
+From 905759e8a6cf637a0dbcc869f04c79110968b41c Mon Sep 17 00:00:00 2001
+From: Mathias Palm <mathias.palm AT gmx.net>
+Date: Sat, 8 May 2010 23:00:09 +0200
+Subject: Add manpages
+
+Provides manpages instead of generating them from c2man as c2man is
deprecated.
+
+Origin: vendor
+Bug-Debian: http://bugs.debian.org/313265
+Forwarded: not-needed
+Last-Update: 2010-10-10
+---
+ doc/Makefile.am | 6 +-
+ doc/vf_create_object.3 | 63 +++++++++++++++++++
+ doc/vf_date_string_to_time.3 | 64 +++++++++++++++++++
+ doc/vf_delete_object.3 | 63 +++++++++++++++++++
+ doc/vf_delete_prop.3 | 69 +++++++++++++++++++++
+ doc/vf_find_charset.3 | 54 ++++++++++++++++
+ doc/vf_find_prop_qual_index.3 | 97 +++++++++++++++++++++++++++++
+ doc/vf_get_next_object.3 | 65 ++++++++++++++++++++
+ doc/vf_get_next_property.3 | 54 ++++++++++++++++
+ doc/vf_get_object_type.3 | 53 ++++++++++++++++
+ doc/vf_get_prop_name.3 | 68 +++++++++++++++++++++
+ doc/vf_get_prop_name_string.3 | 70 +++++++++++++++++++++
+ doc/vf_get_prop_value.3 | 87 ++++++++++++++++++++++++++
+ doc/vf_get_prop_value_base64.3 | 63 +++++++++++++++++++
+ doc/vf_get_prop_value_object.3 | 52 ++++++++++++++++
+ doc/vf_get_prop_value_string.3 | 71 +++++++++++++++++++++
+ doc/vf_get_prop_value_time.3 | 68 +++++++++++++++++++++
+ doc/vf_get_property.3 | 128
+++++++++++++++++++++++++++++++++++++++
+ doc/vf_get_property_ex.3 | 91 +++++++++++++++++++++++++++
+ doc/vf_is_modified.3 | 52 ++++++++++++++++
+ doc/vf_parse_end.3 | 54 ++++++++++++++++
+ doc/vf_parse_init.3 | 93 ++++++++++++++++++++++++++++
+ doc/vf_parse_text.3 | 70 +++++++++++++++++++++
+ doc/vf_period_string_to_time.3 | 65 ++++++++++++++++++++
+ doc/vf_period_time_to_string.3 | 63 +++++++++++++++++++
+ doc/vf_read_file.3 | 63 +++++++++++++++++++
+ doc/vf_set_prop_name_string.3 | 68 +++++++++++++++++++++
+ doc/vf_set_prop_value.3 | 82 +++++++++++++++++++++++++
+ doc/vf_set_prop_value_base64.3 | 73 ++++++++++++++++++++++
+ doc/vf_set_prop_value_object.3 | 63 +++++++++++++++++++
+ doc/vf_set_prop_value_string.3 | 68 +++++++++++++++++++++
+ doc/vf_set_prop_value_time.3 | 68 +++++++++++++++++++++
+ doc/vf_set_property_from_file.3 | 68 +++++++++++++++++++++
+ doc/vf_write_file.3 | 70 +++++++++++++++++++++
+ 34 files changed, 2303 insertions(+), 3 deletions(-)
+ create mode 100644 doc/vf_create_object.3
+ create mode 100644 doc/vf_date_string_to_time.3
+ create mode 100644 doc/vf_delete_object.3
+ create mode 100644 doc/vf_delete_prop.3
+ create mode 100644 doc/vf_find_charset.3
+ create mode 100644 doc/vf_find_prop_qual_index.3
+ create mode 100644 doc/vf_get_next_object.3
+ create mode 100644 doc/vf_get_next_property.3
+ create mode 100644 doc/vf_get_object_type.3
+ create mode 100644 doc/vf_get_prop_name.3
+ create mode 100644 doc/vf_get_prop_name_string.3
+ create mode 100644 doc/vf_get_prop_value.3
+ create mode 100644 doc/vf_get_prop_value_base64.3
+ create mode 100644 doc/vf_get_prop_value_object.3
+ create mode 100644 doc/vf_get_prop_value_string.3
+ create mode 100644 doc/vf_get_prop_value_time.3
+ create mode 100644 doc/vf_get_property.3
+ create mode 100644 doc/vf_get_property_ex.3
+ create mode 100644 doc/vf_is_modified.3
+ create mode 100644 doc/vf_parse_end.3
+ create mode 100644 doc/vf_parse_init.3
+ create mode 100644 doc/vf_parse_text.3
+ create mode 100644 doc/vf_period_string_to_time.3
+ create mode 100644 doc/vf_period_time_to_string.3
+ create mode 100644 doc/vf_read_file.3
+ create mode 100644 doc/vf_set_prop_name_string.3
+ create mode 100644 doc/vf_set_prop_value.3
+ create mode 100644 doc/vf_set_prop_value_base64.3
+ create mode 100644 doc/vf_set_prop_value_object.3
+ create mode 100644 doc/vf_set_prop_value_string.3
+ create mode 100644 doc/vf_set_prop_value_time.3
+ create mode 100644 doc/vf_set_property_from_file.3
+ create mode 100644 doc/vf_write_file.3
+
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index e078504..ac63498 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -3,7 +3,7 @@ info_TEXINFOS = libvformat.texi
+ libvformat_TEXINFOS = libvformat-1.texi libvformat-2.texi libvformat-i.texi
+
+ install-data-hook:
+- $(mkinstalldirs) $(mandir)/man3
++ $(mkinstalldirs) $(DESTDIR)$(mandir)/man3
+
+ for i in *.3; do \
+ if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \
+@@ -11,8 +11,8 @@ install-data-hook:
+ ext=`echo $$i | sed -e 's/^.*\\.//'`; \
+ inst=`echo $$i | sed -e 's/\\.[0-9a-z]*$$//'`; \
+ inst=`echo $$inst | sed '$(transform)'`.$$ext; \
+- echo " $(INSTALL_DATA) $$file $(mandir)/man3/$$inst"; \
+- $(INSTALL_DATA) $$file $(mandir)/man3/$$inst; \
++ echo " $(INSTALL_DATA) $$file $(DESTDIR)$(mandir)/man3/$$inst"; \
++ $(INSTALL_DATA) $$file $(DESTDIR)$(mandir)/man3/$$inst; \
+ done
+
+ cp /usr/share/texmf-dist/tex/texinfo/texinfo.tex .
+diff --git a/doc/vf_create_object.3 b/doc/vf_create_object.3
+new file mode 100644
+index 0000000..b9ce4a4
+--- /dev/null
++++ b/doc/vf_create_object.3
+@@ -0,0 +1,63 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_create_object" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_create_object \- vf_create_object()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern VF_OBJECT_T *vf_create_object
++.br
++(
++.br
++ const char *p_type,
++.br
++ VF_OBJECT_T *p_parent
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "const char *p_type"
++Type of object to create.
++.TP
++.B "VF_OBJECT_T *p_parent"
++Parent object if any.
++.SH "DESCRIPTION"
++Creates an empty vformat object.
++.SH "RETURNS"
++Ptr to object if created else NULL.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_date_string_to_time.3 b/doc/vf_date_string_to_time.3
+new file mode 100644
+index 0000000..0bfadb4
+--- /dev/null
++++ b/doc/vf_date_string_to_time.3
+@@ -0,0 +1,64 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_date_string_to_time" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_date_string_to_time \- vf_date_string_to_time()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_date_string_to_time
++.br
++(
++.br
++ uint32_t *p_time,
++.br
++ const char *p_string
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "uint32_t *p_time"
++Output time value.
++.TP
++.B "const char *p_string"
++Input string.
++.SH "DESCRIPTION"
++Convert calendar string to absolute time. The basic formats are
++19960401, 19960401T073000Z.
++.SH "RETURNS"
++TRUE <=> conversion OK, FALSE else.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_delete_object.3 b/doc/vf_delete_object.3
+new file mode 100644
+index 0000000..0597129
+--- /dev/null
++++ b/doc/vf_delete_object.3
+@@ -0,0 +1,63 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_delete_object" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_delete_object \- vf_delete_object()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern void vf_delete_object
++.br
++(
++.br
++ VF_OBJECT_T *p_object,
++.br
++ bool_t all
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_OBJECT_T *p_object"
++The object to delete.
++.TP
++.B "bool_t all"
++Delete all subsequent objects?.
++.SH "DESCRIPTION"
++Cleans up the memory used by the indicated vformat object.
++.SH "RETURNS"
++(None)
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_delete_prop.3 b/doc/vf_delete_prop.3
+new file mode 100644
+index 0000000..ac25e96
+--- /dev/null
++++ b/doc/vf_delete_prop.3
+@@ -0,0 +1,69 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_delete_prop" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_delete_prop \- vf_delete_prop()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern void vf_delete_prop
++.br
++(
++.br
++ VF_OBJECT_T *p_object,
++.br
++ VF_PROP_T *p_prop,
++.br
++ bool_t dc
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_OBJECT_T *p_object"
++The object we're deleting from.
++.TP
++.B "VF_PROP_T *p_prop"
++The property we're removing.
++.TP
++.B "bool_t dc"
++Should property contents be deleted?.
++.SH "DESCRIPTION"
++Deletes indicated property from the indicated object. Deletes prop
++contents if dc is set.
++.SH "RETURNS"
++(None)
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_find_charset.3 b/doc/vf_find_charset.3
+new file mode 100644
+index 0000000..7c541da
+--- /dev/null
++++ b/doc/vf_find_charset.3
+@@ -0,0 +1,54 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_find_charset" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_find_charset \- vf_find_charset()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern const char *vf_find_charset(VF_PROP_T *p_prop);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++The property we're querying.
++.SH "DESCRIPTION"
++Locate the CHARSET property which indicates the character encoding
++in use - which indicates how the octet stream encoded in the VCARD
++is to be decoded into characters.
++.SH "RETURNS"
++Pointer to character encoding name eg. "UTF-8".
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_find_prop_qual_index.3 b/doc/vf_find_prop_qual_index.3
+new file mode 100644
+index 0000000..9e3f6c6
+--- /dev/null
++++ b/doc/vf_find_prop_qual_index.3
+@@ -0,0 +1,97 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_find_prop_qual_index" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_find_prop_qual_index \- vf_find_prop_qual_index()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_find_prop_qual_index
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ uint32_t *p_qualifier_index,
++.br
++ uint32_t *p_found_value_index,
++.br
++ const char **pp_possible_values,
++.br
++ const char *p_token,
++.br
++ vf_search_flags_t match
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++The property we're querying.
++.TP
++.B "uint32_t *p_qualifier_index"
++Ptr to output name index.
++.TP
++.B "uint32_t *p_found_value_index"
++Ptr to output index in array.
++.TP
++.B "const char **pp_possible_values"
++Array of possible values.
++.TP
++.B "const char *p_token"
++Token searched for.
++.TP
++.B "vf_search_flags_t match"
++String comparison flags.
++.SH "DESCRIPTION"
++Locate property qualifier given either an array of possible values
++or a single token that is either present or absent. For example
++if we have a property:
++
++NAME;THIRD;TIME;LUCKY:VALUE1;VALUE2;VALUE3
++
++Then there are two possible searches.
++
++Firstly we can look for the property qualifier which can take values
++from the array { "FIRST", "SECOND", THIRD" } in which case the array
++is passed as pp_possible_values and the function returns with the
++values *p_found_value_index=2, p_qualifier_index=1
++
++Secondly we can look for the token with value "TIME" in which case
++p_token is set to "TIME" and the function returns *p_qualifier_index=2.
++.SH "RETURNS"
++TRUE iff found, FALSE else.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_get_next_object.3 b/doc/vf_get_next_object.3
+new file mode 100644
+index 0000000..9c8efbe
+--- /dev/null
++++ b/doc/vf_get_next_object.3
+@@ -0,0 +1,65 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_get_next_object" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_get_next_object \- vf_get_next_object()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_get_next_object(VF_OBJECT_T **pp_object);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_OBJECT_T **pp_object"
++Ptr to pointer to current object.
++.SH "DESCRIPTION"
++Find "next" vobject. Typically called after a call to vf_read_file()
++which may well read a list of objects from a file for example:
++
++if (vf_read_file(&p_object, p_filename))
++{
++do
++{
++\ ...
++}
++while (vf_get_next_object(&p_object))
++;
++}
++
++The value of *pp_object is updated by the call if it returns TRUE.
++.SH "RETURNS"
++TRUE iff found (ie. There is a "next" object).
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_get_next_property.3 b/doc/vf_get_next_property.3
+new file mode 100644
+index 0000000..e6c491f
+--- /dev/null
++++ b/doc/vf_get_next_property.3
+@@ -0,0 +1,54 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_get_next_property" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_get_next_property \- vf_get_next_property()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_get_next_property(VF_PROP_T **pp_prop);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T **pp_prop"
++Output pointer.
++.SH "DESCRIPTION"
++Find the next property given the current search critera. User
++calls vf_get_property() to locate first in a bunch of properties
++and can iterate over the rest by calling vf_get_next_property().
++.SH "RETURNS"
++TRUE iff found, FALSE else. *Pp_prop points to the nex property.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_get_object_type.3 b/doc/vf_get_object_type.3
+new file mode 100644
+index 0000000..91cde4c
+--- /dev/null
++++ b/doc/vf_get_object_type.3
+@@ -0,0 +1,53 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_get_object_type" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_get_object_type \- vf_get_object_type()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern const char *vf_get_object_type(VF_OBJECT_T *p_object);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_OBJECT_T *p_object"
++Object to locate type of.
++.SH "DESCRIPTION"
++Return the type string identifying the indicated vformat object,
++the string after the 'BEGIN' mark so 'VCARD' or 'VNOTE' etc.
++.SH "RETURNS"
++Ptr to string.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_get_prop_name.3 b/doc/vf_get_prop_name.3
+new file mode 100644
+index 0000000..538c137
+--- /dev/null
++++ b/doc/vf_get_prop_name.3
+@@ -0,0 +1,68 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_get_prop_name" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_get_prop_name \- vf_get_prop_name()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern void vf_get_prop_name
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ char *p_buffer,
++.br
++ uint32_t bufsize
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++The property.
++.TP
++.B "char *p_buffer"
++The buffer.
++.TP
++.B "uint32_t bufsize"
++Size of the buffer.
++.SH "DESCRIPTION"
++Build the property name string in the indicated buffer.
++.SH "RETURNS"
++(None)
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_get_prop_name_string.3 b/doc/vf_get_prop_name_string.3
+new file mode 100644
+index 0000000..7d1cfee
+--- /dev/null
++++ b/doc/vf_get_prop_name_string.3
+@@ -0,0 +1,70 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_get_prop_name_string" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_get_prop_name_string \- vf_get_prop_name_string()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern char *vf_get_prop_name_string
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ uint32_t n_string
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++Property to locate string from.
++.TP
++.B "uint32_t n_string"
++Index to string requred.
++.SH "DESCRIPTION"
++Get n'th name string. For example a property may be defined as:
++
++THING;THIS=STUFF;WITH-QUALIFIERS:fred-fred-fred;gogogo;baabaabaa
++
++A call to vf_get_prop_name_string() specifying n_string=2 will
++return a pointer to the WITH-QUALIFIERS value.
++
++Return NULL if out of range request, ie. N_string=4 for X;A;B;C:foo.
++.SH "RETURNS"
++Pointer to string value if value present, NULL if index too large.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_get_prop_value.3 b/doc/vf_get_prop_value.3
+new file mode 100644
+index 0000000..4b821c8
+--- /dev/null
++++ b/doc/vf_get_prop_value.3
+@@ -0,0 +1,87 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_get_prop_value" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_get_prop_value \- vf_get_prop_value()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_get_prop_value
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ void **pp_value,
++.br
++ uint32_t *p_size,
++.br
++ vf_encoding_t *p_encoding
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++The property.
++.TP
++.B "void **pp_value"
++Pointer value.
++.TP
++.B "uint32_t *p_size"
++Integer value.
++.TP
++.B "vf_encoding_t *p_encoding"
++Type of return values.
++.SH "DESCRIPTION"
++Get hold of raw fields associated with the property. These are of
++various types:
++
++VF_ENC_VOBJECT
++.br
++- *Pp_value = pointer to contained VF_OBJECT_T which can be
++passed back to any of the object manipulation functions.
++
++VF_ENC_7BIT, VF_ENC_QUOTEDPRINTABLE
++.br
++- *Pp_value = ptr to array of char*, *p_size = number of elts.
++
++VF_ENC_8BIT, VF_BASE64
++.br
++- *Pp_value = ptr to bytes, *p_size = number of bytes.
++.SH "RETURNS"
++TRUE <=> encoding is valid, FALSE else.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_get_prop_value_base64.3 b/doc/vf_get_prop_value_base64.3
+new file mode 100644
+index 0000000..e9cdec5
+--- /dev/null
++++ b/doc/vf_get_prop_value_base64.3
+@@ -0,0 +1,63 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_get_prop_value_base64" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_get_prop_value_base64 \- vf_get_prop_value_base64()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern const uint8_t *vf_get_prop_value_base64
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ uint32_t *p_length
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++Property we're setting a value in.
++.TP
++.B "uint32_t *p_length"
++Length of the binary data.
++.SH "DESCRIPTION"
++Get a BASE64 property. Returns ptr, passes length via parameter.
++.SH "RETURNS"
++Ptr to data.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_get_prop_value_object.3 b/doc/vf_get_prop_value_object.3
+new file mode 100644
+index 0000000..0fa3cc6
+--- /dev/null
++++ b/doc/vf_get_prop_value_object.3
+@@ -0,0 +1,52 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_get_prop_value_object" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_get_prop_value_object \- vf_get_prop_value_object()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern VF_OBJECT_T *vf_get_prop_value_object(VF_PROP_T *p_prop);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++Property to locate object from.
++.SH "DESCRIPTION"
++Obtain object pointer value from VF_PROP_T.
++.SH "RETURNS"
++Pointer to vobject value (or NULL if not found).
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_get_prop_value_string.3 b/doc/vf_get_prop_value_string.3
+new file mode 100644
+index 0000000..4fc9a81
+--- /dev/null
++++ b/doc/vf_get_prop_value_string.3
+@@ -0,0 +1,71 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_get_prop_value_string" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_get_prop_value_string \- vf_get_prop_value_string()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern char *vf_get_prop_value_string
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ uint32_t n_string
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++Property to locate string from.
++.TP
++.B "uint32_t n_string"
++Index to string requred.
++.SH "DESCRIPTION"
++Obtain string pointer value from VF_PROP_T. For example a property
++may be defined as:
++
++THING;THIS=STUFF;WITH-QUALIFIERS:fred-fred-fred;gogogo;baabaabaa
++
++A call to vf_get_prop_value_string() specifying n_string=1 will
++return a pointer to the gogogo value.
++
++Return NULL if out of range request, ie. N_string=3 for N:0;1;2.
++.SH "RETURNS"
++Pointer to string value if value present, NULL if index too large.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_get_prop_value_time.3 b/doc/vf_get_prop_value_time.3
+new file mode 100644
+index 0000000..cf446c9
+--- /dev/null
++++ b/doc/vf_get_prop_value_time.3
+@@ -0,0 +1,68 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_get_prop_value_time" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_get_prop_value_time \- vf_get_prop_value_time()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_get_prop_value_time
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ uint32_t n_string,
++.br
++ long int *p_t_value
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++The property.
++.TP
++.B "uint32_t n_string"
++Which string we're decoding.
++.TP
++.B "long int *p_t_value"
++Pointer to output time value.
++.SH "DESCRIPTION"
++Fetch a time_t value from a VF property.
++.SH "RETURNS"
++TRUE iff foudn & converted OK.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3)
+diff --git a/doc/vf_get_property.3 b/doc/vf_get_property.3
+new file mode 100644
+index 0000000..828e414
+--- /dev/null
++++ b/doc/vf_get_property.3
+@@ -0,0 +1,128 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_get_property" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_get_property \- vf_get_property()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_get_property
++.br
++(
++.br
++ VF_PROP_T **pp_prop,
++.br
++ VF_OBJECT_T *p_object,
++.br
++ vf_get_t ops,
++.br
++ const char *p_group,
++.br
++ const char *p_name,
++.br
++ const char *p_qualifier,
++.br
++ ...
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T **pp_prop"
++Output pointer.
++.TP
++.B "VF_OBJECT_T *p_object"
++Object to add to.
++.TP
++.B "vf_get_t ops"
++Search flags.
++.TP
++.B "const char *p_group"
++Group name if any.
++.TP
++.B "const char *p_name"
++Name of tag.
++.TP
++.B "const char *p_qualifier"
++First qualifier if any.
++.TP
++.B "..."
++Subequent qualifiers.
++.SH "DESCRIPTION"
++Basic searching function locating elements of the VOBJECT by qualified
++name. The function is a varargs function (like sprintf) and the list
++of arguments must be NULL terminated (hence the appearance of the
++p_qualifier argument in the arglist). Valid calls might be:
++
++vf_get_property(&p_out, p_object, VFGP_FIND, NULL, "N", NULL);
++.br
++- Find and return "N" properties. If there are none, return FALSE.
++
++Vf_get_property(&p_out, p_object, VFGP_FIND, NULL, "TEL", "WORK", NULL);
++.br
++- Find and return "TEL" entries qualified by the "work" attribute
++(ie. Work phone numbers). If there are none, return FALSE.
++
++Vf_get_property(&p_out, p_object, VFGP_GET, NULL, "TEL", "WORK", NULL);
++.br
++- Find and return work phone number. The entry is automatically
++added if not pre-existing.
++
++Vf_get_property(&p_out, p_object, VFGP_GET, NULL, "TEL", "WORK", NULL);
++.br
++- Find and return work phone numbers in the group identifier by the "ME"
++identifier. The entry is automatically added if not pre-existing.
++
++Vf_get_property(&p_out, p_object, VFGP_FIND, "ME", "*", NULL);
++.br
++- Effectively enumerates all entries in the "ME" group.
++
++A pointer to the first property matching the search criteria is returned
++via the pp_prop argument. The search actually locates all such matches
++and pointer to subsequent entries (if there are >1) may be found by
++calling the vf_get_next_property() function.
++
++The tags may occur in any order _except_ that the p_name must be first.
++
++Note that the VF_PROP_T returned by pp_prop is an opaque type and the
++functions vf_get_prop_xxxx() etc. Must be used to locate real "values".
++
++Cached search results (the list enumerated by subsequent calls to the
++vf_get_next_property() function) are maintained through the use of a
++a single internal pointer therefore this method is not thread safe.
++.SH "RETURNS"
++TRUE iff found/added successfully. Ptr to prop returned via pp_prop.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_get_property_ex.3 b/doc/vf_get_property_ex.3
+new file mode 100644
+index 0000000..9937b3f
+--- /dev/null
++++ b/doc/vf_get_property_ex.3
+@@ -0,0 +1,91 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_get_property_ex" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_get_property_ex \- vf_get_property_ex()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_get_property_ex
++.br
++(
++.br
++ VF_PROP_T **pp_prop,
++.br
++ VF_OBJECT_T *p_object,
++.br
++ vf_get_t ops,
++.br
++ const char *p_group,
++.br
++ const char *p_name,
++.br
++ const char *p_qualifier,
++.br
++ char args
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T **pp_prop"
++Output pointer.
++.TP
++.B "VF_OBJECT_T *p_object"
++Object to search.
++.TP
++.B "vf_get_t ops"
++Search flags.
++.TP
++.B "const char *p_group"
++Group name if any.
++.TP
++.B "const char *p_name"
++Name of tag.
++.TP
++.B "const char *p_qualifier"
++First qualifier if any.
++.TP
++.B "char args"
++Argument list.
++.SH "DESCRIPTION"
++The grunt behind vf_get_property(). Manages the search as described
++vf_get_property() but takes the list of arguments as a va_list.
++This function should be used when writing higher layer functions
++which take varargs (eg. DDX functions).
++.SH "RETURNS"
++TRUE iff found/added successfully. Ptr to prop returned via pp_prop.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_is_modified.3 b/doc/vf_is_modified.3
+new file mode 100644
+index 0000000..9dab0df
+--- /dev/null
++++ b/doc/vf_is_modified.3
+@@ -0,0 +1,52 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_is_modified" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_is_modified \- vf_is_modified()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_is_modified(VF_OBJECT_T *p_object);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_OBJECT_T *p_object"
++The object.
++.SH "DESCRIPTION"
++Fetch status of modified flag.
++.SH "RETURNS"
++TRUE iff modified since list read/write.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_parse_end.3 b/doc/vf_parse_end.3
+new file mode 100644
+index 0000000..80daf5c
+--- /dev/null
++++ b/doc/vf_parse_end.3
+@@ -0,0 +1,54 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_parse_end" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_parse_end \- vf_parse_end()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_parse_end(VF_PARSER_T *p_parse);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PARSER_T *p_parse"
++The parser.
++.SH "DESCRIPTION"
++Ensure parse completion, release memory associated with the parser.
++
++See notes for vf_parse_init().
++.SH "RETURNS"
++TRUE <=> parse complete with no error.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_parse_init.3 b/doc/vf_parse_init.3
+new file mode 100644
+index 0000000..3ffcc51
+--- /dev/null
++++ b/doc/vf_parse_init.3
+@@ -0,0 +1,93 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_parse_init" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_parse_init \- vf_parse_init()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_parse_init
++.br
++(
++.br
++ VF_PARSER_T **pp_parser,
++.br
++ VF_OBJECT_T **pp_object
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PARSER_T **pp_parser"
++Ptr to allocated parser.
++.TP
++.B "VF_OBJECT_T **pp_object"
++The object we're parsing into.
++.SH "DESCRIPTION"
++Allocate and initialise a parser. To parse a VCARD (or any vObject)
++a user allocates a parser, pushes data through it using vf_parse_text()
++and finally calls vf_parse_end():
++
++VF_PARSER_T *p_parser;
++
++if (vf_parse_init(&p_parser, pp_object))
++{
++do
++{
++char buffer[...];
++Int numchars;
++
++numchars = get_chars_from_somewhere(buffer, ...);
++
++Ret = vf_parse_text(p_parser, buffer, numchars);
++}
++while (ret && (0 < charsread))
++;
++
++if (!vf_parse_end(p_parser))
++{
++ret = FALSE;
++}
++}
++
++A parser allocated by vf_parse_init(), must be deallocated by calling
++vf_parse_end() whether or not parsing succeeds. Also, parsing may not
++be complete (ie. Values may be held buffered and not evaluated fully
++or assigned to a VF_OBJECT_T) untill the final call to vf_parse_end()
++=> after a vf_parse_init() you _must_ vf_parse_end().
++.SH "RETURNS"
++TRUE iff parser allocated successfully.
++.SH "SEE ALSO"
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_parse_text.3 b/doc/vf_parse_text.3
+new file mode 100644
+index 0000000..0c21fc7
+--- /dev/null
++++ b/doc/vf_parse_text.3
+@@ -0,0 +1,70 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_parse_text" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_parse_text \- vf_parse_text()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_parse_text
++.br
++(
++.br
++ VF_PARSER_T *p_parse,
++.br
++ char *p_chars,
++.br
++ int numchars
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PARSER_T *p_parse"
++The parser.
++.TP
++.B "char *p_chars"
++New characters to parse into object.
++.TP
++.B "int numchars"
++Number of new characters.
++.SH "DESCRIPTION"
++Parse indicated text into the object associated with the VPARSE_T.
++
++See notes for vf_parse_init().
++.SH "RETURNS"
++TRUE <=> allocation & syntax OK, FALSE else.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_period_string_to_time.3 b/doc/vf_period_string_to_time.3
+new file mode 100644
+index 0000000..56682f2
+--- /dev/null
++++ b/doc/vf_period_string_to_time.3
+@@ -0,0 +1,65 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_period_string_to_time" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_period_string_to_time \- vf_period_string_to_time()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_period_string_to_time
++.br
++(
++.br
++ VF_ISO8601_PERIOD_T *p_period,
++.br
++ const char *p_string
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_ISO8601_PERIOD_T *p_period"
++Output time value.
++.TP
++.B "const char *p_string"
++Input string.
++.SH "DESCRIPTION"
++Convert period definition string to time value. The format is
++P[aaaY][bbbM][cccW][dddD]T[eeeH][fffM][gggS] where 'aaa' is a
++number of years, bbb months etc.
++.SH "RETURNS"
++TRUE <=> conversion OK, FALSE else.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_period_time_to_string.3 b/doc/vf_period_time_to_string.3
+new file mode 100644
+index 0000000..ffdfe5c
+--- /dev/null
++++ b/doc/vf_period_time_to_string.3
+@@ -0,0 +1,63 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_period_time_to_string" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_period_time_to_string \- vf_period_time_to_string()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern uint32_t vf_period_time_to_string
++.br
++(
++.br
++ char *p_string,
++.br
++ const VF_ISO8601_PERIOD_T *p_period
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "char *p_string"
++Output string.
++.TP
++.B "const VF_ISO8601_PERIOD_T *p_period"
++Input period value.
++.SH "DESCRIPTION"
++Convert a VF_ISO8601_PERIOD_T to a string.
++.SH "RETURNS"
++Number of characters written.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_read_file.3 b/doc/vf_read_file.3
+new file mode 100644
+index 0000000..406736d
+--- /dev/null
++++ b/doc/vf_read_file.3
+@@ -0,0 +1,63 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_read_file" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_read_file \- vf_read_file()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_read_file
++.br
++(
++.br
++ VF_OBJECT_T **pp_object,
++.br
++ const char *p_name
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_OBJECT_T **pp_object"
++Pointer to output object.
++.TP
++.B "const char *p_name"
++Name of file to read.
++.SH "DESCRIPTION"
++Reads indicated VOBJECT_T file.
++.SH "RETURNS"
++TRUE <=> read OK, FALSE else.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_set_prop_name_string.3 b/doc/vf_set_prop_name_string.3
+new file mode 100644
+index 0000000..82e55ac
+--- /dev/null
++++ b/doc/vf_set_prop_name_string.3
+@@ -0,0 +1,68 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_set_prop_name_string" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_set_prop_name_string \- vf_set_prop_name_string()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_set_prop_name_string
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ uint32_t n_string,
++.br
++ const char *p_string
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++Property we're setting a value in.
++.TP
++.B "uint32_t n_string"
++Index to string.
++.TP
++.B "const char *p_string"
++Pointer to string.
++.SH "DESCRIPTION"
++Set n'th name string.
++.SH "RETURNS"
++TRUE iff allocation OK, FALSE else.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_set_prop_value.3 b/doc/vf_set_prop_value.3
+new file mode 100644
+index 0000000..d41e4c9
+--- /dev/null
++++ b/doc/vf_set_prop_value.3
+@@ -0,0 +1,82 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_set_prop_value" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_set_prop_value \- vf_set_prop_value()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_set_prop_value
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ void *p_value,
++.br
++ uint32_t n_param,
++.br
++ vf_encoding_t encoding,
++.br
++ bool_t copy
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++The property.
++.TP
++.B "void *p_value"
++Pointer to the data.
++.TP
++.B "uint32_t n_param"
++Data size or index.
++.TP
++.B "vf_encoding_t encoding"
++Encoding in use.
++.TP
++.B "bool_t copy"
++Copy the data?.
++.SH "DESCRIPTION"
++Set values associated with a property.
++
++Passing a value of encoding not the same as the current property
++encoding will cause the property contents to be freed prior to
++setting the indicated value.
++.SH "RETURNS"
++TRUE <=> re-allocation success & encoding correct, FALSE else.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_set_prop_value_base64.3 b/doc/vf_set_prop_value_base64.3
+new file mode 100644
+index 0000000..70821f1
+--- /dev/null
++++ b/doc/vf_set_prop_value_base64.3
+@@ -0,0 +1,73 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_set_prop_value_base64" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_set_prop_value_base64 \- vf_set_prop_value_base64()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_set_prop_value_base64
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ const uint8_t *p_data,
++.br
++ uint32_t length,
++.br
++ bool_t copy
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++Property we're setting a value in.
++.TP
++.B "const uint8_t *p_data"
++Pointer to the binary data.
++.TP
++.B "uint32_t length"
++Length of the binary data.
++.TP
++.B "bool_t copy"
++Copy or keep pointer.
++.SH "DESCRIPTION"
++Set the value of a property.
++.SH "RETURNS"
++TRUE <=> set successfully.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_set_prop_value_object.3 b/doc/vf_set_prop_value_object.3
+new file mode 100644
+index 0000000..85d96c2
+--- /dev/null
++++ b/doc/vf_set_prop_value_object.3
+@@ -0,0 +1,63 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_set_prop_value_object" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_set_prop_value_object \- vf_set_prop_value_object()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_set_prop_value_object
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ VF_OBJECT_T *p_object
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++Not Documented.
++.TP
++.B "VF_OBJECT_T *p_object"
++Not Documented.
++.SH "DESCRIPTION"
++Set the value of the indicated property to be a VOBJECT.
++.SH "RETURNS"
++TRUE <=> set successfully.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_set_prop_value_string.3 b/doc/vf_set_prop_value_string.3
+new file mode 100644
+index 0000000..47cb2d7
+--- /dev/null
++++ b/doc/vf_set_prop_value_string.3
+@@ -0,0 +1,68 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_set_prop_value_string" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_set_prop_value_string \- vf_set_prop_value_string()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_set_prop_value_string
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ uint32_t n_string,
++.br
++ const char *p_string
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++Property we're setting a value in.
++.TP
++.B "uint32_t n_string"
++Index to string.
++.TP
++.B "const char *p_string"
++Pointer to string.
++.SH "DESCRIPTION"
++Set the value of a property.
++.SH "RETURNS"
++TRUE <=> set successfully.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_set_prop_value_time.3 b/doc/vf_set_prop_value_time.3
+new file mode 100644
+index 0000000..68af0f9
+--- /dev/null
++++ b/doc/vf_set_prop_value_time.3
+@@ -0,0 +1,68 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_set_prop_value_time" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_set_prop_value_time \- vf_set_prop_value_time()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_set_prop_value_time
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ uint32_t n_string,
++.br
++ const long int t_value
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++The property.
++.TP
++.B "uint32_t n_string"
++Which string we're encoding to.
++.TP
++.B "const long int t_value"
++Time value.
++.SH "DESCRIPTION"
++Set a time_t value into a VF property.
++.SH "RETURNS"
++TRUE iff property added & set OK.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_set_property_from_file.3
b/doc/vf_set_property_from_file.3
+new file mode 100644
+index 0000000..fc0d43f
+--- /dev/null
++++ b/doc/vf_set_property_from_file.3
+@@ -0,0 +1,68 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_set_property_from_file" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_set_property_from_file \- vf_set_property_from_file()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_set_property_from_file
++.br
++(
++.br
++ VF_PROP_T *p_prop,
++.br
++ vf_encoding_t encoding,
++.br
++ const char *p_filename
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "VF_PROP_T *p_prop"
++The property.
++.TP
++.B "vf_encoding_t encoding"
++Encoding to use.
++.TP
++.B "const char *p_filename"
++Source filename.
++.SH "DESCRIPTION"
++Loads the indicated file into memory and sets the indicated property.
++.SH "RETURNS"
++TRUE iff succeded, FALSE else.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_write_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+diff --git a/doc/vf_write_file.3 b/doc/vf_write_file.3
+new file mode 100644
+index 0000000..ebc0b74
+--- /dev/null
++++ b/doc/vf_write_file.3
+@@ -0,0 +1,70 @@
++.\" WARNING! THIS FILE WAS GENERATED AUTOMATICALLY BY c2man!
++.\" DO NOT EDIT! CHANGES MADE TO THIS FILE WILL BE LOST!
++.TH "vf_write_file" 3 "30 April 2003" "c2man vf_iface.h"
++.SH "NAME"
++vf_write_file \- vf_write_file()
++.SH "SYNOPSIS"
++.ft B
++#include <../vformat/vf_iface.h>
++.sp
++extern bool_t vf_write_file
++.br
++(
++.br
++ const char *p_name,
++.br
++ VF_OBJECT_T *p_object,
++.br
++ bool_t write_all
++.br
++);
++.ft R
++.SH "PARAMETERS"
++.TP
++.B "const char *p_name"
++Outpt filename.
++.TP
++.B "VF_OBJECT_T *p_object"
++The object to write.
++.TP
++.B "bool_t write_all"
++Should write p_next as well?.
++.SH "DESCRIPTION"
++Write indicated vobject to file. For lists of objects (eg. Read from
++a phonebook) the write_all parameter allows the caller to control if
++the library writes the entire list or just the head item.
++.SH "RETURNS"
++TRUE <=> written OK, FALSE else.
++.SH "SEE ALSO"
++vf_parse_init(3),
++vf_parse_text(3),
++vf_parse_end(3),
++vf_read_file(3),
++vf_get_next_object(3),
++vf_create_object(3),
++vf_get_object_type(3),
++vf_get_property(3),
++vf_get_property_ex(3),
++vf_get_next_property(3),
++vf_get_prop_value(3),
++vf_set_prop_value(3),
++vf_get_prop_value_string(3),
++vf_get_prop_name_string(3),
++vf_set_prop_name_string(3),
++vf_get_prop_name(3),
++vf_get_prop_value_object(3),
++vf_set_prop_value_object(3),
++vf_set_prop_value_string(3),
++vf_set_prop_value_base64(3),
++vf_get_prop_value_base64(3),
++vf_set_property_from_file(3),
++vf_delete_object(3),
++vf_delete_prop(3),
++vf_find_prop_qual_index(3),
++vf_is_modified(3),
++vf_find_charset(3),
++vf_date_string_to_time(3),
++vf_period_string_to_time(3),
++vf_period_time_to_string(3),
++vf_set_prop_value_time(3),
++vf_get_prop_value_time(3)
+--
+1.7.6.3
+
diff --git a/libs/libvformat/0006-Remove-leading-space-when-unfolding.patch
b/libs/libvformat/0006-Remove-leading-space-when-unfolding.patch
new file mode 100644
index 0000000..613a2eb
--- /dev/null
+++ b/libs/libvformat/0006-Remove-leading-space-when-unfolding.patch
@@ -0,0 +1,36 @@
+From 792e010c299c4483d0fac836dba8119e6112c165 Mon Sep 17 00:00:00 2001
+From: Daniele Forsi <dforsi AT gmail.com>
+Date: Sun, 9 May 2010 19:34:56 +0200
+Subject: Remove leading space when unfolding
+
+According to RFC 2425 paragraph 5.8.1, the leading whitespace on folded lines
+must be removed when unfolding happens.
+
+Origin: vendor, http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;filename=testcase.c;att=1;bug=539442
+Bug-Debian: http://bugs.debian.org/539442
+Forwarded: https://sourceforge.net/tracker/?func=detail&aid=3084903&group_id=37192&atid=419516
+Last-Update: 2010-12-23
+Applied-Upstream: http://vformat.cvs.sourceforge.net/viewvc/vformat/src/vformat/src/vf_parser.c?revision=1.26&view=markup
+---
+ src/vf_parser.c | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/vf_parser.c b/src/vf_parser.c
+index 2c7221c..1197154 100644
+--- a/src/vf_parser.c
++++ b/src/vf_parser.c
+@@ -333,9 +333,9 @@ bool_t vf_parse_text(
+ /* Ignore */
+ }
+ else
+- if (SPACE == c)
++ if ((SPACE == c) || (TAB == c))
+ {
+- ok = append_to_curr_string(&(p_parse->prop.value.v.s),
NULL, &c, 1);
++ /* Ignore leading white space characters when unfolding
*/
+
+ p_parse->state = _VF_STATE_RFC822VALUE;
+ }
+--
+1.7.6.3
+
diff --git
a/libs/libvformat/0007-Cast-NULL-in-void-in-functions-using-va_arg.patch
b/libs/libvformat/0007-Cast-NULL-in-void-in-functions-using-va_arg.patch
new file mode 100644
index 0000000..a0b4182
--- /dev/null
+++ b/libs/libvformat/0007-Cast-NULL-in-void-in-functions-using-va_arg.patch
@@ -0,0 +1,51 @@
+From a20a232e48b80958b977e3be96f6a859ba61260c Mon Sep 17 00:00:00 2001
+From: Thomas Preud'homme <thomas.preudhomme AT celest.fr>
+Date: Wed, 12 May 2010 18:39:30 +0200
+Subject: Cast NULL in void * in functions using va_arg
+
+NULL isn't necessary a zero value. For instance, on AMD64 architecture,
+a null pointer is 0x7fff00000000. Usually things works automagically as
+the compiler always cast NULL and 0 in void * if stored in a pointer
+variable. But with functions with variable number of arguments the
+compiler can't know the type of the arguments and thus don't make the
+cast. In consequences, NULL and 0 must be cast explicitely in void * if
+the parameter is a pointer.
+
+Origin: vendor
+Forwarded: https://sourceforge.net/tracker/?func=detail&aid=3084905&group_id=37192&atid=419516
+Last-Update: 2010-12-23
+Applied-Upstream: http://vformat.cvs.sourceforge.net/viewvc/vformat/build/vformat/vformat.c?revision=1.22&view=markup
+---
+ test/vformat.c | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/test/vformat.c b/test/vformat.c
+index b4a753d..40c299e 100644
+--- a/test/vformat.c
++++ b/test/vformat.c
+@@ -489,19 +489,19 @@ static void check_extract_fields(
+ }
+
+ printf(" Looking for {%s, %s}...\n", p_array[0], p_array[1]);
+- if (vf_get_property(&p_tmp, p_object, VFGP_FIND, NULL, p_array[0],
p_array[1], NULL))
++ if (vf_get_property(&p_tmp, p_object, VFGP_FIND, NULL, p_array[0],
p_array[1], (void *) NULL))
+ {
+ print_search_results(p_tmp);
+ }
+
+ printf(" Looking for {%s, %s}...\n", p_array[0], p_array[2]);
+- if (vf_get_property(&p_tmp, p_object, VFGP_FIND, NULL, p_array[0],
p_array[2], NULL))
++ if (vf_get_property(&p_tmp, p_object, VFGP_FIND, NULL, p_array[0],
p_array[2], (void *) NULL))
+ {
+ print_search_results(p_tmp);
+ }
+
+ printf(" Looking for {%s, %s, %s}...\n", p_array[0], p_array[1],
p_array[2]);
+- if (vf_get_property(&p_tmp, p_object, VFGP_FIND, NULL, p_array[0],
p_array[1], p_array[2], NULL))
++ if (vf_get_property(&p_tmp, p_object, VFGP_FIND, NULL, p_array[0],
p_array[1], p_array[2], (void *) NULL))
+ {
+ print_search_results(p_tmp);
+ }
+--
+1.7.6.3
+
diff --git a/libs/libvformat/0008-Fix-typo-in-manpage-and-source.patch
b/libs/libvformat/0008-Fix-typo-in-manpage-and-source.patch
new file mode 100644
index 0000000..9d8c979
--- /dev/null
+++ b/libs/libvformat/0008-Fix-typo-in-manpage-and-source.patch
@@ -0,0 +1,69 @@
+From 4f9b820244bfb52e58a11871986e7159e636d57e Mon Sep 17 00:00:00 2001
+From: Thomas Preud'homme <thomas.preudhomme AT celest.fr>
+Date: Wed, 11 Aug 2010 10:45:08 +0200
+Subject: Fix typo in manpage and source
+
+Two function declarations suffer from a mispell: requred instead of required.
+As a consequences, these typo are also found in the manpages generated by
c2man.
+
+Origin: vendor
+Forworded: https://sourceforge.net/tracker/?func=detail&aid=3084926&group_id=37192&atid=419516
+Last-Update: 2010-12-23
+Applied-Upstream: http://vformat.cvs.sourceforge.net/viewvc/vformat/src/vformat/vf_iface.h?revision=1.41&view=markup
+---
+ doc/vf_get_prop_name_string.3 | 2 +-
+ doc/vf_get_prop_value_string.3 | 2 +-
+ vformat/vf_iface.h | 4 ++--
+ 3 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/doc/vf_get_prop_name_string.3 b/doc/vf_get_prop_name_string.3
+index 7d1cfee..aa3bf3b 100644
+--- a/doc/vf_get_prop_name_string.3
++++ b/doc/vf_get_prop_name_string.3
+@@ -23,7 +23,7 @@ extern char *vf_get_prop_name_string
+ Property to locate string from.
+ .TP
+ .B "uint32_t n_string"
+-Index to string requred.
++Index to string required.
+ .SH "DESCRIPTION"
+ Get n'th name string. For example a property may be defined as:
+
+diff --git a/doc/vf_get_prop_value_string.3 b/doc/vf_get_prop_value_string.3
+index 4fc9a81..afc6f66 100644
+--- a/doc/vf_get_prop_value_string.3
++++ b/doc/vf_get_prop_value_string.3
+@@ -23,7 +23,7 @@ extern char *vf_get_prop_value_string
+ Property to locate string from.
+ .TP
+ .B "uint32_t n_string"
+-Index to string requred.
++Index to string required.
+ .SH "DESCRIPTION"
+ Obtain string pointer value from VF_PROP_T. For example a property
+ may be defined as:
+diff --git a/vformat/vf_iface.h b/vformat/vf_iface.h
+index ab5e8d9..12c5f22 100644
+--- a/vformat/vf_iface.h
++++ b/vformat/vf_iface.h
+@@ -906,7 +906,7 @@ extern VFORMATDECLSPEC bool_t vf_set_prop_value(
+
+ extern VFORMATDECLSPEC char *vf_get_prop_value_string(
+ VF_PROP_T *p_prop, /* Property to locate string from */
+- uint32_t n_string /* Index to string requred */
++ uint32_t n_string /* Index to string required */
+ );
+
+
+@@ -931,7 +931,7 @@ extern VFORMATDECLSPEC char *vf_get_prop_value_string(
+
+ extern VFORMATDECLSPEC char *vf_get_prop_name_string(
+ VF_PROP_T *p_prop, /* Property to locate string from */
+- uint32_t n_string /* Index to string requred */
++ uint32_t n_string /* Index to string required */
+ );
+
+
+--
+1.7.6.3
+
diff --git a/libs/libvformat/DETAILS b/libs/libvformat/DETAILS
new file mode 100755
index 0000000..83fe870
--- /dev/null
+++ b/libs/libvformat/DETAILS
@@ -0,0 +1,15 @@
+ SPELL=libvformat
+ VERSION=1.13
+ XVERSION=a6r3
+ SOURCE="${SPELL}-${VERSION}-${XVERSION}.tar.gz"
+ SOURCE_URL[0]=${SOURCEFORGE_URL}/vformat/vformat/Alpha-6-Linux/${SOURCE}
+
SOURCE_HASH=sha512:f809c993db004be0c490a79b123c4357dc4e7106bf7875a91ef3a23a6aaeac1135b53248feb5ab739994e79749eb8aca2ac4a544da9df274b7aa87c1f665076b
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
+ WEB_SITE="http://vformat.sourceforge.net/"
+ LICENSE[0]=GPL
+ ENTERED=20121220
+ SHORT="small, portable library for accessing vformat objects eg
VCARD"
+cat << EOF
+This library provides an interface to vcard files according to the
definitions
+laid down in the rfc2426.
+EOF
diff --git a/libs/libvformat/HISTORY b/libs/libvformat/HISTORY
new file mode 100644
index 0000000..686061b
--- /dev/null
+++ b/libs/libvformat/HISTORY
@@ -0,0 +1,9 @@
+2012-12-20 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * 0004-Provide-info-documentation.patch,
+ 0005-Add-manpages.patch,
+ 0006-Remove-leading-space-when-unfolding.patch,
+ 0007-Cast-NULL-in-void-in-functions-using-va_arg.patch,
+ 0008-Fix-typo-in-manpage-and-source.patch,
+ DETAILS,
+ PRE_BUILD: spell created
+
diff --git a/libs/libvformat/PRE_BUILD b/libs/libvformat/PRE_BUILD
new file mode 100755
index 0000000..852b201
--- /dev/null
+++ b/libs/libvformat/PRE_BUILD
@@ -0,0 +1,11 @@
+default_pre_build &&
+cd ${SOURCE_DIRECTORY} &&
+
+
+patch -p1 < ${SPELL_DIRECTORY}/0004-Provide-info-documentation.patch &&
+patch -p1 < ${SPELL_DIRECTORY}/0005-Add-manpages.patch &&
+patch -p1 <
${SPELL_DIRECTORY}/0006-Remove-leading-space-when-unfolding.patch &&
+patch -p1 <
${SPELL_DIRECTORY}/0007-Cast-NULL-in-void-in-functions-using-va_arg.patch &&
+patch -p1 < ${SPELL_DIRECTORY}/0008-Fix-typo-in-manpage-and-source.patch &&
+
+autoreconf -fi
diff --git a/lua-forge/lgi/BUILD b/lua-forge/lgi/BUILD
new file mode 100755
index 0000000..6dfecc1
--- /dev/null
+++ b/lua-forge/lgi/BUILD
@@ -0,0 +1 @@
+default_build_make
diff --git a/lua-forge/lgi/DEPENDS b/lua-forge/lgi/DEPENDS
new file mode 100755
index 0000000..fb3d247
--- /dev/null
+++ b/lua-forge/lgi/DEPENDS
@@ -0,0 +1,2 @@
+depends LUA &&
+depends gobject-introspection
diff --git a/lua-forge/lgi/DETAILS b/lua-forge/lgi/DETAILS
new file mode 100755
index 0000000..94f2e62
--- /dev/null
+++ b/lua-forge/lgi/DETAILS
@@ -0,0 +1,14 @@
+ SPELL=lgi
+ VERSION=0.6.2
+ SOURCE="${SPELL}-${VERSION}.zip"
+ SOURCE_URL[0]=https://github.com/pavouk/${SPELL}/archive/${VERSION}.zip
+
SOURCE_HASH=sha512:0ccd86ed45e7c64858b7147695e9b784a12762d226ac84d942f26ef099f106049c668a2cf786b997029d5d7c7daf4b294ff983f49f6952246e1429e86ac50442
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
+ WEB_SITE="https://github.com/pavouk/lgi"
+ LICENSE[0]=MIT
+ ENTERED=20121223
+ SHORT="Dynamic Lua binding to GObject libraries using
GObject-Introspection"
+cat << EOF
+LGI is gobject-introspection based dynamic Lua binding to GObject based
+libraries. It allows using GObject-based libraries directly from Lua.
+EOF
diff --git a/lua-forge/lgi/HISTORY b/lua-forge/lgi/HISTORY
new file mode 100644
index 0000000..d3d4cd0
--- /dev/null
+++ b/lua-forge/lgi/HISTORY
@@ -0,0 +1,3 @@
+2012-12-23 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * BUILD, DEPENDS, DETAILS: spell created
+
diff --git a/lxde/menu-cache/DETAILS b/lxde/menu-cache/DETAILS
index e9e400d..cdd8f2f 100755
--- a/lxde/menu-cache/DETAILS
+++ b/lxde/menu-cache/DETAILS
@@ -1,8 +1,8 @@
SPELL=menu-cache
- VERSION=0.3.2
+ VERSION=0.4.1
SOURCE="${SPELL}-${VERSION}.tar.gz"
SOURCE_URL[0]=$SOURCEFORGE_URL/lxde/${SOURCE}
-
SOURCE_HASH=sha512:7cc9e0f6b2e992233149b7db3ee571fc1e67692125c4bd52fe08ab1bc63d3e937a383a3345d513369f530cecc9ed40708826421d7adff2150a4f1c92cb251056
+
SOURCE_HASH=sha512:9744765f6894462139cbb9cbeec74c915df27bfeb31179743fc6dbf2ac20e26520be6d089c8733f0a17248a2aa6687730c5ee28f26eb15195eaa16db5c73aec6
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
WEB_SITE=http://lxde.sourceforge.net/
LICENSE[0]=GPL
diff --git a/lxde/menu-cache/HISTORY b/lxde/menu-cache/HISTORY
index 1892541..23a85ad 100644
--- a/lxde/menu-cache/HISTORY
+++ b/lxde/menu-cache/HISTORY
@@ -1,3 +1,6 @@
+2012-12-24 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS: version 0.4.1
+
2010-06-01 Bor Kraljič <pyrobor AT ver.si>
* DETAILS: updated spell to 0.3.2
diff --git a/mail/lbdb/DEPENDS b/mail/lbdb/DEPENDS
new file mode 100755
index 0000000..03b8f2c
--- /dev/null
+++ b/mail/lbdb/DEPENDS
@@ -0,0 +1,6 @@
+depends libvformat &&
+depends perl &&
+suggest_depends mutt "" "" "use lbdb in mutt's query function" &&
+suggest_depends procmail "" "" "pipe incoming mails to lbdb for analysis" &&
+suggest_depends finger "" "" "for lbdb's finger backend" &&
+suggest_depends abook "" "" "for lbdb's abook backend"
diff --git a/mail/lbdb/DETAILS b/mail/lbdb/DETAILS
new file mode 100755
index 0000000..9690df8
--- /dev/null
+++ b/mail/lbdb/DETAILS
@@ -0,0 +1,34 @@
+ SPELL=lbdb
+ VERSION=0.38
+ SOURCE="${SPELL}_${VERSION}.tar.gz"
+ SOURCE_URL[0]=http://www.spinnaker.de/debian/${SOURCE}
+
SOURCE_HASH=sha512:7c8dca22fb82f127e773086517ed21deecc78d4b595ef0e08467d05424f0f11a6d5ce3bcea7827ab7e2e78d1cf96c71b1ce65f9fff5263a4d959374ea1865cac
+SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}-${VERSION}"
+ WEB_SITE="http://www.spinnaker.de/lbdb/"
+ LICENSE[0]=GPL
+ ENTERED=20121220
+ SHORT="Little Brother's DataBase for the mutt mail reader"
+cat << EOF
+This package consists of a set of small tools, which collect mail addresses
+from several sources and offer these addresses to the mutt external query
+feature. At the moment the following modules are supported:
+ - m_finger (uses the finger(1) command)
+ - m_inmail (scans incoming mail for addresses)
+ - m_passwd (searches /etc/passwd)
+ - m_yppasswd (searches the YP password database)
+ - m_nispasswd (searches the NIS password database)
+ - m_getent (searches the configured password database)
+ - m_pgp2, m_pgp5, m_gpg (searches your PGP or GnuPG keyrings)
+ - m_fido (searches the Fidonet nodelist)
+ - m_abook (uses the address book application abook(1))
+ - m_addr_email (uses addr-email from the addressbook Tk program)
+ - m_muttalias (searches your Mutt mail aliases)
+ - m_pine (searches your Pine addressbook files)
+ - m_wanderlust (search the WanderLust alias database)
+ - m_palm (uses your Palm database; needs libpalm-perl package)
+ - m_gnomecard (uses GnomeCard database files)
+ - m_bbdb (search your BBDB (big brother database))
+ - m_ldap (query some LDAP server)
+ - m_evolution (search in the Evolution addressbook)
+ - m_vcf (search in vcard files using libvformat)
+EOF
diff --git a/mail/lbdb/HISTORY b/mail/lbdb/HISTORY
new file mode 100644
index 0000000..692d9d5
--- /dev/null
+++ b/mail/lbdb/HISTORY
@@ -0,0 +1,3 @@
+2012-12-20 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DEPENDS, DETAILS: spell created
+
diff --git a/net/iputils-tracepath/DETAILS b/net/iputils-tracepath/DETAILS
index 639173f..c54cf85 100755
--- a/net/iputils-tracepath/DETAILS
+++ b/net/iputils-tracepath/DETAILS
@@ -1,14 +1,14 @@
SPELL=iputils-tracepath
- VERSION=20071127-1
+ VERSION=20101006-3
SOURCE=iputils_${VERSION:0:8}.orig.tar.gz
- SOURCE2=iputils_${VERSION}.diff.gz
-SOURCE_DIRECTORY=$BUILD_DIRECTORY/iputils_${VERSION:0:8}.orig
+ SOURCE2=iputils_${VERSION}.debian.tar.gz
+SOURCE_DIRECTORY=$BUILD_DIRECTORY/iputils
SOURCE_URL[0]=http://ftp.debian.org/debian/pool/main/i/iputils/$SOURCE
- SOURCE2_URL[0]=http://ftp.debian.org/debian/pool/main/i/iputils/$SOURCE2
+ SOURCE2_URL[0]=http://ftp.debian.org/debian/pool/main/i/iputils/${SOURCE2}
WEB_SITE=http://packages.debian.org/unstable/net/iputils-tracepath.html
ENTERED=20030515
-
SOURCE_HASH=sha512:7791934d2110e934043d373463f758239d6706a7d87e5dfab2377523830b12aebc24c5f29da7b294df2102f3f0f00589b842eb5c74d86eb29ce1e304d5de7a7d
-
SOURCE2_HASH=sha512:3285ac37dd5645e34e373131dc562fa7d258763c505a37762c7cd5cbb61c2fbdc5548ea728c9a0571afdd13203bbe2a825b09430a0a4c7daccee9c847a8bfd15
+ SOURCE_HASH=sha512:
+ SOURCE2_HASH=sha512:
LICENSE[0]=GPL
DOCS="README"
KEYWORDS="net"
diff --git a/net/iputils-tracepath/HISTORY b/net/iputils-tracepath/HISTORY
index f3b0a59..425d30d 100644
--- a/net/iputils-tracepath/HISTORY
+++ b/net/iputils-tracepath/HISTORY
@@ -1,3 +1,6 @@
+2012-12-24 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS, PRE_BUILD: version 20101006-3
+
2010-06-13 Robin Cook <rcook AT wyrms.net>
* BUILD: corrected spelling of function so docs build
diff --git a/net/iputils-tracepath/PRE_BUILD b/net/iputils-tracepath/PRE_BUILD
index 8b80431..4f18aee 100755
--- a/net/iputils-tracepath/PRE_BUILD
+++ b/net/iputils-tracepath/PRE_BUILD
@@ -1,5 +1,4 @@
default_pre_build &&
cd $SOURCE_DIRECTORY &&
- unpack_file 2 &&
- gunzip -c $SOURCE_CACHE/$SOURCE2 | patch -p1
+ unpack_file 2
diff --git a/perl-cpan/ps2eps/DETAILS b/perl-cpan/ps2eps/DETAILS
index 72c5996..03c4327 100755
--- a/perl-cpan/ps2eps/DETAILS
+++ b/perl-cpan/ps2eps/DETAILS
@@ -1,8 +1,8 @@
SPELL=ps2eps
- VERSION=1.64
+ VERSION=1.68
SOURCE="${SPELL}-${VERSION}.tar.gz"
SOURCE_URL[0]=http://www.tm.uka.de/~bless/${SOURCE}
-
SOURCE_HASH=sha512:b41c70d9a2d1ff2abb2782afd5e78726715278a65cf4ae787070773b87552d5df4e2566dc2983291fc2985a9d888677deb3478bb9f8cfc23836b244b778b490f
+
SOURCE_HASH=sha512:7fc84da5da00d5b1169d6e337b1db232adf80d9d957e48bfdd9272946151adca3e44f712587387ef557488cd15f44210b3fbd8c545488ec0071641d9d25a9c2b
SOURCE_DIRECTORY="${BUILD_DIRECTORY}/${SPELL}"
WEB_SITE="http://www.tm.uka.de/~bless/ps2eps.html"
LICENSE[0]="GPL"
diff --git a/perl-cpan/ps2eps/HISTORY b/perl-cpan/ps2eps/HISTORY
index 5ade3eb..a08f381 100644
--- a/perl-cpan/ps2eps/HISTORY
+++ b/perl-cpan/ps2eps/HISTORY
@@ -1,3 +1,6 @@
+2012-12-24 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * DETAILS: version 1.68
+
2009-07-29 Andraž "ruskie" Levstik <ruskie+f03a580f AT codemages.net>
* DEPENDS, DETAILS: spell created
* BUILD, INSTALL: spell created
diff --git a/python-pypi/ctypes/BUILD b/python-pypi/ctypes/BUILD
new file mode 100755
index 0000000..27ba77d
--- /dev/null
+++ b/python-pypi/ctypes/BUILD
@@ -0,0 +1 @@
+true
diff --git a/python-pypi/ctypes/DETAILS b/python-pypi/ctypes/DETAILS
index 8999a23..5091789 100755
--- a/python-pypi/ctypes/DETAILS
+++ b/python-pypi/ctypes/DETAILS
@@ -1,19 +1,7 @@
- SPELL=ctypes
- VERSION=1.0.2
- SOURCE=$SPELL-$VERSION.tar.gz
-SOURCE_DIRECTORY=$BUILD_DIRECTORY/$SPELL-$VERSION
- SOURCE_URL=$SOURCEFORGE_URL/$SPELL/$SOURCE
-
SOURCE_HASH=sha512:40f8909945ad25a9b92a52903a9c524f37c4c902b122959c6e08bcfe4c30572541f15174e33a08e7ceb5e4f1a69566af0201779a519c643705d355c9f47aacd3
- WEB_SITE=http://starship.python.net/crew/theller/ctypes/
- ENTERED=20060627
- LICENSE[0]=GPL
- SHORT="advanced ffi package"
-cat << EOF
-ctypes is an advanced ffi (Foreign Function Interface) package for Python 2.3
-and higher.
-
-ctypes allows to call functions exposed from dlls/shared libraries and has
-extensive facilities to create, access and manipulate simple and complicated
C
-data types in Python - in other words: wrap libraries in pure Python. It is
-even possible to implement C callback functions in pure Python.
-EOF
+ SPELL=ctypes
+ VERSION=0
+ PATCHLEVEL=9999
+ SHORT="deprecated"
+ cat << EOF
+ deprecated spell [replaced by python]
+ EOF
diff --git a/python-pypi/ctypes/DOWNLOAD b/python-pypi/ctypes/DOWNLOAD
new file mode 100755
index 0000000..27ba77d
--- /dev/null
+++ b/python-pypi/ctypes/DOWNLOAD
@@ -0,0 +1 @@
+true
diff --git a/python-pypi/ctypes/HISTORY b/python-pypi/ctypes/HISTORY
index 78b9e53..64f20b3 100644
--- a/python-pypi/ctypes/HISTORY
+++ b/python-pypi/ctypes/HISTORY
@@ -1,3 +1,8 @@
+2012-12-23 Florian Franzmann <siflfran AT hawo.stw.uni-erlangen.de>
+ * spell deprecated [part of python as of version 2.5]
+ * PATCHLEVEL=9999
+ * DETAILS: version 0
+
2008-01-13 Vlad Glagolev <stealth AT sourcemage.org>
* DETAILS: updated to 1.0.2, cleaned up