]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
[script] Abstract formations of script_return_t with helper functions
authorCharlie Brej <cbrej@cs.man.ac.uk>
Wed, 8 Jul 2009 14:49:04 +0000 (15:49 +0100)
committerCharlie Brej <cbrej@cs.man.ac.uk>
Wed, 8 Jul 2009 14:49:04 +0000 (15:49 +0100)
src/plugins/splash/script/script-execute.c
src/plugins/splash/script/script-lib-image.c
src/plugins/splash/script/script-lib-math.c
src/plugins/splash/script/script-lib-plymouth.c
src/plugins/splash/script/script-lib-sprite.c
src/plugins/splash/script/script.h

index 9c1ba4ee084442eaa0b7b4caf1d0ca96b797d25d..5cc72d254b46023a0bd3176cf6475bc00e72aeeb 100644 (file)
@@ -264,12 +264,9 @@ static script_obj_t *script_evaluate_func (script_state_t *state,
       node_expression = ply_list_get_next_node (parameter_expressions,
                                                 node_expression);
     }
-
-  script_return_t reply = script_execute_function_with_parlist (
-    state,
-    func->data.
-    function,
-    parameter_data);
+  script_return_t reply = script_execute_function_with_parlist (state,
+                                                                func->data.function,
+                                                                parameter_data);
   if (reply.type == SCRIPT_RETURN_TYPE_RETURN)
     obj = reply.object;
   else
@@ -454,7 +451,7 @@ static script_obj_t *script_evaluate (script_state_t *state,
 static script_return_t script_execute_list (script_state_t *state,
                                             ply_list_t   *op_list)                        /* FIXME script_execute returns the return obj */
 {
-  script_return_t reply = {SCRIPT_RETURN_TYPE_NORMAL, NULL};
+  script_return_t reply = script_return_normal ();
   ply_list_node_t *node = ply_list_get_first_node (op_list);
 
   for (node = ply_list_get_first_node (op_list);
@@ -546,7 +543,7 @@ script_return_t script_execute_function (script_state_t    *state,
 script_return_t script_execute (script_state_t *state,
                                 script_op_t    *op)
 {
-  script_return_t reply = {SCRIPT_RETURN_TYPE_NORMAL, NULL};
+  script_return_t reply = script_return_normal ();
 
   if (!op) return reply;
   switch (op->type)
@@ -596,7 +593,7 @@ script_return_t script_execute (script_state_t *state,
                         return reply;
 
                       case SCRIPT_RETURN_TYPE_BREAK:
-                        return (script_return_t) {SCRIPT_RETURN_TYPE_NORMAL, NULL};
+                        return script_return_normal();
 
                       case SCRIPT_RETURN_TYPE_CONTINUE:
                         break;
@@ -627,19 +624,19 @@ script_return_t script_execute (script_state_t *state,
           script_obj_t *obj;
           if (op->data.exp) obj = script_evaluate (state, op->data.exp);
           else obj = script_obj_new_null ();
-          reply = (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, obj};
+          reply = script_return_obj (obj);
           break;
         }
 
       case SCRIPT_OP_TYPE_BREAK:
         {
-          reply = (script_return_t) {SCRIPT_RETURN_TYPE_BREAK, NULL};
+          reply = script_return_break ();
           break;
         }
 
       case SCRIPT_OP_TYPE_CONTINUE:
         {
-          reply = (script_return_t) {SCRIPT_RETURN_TYPE_CONTINUE, NULL};
+          reply = script_return_continue ();
           break;
         }
     }
index 9250414b6494cbc9710c3067a9d107ae7984d707..e2ddb21c8bd9f2a4585c2bb00cb93292dd74413c 100644 (file)
@@ -79,7 +79,7 @@ static script_return_t image_new (script_state_t *state,
     }
   free (filename);
   free (path_filename);
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, reply};
+  return script_return_obj (reply);
 }
 
 static script_return_t image_get_width (script_state_t *state,
@@ -89,12 +89,9 @@ static script_return_t image_get_width (script_state_t *state,
   ply_image_t *image = script_obj_hash_get_native_of_class (state->local,
                                                             "image",
                                                             data->class);
-
   if (image)
-    return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                            script_obj_new_int (ply_image_get_width (image))};
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                          script_obj_new_null ()};
+    return script_return_obj (script_obj_new_int (ply_image_get_width (image)));
+  return script_return_obj_null ();
 }
 
 static script_return_t image_get_height (script_state_t *state,
@@ -104,12 +101,9 @@ static script_return_t image_get_height (script_state_t *state,
   ply_image_t *image = script_obj_hash_get_native_of_class (state->local,
                                                             "image",
                                                             data->class);
-
   if (image)
-    return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                            script_obj_new_int (ply_image_get_height (image))};
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                          script_obj_new_null ()};
+    return script_return_obj (script_obj_new_int (ply_image_get_height (image)));
+  return script_return_obj_null ();
 }
 
 static script_return_t image_rotate (script_state_t *state,
@@ -127,12 +121,9 @@ static script_return_t image_rotate (script_state_t *state,
                                                  ply_image_get_width (image) / 2,
                                                  ply_image_get_height (image) / 2,
                                                  angle);
-      return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                              script_obj_new_native (new_image,
-                                                     data->class)};
+      return script_return_obj (script_obj_new_native (new_image, data->class));
     }
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                          script_obj_new_null ()};
+  return script_return_obj_null ();
 }
 
 static script_return_t image_scale (script_state_t *state,
@@ -148,12 +139,9 @@ static script_return_t image_scale (script_state_t *state,
   if (image)
     {
       ply_image_t *new_image = ply_image_resize (image, width, height);
-      return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                              script_obj_new_native (new_image,
-                                                     data->class)};
+      return script_return_obj (script_obj_new_native (new_image, data->class));
     }
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                          script_obj_new_null ()};
+  return script_return_obj_null ();
 }
 
 script_lib_image_data_t *script_lib_image_setup (script_state_t *state,
index c698de0e901f60e5036057b371e8e24f50bf03c7..84e2a1cf3b460534d2db7e419d85a67aaf6579be 100644 (file)
@@ -44,7 +44,7 @@ static script_return_t script_lib_math_float_from_float_function (script_state_t
   float (*function)(float) = user_data;
   float value = script_obj_hash_get_float (state->local, "value");
   float reply_float = function (value);
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, script_obj_new_float (reply_float)};
+  return script_return_obj (script_obj_new_float (reply_float));
 }
 
 
@@ -55,7 +55,7 @@ static script_return_t script_lib_math_float_from_float_float_function (script_s
   float value1 = script_obj_hash_get_float (state->local, "value_a");
   float value2 = script_obj_hash_get_float (state->local, "value_b");
   float reply_float = function (value1, value2);
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, script_obj_new_float (reply_float)};
+  return script_return_obj (script_obj_new_float (reply_float));
 }
 
 static script_return_t script_lib_math_int_from_float_function (script_state_t *state,
@@ -64,7 +64,7 @@ static script_return_t script_lib_math_int_from_float_function (script_state_t *
   int (*function)(float) = user_data;
   float value = script_obj_hash_get_float (state->local, "value");
   int reply_int = function (value);
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, script_obj_new_int (reply_int)};
+  return script_return_obj (script_obj_new_int (reply_int));
 }
 
 static int float_to_int (float value)
index 6d93beb288345f81604a8cdca0d77c559b270051..37b0a299d44005cc7df11bb1dac4c45dbba33d97 100644 (file)
@@ -53,9 +53,7 @@ static script_return_t plymouth_set_function (script_state_t *state,
       *script_func = NULL;
       script_obj_unref (obj);
     }
-  return (script_return_t) {
-           SCRIPT_RETURN_TYPE_RETURN, script_obj_new_null ()
-  };
+  return script_return_obj_null ();
 }
 
 script_lib_plymouth_data_t *script_lib_plymouth_setup (script_state_t *state)
@@ -149,8 +147,8 @@ void script_lib_plymouth_on_refresh (script_state_t             *state,
       && (refresh_func_obj->type == SCRIPT_OBJ_TYPE_FUNCTION))
     {
       script_return_t ret = script_execute_function (state,
-                                                   refresh_func_obj->data.function,
-                                                   NULL);
+                                                     refresh_func_obj->data.function,
+                                                     NULL);
       script_obj_unref (ret.object);
     }
 }
@@ -168,10 +166,10 @@ void script_lib_plymouth_on_boot_progress (script_state_t             *state,
       script_obj_t *duration_obj = script_obj_new_float (duration);
       script_obj_t *progress_obj = script_obj_new_float (progress);
       script_return_t ret = script_execute_function (state,
-                                                   boot_progress_func_obj->data.function,
-                                                   duration_obj,
-                                                   progress_obj,
-                                                   NULL);
+                                                     boot_progress_func_obj->data.function,
+                                                     duration_obj,
+                                                     progress_obj,
+                                                     NULL);
       script_obj_unref (ret.object);
       script_obj_unref (duration_obj);
       script_obj_unref (progress_obj);
index 9501ac7228ddf6297494bde66ecc592a75e35a9d..c0a9bba40e9f6e43210e0f510f3dfba2a8ca36a7 100644 (file)
@@ -73,7 +73,7 @@ static script_return_t sprite_new (script_state_t *state,
   ply_list_append_data (data->sprite_list, sprite);
 
   reply = script_obj_new_native (sprite, data->class);
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, reply};
+  return script_return_obj (reply);
 }
 
 static script_return_t sprite_set_image (script_state_t *state,
@@ -100,8 +100,7 @@ static script_return_t sprite_set_image (script_state_t *state,
     }
   script_obj_unref (script_obj_image);
 
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                          script_obj_new_null ()};
+  return script_return_obj_null ();
 }
 
 static script_return_t sprite_set_x (script_state_t *state,
@@ -114,8 +113,7 @@ static script_return_t sprite_set_x (script_state_t *state,
 
   if (sprite)
     sprite->x = script_obj_hash_get_int (state->local, "value");
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                          script_obj_new_null ()};
+  return script_return_obj_null ();
 }
 
 static script_return_t sprite_set_y (script_state_t *state,
@@ -128,8 +126,7 @@ static script_return_t sprite_set_y (script_state_t *state,
 
   if (sprite)
     sprite->y = script_obj_hash_get_int (state->local, "value");
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                          script_obj_new_null ()};
+  return script_return_obj_null ();
 }
 
 static script_return_t sprite_set_z (script_state_t *state,
@@ -142,8 +139,7 @@ static script_return_t sprite_set_z (script_state_t *state,
 
   if (sprite)
     sprite->z = script_obj_hash_get_int (state->local, "value");
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                          script_obj_new_null ()};
+  return script_return_obj_null ();
 }
 
 static script_return_t sprite_set_opacity (script_state_t *state,
@@ -156,8 +152,7 @@ static script_return_t sprite_set_opacity (script_state_t *state,
 
   if (sprite)
     sprite->opacity = script_obj_hash_get_float (state->local, "value");
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                          script_obj_new_null ()};
+  return script_return_obj_null ();
 }
 
 static script_return_t sprite_window_get_width (script_state_t *state,
@@ -168,8 +163,7 @@ static script_return_t sprite_window_get_width (script_state_t *state,
   ply_frame_buffer_area_t area;
 
   ply_frame_buffer_get_size (frame_buffer, &area);
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                          script_obj_new_int (area.width)};
+  return script_return_obj (script_obj_new_int (area.width));
 }
 
 static script_return_t sprite_window_get_height (script_state_t *state,
@@ -180,8 +174,7 @@ static script_return_t sprite_window_get_height (script_state_t *state,
   ply_frame_buffer_area_t area;
 
   ply_frame_buffer_get_size (frame_buffer, &area);
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                          script_obj_new_int (area.height)};
+  return script_return_obj (script_obj_new_int (area.height));
 }
 
 static uint32_t extract_rgb_color (script_state_t *state)
@@ -200,8 +193,7 @@ static script_return_t sprite_window_set_background_top_color (script_state_t *s
 
   data->background_color_start = extract_rgb_color (state);
   data->full_refresh = true;
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN, 
-                          script_obj_new_null ()};
+  return script_return_obj_null ();
 }
 
 static script_return_t sprite_window_set_background_bottom_color (script_state_t *state,
@@ -211,8 +203,7 @@ static script_return_t sprite_window_set_background_bottom_color (script_state_t
 
   data->background_color_end = extract_rgb_color (state);
   data->full_refresh = true;
-  return (script_return_t) {SCRIPT_RETURN_TYPE_RETURN,
-                          script_obj_new_null ()};
+  return script_return_obj_null ();
 }
 
 static void
index 5eb080df9fe190366cd50c7d5fbb055165268e35..6e17f1d89cba2de520a81bd2b118233f8b7701a5 100644 (file)
@@ -214,6 +214,13 @@ typedef struct
   script_obj_t *object;
 } script_vareable_t;
 
+
+#define script_return_obj(_return_object) ((script_return_t) {SCRIPT_RETURN_TYPE_RETURN, _return_object})
+#define script_return_obj_null() ((script_return_t) {SCRIPT_RETURN_TYPE_RETURN, script_obj_new_null ()})
+#define script_return_normal() ((script_return_t) {SCRIPT_RETURN_TYPE_NORMAL, NULL})
+#define script_return_break() ((script_return_t) {SCRIPT_RETURN_TYPE_BREAK, NULL})
+#define script_return_continue() ((script_return_t) {SCRIPT_RETURN_TYPE_CONTINUE, NULL})
+
 script_function_t *script_function_script_new (script_op_t  *script,
                                                void         *user_data,
                                                ply_list_t   *parameter_list);