xref: /OK3568_Linux_fs/buildroot/package/bluez5_utils/0003-OK3568-obex-fix.patch (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1From bc14f9d7889ec4c3bd7a84b33ab13862022c6a56 Mon Sep 17 00:00:00 2001
2From: liyue <liyue@forlinx.com>
3Date: Mon, 11 Sep 2023 17:25:23 +0800
4Subject: [PATCH 1/2] obex fix
5
6---
7 gobex/gobex-header.c | 11 ++++++++++-
8 1 file changed, 10 insertions(+), 1 deletion(-)
9
10diff --git a/gobex/gobex-header.c b/gobex/gobex-header.c
11index 011d33d..0001204 100644
12--- a/gobex/gobex-header.c
13+++ b/gobex/gobex-header.c
14@@ -175,7 +175,7 @@ GObexHeader *g_obex_header_decode(const void *data, gsize len,
15 				header->id, hdr_len);
16 			goto failed;
17 		}
18-
19+#if 0
20 		header->v.string = g_convert((const char *) ptr, hdr_len - 5,
21 						"UTF-8", "UTF-16BE",
22 						NULL, &str_len, &conv_err);
23@@ -187,6 +187,15 @@ GObexHeader *g_obex_header_decode(const void *data, gsize len,
24 			g_error_free(conv_err);
25 			goto failed;
26 		}
27+#else
28+		char *name = (char *)malloc(hdr_len - 5);
29+		int i = 0;
30+		for(i = 0; i < hdr_len - 5; i++)
31+			name[i] = ptr[i * 2 + 1];
32+#endif
33+
34+		header->v.string = name;
35+		str_len = hdr_len - 5;
36
37 		header->vlen = (gsize) str_len;
38 		header->hlen = hdr_len;
39--
402.25.1
41
42