From b93262e8b218751a6695f500f0457476d34a137e Mon Sep 17 00:00:00 2001 From: Thiep Ha Date: Tue, 16 Aug 2016 09:02:08 +0900 Subject: tmp: add correct new line func --- src/lib/elementary/elm_cnp.c | 54 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/src/lib/elementary/elm_cnp.c b/src/lib/elementary/elm_cnp.c index 9fc2483e04..ed1e533e78 100644 --- a/src/lib/elementary/elm_cnp.c +++ b/src/lib/elementary/elm_cnp.c @@ -4602,6 +4602,60 @@ _win32_elm_widget_window_get(const Evas_Object *obj) return win; } +static char * +_win32_elm_cnp_correct_newline(char *data) +{ + if (!data) return NULL; + + int len = strlen(data); + printf("len: %d, data: '%s'\n", len, data); + char *ret = calloc(1, len + 1); + int i = 0; + //unix is \n, windows is \r\n + char *p = data, *prv = data; + while(*p != '\0') + { + printf("%c", *p); + if (*p == '\n') + { + if ((prv != p) && (*prv != '\r')) + { + if (i == len) + { + ret = realloc(ret, i + 2); + len += 2; + } + ret[i++] = '\r'; + ret[i++] = '\n'; + } + else + { + if (i == len) + { + ret = realloc(ret, i + 1); + len++; + } + ret[i++] = *p; + } + } + else + { + if (i == len) + { + ret = realloc(ret, i + 1); + len++; + } + ret[i++] = *p; + } + prv = p; + p++; + + //printf("\n"); + } + ret[i] = '\0'; + return ret; +} + static void _win32_elm_cnp_converter_cb(void *udata, Ecore_Win32_Selection_Format format, void **data, int *length) { -- cgit v1.2.1