All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Add WSP_VALUE_TYPE_TEXT support in wsp_decode_application_id()
@ 2012-05-30  8:59 Jens Rehsack
  2012-05-30 13:49 ` Denis Kenzior
  0 siblings, 1 reply; 10+ messages in thread
From: Jens Rehsack @ 2012-05-30  8:59 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1364 bytes --]

From: Jens Rehsack <sno@NetBSD.org>

---
 src/wsputil.c |   24 ++++++++++++++++++++----
 1 Datei geändert, 20 Zeilen hinzugefügt(+), 4 Zeilen entfernt(-)

diff --git a/src/wsputil.c b/src/wsputil.c
index 1b2b2b7..ece58e6 100644
--- a/src/wsputil.c
+++ b/src/wsputil.c
@@ -490,13 +490,26 @@ gboolean wsp_decode_application_id(struct wsp_header_iter *iter,
 	unsigned int val_len;
 	unsigned int i;
 
+	switch (wsp_header_iter_get_val_type(iter)) {
+	case WSP_VALUE_TYPE_TEXT:
+		if (out_value)
+			*out_value = pdu_val;
+
+		break;
+
 	/*
 	 * Well-known field values MUST be encoded using the
 	 * compact binary formats
 	 */
-	if (wsp_header_iter_get_val_type(iter) == WSP_VALUE_TYPE_SHORT) {
+	case WSP_VALUE_TYPE_SHORT:
 		val = *pdu_val & 0x7f;
-	} else {
+
+		if (out_value)
+			*out_value = get_text_entry(val, app_id);
+
+		break;
+
+	case WSP_VALUE_TYPE_LONG:
 		val_len = wsp_header_iter_get_val_len(iter);
 
 		if (val_len > 2)
@@ -504,10 +517,13 @@ gboolean wsp_decode_application_id(struct wsp_header_iter *iter,
 
 		for (i = 0, val = 0; i < val_len && i < sizeof(val); i++)
 			val = (val << 8) | pdu_val[i];
+
+		if (out_value)
+			*out_value = get_text_entry(val, app_id);
+
+		break;
 	}
 
-	if (out_value)
-		*out_value = get_text_entry(val, app_id);
 
 	return TRUE;
 }
-- 
1.7.10.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [PATCH] Add WSP_VALUE_TYPE_TEXT support in wsp_decode_application_id()
@ 2012-05-21 10:54 Jens Rehsack
  2012-05-21 16:23 ` Ronald Tessier
  0 siblings, 1 reply; 10+ messages in thread
From: Jens Rehsack @ 2012-05-21 10:54 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 1784 bytes --]

From: Jens Rehsack <sno@NetBSD.org>

---
 src/wsputil.c |   43 ++++++++++++++++++++++++++-----------------
 1 Datei geändert, 26 Zeilen hinzugefügt(+), 17 Zeilen entfernt(-)

diff --git a/src/wsputil.c b/src/wsputil.c
index 1b2b2b7..5611ed2 100644
--- a/src/wsputil.c
+++ b/src/wsputil.c
@@ -486,28 +486,37 @@ gboolean wsp_decode_application_id(struct wsp_header_iter *iter,
 							const void **out_value)
 {
 	const unsigned char *pdu_val = wsp_header_iter_get_val(iter);
-	unsigned int val;
-	unsigned int val_len;
-	unsigned int i;
 
-	/*
-	 * Well-known field values MUST be encoded using the
-	 * compact binary formats
-	 */
-	if (wsp_header_iter_get_val_type(iter) == WSP_VALUE_TYPE_SHORT) {
-		val = *pdu_val & 0x7f;
+	if (wsp_header_iter_get_val_type(iter) == WSP_VALUE_TYPE_TEXT) {
+		wsp_header_iter_get_val_len(iter);
+
+		if (out_value)
+			*out_value = pdu_val;
 	} else {
-		val_len = wsp_header_iter_get_val_len(iter);
+		unsigned int val;
 
-		if (val_len > 2)
-			return FALSE;
+		/*
+		 * Well-known field values MUST be encoded using the
+		 * compact binary formats
+		 */
+		if (wsp_header_iter_get_val_type(iter) == WSP_VALUE_TYPE_SHORT) {
+			val = *pdu_val & 0x7f;
+		} else  {
+			unsigned int val_len;
+			unsigned int i;
 
-		for (i = 0, val = 0; i < val_len && i < sizeof(val); i++)
-			val = (val << 8) | pdu_val[i];
-	}
+			val_len = wsp_header_iter_get_val_len(iter);
 
-	if (out_value)
-		*out_value = get_text_entry(val, app_id);
+			if (val_len > 2)
+				return FALSE;
+
+			for (i = 0, val = 0; i < val_len && i < sizeof(val); i++)
+				val = (val << 8) | pdu_val[i];
+		}
+
+		if (out_value)
+			*out_value = get_text_entry(val, app_id);
+	}
 
 	return TRUE;
 }
-- 
1.7.10.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread
* [PATCH] Add WSP_VALUE_TYPE_TEXT support in wsp_decode_application_id()
@ 2012-05-16 14:03 Jens Rehsack
  2012-05-16 15:45 ` Ronald Tessier
  0 siblings, 1 reply; 10+ messages in thread
From: Jens Rehsack @ 2012-05-16 14:03 UTC (permalink / raw)
  To: ofono

[-- Attachment #1: Type: text/plain, Size: 697 bytes --]

From: Jens Rehsack <sno@NetBSD.org>

---
 src/wsputil.c |    6 ++++++
 1 Datei geändert, 6 Zeilen hinzugefügt(+)

diff --git a/src/wsputil.c b/src/wsputil.c
index 1b2b2b7..c4c9d62 100644
--- a/src/wsputil.c
+++ b/src/wsputil.c
@@ -496,6 +496,12 @@ gboolean wsp_decode_application_id(struct wsp_header_iter *iter,
 	 */
 	if (wsp_header_iter_get_val_type(iter) == WSP_VALUE_TYPE_SHORT) {
 		val = *pdu_val & 0x7f;
+	} else if (wsp_header_iter_get_val_type(iter) == WSP_VALUE_TYPE_TEXT) {
+		val_len = wsp_header_iter_get_val_len(iter);
+		val = -1;
+
+		if (out_value)
+			*out_value = pdu_val;
 	} else {
 		val_len = wsp_header_iter_get_val_len(iter);
 
-- 
1.7.10.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-05-30 13:49 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-05-30  8:59 [PATCH] Add WSP_VALUE_TYPE_TEXT support in wsp_decode_application_id() Jens Rehsack
2012-05-30 13:49 ` Denis Kenzior
  -- strict thread matches above, loose matches on Subject: below --
2012-05-21 10:54 Jens Rehsack
2012-05-21 16:23 ` Ronald Tessier
2012-05-22  8:09   ` Jens Rehsack
2012-05-30  7:11     ` Jens Rehsack
2012-05-16 14:03 Jens Rehsack
2012-05-16 15:45 ` Ronald Tessier
2012-05-16 16:18   ` Jens Rehsack
2012-05-18 12:59     ` Ronald Tessier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.