diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2014-05-12 18:52:24 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2014-05-12 19:34:07 +0900 |
commit | ee7ad21b3bd2eb131a07abbcadd7cd249c175d1d (patch) | |
tree | 8524b7989ff14d8ba7bd5c96060500f839ab4249 | |
parent | 634d309d8592eb85a3b0616f3462c89fd9350a86 (diff) | |
download | elementary-ee7ad21b3bd2eb131a07abbcadd7cd249c175d1d.tar.gz |
test_dnd: Fix build for windows
There is no strndup (with our compilation flags).
-rw-r--r-- | src/bin/test_dnd.c | 25 |
1 files changed, 20 insertions, 5 deletions
diff --git a/src/bin/test_dnd.c b/src/bin/test_dnd.c index 9b5c0fb96..d799a04e6 100644 --- a/src/bin/test_dnd.c +++ b/src/bin/test_dnd.c @@ -203,6 +203,21 @@ _grid_item_getcb(Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *xposret, int return item; } +static inline char * +_strndup(const char *str, size_t len) +{ + size_t slen = strlen(str); + char *ret; + + if (slen > len) slen = len; + ret = malloc (slen + 1); + if (!ret) return NULL; + + if (slen > 0) memcpy(ret, str, slen); + ret[slen] = '\0'; + return ret; +} + static Eina_Bool _gl_dropcb(void *data EINA_UNUSED, Evas_Object *obj, Elm_Object_Item *it, Elm_Selection_Data *ev, int xposret EINA_UNUSED, int yposret) { /* This function is called when data is dropped on the genlist */ @@ -212,7 +227,7 @@ _gl_dropcb(void *data EINA_UNUSED, Evas_Object *obj, Elm_Object_Item *it, Elm_Se if (ev->len <= 0) return EINA_FALSE; - char *dd = strndup(ev->data, ev->len); + char *dd = _strndup(ev->data, ev->len); if (!dd) return EINA_FALSE; char *p = dd; @@ -267,7 +282,7 @@ _grid_dropcb(void *data EINA_UNUSED, Evas_Object *obj, Elm_Object_Item *it, Elm_ if (ev->len <= 0) return EINA_FALSE; - char *dd = strndup(ev->data, ev->len); + char *dd = _strndup(ev->data, ev->len); if (!dd) return EINA_FALSE; char *p = dd; char *s = _drag_data_extract(&p); @@ -962,7 +977,7 @@ static Eina_Bool _drop_box_button_new_cb(void *data, Evas_Object *obj, Elm_Selec if (ev->len <= 0) return EINA_FALSE; - char *dd = strndup(ev->data, ev->len); + char *dd = _strndup(ev->data, ev->len); if (!dd) return EINA_FALSE; char *p = dd; char *s = _drag_data_extract(&p); @@ -996,7 +1011,7 @@ static Eina_Bool _drop_but_icon_change_cb(void *data, Evas_Object *obj, Elm_Sele if (ev->len <= 0) return EINA_FALSE; - char *dd = strndup(ev->data, ev->len); + char *dd = _strndup(ev->data, ev->len); if (!dd) return EINA_FALSE; char *p = dd; char *s = _drag_data_extract(&p); @@ -1024,7 +1039,7 @@ static Eina_Bool _drop_bg_change_cb(void *data EINA_UNUSED, Evas_Object *obj, El if (ev->len <= 0) return EINA_FALSE; - char *dd = strndup(ev->data, ev->len); + char *dd = _strndup(ev->data, ev->len); if (!dd) return EINA_FALSE; char *p = dd; char *s = _drag_data_extract(&p); |