Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/edje

Dir     : e17/libs/edje/src/lib


Modified Files:
        edje_message_queue.c edje_program.c edje_text.c edje_util.c 


Log Message:


handle NULL strings better - need to handle mroe NULLS though

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_message_queue.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- edje_message_queue.c        1 Nov 2005 04:10:01 -0000       1.18
+++ edje_message_queue.c        23 Nov 2005 12:56:05 -0000      1.19
@@ -242,8 +242,8 @@
                  Edje_Message_Signal *emsg;
                  
                  emsg = (Edje_Message_Signal *)em->msg;
-                 free(emsg->sig);
-                 free(emsg->src);
+                 if (emsg->sig) free(emsg->sig);
+                 if (emsg->src) free(emsg->src);
                  free(emsg);
               }
             break;
@@ -292,9 +292,9 @@
             Edje_Message_Signal *emsg2, *emsg3;
             
             emsg2 = (Edje_Message_Signal *)emsg;
-            emsg3 = malloc(sizeof(Edje_Message_Signal));
-            emsg3->sig = strdup(emsg2->sig);
-            emsg3->src = strdup(emsg2->src);
+            emsg3 = calloc(1, sizeof(Edje_Message_Signal));
+            if (emsg2->sig) emsg3->sig = strdup(emsg2->sig);
+            if (emsg2->src) emsg3->src = strdup(emsg2->src);
             msg = (unsigned char *)emsg3;
          }
        break;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_program.c,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -3 -r1.44 -r1.45
--- edje_program.c      4 Oct 2005 17:54:36 -0000       1.44
+++ edje_program.c      23 Nov 2005 12:56:05 -0000      1.45
@@ -234,7 +234,7 @@
      }
    else
      {
-       _edje_emit(ed, "load", "");     
+       _edje_emit(ed, "load", NULL);
        if (evas_object_visible_get(obj))
          {
             evas_object_hide(obj);
@@ -811,9 +811,7 @@
                  Edje_Program *pr;
                  
                  pr = l->data;
-                 if ((pr->signal) &&
-                     (pr->source) &&
-                     (_edje_glob_match(sig, pr->signal)) &&
+                 if ((_edje_glob_match(sig, pr->signal)) &&
                      (_edje_glob_match(src, pr->source)))
                    {
 #ifdef EDJE_PROGRAM_CACHE
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_text.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -3 -r1.41 -r1.42
--- edje_text.c 6 Nov 2005 03:32:01 -0000       1.41
+++ edje_text.c 23 Nov 2005 12:56:06 -0000      1.42
@@ -513,6 +513,9 @@
    text = chosen_desc->text.text;
    font = chosen_desc->text.font;
    size = chosen_desc->text.size;
+
+   if (!text) text = "";
+   if (!font) font = "";
    
    if ((chosen_desc->text.text_class) && (chosen_desc->text.text_class[0] != 
0))
      {
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_util.c,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -3 -r1.65 -r1.66
--- edje_util.c 17 Nov 2005 08:14:05 -0000      1.65
+++ edje_util.c 23 Nov 2005 12:56:06 -0000      1.66
@@ -1587,13 +1587,14 @@
 int
 _edje_glob_match(char *str, char *glob)
 {
-   if (glob[0] == 0)
+   if ((!glob) || (glob[0] == 0))
      {
-       if (str[0] == 0) return 1;
+       if ((!str) || (str[0] == 0)) return 1;
+       if ((glob) && (glob[0] == '*')) return 1;
        return 0;
      }
-   if (!strcmp(glob, "*")) return 1;
-   if (!fnmatch(glob, str, 0)) return 1;
+   if (glob[0] == '*') return 1;
+   if ((glob) && (str) && (!fnmatch(glob, str, 0))) return 1;
    return 0;
 }
 




-------------------------------------------------------
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