Package: xml2 Version: 0.4-3.1 Severity: normal Tags: upstream To reproduce: $ echo -e '/fooa/foo/a=mesh\n/fooa/foo/b=desh'|2csv foo a b (no output)
$ echo -e '/fooa/foo/a=mesh\n/fooa/foo/b=desh'|2csv fooa/foo a b mesh,desh The output should be the same in both situations. (Except that the documentation lacks 2csv examples, so it's hard to tell how exactly 2csv should be used.) The bug is here in 2csv.c: find = strstr(buffer,record); if (NULL == find || '/' != find[record_len] || (buffer != find && '/' != find[-1])) { dump(argc,fields,quote,delimiter); continue; } it tries to check whether we got out of a record and should dump the record values, but because strstr only finds the _first_ occurrence of the record identifier, the logic does not work if there are superelements of the record element which contain its name as a substring of their name. -- System Information: Debian Release: 8.2 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=fi_FI.UTF-8, LC_CTYPE=fi_FI.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages xml2 depends on: ii libc6 2.19-18+deb8u1 ii libxml2 2.9.1+dfsg1-5+deb8u1 xml2 recommends no packages. xml2 suggests no packages. -- no debconf information