cmd/tests: Fix "broken" handling when expected line is empty (try 2)

Frédéric Delanoy frederic.delanoy at gmail.com
Tue Aug 2 15:55:37 CDT 2011


Changes: Avoid sloppy goto. Don't know what passed through my head...
---
 programs/cmd/tests/batch.c |   10 ++++++++++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/programs/cmd/tests/batch.c b/programs/cmd/tests/batch.c
index 84d7f39..c4ccaab 100644
--- a/programs/cmd/tests/batch.c
+++ b/programs/cmd/tests/batch.c
@@ -152,6 +152,16 @@ static const char *compare_line(const char *out_line, const char *out_end, const
     static const char space_cmd[] = {'@','s','p','a','c','e','@'};
     static const char or_broken_cmd[] = {'@','o','r','_','b','r','o','k','e','n','@'};
 
+    /* Corner case where exp_line directly starts with @or_broken@, on Windowses */
+    if(broken(1)
+            && exp_line+sizeof(or_broken_cmd) <= exp_end
+            && !memcmp(exp_line, or_broken_cmd, sizeof(or_broken_cmd))) {
+        if(out_line == out_end)
+            return NULL;
+        else
+            exp_ptr = exp_line + sizeof(or_broken_cmd);
+    }
+
     while(exp_ptr < exp_end) {
         if(*exp_ptr == '@') {
             if(exp_ptr+sizeof(pwd_cmd) <= exp_end
-- 
1.7.6




More information about the wine-patches mailing list