Enlightenment CVS committal

Author  : dj2
Project : e17
Module  : libs/engrave

Dir     : e17/libs/engrave/src/lib


Modified Files:
        engrave_data.c engrave_data.h engrave_file.c engrave_font.c 
        engrave_font.h engrave_group.c engrave_group.h engrave_image.c 
        engrave_image.h engrave_out.c engrave_parse.c engrave_part.c 
        engrave_part.h engrave_part_state.c engrave_part_state.h 
        engrave_program.c engrave_program.h 


Log Message:
- make returned strings const char *'s and don't strdup them

- don't free the image in engrave_part_state_free since these will be free'd
  in the main image free loop

- don't put group data in the file level datablock

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_data.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- engrave_data.c      14 Nov 2004 16:59:59 -0000      1.7
+++ engrave_data.c      15 Nov 2004 16:49:05 -0000      1.8
@@ -41,28 +41,24 @@
  * engrave_data_key_get - get the key for this data
  * @param ed: The Engrave_Data to get the key from
  *
- * @return Returns a pointer to the key for this data or 
- * NULL on failure. This pointer must be free'd by the user.
+ * @return Returns the key for this data or NULL on failure.
  */
-char *
+const char *
 engrave_data_key_get(Engrave_Data *ed)
 {
-  if (!ed) return NULL;
-  return (ed->key ? strdup(ed->key) : NULL);
+  return (ed ? ed->key : NULL);
 }
 
 /**
  * engrave_data_value_get - get the string value of the data object
  * @param ed: The Engrave_Data to get the string value from.
  *
- * @return Returns a pointer to the string value of the data on success
- * or NULL on failure. This pointer must be free'd by the user.
+ * @return Returns the value of the data on success or NULL on failure.
  */
-char *
+const char *
 engrave_data_value_get(Engrave_Data *ed)
 {
-  if (!ed) return NULL;
-  return (ed->value ? strdup(ed->value) : NULL);
+  return (ed ? ed->value : NULL);
 }
 
 /**
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_data.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- engrave_data.h      14 Nov 2004 16:59:59 -0000      1.4
+++ engrave_data.h      15 Nov 2004 16:49:05 -0000      1.5
@@ -30,8 +30,8 @@
 Engrave_Data * engrave_data_new(const char *key, const char *value);
 void engrave_data_free(Engrave_Data *ed);
 
-char *engrave_data_key_get(Engrave_Data *ed);
-char *engrave_data_value_get(Engrave_Data *ed);
+const char *engrave_data_key_get(Engrave_Data *ed);
+const char *engrave_data_value_get(Engrave_Data *ed);
 int engrave_data_int_value_get(Engrave_Data *ed);
 
 /**
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_file.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- engrave_file.c      14 Nov 2004 16:59:59 -0000      1.11
+++ engrave_file.c      15 Nov 2004 16:49:05 -0000      1.12
@@ -25,7 +25,6 @@
 engrave_file_free(Engrave_File *ef)
 {
   Evas_List *l;
-
   if (!ef) return;
 
   for (l = ef->images; l; l = l->next) {
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_font.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- engrave_font.c      14 Nov 2004 16:59:59 -0000      1.7
+++ engrave_font.c      15 Nov 2004 16:49:05 -0000      1.8
@@ -41,28 +41,24 @@
  * engrave_font_name_get - get the font name
  * @param ef: The Engrave_Font to get the name from
  *
- * @return Returns a pointer to the name of the font
- * on success or NULL on error. This pointer must be freed by the user.
+ * @return Returns the name of the font on success or NULL on failure.
  */
-char *
+const char *
 engrave_font_name_get(Engrave_Font *ef)
 {
-  if (!ef) return NULL;
-  return (ef->name ? strdup(ef->name) : NULL);
+  return (ef ? ef->name : NULL);
 }
 
 /**
  * engrave_font_path_get - get the font path
  * @param ef: The Engrave_Font to get the path from 
  *
- * @return Returns a pointer to the path on success 
- * or NULL on error. This pointer must be freed by the user.
+ * @return Returns the path of the font on success or NULL on failure.
  */
-char *
+const char *
 engrave_font_path_get(Engrave_Font *ef)
 {
-  if (!ef) return NULL;
-  return (ef->path ? strdup(ef->path) : NULL);
+  return (ef ? ef->path : NULL);
 }
 
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_font.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- engrave_font.h      14 Nov 2004 16:59:59 -0000      1.5
+++ engrave_font.h      15 Nov 2004 16:49:05 -0000      1.6
@@ -29,8 +29,8 @@
 Engrave_Font *engrave_font_new(const char *path, const char *name);
 void engrave_font_free(Engrave_Font *ef);
 
-char *engrave_font_name_get(Engrave_Font *ef);
-char *engrave_font_path_get(Engrave_Font *ef);
+const char *engrave_font_name_get(Engrave_Font *ef);
+const char *engrave_font_path_get(Engrave_Font *ef);
 
 /**
  * @}
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- engrave_group.c     14 Nov 2004 16:59:59 -0000      1.10
+++ engrave_group.c     15 Nov 2004 16:49:05 -0000      1.11
@@ -33,7 +33,6 @@
   if (!eg) return;
 
   IF_FREE(eg->name);
-
   for (l = eg->parts; l; l = l->next) {
     Engrave_Part *ep = l->data;
     eg->parts = evas_list_remove(eg->parts, ep);
@@ -253,28 +252,24 @@
  * engrave_group_name_get - get the name attached to the group
  * @param eg: The Engrave_Group to get the name from
  *
- * @return Returns a pointer to the name of the group or NULL on failure.
- * This pointer must be free'd by the user
+ * @return Returns the name of the group or NULL on failure.
  */
-char *
+const char *
 engrave_group_name_get(Engrave_Group *eg)
 {
-  if (!eg) return NULL;
-  return (eg->name ? strdup(eg->name) : NULL);
+  return (eg ? eg->name : NULL);
 }
 
 /**
  * engrave_group_script_get - get the script attached to the group
  * @param eg: The Engrave_Group to get the script from
  * 
- * @return Returns a pointer to the script on success or NULL on failure.
- * This pointer must be free'd by the user.
+ * @return Returns the script on success or NULL on failure.
  */
-char *
+const char *
 engrave_group_script_get(Engrave_Group *eg)
 {
-  if (!eg) return NULL;
-  return (eg->script ? strdup(eg->script) : NULL);
+  return (eg ? eg->script : NULL);
 }
 
 /**
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_group.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- engrave_group.h     14 Nov 2004 16:59:59 -0000      1.8
+++ engrave_group.h     15 Nov 2004 16:49:05 -0000      1.9
@@ -54,8 +54,8 @@
 Engrave_Part * engrave_group_part_last_get(Engrave_Group *eg);
 Engrave_Program * engrave_group_program_last_get(Engrave_Group *eg);
 
-char *engrave_group_name_get(Engrave_Group *eg);
-char *engrave_group_script_get(Engrave_Group *eg);
+const char *engrave_group_name_get(Engrave_Group *eg);
+const char *engrave_group_script_get(Engrave_Group *eg);
 void engrave_group_min_size_get(Engrave_Group *eg, int *w, int *h);
 void engrave_group_max_size_get(Engrave_Group *eg, int *w, int *h);
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_image.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- engrave_image.c     14 Nov 2004 16:59:59 -0000      1.9
+++ engrave_image.c     15 Nov 2004 16:49:05 -0000      1.10
@@ -59,28 +59,24 @@
  * engrave_image_name_get - get the image name
  * @param ei: The Engrave_Image to get the name from
  * 
- * @return Returns a pointer to the name of the image or NULL
- * on error. This pointer must be free'd by the user.
+ * @return Returns the name of the image or NULL on failure.
  */
-char *
+const char *
 engrave_image_name_get(Engrave_Image *ei)
 {
-  if (!ei) return NULL;
-  return (ei->name ? strdup(ei->name) : NULL);
+  return (ei ? ei->name : NULL);
 }
 
 /**
  * engrave_image_path_get - get the image path
  * @param ei: The Engrave_Image to get the path from
  * 
- * @return Returns a pointer to the path of the image or NULL
- * on error. This pointer must be free'd by the user.
+ * @return Returns the path of the image or NULL on failure.
  */
-char *
+const char *
 engrave_image_path_get(Engrave_Image *ei)
 {
-  if (!ei) return NULL;
-  return (ei->path ? strdup(ei->path) : NULL);
+  return (ei ? ei->path : NULL);
 }
 
 /**
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_image.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -3 -r1.6 -r1.7
--- engrave_image.h     14 Nov 2004 16:59:59 -0000      1.6
+++ engrave_image.h     15 Nov 2004 16:49:05 -0000      1.7
@@ -33,8 +33,8 @@
 Engrave_Image *engrave_image_dup(Engrave_Image *from);
 void engrave_image_free(Engrave_Image *ef);
 
-char *engrave_image_name_get(Engrave_Image *ei);
-char *engrave_image_path_get(Engrave_Image *ei);
+const char *engrave_image_name_get(Engrave_Image *ei);
+const char *engrave_image_path_get(Engrave_Image *ei);
 Engrave_Image_Type engrave_image_type_get(Engrave_Image *ei);
 double engrave_image_compression_value_get(Engrave_Image *ei);
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_out.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- engrave_out.c       15 Nov 2004 05:31:26 -0000      1.18
+++ engrave_out.c       15 Nov 2004 16:49:05 -0000      1.19
@@ -11,8 +11,8 @@
 static void _engrave_output_font(Engrave_Font *font, void *data);
 static void _engrave_output_data(Engrave_Data *data, void *udata);
 static void _engrave_output_group(Engrave_Group *group, void *data);
-static void _engrave_program_output_after(char *after, void *data);
-static void _engrave_program_output_target(char *target, void *data);
+static void _engrave_program_output_after(const char *after, void *data);
+static void _engrave_program_output_target(const char *target, void *data);
 static void _engrave_part_state_output_tween(Engrave_Image *ei, void *data);
 
 static int level = 0;
@@ -201,11 +201,7 @@
   int w, h;
 
   engrave_out_start(out, "group");
-
-  tmp = engrave_group_name_get(group);
-  engrave_out_data(out, "name", "\"%s\"", tmp);
-  IF_FREE(tmp);
-
+  engrave_out_data(out, "name", "\"%s\"", engrave_group_name_get(group));
   engrave_group_min_size_get(group, &w, &h);
   if (w != 0 || h != 0)
     engrave_out_data(out, "min", "%d %d", w, h);
@@ -223,13 +219,11 @@
   }
 
   /* script */
-  tmp = engrave_group_script_get(group);
-  if (tmp) {
+  if (engrave_group_script_get(group)) {
     engrave_out_start(out, "script");
     /* FIXME scripts are wierd... */
-    fprintf(out, "%s", tmp);
+    fprintf(out, "%s", engrave_group_script_get(group));
     engrave_out_end(out);
-    FREE(tmp);
   }
 
   /* parts */
@@ -254,11 +248,7 @@
   int y, step_y, count_y;
 
   engrave_out_start(out, "part");
-
-  tmp = engrave_part_name_get(part);
-  engrave_out_data(out, "name", "\"%s\"", tmp);
-  IF_FREE(tmp);
-
+  engrave_out_data(out, "name", "\"%s\"", engrave_part_name_get(part));
   engrave_out_data(out, "type", "%s", 
         _part_type_string[engrave_part_type_get(part)]);
 
@@ -268,18 +258,15 @@
 
   if (engrave_part_repeat_events_get(part))
     engrave_out_data(out, "repeat_events", "%d",
-                  engrave_part_repeat_events_get(part));
+                    engrave_part_repeat_events_get(part));
 
   if (engrave_part_effect_get(part) != ENGRAVE_TEXT_EFFECT_NONE)
     engrave_out_data(out, "effect", "%s", 
-                  _text_effect_string[engrave_part_effect_get(part)]);
+                    _text_effect_string[engrave_part_effect_get(part)]);
 
-  tmp = engrave_part_clip_to_get(part);
-  if (tmp)
-  {
-    engrave_out_data(out, "clip_to", "\"%s\"", tmp);
-    FREE(tmp);
-  }
+  if (engrave_part_clip_to_get(part))
+    engrave_out_data(out, "clip_to", "\"%s\"", 
+                    engrave_part_clip_to_get(part));
 
   engrave_part_dragable_x_get(part, &x, &step_x, &count_x);
   engrave_part_dragable_y_get(part, &y, &step_y, &count_y);
@@ -289,12 +276,9 @@
     engrave_out_data(out, "x", "%d %d %d", x, step_x, count_x);
     engrave_out_data(out, "y", "%d %d %d", y, step_y, count_y);
 
-    tmp = engrave_part_dragable_confine_get(part);
-    if (tmp)
-    {
-      engrave_out_data(out, "confine", "\"%s\"", tmp);
-      FREE(tmp);
-    }
+    if (engrave_part_dragable_confine_get(part))
+      engrave_out_data(out, "confine", "\"%s\"",
+                    engrave_part_dragable_confine_get(part));
     engrave_out_end(out);
   }
   engrave_part_state_foreach(part, _engrave_output_state, out);
@@ -308,24 +292,18 @@
   char *tmp;
   Engrave_Action action;
   double value, value2;
-  char state[125], state2[125];
+  char state[128], state2[128];
 
   engrave_out_start(out, "program");
-
-  tmp = engrave_program_name_get(program);
-  engrave_out_data(out, "name", "\"%s\"", tmp);
-  IF_FREE(tmp);
-
-  tmp = engrave_program_signal_get(program);
-  engrave_out_data(out, "signal", "\"%s\"", tmp);
-  IF_FREE(tmp);
-
-  tmp = engrave_program_source_get(program);
-  engrave_out_data(out, "source", "\"%s\"", tmp);
-  IF_FREE(tmp);
+  engrave_out_data(out, "name", "\"%s\"", 
+                      engrave_program_name_get(program));
+  engrave_out_data(out, "signal", "\"%s\"",
+                      engrave_program_signal_get(program));
+  engrave_out_data(out, "source", "\"%s\"",
+                      engrave_program_source_get(program));
 
   engrave_program_action_get(program, &action, state, 
-                              state2, &value, &value2);
+                              state2, 128, 128, &value, &value2);
   switch (action) {
     case ENGRAVE_ACTION_STOP:
       engrave_out_data(out, "action", "%s", _action_string[action]);
@@ -359,14 +337,12 @@
 
     case ENGRAVE_ACTION_SCRIPT:
       {
-        char *script = engrave_program_script_get(program);
-        if (script)
+        if (engrave_program_script_get(program))
         {
           engrave_out_start(out, "script");
           /* FIXME scripts are wierd ... */
-          fprintf(out, "%s", script);
+          fprintf(out, "%s", engrave_program_script_get(program));
           engrave_out_end(out);
-          FREE(script);
         }
       }
       break;
@@ -396,7 +372,7 @@
 _engrave_output_state(Engrave_Part_State *state, Engrave_Part *part, void 
*data)
 {
   FILE *out = data;
-  char *tmp, *tmp2;
+  const char *tmp, *tmp2;
   double x, y;
   int w, h, ix, iy;
   int r, g, b, a, l, t;
@@ -407,8 +383,6 @@
 
   tmp = engrave_part_state_name_get(state, &x);
   engrave_out_data(out, "state", "\"%s\" %.2f", tmp, x);
-  IF_FREE(tmp);
-
   engrave_out_data(out, "visible", "%d",
                           engrave_part_state_visible_get(state));
 
@@ -450,7 +424,7 @@
   tmp2 = engrave_part_state_rel1_to_y_get(state);
   if (tmp || tmp2)
   {
-    if (!strcmp(tmp, tmp2))
+    if (!tmp || !tmp2 || !strcmp(tmp, tmp2))
       engrave_out_data(out, "to", "\"%s\"", tmp);
     else
     {
@@ -458,8 +432,6 @@
       engrave_out_data(out, "to_y", "\"%s\"", tmp2);
     }
   }
-  IF_FREE(tmp);
-  IF_FREE(tmp2);
 
   engrave_out_end(out);
 
@@ -484,16 +456,12 @@
       engrave_out_data(out, "to_y", "\"%s\"", tmp2);
     }
   }
-  IF_FREE(tmp);
-  IF_FREE(tmp2);
 
   engrave_out_end(out);
 
-  tmp = engrave_part_state_color_class_get(state);
-  if (tmp) {
-    engrave_out_data(out, "color_class", "\"%s\"", tmp); 
-    FREE(tmp);
-  }
+  if (engrave_part_state_color_class_get(state)) 
+    engrave_out_data(out, "color_class", "\"%s\"",
+                  engrave_part_state_color_class_get(state)); 
 
   engrave_part_state_color_get(state, &r, &g, &b, &a);
   if (r != 255 || g != 255 || b != 255 || a != 255)
@@ -511,10 +479,7 @@
   if ((engrave_part_type_get(part) == ENGRAVE_PART_TYPE_IMAGE) && im)
   {
     engrave_out_start(out, "image");
-
-    tmp = engrave_image_name_get(im);
-    engrave_out_data(out, "normal", "\"%s\"", tmp);
-    IF_FREE(tmp);
+    engrave_out_data(out, "normal", "\"%s\"", engrave_image_name_get(im));
 
     engrave_part_state_tween_foreach(state,
                         _engrave_part_state_output_tween, out);
@@ -528,23 +493,17 @@
   {
     engrave_out_start(out, "text");
 
-    tmp = engrave_part_state_text_text_get(state);
-    if (tmp) {
-      engrave_out_data(out, "text", "\"%s\"", tmp);
-      FREE(tmp);
-    }
+    if (engrave_part_state_text_text_get(state)) 
+      engrave_out_data(out, "text", "\"%s\"",
+                engrave_part_state_text_text_get(state));
    
-    tmp = engrave_part_state_text_text_class_get(state);
-    if (tmp) {
-      engrave_out_data(out, "text_class", "\"%s\"", tmp);
-      FREE(tmp);
-    }
+    if (engrave_part_state_text_text_class_get(state))
+      engrave_out_data(out, "text_class", "\"%s\"",
+                engrave_part_state_text_text_class_get(state));
   
-    tmp = engrave_part_state_text_font_get(state);
-    if (tmp) {
-      engrave_out_data(out, "font", "\"%s\"", tmp);
-      FREE(tmp);
-    }
+    if (engrave_part_state_text_font_get(state))
+      engrave_out_data(out, "font", "\"%s\"",
+                engrave_part_state_text_font_get(state));
    
     h = engrave_part_state_text_size_get(state);
     if (h)
@@ -570,7 +529,7 @@
 static void
 _engrave_output_image(Engrave_Image *image, void *data)
 {
-  char *name;
+  const char *name;
   FILE *out;
 
   out = data;
@@ -583,8 +542,6 @@
   else
     engrave_out_data(out, "image", "\"%s\" %s", name,
               _image_type_string[engrave_image_type_get(image)]);
-
-  IF_FREE(name);
 }
 
 static void
@@ -594,43 +551,36 @@
   FILE *out;
 
   out = data;
-  name = engrave_font_name_get(font);
-  path = engrave_font_path_get(font);
-
-  engrave_out_data(out, "font", "\"%s\" \"%s\"", path, name);
-  IF_FREE(name);
-  IF_FREE(path);
+  engrave_out_data(out, "font", "\"%s\" \"%s\"",
+          engrave_font_path_get(font), engrave_font_name_get(font));
 }
 
 static void
 _engrave_output_data(Engrave_Data *data, void *udata)
 {
-  char *key, *value;
+  const char *key;
   FILE *out;
 
   out = udata;
   key = engrave_data_key_get(data);
-  value = engrave_data_value_get(data);
 
-  if (value)
-    engrave_out_data(out, "item", "\"%s\" \"%s\"", key, value);
+  if (engrave_data_value_get(data))
+    engrave_out_data(out, "item", "\"%s\" \"%s\"", key,
+                            engrave_data_value_get(data));
   else
     engrave_out_data(out, "item", "\"%s\" %d",
                             key, engrave_data_int_value_get(data));
-
-  IF_FREE(key);
-  IF_FREE(value);
 }
 
 static void
-_engrave_program_output_target(char *target, void *data)
+_engrave_program_output_target(const char *target, void *data)
 {
     FILE *out = data;
     engrave_out_data(out, "target", "\"%s\"", target);
 }
 
 static void
-_engrave_program_output_after(char *after, void *data)
+_engrave_program_output_after(const char *after, void *data)
 {
   FILE *out = data;
   engrave_out_data(out, "after", "\"%s\"", after);
@@ -640,10 +590,7 @@
 _engrave_part_state_output_tween(Engrave_Image *ei, void *data)
 {
   FILE *out = data;
-  char *name = engrave_image_name_get(ei);
-
-  engrave_out_data(out, "tween", "\"%s\"", name);
-  IF_FREE(name);
+  engrave_out_data(out, "tween", "\"%s\"", engrave_image_name_get(ei));
 }
 
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_parse.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- engrave_parse.c     13 Nov 2004 20:50:20 -0000      1.8
+++ engrave_parse.c     15 Nov 2004 16:49:05 -0000      1.9
@@ -55,7 +55,7 @@
  
   /* XXX why is this put inboth file and group data? */
   data = engrave_data_new(key, value);
-  engrave_file_data_add(engrave_file, data);
+//  engrave_file_data_add(engrave_file, data);
 
   group = engrave_file_group_last_get(engrave_file);
   engrave_group_data_add(group, data);
@@ -253,7 +253,7 @@
   Engrave_Part *part;
   Engrave_Part_State *to;
   Engrave_Part_State *from;
-  char *state_name;
+  const char *state_name;
 
   group = engrave_file_group_last_get(engrave_file);
   part = engrave_group_part_last_get(group);
@@ -263,20 +263,18 @@
 
   /* must have a name set before we can be inherited into */
   if (!state_name) {
-    char *part_name = engrave_part_name_get(part);
+    const char *part_name = engrave_part_name_get(part);
     fprintf(stderr, "part %s: inherit may only be used after state!\n",
                                                             part_name);
-    free(part_name);
     return;
   }
 
   /* can't inherit into the default part */
   if ((strlen(state_name) == 7) && (!strncmp(state_name, "default", 7))) {
-    char *part_name = engrave_part_name_get(part);
+    const char *part_name = engrave_part_name_get(part);
     fprintf(stderr, "part %s: "
               "inherit may not be used in the default description!\n",
               part_name);
-    free(part_name);
     return;
   }
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -3 -r1.11 -r1.12
--- engrave_part.c      14 Nov 2004 16:59:59 -0000      1.11
+++ engrave_part.c      15 Nov 2004 16:49:06 -0000      1.12
@@ -91,14 +91,12 @@
  * engrave_part_name_get - Get the name of the part
  * @param ep: The Engrave_Part to retrieve the name from.
  * 
- * @return Returns a copy of the part name, this pointer must be freed by
- * the application, or NULL if no name found.
+ * @return Returns the name of the part, or NULL on failure.
  */
-char *
+const char *
 engrave_part_name_get(Engrave_Part *ep)
 {
-    if (!ep || !ep->name) return NULL;
-    return strdup(ep->name);
+    return (ep ? ep->name : NULL);
 }
 
 /**
@@ -158,14 +156,12 @@
  * engrave_part_clip_to_get - Get the clip_to setting of the part
  * @param ep: The Engrave_Part to get the clip_to from
  *
- * @return Returns a pointer to the clip_to string for the part or
- * NULL on failure. This pointer must be free'd by the user.
+ * @return Returns the clip_to string for the part or NULL on failure. 
  */
-char *
+const char *
 engrave_part_clip_to_get(Engrave_Part *ep)
 {
-  if (!ep) return NULL;
-  return (ep->clip_to ? strdup(ep->clip_to) : NULL);
+  return (ep ? ep->clip_to : NULL);
 }
 
 /**
@@ -228,14 +224,12 @@
  * engrave_part_dragable_confine_get - Get the dragable confine setting
  * @param ep: The Engrave_Part to get the confine setting from
  *
- * @return Returns a pointer to the confine setting or NULL on error.
- * This pointer must be free'd by the user.
+ * @return Returns the confine setting or NULL on failure.
  */
-char *
+const char *
 engrave_part_dragable_confine_get(Engrave_Part *ep)
 {
-  if (!ep) return NULL;
-  return (ep->dragable.confine ? strdup(ep->dragable.confine) : NULL);
+  return (ep ? ep->dragable.confine : NULL);
 }
 
 /**
@@ -377,7 +371,7 @@
   if (!ep || !name) return NULL;
 
   for (l = ep->states; l; l = l->next) {
-    char *state_name;
+    const char *state_name;
     double state_val;
     Engrave_Part_State *eps;
     
@@ -386,10 +380,8 @@
 
     if ((!strcmp(state_name, name)) && (strlen(name) == strlen(state_name))
         && (state_val == val)) {
-      free(state_name);
       return eps;
     }
-    free(state_name);
   }
 
   return NULL;
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- engrave_part.h      14 Nov 2004 16:59:59 -0000      1.9
+++ engrave_part.h      15 Nov 2004 16:49:06 -0000      1.10
@@ -71,15 +71,15 @@
 Engrave_Part_State * engrave_part_state_by_name_value_find(Engrave_Part *ep, 
                                             const char *name, double val);
 
-char *engrave_part_name_get(Engrave_Part *ep);
+const char *engrave_part_name_get(Engrave_Part *ep);
 Engrave_Part_Type engrave_part_type_get(Engrave_Part *ep);
 int engrave_part_mouse_events_get(Engrave_Part *ep);
 int engrave_part_repeat_events_get(Engrave_Part *ep);
 Engrave_Text_Effect engrave_part_effect_get(Engrave_Part *ep);
-char *engrave_part_clip_to_get(Engrave_Part *ep);
+const char *engrave_part_clip_to_get(Engrave_Part *ep);
 void engrave_part_dragable_x_get(Engrave_Part *ep, int *x, int *step, int 
*count);
 void engrave_part_dragable_y_get(Engrave_Part *ep, int *y, int *step, int 
*count);
-char *engrave_part_dragable_confine_get(Engrave_Part *ep);
+const char *engrave_part_dragable_confine_get(Engrave_Part *ep);
 
 int engrave_part_states_count(Engrave_Part *ep);
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part_state.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- engrave_part_state.c        14 Nov 2004 16:59:59 -0000      1.12
+++ engrave_part_state.c        15 Nov 2004 16:49:06 -0000      1.13
@@ -77,12 +77,8 @@
   IF_FREE(eps->rel2.to_x);
   IF_FREE(eps->rel2.to_y);
 
-  engrave_image_free(eps->image.normal);
-  for (l = eps->image.tween; l; l = l->next) {
-    Engrave_Image *ei = l->data;
-    eps->image.tween = evas_list_remove(eps->image.tween, ei);
-    engrave_image_free(ei);
-  }
+  /* don't free the image here cuz its freed in the _file code */
+  eps->image.normal = NULL;
   eps->image.tween = evas_list_free(eps->image.tween);
 
   IF_FREE(eps->color_class);
@@ -766,16 +762,11 @@
  *
  * @return Returns the state name, or NULL on failure.
  */
-char *
+const char *
 engrave_part_state_name_get(Engrave_Part_State *eps, double *val)
 {
-  char *str = NULL;
-
-  if (eps)
-    str = (eps->name ? strdup(eps->name) : NULL);
-
   if (val) *val = (eps ? eps->value : 0);
-  return str;
+  return (eps ? eps->name : NULL); 
 }
 
 /**
@@ -914,28 +905,24 @@
  * engrave_part_state_rel1_to_x_get - get the to_x value for rel1
  * @param eps: The Engrave_Part_State to get the value from
  * 
- * @return Returns a pointer to the to_x value or NULL on failure.
- * This pointer must be free'd by the user.
+ * @return Returns the to_x value or NULL on failure.
  */
-char *
+const char *
 engrave_part_state_rel1_to_x_get(Engrave_Part_State *eps)
 {
-  if (!eps) return NULL;
-  return (eps->rel1.to_x ? strdup(eps->rel1.to_x) : NULL);
+  return (eps ? eps->rel1.to_x : NULL);
 }
 
 /**
  * engrave_part_state_rel1_to_y_get - get the to_y value for rel1
  * @param eps: The Engrave_Part_State to get the value from
  * 
- * @return Returns a pointer to the to_y value or NULL on failure.
- * This pointer must be free'd by the user.
+ * @return Returns the to_y value or NULL on failure.
  */
-char *
+const char *
 engrave_part_state_rel1_to_y_get(Engrave_Part_State *eps)
 {
-  if (!eps) return NULL;
-  return (eps->rel1.to_y ? strdup(eps->rel1.to_y) : NULL);
+  return (eps ? eps->rel1.to_y : NULL);
 }
 
 /** 
@@ -973,42 +960,36 @@
  * engrave_part_state_rel2_to_x_get - get the to_x value for rel2
  * @param eps: The Engrave_Part_State to get the value from
  * 
- * @return Returns a pointer to the to_x value or NULL on failure.
- * This pointer must be free'd by the user.
+ * @return Returns the to_x value or NULL on failure.
  */
-char *
+const char *
 engrave_part_state_rel2_to_x_get(Engrave_Part_State *eps)
 {
-  if (!eps) return NULL;
-  return (eps->rel2.to_x ? strdup(eps->rel2.to_x) : NULL);
+  return (eps ? eps->rel2.to_x : NULL);
 }
 
 /**
  * engrave_part_state_rel2_to_y_get - get the to_y value for rel2
  * @param eps: The Engrave_Part_State to get the value from
  * 
- * @return Returns a pointer to the to_y value or NULL on failure.
- * This pointer must be free'd by the user.
+ * @return Returns the to_y value or NULL on failure.
  */
-char *
+const char *
 engrave_part_state_rel2_to_y_get(Engrave_Part_State *eps)
 {
-  if (!eps) return NULL;
-  return (eps->rel2.to_y ? strdup(eps->rel2.to_y) : NULL);
+  return (eps ? eps->rel2.to_y : NULL);
 }
 
 /**
  * engrave_part_state_color_class_get - get the color class for the state
  * @param eps: The Engrave_Part_State to get the colour class from
  * 
- * @return Returns a pointer to the colour class on success or NULL on
- * failure. This pointer must be free'd by the user.
+ * @return Returns the colour class on success or NULL on failure.
  */
-char *
+const char *
 engrave_part_state_color_class_get(Engrave_Part_State *eps)
 {
-  if (!eps) return NULL;
-  return (eps->color_class ? strdup(eps->color_class) : NULL);
+  return (eps ? eps->color_class : NULL);
 }
 
 /**
@@ -1105,42 +1086,36 @@
  * engrave_part_state_text_text_get - get the text value
  * @param eps: The Engrave_Part_State to get the text from
  *
- * @return Returns a pointer to the text value on success or NULL on
- * failure. This pointer must be free'd by the user.
+ * @return Returns the text value on success or NULL on failure.
  */
-char *
+const char *
 engrave_part_state_text_text_get(Engrave_Part_State *eps)
 {
-  if (!eps) return NULL;
-  return (eps->text.text ? strdup(eps->text.text) : NULL);
+  return (eps ? eps->text.text : NULL);
 }
 
 /**
  * engrave_part_state_text_text_class_get - get the text class
  * @param eps: The Engrave_Part_State to get the value from
  *
- * @return Returns a pointer to the text class or NULL on failure. This
- * pointer must be free'd by the user.
+ * @return Returns the text class or NULL on failure.
  */
-char *
+const char *
 engrave_part_state_text_text_class_get(Engrave_Part_State *eps)
 {
-  if (!eps) return NULL;
-  return (eps->text.text_class ? strdup(eps->text.text_class) : NULL);
+  return (eps ? eps->text.text_class : NULL);
 }
 
 /**
  * engrave_part_state_text_font_get - get the text font
  * @param eps: The Engrave_Part_State to get the font from
  *
- * @return Returns a pointer to the font on success or NULL on failure. This
- * pointer must be free'd by the user.
+ * @return Returns the font on success or NULL on failure.
  */
-char *
+const char *
 engrave_part_state_text_font_get(Engrave_Part_State *eps)
 {
-  if (!eps) return NULL;
-  return (eps->text.font ? strdup(eps->text.font) : NULL);
+  return (eps ? eps->text.font : NULL);
 }
 
 /**
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_part_state.h,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- engrave_part_state.h        14 Nov 2004 16:59:59 -0000      1.9
+++ engrave_part_state.h        15 Nov 2004 16:49:06 -0000      1.10
@@ -174,8 +174,6 @@
 
 void engrave_part_state_name_set(Engrave_Part_State *eps, const char *name, 
                                                           double value);
-char *engrave_part_state_name_get(Engrave_Part_State *eps, double *value);
-
 void engrave_part_state_visible_set(Engrave_Part_State *eps, int visible);
 void engrave_part_state_align_set(Engrave_Part_State *eps, int x, int y);
 void engrave_part_state_step_set(Engrave_Part_State *eps, int x, int y);
@@ -238,7 +236,7 @@
 void engrave_part_state_copy(Engrave_Part_State *from, 
                                           Engrave_Part_State *to);
 
-char *engrave_part_state_name_get(Engrave_Part_State *eps, double *val);
+const char *engrave_part_state_name_get(Engrave_Part_State *eps, double *val);
 int engrave_part_state_visible_get(Engrave_Part_State *eps);
 void engrave_part_state_align_get(Engrave_Part_State *eps,
                                                       double *x, double *y);
@@ -254,15 +252,15 @@
                                                       double *x, double *y);
 void engrave_part_state_rel1_offset_get(Engrave_Part_State *eps,
                                                       int *x, int*y);
-char *engrave_part_state_rel1_to_x_get(Engrave_Part_State *eps);
-char *engrave_part_state_rel1_to_y_get(Engrave_Part_State *eps);
+const char *engrave_part_state_rel1_to_x_get(Engrave_Part_State *eps);
+const char *engrave_part_state_rel1_to_y_get(Engrave_Part_State *eps);
 void engrave_part_state_rel2_relative_get(Engrave_Part_State *eps, 
                                                       double *x, double *y);
 void engrave_part_state_rel2_offset_get(Engrave_Part_State *eps,
                                                       int *x, int*y);
-char *engrave_part_state_rel2_to_x_get(Engrave_Part_State *eps);
-char *engrave_part_state_rel2_to_y_get(Engrave_Part_State *eps);
-char *engrave_part_state_color_class_get(Engrave_Part_State *eps);
+const char *engrave_part_state_rel2_to_x_get(Engrave_Part_State *eps);
+const char *engrave_part_state_rel2_to_y_get(Engrave_Part_State *eps);
+const char *engrave_part_state_color_class_get(Engrave_Part_State *eps);
 void engrave_part_state_color_get(Engrave_Part_State *eps, 
                                   int *r, int *g, int *b, int *a);
 void engrave_part_state_color2_get(Engrave_Part_State *eps, 
@@ -272,9 +270,9 @@
 Engrave_Image *engrave_part_state_image_normal_get(Engrave_Part_State *eps);
 void engrave_part_state_image_border_get(Engrave_Part_State *eps,
                                   int *l, int *r, int *t, int *b);
-char *engrave_part_state_text_text_get(Engrave_Part_State *eps);
-char *engrave_part_state_text_text_class_get(Engrave_Part_State *eps);
-char *engrave_part_state_text_font_get(Engrave_Part_State *eps);
+const char *engrave_part_state_text_text_get(Engrave_Part_State *eps);
+const char *engrave_part_state_text_text_class_get(Engrave_Part_State *eps);
+const char *engrave_part_state_text_font_get(Engrave_Part_State *eps);
 int engrave_part_state_text_size_get(Engrave_Part_State *eps);
 void engrave_part_state_text_fit_get(Engrave_Part_State *eps,
                                             int *x, int *y);
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_program.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- engrave_program.c   14 Nov 2004 16:59:59 -0000      1.10
+++ engrave_program.c   15 Nov 2004 16:49:06 -0000      1.11
@@ -26,7 +26,7 @@
 {
   Evas_List *l;
   if (!ep) return;
-  
+
   IF_FREE(ep->name);
   IF_FREE(ep->signal);
   IF_FREE(ep->source);
@@ -204,50 +204,44 @@
  * engrave_program_name_get - Get the program name
  * @param ep: The Engrave_Program to get the name from
  *
- * @return Returns a pointer to the name of the program or NULL on failure.
- * This pointer must be free'd by the user.
+ * @return Returns the name of the program or NULL on failure.
  */
-char *
+const char *
 engrave_program_name_get(Engrave_Program *ep)
 {
-  if (!ep) return NULL;
-  return (ep->name ? strdup(ep->name) : NULL);
+  return (ep ? ep->name : NULL);
 }
 
 /**
  * engrave_program_signal_get - Get the program signal
  * @param ep: The Engrave_Program to get the signal from
  *
- * @return Returns a pointer to the signal of the program or NULL on failure.
- * This pointer must be free'd by the user.
+ * @return Returns the signal of the program or NULL on failure.
  */
-char *
+const char *
 engrave_program_signal_get(Engrave_Program *ep)
 {
-  if (!ep) return NULL;
-  return (ep->signal ? strdup(ep->signal) : NULL);
+  return (ep ? ep->signal : NULL);
 }
 
 /**
  * engrave_program_source_get - Get the program source
  * @param ep: The Engrave_Program to get the source from
  *
- * @return Returns a pointer to the source of the program or NULL on failure.
- * This pointer must be free'd by the user.
+ * @return Returns the source of the program or NULL on failure.
  */
-char *
+const char *
 engrave_program_source_get(Engrave_Program *ep)
 {
-  if (!ep) return NULL;
-  return (ep->source ? strdup(ep->source) : NULL);
+  return (ep ? ep->source : NULL);
 }
 
 /** 
  * engrave_program_action_get - Get the action information for the program
  * @param ep: The Engrave_Program to get the action information from
  * @param action: Where to store the action setting
- * @param state: Buffer to put the state value into
- * @param state2: Buffer to put the state2 value into
+ * @param state: Buffer to put state into
+ * @param state2: Buffer to put state2 into
  * @param value: Where to put the value setting
  * @param value2: Where to put the value2 setting
  *
@@ -256,32 +250,16 @@
 void
 engrave_program_action_get(Engrave_Program *ep, Engrave_Action *action,
                                     char *state, char *state2, 
+                                    int state_len, int state2_len,
                                     double *value, double *value2)
 {
-  Engrave_Action a;
-  char *s, *s2;
-  double v, v2;
-
-  if (!ep) {
-    a = ENGRAVE_ACTION_NUM;
-    s = NULL;
-    s2 = NULL;
-    v = 0;
-    v2 = 0;
-  } else {
-    a = ep->action;
-    v = ep->value;
-    v2 = ep->value2;
-    s = ep->state;
-    s2 = ep->state2;
-  }
-  if (action) *action = a;
-  if (value) *value = v;
-  if (value2) *value2 = v2;
-  if (state) 
-    snprintf(state, sizeof(state), "%s", (s ? s : NULL));
+  if (action) *action = (ep ? ep->action : ENGRAVE_ACTION_NUM);
+  if (value) *value = (ep ? ep->value : 0);
+  if (value2) *value2 = (ep ? ep->value2 : 0);
+  if (state)
+    snprintf(state, state_len, "%s", (ep ? ep->state : ""));
   if (state2)
-    snprintf(state2, sizeof(state2), "%s", (s2 ? s2 : NULL));
+    snprintf(state2, state2_len, "%s", (ep ? ep->state2 : ""));
 }
 
 /**
@@ -296,32 +274,20 @@
 engrave_program_transition_get(Engrave_Program *ep, 
                                     Engrave_Transition *trans, double 
*duration)
 {
-  Engrave_Transition t;
-  double d;
-
-  if (!ep) {
-    t = ENGRAVE_TRANSITION_NUM;
-    d = 0;
-  } else {
-    t = ep->transition;
-    d = ep->duration;
-  }
-  if (trans) *trans = t;
-  if (duration) *duration = d;
+  if (trans) *trans = (ep ? ep->transition : ENGRAVE_TRANSITION_NUM);
+  if (duration) *duration = (ep ? ep->duration : 0);
 }
 
 /**
  * engrave_program_script_get - Get the script from the program
  * @param ep: The Engrave_Program to get the script from
  *
- * @return Returns a pointer to the script or NULL on failure. This pointer
- * must be free'd by the user.
+ * @return Returns the script or NULL on failure.
  */
-char *
+const char *
 engrave_program_script_get(Engrave_Program *ep)
 {
-  if (!ep) return NULL;
-  return (ep->script ? strdup(ep->script) : NULL);
+  return (ep ? ep->script : NULL);
 }
 
 /**
@@ -385,13 +351,13 @@
  */
 void
 engrave_program_target_foreach(Engrave_Program *ep,
-                                void (*func)(char *, void *), void *data)
+                                void (*func)(const char *, void *), void *data)
 {
   Evas_List *l;
 
   if (!engrave_program_targets_count(ep)) return;
   for (l = ep->targets; l; l = l->next) {
-    char *target = l->data;
+    const char *target = l->data;
     if (target) func(target, data);
   }
 }
@@ -406,13 +372,13 @@
  */
 void
 engrave_program_after_foreach(Engrave_Program *ep,
-                               void (*func)(char *, void *), void *data)
+                               void (*func)(const char *, void *), void *data)
 {
   Evas_List *l;
 
   if (!engrave_program_afters_count(ep)) return;
   for (l = ep->afters; l; l = l->next) {
-    char *after = l->data;
+    const char *after = l->data;
     if (after) func(after, data);
   }
 }
===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/engrave/src/lib/engrave_program.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- engrave_program.h   14 Nov 2004 16:59:59 -0000      1.8
+++ engrave_program.h   15 Nov 2004 16:49:06 -0000      1.9
@@ -65,24 +65,25 @@
 void engrave_program_transition_set(Engrave_Program *ep,
                                 Engrave_Transition trans, double duration);
 
-char *engrave_program_name_get(Engrave_Program *ep);
-char *engrave_program_signal_get(Engrave_Program *ep);
-char *engrave_program_source_get(Engrave_Program *ep);
+const char *engrave_program_name_get(Engrave_Program *ep);
+const char *engrave_program_signal_get(Engrave_Program *ep);
+const char *engrave_program_source_get(Engrave_Program *ep);
 void engrave_program_action_get(Engrave_Program *ep, Engrave_Action *action,
                                     char *state, char *state2, 
+                                    int state_len, int state2_len,
                                     double *value, double *value2);
 void engrave_program_transition_get(Engrave_Program *ep, 
                                     Engrave_Transition *trans, double 
*duration);
-char *engrave_program_script_get(Engrave_Program *ep);
+const char *engrave_program_script_get(Engrave_Program *ep);
 void engrave_program_in_get(Engrave_Program *ep, double *from, double *range);
 
 int engrave_program_afters_count(Engrave_Program *ep);
 int engrave_program_targets_count(Engrave_Program *ep);
 
 void engrave_program_target_foreach(Engrave_Program *ep,
-                                void (*func)(char *, void *), void *data);
+                                void (*func)(const char *, void *), void 
*data);
 void engrave_program_after_foreach(Engrave_Program *ep,
-                                void (*func)(char *, void *), void *data);
+                                void (*func)(const char *, void *), void 
*data);
 
 
 /**




-------------------------------------------------------
This SF.Net email is sponsored by: InterSystems CACHE
FREE OODBMS DOWNLOAD - A multidimensional database that combines
robust object and relational technologies, making it a perfect match
for Java, C++,COM, XML, ODBC and JDBC. www.intersystems.com/match8
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to