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

[clang] Fix compiler warnings #206

Merged
merged 1 commit into from
Sep 23, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile.linux
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ JERRY_LIBS = -ljerry-core -lm

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

LINUX_FLAGS = -std=gnu99
LINUX_FLAGS = -std=gnu99 -Wpointer-sign

LINUX_DEFINES = -DZJS_LINUX_BUILD -DBUILD_MODULE_EVENTS

Expand Down
18 changes: 8 additions & 10 deletions src/zjs_event.c
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ void zjs_add_event_listener(jerry_value_t obj, const char* event, jerry_value_t
jerry_value_t id_prop = zjs_get_property(event_obj, "callback_id");
if (jerry_value_is_number(id_prop)) {
// If there already is an event object, get the callback ID
zjs_obj_get_uint32(event_obj, "callback_id", &callback_id);
zjs_obj_get_int32(event_obj, "callback_id", &callback_id);
}
callback_id = zjs_add_callback_list(listener, ev, pre_event, post_event, callback_id);

Expand Down Expand Up @@ -179,7 +179,7 @@ static jerry_value_t remove_listener(const jerry_value_t function_obj,
jerry_value_t id_prop = zjs_get_property(event_obj, "callback_id");
if (jerry_value_is_number(id_prop)) {
// If there already is an event object, get the callback ID
zjs_obj_get_uint32(event_obj, "callback_id", &callback_id);
zjs_obj_get_int32(event_obj, "callback_id", &callback_id);
} else {
DBG_PRINT(("callback_id not found for '%s'\n", event));
return ZJS_UNDEFINED;
Expand Down Expand Up @@ -225,15 +225,15 @@ static jerry_value_t remove_all_listeners(const jerry_value_t function_obj,
jerry_value_t id_prop = zjs_get_property(event_obj, "callback_id");
if (jerry_value_is_number(id_prop)) {
// If there already is an event object, get the callback ID
zjs_obj_get_uint32(event_obj, "callback_id", &callback_id);
zjs_obj_get_int32(event_obj, "callback_id", &callback_id);
} else {
DBG_PRINT(("callback_id not found for '%s'\n", event));
return ZJS_UNDEFINED;
}

zjs_remove_callback(callback_id);

jerry_value_t event_name_val = jerry_create_string(event);
jerry_value_t event_name_val = jerry_create_string((const jerry_char_t*)event);
jerry_delete_property(ev->map, (const jerry_value_t)event_name_val);
jerry_release_value(event_name_val);

Expand Down Expand Up @@ -353,7 +353,7 @@ static jerry_value_t get_listener_count(const jerry_value_t function_obj,
jerry_value_t id_prop = zjs_get_property(event_obj, "callback_id");
if (jerry_value_is_number(id_prop)) {
// If there already is an event object, get the callback ID
zjs_obj_get_uint32(event_obj, "callback_id", &callback_id);
zjs_obj_get_int32(event_obj, "callback_id", &callback_id);
} else {
DBG_PRINT(("callback_id not found for '%s'\n", event));
return ZJS_UNDEFINED;
Expand Down Expand Up @@ -397,7 +397,7 @@ static jerry_value_t get_listeners(const jerry_value_t function_obj,
jerry_value_t id_prop = zjs_get_property(event_obj, "callback_id");
if (jerry_value_is_number(id_prop)) {
// If there already is an event object, get the callback ID
zjs_obj_get_uint32(event_obj, "callback_id", &callback_id);
zjs_obj_get_int32(event_obj, "callback_id", &callback_id);
} else {
DBG_PRINT(("callback_id not found for '%s'\n", event));
return ZJS_UNDEFINED;
Expand Down Expand Up @@ -454,10 +454,8 @@ bool zjs_trigger_event(jerry_value_t obj,
return false;
}

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

Expand Down
29 changes: 21 additions & 8 deletions src/zjs_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ void zjs_run_pending_callbacks()
void zjs_set_property(const jerry_value_t obj, const char *str,
const jerry_value_t prop)
{
jerry_value_t name = jerry_create_string((jerry_char_t *)str);
jerry_value_t name = jerry_create_string((const jerry_char_t *)str);
jerry_set_property(obj, name, prop);
jerry_release_value(name);
}
Expand All @@ -73,7 +73,7 @@ void zjs_obj_add_boolean(jerry_value_t obj, bool flag, const char *name)
{
// requires: obj is an existing JS object
// effects: creates a new field in parent named name, set to value
jerry_value_t jname = jerry_create_string(name);
jerry_value_t jname = jerry_create_string((const jerry_char_t *)name);
jerry_value_t jbool = jerry_create_boolean(flag);
jerry_set_property(obj, jname, jbool);
jerry_release_value(jname);
Expand All @@ -89,7 +89,7 @@ void zjs_obj_add_function(jerry_value_t obj, void *func, const char *name)
// NOTE: The docs on this function make it look like func obj should be
// released before we return, but in a loop of 25k buffer creates there
// seemed to be no memory leak. Reconsider with future intelligence.
jerry_value_t jname = jerry_create_string(name);
jerry_value_t jname = jerry_create_string((const jerry_char_t *)name);
jerry_value_t jfunc = jerry_create_external_function(func);
if (jerry_value_is_function(jfunc)) {
jerry_set_property(obj, jname, jfunc);
Expand All @@ -103,7 +103,7 @@ void zjs_obj_add_object(jerry_value_t parent, jerry_value_t child,
{
// requires: parent and child are existing JS objects
// effects: creates a new field in parent named name, that refers to child
jerry_value_t jname = jerry_create_string(name);
jerry_value_t jname = jerry_create_string((const jerry_char_t *)name);
jerry_set_property(parent, jname, child);
jerry_release_value(jname);
}
Expand All @@ -112,8 +112,8 @@ void zjs_obj_add_string(jerry_value_t obj, const char *str, const char *name)
{
// requires: obj is an existing JS object
// effects: creates a new field in parent named name, set to sval
jerry_value_t jname = jerry_create_string(name);
jerry_value_t jstr = jerry_create_string(str);
jerry_value_t jname = jerry_create_string((const jerry_char_t *)name);
jerry_value_t jstr = jerry_create_string((const jerry_char_t *)str);
jerry_set_property(obj, jname, jstr);
jerry_release_value(jname);
jerry_release_value(jstr);
Expand All @@ -123,7 +123,7 @@ void zjs_obj_add_number(jerry_value_t obj, double num, const char *name)
{
// requires: obj is an existing JS object
// effects: creates a new field in parent named name, set to nval
jerry_value_t jname = jerry_create_string(name);
jerry_value_t jname = jerry_create_string((const jerry_char_t *)name);
jerry_value_t jnum = jerry_create_number(num);
jerry_set_property(obj, jname, jnum);
jerry_release_value(jname);
Expand Down Expand Up @@ -167,7 +167,7 @@ bool zjs_obj_get_string(jerry_value_t obj, const char *name, char *buffer,
if (jlen >= len)
return false;

int wlen = jerry_string_to_char_buffer(value, buffer, jlen);
int wlen = jerry_string_to_char_buffer(value, (jerry_char_t *)buffer, jlen);
buffer[wlen] = '\0';

jerry_release_value(value);
Expand Down Expand Up @@ -201,6 +201,19 @@ bool zjs_obj_get_uint32(jerry_value_t obj, const char *name, uint32_t *num)
return true;
}

bool zjs_obj_get_int32(jerry_value_t obj, const char *name, int32_t *num)
{
// requires: obj is an existing JS object, value name should exist as number
// effects: retrieves field specified by name as a int32
jerry_value_t value = zjs_get_property(obj, name);
if (jerry_value_has_error_flag(value))
return false;

*num = (int32_t)jerry_get_number_value(value);
jerry_release_value(value);
return true;
}

bool zjs_hex_to_byte(char *buf, uint8_t *byte)
{
// requires: buf is a string with at least two hex chars
Expand Down
1 change: 1 addition & 0 deletions src/zjs_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@ bool zjs_obj_get_string(jerry_value_t obj, const char *name, char *buffer,
int len);
bool zjs_obj_get_double(jerry_value_t obj, const char *name, double *num);
bool zjs_obj_get_uint32(jerry_value_t obj, const char *name, uint32_t *num);
bool zjs_obj_get_int32(jerry_value_t obj, const char *name, int32_t *num);

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

Expand Down