Skip to content
This repository was archived by the owner on Aug 5, 2022. It is now read-only.

Commit 0b0cd33

Browse files
authored
Merge pull request #206 from jprestwo/clang-warnings
[clang] Fix compiler warnings
2 parents 9328cb4 + 3cec190 commit 0b0cd33

File tree

4 files changed

+31
-19
lines changed

4 files changed

+31
-19
lines changed

Makefile.linux

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ JERRY_LIBS = -ljerry-core -lm
2727

2828
JERRY_LIB_PATH = -L$(JERRY_BASE)/build/lib/
2929

30-
LINUX_FLAGS = -std=gnu99
30+
LINUX_FLAGS = -std=gnu99 -Wpointer-sign
3131

3232
LINUX_DEFINES = -DZJS_LINUX_BUILD -DBUILD_MODULE_EVENTS
3333

src/zjs_event.c

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ void zjs_add_event_listener(jerry_value_t obj, const char* event, jerry_value_t
6969
jerry_value_t id_prop = zjs_get_property(event_obj, "callback_id");
7070
if (jerry_value_is_number(id_prop)) {
7171
// If there already is an event object, get the callback ID
72-
zjs_obj_get_uint32(event_obj, "callback_id", &callback_id);
72+
zjs_obj_get_int32(event_obj, "callback_id", &callback_id);
7373
}
7474
callback_id = zjs_add_callback_list(listener, ev, pre_event, post_event, callback_id);
7575

@@ -179,7 +179,7 @@ static jerry_value_t remove_listener(const jerry_value_t function_obj,
179179
jerry_value_t id_prop = zjs_get_property(event_obj, "callback_id");
180180
if (jerry_value_is_number(id_prop)) {
181181
// If there already is an event object, get the callback ID
182-
zjs_obj_get_uint32(event_obj, "callback_id", &callback_id);
182+
zjs_obj_get_int32(event_obj, "callback_id", &callback_id);
183183
} else {
184184
DBG_PRINT(("callback_id not found for '%s'\n", event));
185185
return ZJS_UNDEFINED;
@@ -225,15 +225,15 @@ static jerry_value_t remove_all_listeners(const jerry_value_t function_obj,
225225
jerry_value_t id_prop = zjs_get_property(event_obj, "callback_id");
226226
if (jerry_value_is_number(id_prop)) {
227227
// If there already is an event object, get the callback ID
228-
zjs_obj_get_uint32(event_obj, "callback_id", &callback_id);
228+
zjs_obj_get_int32(event_obj, "callback_id", &callback_id);
229229
} else {
230230
DBG_PRINT(("callback_id not found for '%s'\n", event));
231231
return ZJS_UNDEFINED;
232232
}
233233

234234
zjs_remove_callback(callback_id);
235235

236-
jerry_value_t event_name_val = jerry_create_string(event);
236+
jerry_value_t event_name_val = jerry_create_string((const jerry_char_t*)event);
237237
jerry_delete_property(ev->map, (const jerry_value_t)event_name_val);
238238
jerry_release_value(event_name_val);
239239

@@ -353,7 +353,7 @@ static jerry_value_t get_listener_count(const jerry_value_t function_obj,
353353
jerry_value_t id_prop = zjs_get_property(event_obj, "callback_id");
354354
if (jerry_value_is_number(id_prop)) {
355355
// If there already is an event object, get the callback ID
356-
zjs_obj_get_uint32(event_obj, "callback_id", &callback_id);
356+
zjs_obj_get_int32(event_obj, "callback_id", &callback_id);
357357
} else {
358358
DBG_PRINT(("callback_id not found for '%s'\n", event));
359359
return ZJS_UNDEFINED;
@@ -397,7 +397,7 @@ static jerry_value_t get_listeners(const jerry_value_t function_obj,
397397
jerry_value_t id_prop = zjs_get_property(event_obj, "callback_id");
398398
if (jerry_value_is_number(id_prop)) {
399399
// If there already is an event object, get the callback ID
400-
zjs_obj_get_uint32(event_obj, "callback_id", &callback_id);
400+
zjs_obj_get_int32(event_obj, "callback_id", &callback_id);
401401
} else {
402402
DBG_PRINT(("callback_id not found for '%s'\n", event));
403403
return ZJS_UNDEFINED;
@@ -454,10 +454,8 @@ bool zjs_trigger_event(jerry_value_t obj,
454454
return false;
455455
}
456456

457-
zjs_obj_get_uint32(event_obj, "callback_id", &callback_id);
458-
if (callback_id == -1) {
459-
zjs_free(trigger);
460-
DBG_PRINT(("callback_id not found\n"));
457+
if (!zjs_obj_get_int32(event_obj, "callback_id", &callback_id)) {
458+
DBG_PRINT("[event] zjs_trigger_event(): Error, callback_id not found\n");
461459
return false;
462460
}
463461

src/zjs_util.c

Lines changed: 21 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ void zjs_run_pending_callbacks()
5353
void zjs_set_property(const jerry_value_t obj, const char *str,
5454
const jerry_value_t prop)
5555
{
56-
jerry_value_t name = jerry_create_string((jerry_char_t *)str);
56+
jerry_value_t name = jerry_create_string((const jerry_char_t *)str);
5757
jerry_set_property(obj, name, prop);
5858
jerry_release_value(name);
5959
}
@@ -73,7 +73,7 @@ void zjs_obj_add_boolean(jerry_value_t obj, bool flag, const char *name)
7373
{
7474
// requires: obj is an existing JS object
7575
// effects: creates a new field in parent named name, set to value
76-
jerry_value_t jname = jerry_create_string(name);
76+
jerry_value_t jname = jerry_create_string((const jerry_char_t *)name);
7777
jerry_value_t jbool = jerry_create_boolean(flag);
7878
jerry_set_property(obj, jname, jbool);
7979
jerry_release_value(jname);
@@ -89,7 +89,7 @@ void zjs_obj_add_function(jerry_value_t obj, void *func, const char *name)
8989
// NOTE: The docs on this function make it look like func obj should be
9090
// released before we return, but in a loop of 25k buffer creates there
9191
// seemed to be no memory leak. Reconsider with future intelligence.
92-
jerry_value_t jname = jerry_create_string(name);
92+
jerry_value_t jname = jerry_create_string((const jerry_char_t *)name);
9393
jerry_value_t jfunc = jerry_create_external_function(func);
9494
if (jerry_value_is_function(jfunc)) {
9595
jerry_set_property(obj, jname, jfunc);
@@ -103,7 +103,7 @@ void zjs_obj_add_object(jerry_value_t parent, jerry_value_t child,
103103
{
104104
// requires: parent and child are existing JS objects
105105
// effects: creates a new field in parent named name, that refers to child
106-
jerry_value_t jname = jerry_create_string(name);
106+
jerry_value_t jname = jerry_create_string((const jerry_char_t *)name);
107107
jerry_set_property(parent, jname, child);
108108
jerry_release_value(jname);
109109
}
@@ -112,8 +112,8 @@ void zjs_obj_add_string(jerry_value_t obj, const char *str, const char *name)
112112
{
113113
// requires: obj is an existing JS object
114114
// effects: creates a new field in parent named name, set to sval
115-
jerry_value_t jname = jerry_create_string(name);
116-
jerry_value_t jstr = jerry_create_string(str);
115+
jerry_value_t jname = jerry_create_string((const jerry_char_t *)name);
116+
jerry_value_t jstr = jerry_create_string((const jerry_char_t *)str);
117117
jerry_set_property(obj, jname, jstr);
118118
jerry_release_value(jname);
119119
jerry_release_value(jstr);
@@ -123,7 +123,7 @@ void zjs_obj_add_number(jerry_value_t obj, double num, const char *name)
123123
{
124124
// requires: obj is an existing JS object
125125
// effects: creates a new field in parent named name, set to nval
126-
jerry_value_t jname = jerry_create_string(name);
126+
jerry_value_t jname = jerry_create_string((const jerry_char_t *)name);
127127
jerry_value_t jnum = jerry_create_number(num);
128128
jerry_set_property(obj, jname, jnum);
129129
jerry_release_value(jname);
@@ -167,7 +167,7 @@ bool zjs_obj_get_string(jerry_value_t obj, const char *name, char *buffer,
167167
if (jlen >= len)
168168
return false;
169169

170-
int wlen = jerry_string_to_char_buffer(value, buffer, jlen);
170+
int wlen = jerry_string_to_char_buffer(value, (jerry_char_t *)buffer, jlen);
171171
buffer[wlen] = '\0';
172172

173173
jerry_release_value(value);
@@ -201,6 +201,19 @@ bool zjs_obj_get_uint32(jerry_value_t obj, const char *name, uint32_t *num)
201201
return true;
202202
}
203203

204+
bool zjs_obj_get_int32(jerry_value_t obj, const char *name, int32_t *num)
205+
{
206+
// requires: obj is an existing JS object, value name should exist as number
207+
// effects: retrieves field specified by name as a int32
208+
jerry_value_t value = zjs_get_property(obj, name);
209+
if (jerry_value_has_error_flag(value))
210+
return false;
211+
212+
*num = (int32_t)jerry_get_number_value(value);
213+
jerry_release_value(value);
214+
return true;
215+
}
216+
204217
bool zjs_hex_to_byte(char *buf, uint8_t *byte)
205218
{
206219
// requires: buf is a string with at least two hex chars

src/zjs_util.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ bool zjs_obj_get_string(jerry_value_t obj, const char *name, char *buffer,
6868
int len);
6969
bool zjs_obj_get_double(jerry_value_t obj, const char *name, double *num);
7070
bool zjs_obj_get_uint32(jerry_value_t obj, const char *name, uint32_t *num);
71+
bool zjs_obj_get_int32(jerry_value_t obj, const char *name, int32_t *num);
7172

7273
bool zjs_hex_to_byte(char *buf, uint8_t *byte);
7374

0 commit comments

Comments
 (0)