全部文本 #1547238 原始 编辑

Miscellany

公开 text v1 · 不可变
·已发布 2009-08-29 15:41 UTC
渲染后的文本正文
diff --git a/gatchat/gatsyntax.c b/gatchat/gatsyntax.c
index 5db01a7..d7c9ee2 100644
--- a/gatchat/gatsyntax.c
+++ b/gatchat/gatsyntax.c
@@ -182,6 +182,16 @@ static GAtSyntaxResult gsmv1_feed(GAtSyntax *syntax,
 		case GSMV1_STATE_GARBAGE:
 			if (byte == '\r')
 				syntax->state = GSMV1_STATE_GARBAGE_CHECK_LF;
+			/* This handles the case of echo of the PDU terminated
+			 * by CtrlZ character
+			 */
+			else if (byte == 26) {
+				syntax->state = GSMV1_STATE_IDLE;
+				res = G_AT_SYNTAX_RESULT_UNRECOGNIZED;
+				i += 1;
+				goto out;
+			}
+
 			break;
 
 		case GSMV1_STATE_GARBAGE_CHECK_LF: