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