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

Reply via email to