On 10/13/2011 9:36 AM, Jim Jagielski wrote:
> 
> I propose that if nmatch>AP_MAX_REG_MATCH, we return the orig
> string. From what I can tell, we've never returned NULL, unless
> the source itself was NULL, having our failure return the orig
> string seems safest.

I can't see how this is possible.  An error condition must be
triggered somehow, in the absence of giving the user a test to
determine if their ap_pregsub call would succeed.

This is certainly a fine example of bad API design; one would
expect most of us to author something accepting a char **result
arg and returning an apr_status_t.

But returning success for failure violates all API design.

The only other option at this late date might be a marked ""
string result.  Return \0\xba\xad\0 or similar; and give the
user an AP_PREGSUB_SUCCESS() test to inspect the result.  Of
course all normal null string results would have to be padded,
as well (\0\0 at least).

Reply via email to