Enlightenment CVS committal

Author  : lordchaos
Project : e17
Module  : apps/evfs

Dir     : e17/apps/evfs/src/plugins


Modified Files:
        evfs_fs_tar.c 


Log Message:
Do proper file type id for Tar

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/plugins/evfs_fs_tar.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- evfs_fs_tar.c       26 Oct 2005 12:13:10 -0000      1.4
+++ evfs_fs_tar.c       26 Oct 2005 12:39:55 -0000      1.5
@@ -68,6 +68,7 @@
 struct tar_element {
        char* path;
        char* name;
+       evfs_file_type type;
        Ecore_Hash* children;
 } tar_element;
 
@@ -118,6 +119,24 @@
                        ele->name = strdup(tok);
                        ele->children = ecore_hash_new(ecore_str_hash, 
ecore_str_compare);
 
+                       //printf ("%s/%s: ", buf, tok);
+                       
+                       switch (block->p.typeflag) {
+                               case TARPET_TYPE_REGULAR:
+                               case TARPET_TYPE_REGULAR2:
+                                       //printf("Regular file\n");
+                                       ele->type = EVFS_FILE_NORMAL;
+                                       break;
+                               case TARPET_TYPE_DIRECTORY:
+                                       //printf("Directory\n");
+                                       ele->type = EVFS_FILE_DIRECTORY;
+                                       break;
+                               default:
+                                       //printf("Default fallback\n");
+                                       ele->type = EVFS_FILE_NORMAL;
+                                       break;
+                       }
+
                        ecore_hash_set(search_hash, strdup(tok), ele);
 
 
@@ -266,6 +285,7 @@
                        printf("Filename: '%s/%s'\n", ele->path, ele->name);
                        size = 
strlen(ele->path)+strlen("/")+strlen(ele->name)+1;
                        reference->path = malloc(size);
+                       reference->file_type = ele->type;
                        snprintf(reference->path, size, "%s/%s", ele->path, 
ele->name);
                        ecore_list_append(files, reference);
                        
@@ -286,6 +306,7 @@
 
                                size = 
strlen(ele_new->path)+strlen("/")+strlen(ele_new->name)+1;
                                reference->path = malloc(size);
+                               reference->file_type = ele_new->type;
                                snprintf(reference->path, size, "%s/%s", 
ele_new->path, ele_new->name);
                                ecore_list_append(files, reference);
                        }




-------------------------------------------------------
This SF.Net email is sponsored by the JBoss Inc.
Get Certified Today * Register for a JBoss Training Course
Free Certification Exam for All Training Attendees Through End of 2005
Visit http://www.jboss.com/services/certification for more information
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to