Fix 2 off-by-one errors in the call to ninstr().
Gisle Aas [Wed, 28 Dec 2005 10:57:46 +0000 (10:57 +0000)]
This code managed to still work because of a bug
in how ninstr() treats empty search strings.

p4raw-id: //depot/perl@26509

ext/Filter/Util/Call/Call.xs

index 05fe95f..f3344dc 100644 (file)
@@ -85,7 +85,7 @@ filter_call(pTHX_ int idx, SV *buf_sv, int maxlen)
            }
            else {
                /* want lines */
-                if ((p = ninstr(out_ptr, out_ptr + n - 1, nl, nl))) {
+                if ((p = ninstr(out_ptr, out_ptr + n, nl, nl + 1))) {
 
                    sv_catpvn(buf_sv, out_ptr, p - out_ptr + 1);