Enlightenment CVS committal

Author  : lordchaos
Project : e17
Module  : apps/evfs

Dir     : e17/apps/evfs/src/lib


Modified Files:
        libevfs.c 


Log Message:
* Function to de-parse a filereference and output as a uri

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/evfs/src/lib/libevfs.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -3 -r1.22 -r1.23
--- libevfs.c   9 Nov 2005 23:51:05 -0000       1.22
+++ libevfs.c   16 Nov 2005 11:48:53 -0000      1.23
@@ -423,3 +423,53 @@
 
        return path;
 }
+
+
+char* evfs_filereference_to_string(evfs_filereference* ref) {
+       int length=0;
+       char* uri;
+       Ecore_List* parent_list = ecore_list_new();
+       evfs_filereference* parent;
+
+       ecore_list_prepend(parent_list, ref);
+       length += strlen(ref->plugin_uri) + strlen("://");
+       if (ref->username) {
+               length += strlen(ref->username) + strlen(ref->password) + 
strlen(":") + strlen("@");
+       }
+       length += strlen(ref->path);
+       
+       while ( (parent = ref->parent)) {
+               ecore_list_prepend(parent_list, parent);
+
+               length += strlen(parent->plugin_uri) + strlen("://");
+               if (parent->username) {
+                       length += strlen(parent->username) + 
strlen(parent->password) + strlen(":") + strlen("@");
+                       
+               }
+               
+               length += strlen(parent->path);
+               length += strlen("#");
+               
+       }
+       length += 1;
+       uri = calloc(length,sizeof(char));
+       
+
+       while ( (parent = ecore_list_remove_first(parent_list))) {
+               strcat(uri, parent->plugin_uri);
+               strcat(uri, "://");
+               if (parent->username) {
+                       strcat(uri, parent->username);
+                       strcat(uri, ":");
+                       strcat(uri, parent->password);
+                       strcat(uri, "@");
+               }
+               strcat(uri, parent->path);
+               if (ecore_list_next(parent_list)) strcat(uri, "#");
+       }
+
+       ecore_list_destroy(parent_list);
+
+       return uri;
+       
+}




-------------------------------------------------------
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. For more info visit:
http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to