summaryrefslogtreecommitdiff
blob: 30ecff9747ee0868abd82868a2e0ffc7da792fa5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Based on upstream [1] commits:
- 161dff8321df ("Fix error type-punned pointer warning")
- d7b67db02aaa ("Fix error type-punned pointer warning")

[1] https://github.com/json-parser/json-parser

Upstream-PR: https://github.com/bitlbee/bitlbee/pull/162

diff --git a/lib/json.c b/lib/json.c
index 24288f94..2150cbaf 100644
--- a/lib/json.c
+++ b/lib/json.c
@@ -139,7 +139,7 @@ static int new_value
 				return 0;
 			}
 
-			value->_reserved.object_mem = (*(char **) &value->u.object.values) + values_size;
+			value->_reserved.object_mem = (void *) (((char *) value->u.object.values) + values_size);
 
 			value->u.object.length = 0;
 			break;
@@ -406,7 +406,8 @@ json_value * json_parse_ex(json_settings * settings,
 					case json_object:
 
 						if (state.first_pass) {
-							(*(json_char **) &top->u.object.values) += string_length + 1;
+							json_char **chars = (json_char **) &top->u.object.values;
+							chars[0] += string_length + 1;
 						} else {
 							top->u.object.values [top->u.object.length].name
 							        = (json_char *) top->_reserved.object_mem;