Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/engines/common


Modified Files:
        evas_image_load.c 


Log Message:


reduce stat calls massively...

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_image_load.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- evas_image_load.c   22 Apr 2004 11:29:33 -0000      1.11
+++ evas_image_load.c   28 Aug 2004 08:41:12 -0000      1.12
@@ -833,29 +833,82 @@
 RGBA_Image *
 evas_common_load_image_from_file(const char *file, const char *key)
 {
-   char *real_file;
+//   char *real_file;
    RGBA_Image *im;
    int ok;
-   DATA64 mod_time;
+   char *p;
+//   DATA64 mod_time;
 
-   real_file = evas_file_path_resolve(file);
-   mod_time = 0;
-   if (real_file) mod_time = evas_file_modified_time(real_file);
-   else if (file) mod_time = evas_file_modified_time(file);
-   im = evas_common_image_find(file, key, mod_time);
+//   real_file = evas_file_path_resolve(file);
+//   mod_time = 0;
+//   if (real_file) mod_time = evas_file_modified_time(real_file);
+//   else if (file) mod_time = evas_file_modified_time(file);
+   im = evas_common_image_find(file, key, 0);
    if (im)
      {
        evas_common_image_ref(im);
-       if (real_file) free(real_file);
+//     if (real_file) free(real_file);
        return im;
      }
+   printf("@@@@@@@@@ IMAGE LOAD\n");
    im = evas_common_image_new();
    if (!im)
      {
-       if (real_file) free(real_file);
+//     if (real_file) free(real_file);
        return NULL;
      }
    ok = -1;
+     {
+       p = strrchr(file, '.');
+       if (p)
+         {
+            p++;
+            
+#ifdef BUILD_LOADER_PNG
+            if (ok == -1)
+              {
+                 if (!strcasecmp(p, "png"))
+                   {
+                      ok = load_image_file_head_png(im, file, key);
+                      if (ok != -1) im->info.format = 1;
+                   }
+              }
+#endif
+#ifdef BUILD_LOADER_JPEG
+            if (ok == -1)
+              {
+                 if ((!strcasecmp(p, "jpg")) ||
+                     (!strcasecmp(p, "jpeg")) ||
+                     (!strcasecmp(p, "jfif")))
+                   {
+                      ok = load_image_file_head_jpeg(im, file, key);
+                      if (ok != -1) im->info.format = 2;
+                   }
+              }
+#endif
+#ifdef BUILD_LOADER_EET
+            if (ok == -1)
+              {
+                 if (!strcasecmp(p, "eet"))
+                   {
+                      ok = load_image_file_head_eet(im, file, key);
+                      if (ok != -1) im->info.format = 3;
+                   }
+              }
+#endif
+#ifdef BUILD_LOADER_EDB
+            if (ok == -1)
+              {
+                 if (!strcasecmp(p, "edb"))
+                   {
+                      ok = load_image_file_head_edb(im, file, key);
+                      if (ok != -1) im->info.format = 4;
+                   }
+              }
+#endif
+         }
+     }
+   
 #ifdef BUILD_LOADER_PNG
    if (ok == -1)
      {
@@ -887,18 +940,18 @@
    if (ok == -1)
      {
        evas_common_image_free(im);
-       if (real_file) free(real_file);
+//     if (real_file) free(real_file);
        return NULL;
      }
-   im->timestamp = mod_time;
+//   im->timestamp = mod_time;
    if (file)
      {
        im->info.file = strdup(file);
-       im->info.real_file = real_file;
+//     im->info.real_file = real_file;
      }
    else
      {
-       if (real_file) free(real_file); 
+//     if (real_file) free(real_file); 
      }
    if (key)
      im->info.key = strdup(key);




-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to