Package: lbdb
Version: 0.34
Severity: normal
Tags: patch
Hi,
lbdbq always ignored the first entry in a VFC file here.
The reason is an improper usage of vf_get_next_object(). According to the
documentation for libvformat, vf_read_file() always points to the first
entry. As vcquery.c always does a vf_get_next_object() just after
vf_read_file(), the first entry is lost.
The attached patch fixes this problem by using vf_read_file() and
vf_get_next_object() like described in man 3 vf_get_next_object.
Regards,
Tino
-- System Information:
Debian Release: 4.0
APT prefers unstable
APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18.2
Locale: LANG=C, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Versions of packages lbdb depends on:
ii libc6 2.3.6.ds1-9 GNU C Library: Shared libraries
ii libvformat1 1.13-4 Library to read and write vcard fi
ii perl 5.8.8-7 Larry Wall's Practical Extraction
lbdb recommends no packages.
-- no debconf information
--- lbdb-0.34.orig/vcquery.c 2006-11-12 13:08:21.000000000 +0100
+++ lbdb-0.34/vcquery.c 2007-01-02 14:56:26.450181847 +0100
@@ -47,7 +47,7 @@
return 1;
}
- while (vf_get_next_object(&vfobj)) {
+ do {
fullname = 0;
/* First extract name */
if (vf_get_property(&prop, vfobj, VFGP_FIND, NULL, "FN", NULL))
@@ -85,7 +85,7 @@
if (fullname)
free(fullname);
- }
+ } while (vf_get_next_object(&vfobj));
return 0;
}