18 lines
591 B
Diff
18 lines
591 B
Diff
|
diff -up expect5.45/expect.c.orig expect5.45/expect.c
|
||
|
--- expect5.45/expect.c.orig 2012-02-06 14:15:13.469490744 +0100
|
||
|
+++ expect5.45/expect.c 2012-02-06 14:16:23.596837896 +0100
|
||
|
@@ -2363,7 +2363,12 @@ expMatchProcess(
|
||
|
|
||
|
/* "!e" means no case matched - transfer by default */
|
||
|
if (!e || e->transfer) {
|
||
|
- int remainder = numchars-match;
|
||
|
+ int remainder;
|
||
|
+ if (match > numchars) {
|
||
|
+ match = numchars;
|
||
|
+ eo->matchlen = match;
|
||
|
+ }
|
||
|
+ remainder = numchars-match;
|
||
|
/* delete matched chars from input buffer */
|
||
|
esPtr->printed -= match;
|
||
|
if (numchars != 0) {
|