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