From 29bf164c75649b5f567a07ccb2f891c233c4c7e0 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Andre Date: Wed, 26 Jun 2013 15:11:06 +0900 Subject: [PATCH] evas/cserve2: pass loader data during open. Note: this path seems never to be used. Loader options are set by the file loader or after open. Signed-off-by: Cedric Bail --- src/bin/evas/evas_cserve2_cache.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/bin/evas/evas_cserve2_cache.c b/src/bin/evas/evas_cserve2_cache.c index bbb6ce2886..8090da237b 100644 --- a/src/bin/evas/evas_cserve2_cache.c +++ b/src/bin/evas/evas_cserve2_cache.c @@ -334,13 +334,16 @@ static void * _open_request_build(File_Data *f, int *bufsize) { char *buf; - int size, pathlen, keylen; + int size, pathlen, keylen, loaderlen; Slave_Msg_Image_Open msg; pathlen = strlen(f->path) + 1; keylen = strlen(f->key) + 1; - size = sizeof(msg) + pathlen + keylen; + msg.has_loader_data = !!f->loader_data; + loaderlen = msg.has_loader_data ? (strlen(f->loader_data) + 1) : 0; + + size = sizeof(msg) + pathlen + keylen + loaderlen; buf = malloc(size); if (!buf) return NULL; @@ -348,6 +351,8 @@ _open_request_build(File_Data *f, int *bufsize) memcpy(buf, &msg, sizeof(msg)); memcpy(buf + sizeof(msg), f->path, pathlen); memcpy(buf + sizeof(msg) + pathlen, f->key, keylen); + if (msg.has_loader_data) + memcpy(buf + sizeof(msg) + pathlen + keylen, f->loader_data, loaderlen); *bufsize = size;