My original purpose was to avoid the same thing to be checked twice.
If you want non error situation in the front, I'd prefer something like this.
```
if ( p ) {
    if ( *p ) {
        return p-1;
    }
} else {
    _document->SetError( XML_ERROR_PARSING_TEXT, start, 0 );
}
```