Package: libc6-dev Version: 2.11.1-3 Severity: minor Tags: upstream /usr/include/regex.h says:
/* If this bit is set, then report only success or fail in regexec. If not set, then returns differ between not matching and errors. */ #define REG_NOSUB (REG_NEWLINE << 1) It doesn't say anything about not storing the location of the match of the entire regex in __pmatch[0]. However, when REG_NOSUB is set, the location is not stored as the test program below shows. This may be the expected behaviour. In this case, it should be made clear in the comment above, since the name of the constant suggests it only affects sub-matches. #include <stdio.h> #include <regex.h> int main () { regex_t r; regmatch_t m[1]; int i; for (i = 0; i < 2; i++) { m[0].rm_so = m[0].rm_eo = -1; printf ("%s REG_NOSUB: ", i ? "with" : "without"); if (regcomp (&r, "b", i * REG_NOSUB)) printf ("error in regcomp\n"); else if (regexec (&r, "abc", 1, m, 0)) printf ("no match\n"); else printf ("%i %i\n", m[0].rm_so, m[0].rm_eo); } } Output: without REG_NOSUB: 1 2 with REG_NOSUB: -1 -1 -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: i386 (i686) Versions of packages libc6-dev depends on: ii libc-dev-bin 2.11.1-3 Embedded GNU C Library: Developmen ii libc6 2.11.1-3 Embedded GNU C Library: Shared lib ii linux-libc-dev 2.6.32-15 Linux support headers for userspac -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org