*
* Licensed under GPLv2, see file LICENSE in this source tree.
*/
+
+//usage:#define chat_trivial_usage
+//usage: "EXPECT [SEND [EXPECT [SEND...]]]"
+//usage:#define chat_full_usage "\n\n"
+//usage: "Useful for interacting with a modem connected to stdin/stdout.\n"
+//usage: "A script consists of one or more \"expect-send\" pairs of strings,\n"
+//usage: "each pair is a pair of arguments. Example:\n"
+//usage: "chat '' ATZ OK ATD123456 CONNECT '' ogin: pppuser word: ppppass '~'"
+
#include "libbb.h"
// default timeout: 45 sec
llist_add_to_end(&aborts, arg);
#if ENABLE_FEATURE_CHAT_CLR_ABORT
} else if (DIR_CLR_ABORT == key) {
+ llist_t *l;
// remove the string from abort conditions
// N.B. gotta refresh maximum length too...
-#if ENABLE_FEATURE_CHAT_VAR_ABORT_LEN
+# if ENABLE_FEATURE_CHAT_VAR_ABORT_LEN
max_abort_len = 0;
-#endif
- for (llist_t *l = aborts; l; l = l->link) {
-#if ENABLE_FEATURE_CHAT_VAR_ABORT_LEN
+# endif
+ for (l = aborts; l; l = l->link) {
+# if ENABLE_FEATURE_CHAT_VAR_ABORT_LEN
size_t len = strlen(l->data);
-#endif
- if (!strcmp(arg, l->data)) {
+# endif
+ if (strcmp(arg, l->data) == 0) {
llist_unlink(&aborts, l);
continue;
}
-#if ENABLE_FEATURE_CHAT_VAR_ABORT_LEN
+# if ENABLE_FEATURE_CHAT_VAR_ABORT_LEN
if (len > max_abort_len)
max_abort_len = len;
-#endif
+# endif
}
#endif
} else if (DIR_TIMEOUT == key) {