Enlightenment CVS committal
Author : kwo
Project : e16
Module : epplets
Dir : e16/epplets/api
Modified Files:
epplet.c epplet.h.in
Log Message:
Add functions to get epplet data and e16 user directories.
===================================================================
RCS file: /cvs/e/e16/epplets/api/epplet.c,v
retrieving revision 1.134
retrieving revision 1.135
diff -u -3 -r1.134 -r1.135
--- epplet.c 12 Apr 2006 18:20:45 -0000 1.134
+++ epplet.c 12 Apr 2006 19:22:45 -0000 1.135
@@ -49,6 +49,8 @@
static XContext xid_context = 0;
static char *conf_dir = NULL;
+static char *data_dir = NULL;
+static char *e16_user_dir = NULL;
static char *epplet_name = NULL;
static char *epplet_cfg_file = NULL;
static int epplet_instance = 0;
@@ -5505,8 +5507,7 @@
{
char s[1024];
- Esnprintf(s, sizeof(s), "edox " EROOT "/epplet_data/%s/%s.ABOUT",
- name, name);
+ Esnprintf(s, sizeof(s), "edox %s/%s.ABOUT", Epplet_data_dir(), name);
Epplet_spawn_command(s);
}
@@ -5526,10 +5527,14 @@
{
struct stat st;
struct flock fl;
- char s[1024], *tmpdir;
+ char s[1024];
int i, fd, err, exists, locked;
pid_t pid;
+ /* Set epplet data dir */
+ Esnprintf(s, sizeof(s), EROOT "/epplet_data/%s", name);
+ data_dir = Estrdup(s);
+
/* Find E dir */
Esnprintf(s, sizeof(s), "%s/.e16", getenv("HOME"));
if (stat(s, &st) < 0)
@@ -5541,10 +5546,10 @@
mkdir(s, S_IRWXU);
}
}
- tmpdir = strdup(s);
+ e16_user_dir = strdup(s);
/* make sure basic dir exists */
- Esnprintf(s, sizeof(s), "%s/epplet_config", tmpdir);
+ Esnprintf(s, sizeof(s), "%s/epplet_config", Epplet_e16_user_dir());
if (stat(s, &st) < 0)
{
if (mkdir(s, S_IRWXU) < 0)
@@ -5556,15 +5561,13 @@
s, strerror(errno));
Epplet_dialog_ok(err);
epplet_instance = 1;
- free(tmpdir);
return;
}
}
/* make sure this epplet's config dir exists */
- Esnprintf(s, sizeof(s), "%s/epplet_config/%s", tmpdir, name);
+ Esnprintf(s, sizeof(s), "%s/epplet_config/%s", Epplet_e16_user_dir(), name);
conf_dir = strdup(s);
- free(tmpdir);
if (stat(s, &st) < 0)
{
@@ -5693,6 +5696,18 @@
Epplet_get_instance(void)
{
return epplet_instance;
+}
+
+const char *
+Epplet_data_dir(void)
+{
+ return data_dir;
+}
+
+const char *
+Epplet_e16_user_dir(void)
+{
+ return e16_user_dir;
}
void
===================================================================
RCS file: /cvs/e/e16/epplets/api/epplet.h.in,v
retrieving revision 1.54
retrieving revision 1.55
diff -u -3 -r1.54 -r1.55
--- epplet.h.in 12 Apr 2006 18:20:45 -0000 1.54
+++ epplet.h.in 12 Apr 2006 19:22:45 -0000 1.55
@@ -643,3 +643,9 @@
void Epplet_save_config(void);
/* Delete the config information. */
void Epplet_clear_config(void);
+
+/* Return epplet data directory. */
+const char *Epplet_data_dir(void);
+
+/* Return e16 user configuration directory. */
+const char *Epplet_e16_user_dir(void);
-------------------------------------------------------
This SF.Net email is sponsored by xPML, a groundbreaking scripting language
that extends applications into web and mobile media. Attend the live webcast
and join the prime developer group breaking into this new coding territory!
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs