From 100e86891d03181d5a77639b903e799e97ffb187 Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周三, 26 12月 2012 20:47:08 +0800
Subject: [PATCH] Add output flush callback

---
 libscpi/src/parser.c |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/libscpi/src/parser.c b/libscpi/src/parser.c
index adf7e90..b5a5a9b 100644
--- a/libscpi/src/parser.c
+++ b/libscpi/src/parser.c
@@ -245,6 +245,19 @@
 }
 
 /**
+ * Flush data to SCPI output
+ * @param context
+ * @return
+ */
+static inline int flushData(scpi_t * context) {
+    if (context && context->interface && context->interface->flush) {
+        return context->interface->flush(context);
+    } else {
+        return SCPI_RES_OK;
+    }
+}
+
+/**
  * Write result delimiter to output
  * @param context
  * @return number of bytes written
@@ -263,8 +276,11 @@
  * @return pocet zapsanych znaku
  */
 static inline size_t writeNewLine(scpi_t * context) {
+    size_t len;
     if (context->output_count > 0) {
-        return writeData(context, "\r\n", 2);
+        len = writeData(context, "\r\n", 2);
+        flushData(context);
+        return len;
     } else {
         return 0;
     }

--
Gitblit v1.9.1