forked from enlightenment/efl
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 <cedric.bail@samsung.com>
This commit is contained in:
parent
6a2a0187ff
commit
29bf164c75
|
@ -334,13 +334,16 @@ static void *
|
||||||
_open_request_build(File_Data *f, int *bufsize)
|
_open_request_build(File_Data *f, int *bufsize)
|
||||||
{
|
{
|
||||||
char *buf;
|
char *buf;
|
||||||
int size, pathlen, keylen;
|
int size, pathlen, keylen, loaderlen;
|
||||||
Slave_Msg_Image_Open msg;
|
Slave_Msg_Image_Open msg;
|
||||||
|
|
||||||
pathlen = strlen(f->path) + 1;
|
pathlen = strlen(f->path) + 1;
|
||||||
keylen = strlen(f->key) + 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);
|
buf = malloc(size);
|
||||||
if (!buf) return NULL;
|
if (!buf) return NULL;
|
||||||
|
|
||||||
|
@ -348,6 +351,8 @@ _open_request_build(File_Data *f, int *bufsize)
|
||||||
memcpy(buf, &msg, sizeof(msg));
|
memcpy(buf, &msg, sizeof(msg));
|
||||||
memcpy(buf + sizeof(msg), f->path, pathlen);
|
memcpy(buf + sizeof(msg), f->path, pathlen);
|
||||||
memcpy(buf + sizeof(msg) + pathlen, f->key, keylen);
|
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;
|
*bufsize = size;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue