mirror of
git://git.code.sf.net/p/cdesktopenv/code
synced 2025-03-09 15:50:02 +00:00
libast: regex: re-backport robustness improvements from 93v- beta
That intermittent regression test failure in types.sh seems to be gone. So let's reimport the regex changes into the 1.0 branch to subject them to wider testing and make sure any failures stay gone. (re:48568476
,38aab428
,1aa8f771
) [Original commit message from1aa8f771
follows] There are two main changes: 1. The regex code now creates and uses its own stack (env->mst) instead of using the shared standard stack (stkstd). That seems likely to be a good thing. 2. Missing mbinit() calls were inserted. The 93v- code uses a completely different multibyte characters API, so these needed to be translated back to the older API. But, as mbinit() is no longer a no-op as of300cd199
, these calls do stop things from breaking if a previous operation is interrupted mid-character. I think there might be a couple of off-by-one errors fixed as well, as there are two instances of this change: - while ((index += skip[buf[index]]) < mid); + while (index < mid) + index += skip[buf[index]];
This commit is contained in:
parent
4032050249
commit
de511cfbc2
8 changed files with 89 additions and 60 deletions
|
@ -25,7 +25,7 @@
|
|||
* POSIX regex error message handler
|
||||
*/
|
||||
|
||||
static const char id[] = "\n@(#)$Id: regex (AT&T Research) 2012-05-31 $\0\n";
|
||||
static const char id[] = "\n@(#)$Id: regex (AT&T Research) 2012-09-27 $\0\n";
|
||||
|
||||
#include "reglib.h"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue