Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/engrave

Dir     : e17/libs/engrave/src/lib


Modified Files:
        engrave_load.c 


Log Message:
- .eet load works correctly now.

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_load.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- engrave_load.c      24 Sep 2004 04:01:46 -0000      1.2
+++ engrave_load.c      24 Sep 2004 04:27:44 -0000      1.3
@@ -38,7 +38,6 @@
   return(enf);
 }
 
-/* FIXME this does't work yet */
 Engrave_File *
 engrave_load_eet(char *filename)
 {
@@ -46,13 +45,13 @@
   char *cmd = NULL;
   char *old_fname = (char *)strdup(filename);
   char *new_fname = NULL;
+  char *ptr = NULL;
   int len = 0;
   int ret = 0;
   char *work_dir = NULL;
   static char tmpn[4096];
   char *cpp_extra = NULL;
 
-//  free(filename);
   memset(tmpn, '\0', sizeof(tmpn));
   strcpy(tmpn, "/tmp/engrave.edc-tmp-XXXXXX");
   if (mkdtemp(tmpn) == NULL) {
@@ -62,9 +61,13 @@
   }
   work_dir = (char *)strdup(tmpn);
 
-  len = strlen(work_dir) + strlen(old_fname) + 5;
+  ptr = strrchr(old_fname, '/');
+  if (ptr == NULL)
+      ptr = old_fname;
+
+  len = strlen(work_dir) + strlen(old_fname) + strlen(ptr) + 6;
   cmd = (char *)calloc(len,sizeof(char));
-  snprintf(cmd, len, "cp %s %s", old_fname, work_dir);
+  snprintf(cmd, len, "cp %s %s/%s", old_fname, work_dir, ptr);
   ret = system(cmd);
   free(cmd);
 
@@ -84,14 +87,14 @@
     return 0;
   }
 
-  len = strlen(work_dir) + strlen(old_fname) + 12;
+  len = strlen(work_dir) + strlen(ptr) + 12;
   cmd = (char *)calloc(len, sizeof(char));
-  snprintf(cmd, len, "edje_decc %s/%s", work_dir, old_fname);
+  snprintf(cmd, len, "edje_decc %s/%s", work_dir, ptr);
   ret = system(cmd);
   free(cmd);
 
   if (ret < 0) {
-    fprintf(stderr, "Unable to de-compile %s\n", old_fname);
+    fprintf(stderr, "Unable to de-compile %s\n", ptr);
     return 0;
   }
 
@@ -104,20 +107,20 @@
     return 0;
   }
 
-  cmd = strstr(old_fname, ".eet");
+  cmd = strstr(ptr, ".eet");
   *cmd = '\0';
 
   /* we need the info on the work dir to pass the cpp so it can
    * include files correctly 
    */
-  len = strlen(old_fname) + strlen(work_dir) + 4;
+  len = strlen(ptr) + strlen(work_dir) + 4;
   cpp_extra = (char *)calloc(len, sizeof(char));
-  snprintf(cpp_extra, len, "-I%s/%s", work_dir, old_fname);
+  snprintf(cpp_extra, len, "-I%s/%s", work_dir, ptr);
 
-  len = strlen(work_dir) + strlen(old_fname) +
+  len = strlen(work_dir) + strlen(ptr) +
           strlen(MAIN_EDC_NAME) + 3;
   new_fname = (char *)calloc(len, sizeof(char));
-  snprintf(new_fname, len, "%s/%s/%s", work_dir, old_fname, 
+  snprintf(new_fname, len, "%s/%s/%s", work_dir, ptr, 
             MAIN_EDC_NAME);
   free(old_fname);
 




-------------------------------------------------------
This SF.Net email is sponsored by: YOU BE THE JUDGE. Be one of 170
Project Admins to receive an Apple iPod Mini FREE for your judgement on
who ports your project to Linux PPC the best. Sponsored by IBM.
Deadline: Sept. 24. Go here: http://sf.net/ppc_contest.php
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to