[Klone-users] Open a file in embedded system
Mickael Auger
mickael.auger at gmail.com
Fri Jun 12 05:07:51 EDT 2009
Hi,
Situation :
- I compile my application to WindowsXP with Cygwin.
- I use KLone 2.2.0
Question and problem :
I have a file, "lang.conf", in "/webapp/etc" (like "kloned.conf").
I read this file with source code (source given by KLone team in a previous
message) :
=========================
static int drv_io_open(const char *uri, void **parg);
static int drv_io_close(void *arg);
static char *drv_io_gets(void *arg, char *buf, size_t size);
static u_config_driver_t drv_embfs = {
drv_io_open, drv_io_close, drv_io_gets, NULL
};
static int drv_io_open(const char *uri, void **parg){
io_t *io = NULL;
dbg_err_if(uri == NULL);
dbg_err_if(strlen(uri) == 0);
dbg_err_if(parg == NULL);
warn_err_ifm(emb_open(uri, &io),
"unable to open embedded resource: %s", uri);
*parg = io;
return 0;
err:
if(io)
io_free(io);
return ~0;
}
static int drv_io_close(void *arg){
io_t *io = (io_t*) arg;
dbg_err_if(io == NULL);
io_free(io);
return 0;
err:
return ~0;
}
static char *drv_io_gets(void *arg, char *buf, size_t size){
io_t *io = (io_t*)arg;
dbg_err_if (arg == NULL);
dbg_err_if (buf == NULL);
nop_err_if(io_gets(io, buf, size) <= 0);
return buf;
err:
return NULL;
}
//my function to read my conf file.
void printLangConf()
{
u_config_t *myconffile;
if(u_config_load_from_drv("/etc/lang.conf",&drv_embfs,0,&myconffile)==0)
u_config_print(myconffile,0);
}
======================================
This source code is functional in Linux system (compile with standard
toolchain of Linux), but it's not functional in WindowsXP system (compile
with cygwin).
Can you have a solution, please ?
In WindowsXP, I don't understand that "webapp/etc/kloned.conf" is read but
not my "webapp/etc/lang.conf". I think that I don't use the good code.
For information, I test this function that read my conf file if this file is
external at klone binary.
Hovewer, I wish keep my conf file in embedded system to protect its of
modifications.
======================================
void printLangConf()
{
u_config_t *myconffile;
if(u_config_load_from_file("lang.conf",&myconffile)==0)
u_config_print(myconffile,0);
}
======================================
Thanks.
--
Mickaël AUGER
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://koanlogic.com/pipermail/klone-users/attachments/20090612/d2628123/attachment.html
More information about the klone-users
mailing list