*** apcmaster.c Sat Feb 8 04:00:04 2003 --- ./apcmaster.c.patched Wed May 14 20:18:11 2003 *************** *** 60,65 **** --- 60,66 ---- #include #include #include + #include #include #define PIL_PLUGINTYPE STONITH_TYPE *************** *** 222,227 **** --- 223,230 ---- , {NULL,0,0}}; static struct Etoken login[] = { {"User Name :", 0, 0}, {NULL,0,0}}; static struct Etoken password[] = { {"Password :", 0, 0} ,{NULL,0,0}}; + static struct Etoken EnterTok[] = { {"", 0, 0} ,{NULL,0,0}}; + static struct Etoken EscTok[] = { {"", 0, 0} ,{NULL,0,0}}; static struct Etoken Prompt[] = { {"> ", 0, 0} ,{NULL,0,0}}; static struct Etoken LoginOK[] = { {APCMSSTR, 0, 0} , {"User Name :", 1, 0} ,{NULL,0,0}}; *************** *** 580,595 **** --- 583,611 ---- int ret = -1; /* Verify that we're in the top-level menu */ + EXPECT(EnterTok, 5); + EXPECT(EscTok, 5); EXPECT(Prompt, 5); SEND("\033"); + + EXPECT(EnterTok, 5); + EXPECT(EscTok, 5); EXPECT(Prompt, 5); SEND("\033"); + + EXPECT(EnterTok, 5); + EXPECT(EscTok, 5); EXPECT(Prompt, 5); SEND("\033"); + + EXPECT(EnterTok, 5); + EXPECT(EscTok, 5); EXPECT(Prompt, 5); SEND("\033"); /* Expect ">" */ + EXPECT(EnterTok, 5); + EXPECT(EscTok, 5); EXPECT(Prompt, 5); /* Request menu 1 (Device Control) */ *************** *** 607,621 **** NameMapping[0] = EOS; SNARF(NameMapping, 5); if (sscanf(NameMapping ! , "%d- %23c",&sockno, sockname) == 2) { ! char * last = sockname+23; *last = EOS; - --last; ! /* Strip off trailing blanks */ ! for(; last > sockname; --last) { ! if (*last == ' ') { *last = EOS; }else{ break; --- 623,636 ---- NameMapping[0] = EOS; SNARF(NameMapping, 5); if (sscanf(NameMapping ! , "%d- %*s %*d %*s %32[^\n]",&sockno, sockname) == 2) { ! char * last = sockname + 32; *last = EOS; ! /* Strip off trailing blanks */ ! for(--last; last > sockname; --last) { ! if (isspace((int)*last)) { *last = EOS; }else{ break; *************** *** 628,641 **** --- 643,668 ---- } while (strlen(NameMapping) > 2 && times < 8); /* Pop back out to the top level menu */ + EXPECT(EnterTok, 5); + EXPECT(EscTok, 5); EXPECT(Prompt, 5); SEND("\033"); + + EXPECT(EnterTok, 5); + EXPECT(EscTok, 5); EXPECT(Prompt, 5); SEND("\033"); + + EXPECT(EnterTok, 5); + EXPECT(EscTok, 5); EXPECT(Prompt, 5); SEND("\033"); + + EXPECT(EnterTok, 5); + EXPECT(EscTok, 5); EXPECT(Prompt, 5); SEND("\033"); + return(ret); }