seed r34 - trunk/libseed
- From: racarr svn gnome org
- To: svn-commits-list gnome org
- Subject: seed r34 - trunk/libseed
- Date: Fri, 24 Oct 2008 18:01:08 +0000 (UTC)
Author: racarr
Date: Fri Oct 24 18:01:08 2008
New Revision: 34
URL: http://svn.gnome.org/viewvc/seed?rev=34&view=rev
Log:
Fix lots of unused variables, a few bugs, functions not returning
anything, and bad readline headers.
Modified:
trunk/libseed/seed-builtins.c
trunk/libseed/seed-engine.c
trunk/libseed/seed-signals.c
trunk/libseed/seed-structs.c
trunk/libseed/seed-types.c
Modified: trunk/libseed/seed-builtins.c
==============================================================================
--- trunk/libseed/seed-builtins.c (original)
+++ trunk/libseed/seed-builtins.c Fri Oct 24 18:01:08 2008
@@ -20,6 +20,7 @@
#include "seed-private.h"
#include <readline/readline.h>
+#include <readline/history.h>
#include <string.h>
JSValueRef
@@ -61,7 +62,8 @@
walk = strdup(walk);
g_free(buffer);
- JSEvaluateScript(ctx, JSStringCreateWithUTF8CString(walk), NULL, JSStringCreateWithUTF8CString(import_file), 0, NULL);
+ JSEvaluateScript(ctx, JSStringCreateWithUTF8CString(walk),
+ NULL, JSStringCreateWithUTF8CString(import_file), 0, NULL);
return 0;
}
Modified: trunk/libseed/seed-engine.c
==============================================================================
--- trunk/libseed/seed-engine.c (original)
+++ trunk/libseed/seed-engine.c Fri Oct 24 18:01:08 2008
@@ -425,7 +425,6 @@
static void seed_gobject_finalize(JSObjectRef object)
{
GObject * gobject;
- GIBaseInfo * base;
gobject = seed_value_to_object((JSValueRef)object);
if (!gobject)
@@ -468,10 +467,10 @@
int length;
SeedValue ret;
int i, len;
- GType parent;
b = seed_value_to_object((JSValueRef)object);
- g_return_if_fail((b));
+ if (!b)
+ return 0;
length = JSStringGetMaximumUTF8CStringSize(property_name);
cproperty_name = malloc(length * sizeof(gchar));
@@ -713,7 +712,7 @@
{0, 0, 0}
};
-JSClassDefinition gobject_def[] = {
+JSClassDefinition gobject_def = {
0, /* Version, always 0 */
kJSClassAttributeNoAutomaticPrototype, /* JSClassAttributes */
"gobject", /* Class Name */
@@ -733,7 +732,7 @@
NULL /* Convert To Type */
};
-JSClassDefinition gobject_method_def[] = {
+JSClassDefinition gobject_method_def = {
0, /* Version, always 0 */
0,
"gobject_method", /* Class Name */
@@ -753,7 +752,7 @@
NULL /* Convert To Type */
};
-JSClassDefinition gobject_constructor_def[] = {
+JSClassDefinition gobject_constructor_def = {
0, /* Version, always 0 */
0,
"gobject_constructor", /* Class Name */
@@ -784,7 +783,7 @@
gboolean seed_init(int * argc, char *** argv)
{
- JSObjectRef import_namespace_ref, seed_obj_ref;
+ JSObjectRef seed_obj_ref;
g_type_init ();
@@ -795,11 +794,11 @@
eng->context = JSGlobalContextCreateInGroup(NULL,NULL);
eng->global = JSContextGetGlobalObject(eng->context);
- gobject_class = JSClassCreate(gobject_def);
+ gobject_class = JSClassCreate(&gobject_def);
JSClassRetain(gobject_class);
- gobject_method_class = JSClassCreate(gobject_method_def);
+ gobject_method_class = JSClassCreate(&gobject_method_def);
JSClassRetain(gobject_method_class);
- gobject_constructor_class = JSClassCreate(gobject_constructor_def);
+ gobject_constructor_class = JSClassCreate(&gobject_constructor_def);
JSClassRetain(gobject_constructor_class);
gobject_signal_class = JSClassCreate(seed_get_signal_class());
JSClassRetain(gobject_signal_class);
Modified: trunk/libseed/seed-signals.c
==============================================================================
--- trunk/libseed/seed-signals.c (original)
+++ trunk/libseed/seed-signals.c Fri Oct 24 18:01:08 2008
@@ -158,7 +158,6 @@
const JSValueRef arguments[],
JSValueRef * exception)
{
- JSObjectRef object;
signal_privates * privates;
GClosure * closure;
@@ -194,7 +193,7 @@
{{ "connect",seed_gobject_signal_connect,0},
{ 0, 0, 0}};
-JSClassDefinition gobject_signal_def[] = {
+JSClassDefinition gobject_signal_def = {
0, /* Version, always 0 */
kJSClassAttributeNoAutomaticPrototype,
"gobject_signal", /* Class Name */
@@ -216,7 +215,7 @@
JSClassDefinition * seed_get_signal_class(void)
{
- return gobject_signal_def;
+ return &gobject_signal_def;
}
Modified: trunk/libseed/seed-structs.c
==============================================================================
--- trunk/libseed/seed-structs.c (original)
+++ trunk/libseed/seed-structs.c Fri Oct 24 18:01:08 2008
@@ -19,7 +19,7 @@
#include "seed-private.h"
-
+#include <string.h>
JSClassRef seed_struct_class = 0;
typedef struct _SeedStructPrivates
@@ -33,157 +33,7 @@
g_free(JSObjectGetPrivate(younion));
}
-static JSValueRef seed_struct_get_property(JSContextRef context,
- JSObjectRef object,
- JSStringRef property_name,
- JSValueRef * exception)
-{
- SeedStructPrivates * priv;
- GIBaseInfo * info;
- GIFieldInfo * field = 0;
- GITypeInfo * prop_type;
- GIInfoType obj_type;
- GType prop_gtype;
- gint num_fields = 0, i, length, offset = 0;
- gchar * cproperty_name;
- GValue gval = {0};
- JSValueRef ret;
-
- priv = (SeedStructPrivates*)JSObjectGetPrivate(object);
- info = (GIBaseInfo *)priv->info;
-
- obj_type = g_base_info_get_type(info);
-
- length = JSStringGetMaximumUTF8CStringSize(property_name);
- cproperty_name = malloc(length * sizeof(gchar));
- JSStringGetUTF8CString(property_name, cproperty_name, length);
-
- if (obj_type == GI_INFO_TYPE_UNION)
- num_fields = g_union_info_get_n_fields((GIUnionInfo *)info);
- else if (obj_type == GI_INFO_TYPE_STRUCT)
- num_fields = g_struct_info_get_n_fields((GIStructInfo *)info);
- for (i = 0; i < num_fields; i++)
- {
- if (obj_type == GI_INFO_TYPE_UNION)
- field = g_union_info_get_field((GIUnionInfo *)info, i);
- else if (obj_type == GI_INFO_TYPE_STRUCT)
- field = g_struct_info_get_field((GIStructInfo*)info, i);
- offset += g_field_info_get_size(field);
-
- if (!strcmp(g_base_info_get_name((GIBaseInfo*)field),
- cproperty_name))
- break;
- else
- field = 0;
- }
- if (!field)
- return 0;
-
- prop_type = g_field_info_get_type(field);
- prop_gtype = seed_gi_type_to_gtype(prop_type,
- g_type_info_get_tag(prop_type));
-
- if (prop_gtype)
- g_value_init(&gval, prop_gtype);
- switch (g_type_info_get_tag(prop_type))
- {
- case GI_TYPE_TAG_VOID:
- return 0;
- case GI_TYPE_TAG_BOOLEAN:
- g_value_set_boolean(&gval,*(gboolean *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_INT8:
- g_value_set_char(&gval,*(char *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_UINT8:
- g_value_set_uchar(&gval,*(guchar *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_INT16:
- g_value_set_int(&gval,*(short *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_UINT16:
- g_value_set_uint(&gval,*(ushort *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_INT32:
- g_value_set_int(&gval,*(gint32 *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_UINT32:
- g_value_set_uint(&gval,*(guint32 *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_LONG:
- case GI_TYPE_TAG_INT64:
- g_value_set_long(&gval,*(glong *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_ULONG:
- case GI_TYPE_TAG_UINT64:
- g_value_set_ulong(&gval,*(gulong *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_INT:
- g_value_set_int(&gval,*(gint *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_UINT:
- g_value_set_uint(&gval,*(guint *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_SSIZE:
- g_value_set_int(&gval,*(gint *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_SIZE:
- g_value_set_int(&gval,*(gint *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_FLOAT:
- g_value_set_float(&gval,*(gfloat *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_DOUBLE:
- g_value_set_double(&gval,*(gdouble *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_UTF8:
- g_value_set_string(&gval,(gchar *)(priv->object + offset));
- break;
- case GI_TYPE_TAG_INTERFACE:
- {
- GIBaseInfo *interface;
- GIInfoType interface_type;
- GType required_gtype;
- GObject * gobject;
-
- interface = g_type_info_get_interface(prop_type);
- interface_type = g_base_info_get_type(interface);
-
-
- if (interface_type == GI_INFO_TYPE_OBJECT)
- {
- g_value_set_object(&gval,
- *(gpointer *)(priv->object + offset));
- break;
- }
- else if (interface_type == GI_INFO_TYPE_ENUM)
- {
- g_value_set_long(&gval,
- *(glong *)(priv->object + offset));
- break;
- }
- else if ((interface_type == GI_INFO_TYPE_STRUCT) ||
- (interface_type == GI_INFO_TYPE_UNION))
- {
- return seed_make_struct(((gpointer *)
- (priv->object +offset)),
- g_type_info_get_interface(prop_type));
- }
- }
-
- default:
- return FALSE;
-
- }
- ret = seed_value_from_gvalue(&gval);
-
- g_value_unset(&gval);
- g_free(cproperty_name);
- return ret;
-}
-
-
-JSClassDefinition gobject_struct_def[] = {
+JSClassDefinition gobject_struct_def = {
0, /* Version, always 0 */
0,
"gobject_union", /* Class Name */
@@ -193,7 +43,7 @@
NULL,
seed_struct_finalize, /* Finalize */
NULL, /* Has Property */
- seed_struct_get_property, /* Get Property */
+ 0,
NULL, /* Set Property */
NULL, /* Delete Property */
NULL, /* Get Property Names */
@@ -207,7 +57,7 @@
{
SeedStructPrivates * privates;
if (!seed_struct_class)
- seed_struct_class = JSClassCreate(gobject_struct_def);
+ seed_struct_class = JSClassCreate(&gobject_struct_def);
privates = g_new0(SeedStructPrivates, 1);
@@ -219,5 +69,5 @@
JSObjectRef seed_make_struct(gpointer strukt, GIBaseInfo * info)
{
- seed_make_union(strukt, info);
+ return seed_make_union(strukt, info);
}
Modified: trunk/libseed/seed-types.c
==============================================================================
--- trunk/libseed/seed-types.c (original)
+++ trunk/libseed/seed-types.c Fri Oct 24 18:01:08 2008
@@ -28,12 +28,9 @@
static gboolean seed_value_is_gobject(SeedValue value)
{
- gboolean ret;
-
if (!JSValueIsObject(eng->context, value) ||
JSValueIsNull(eng->context, value))
return FALSE;
-
return JSValueIsObjectOfClass(eng->context, value, gobject_class);
}
@@ -155,6 +152,8 @@
case GI_TYPE_TAG_GSLIST:
case GI_TYPE_TAG_GHASH:
case GI_TYPE_TAG_ERROR:
+ case GI_TYPE_TAG_TIME_T:
+ case GI_TYPE_TAG_GTYPE:
return G_TYPE_INVALID;
case GI_TYPE_TAG_INTERFACE:
{
@@ -364,8 +363,6 @@
{
GIBaseInfo *interface;
GIInfoType interface_type;
- GType required_gtype;
- GObject * gobject;
interface = g_type_info_get_interface(type_info);
interface_type = g_base_info_get_type(interface);
@@ -429,6 +426,7 @@
case GI_TYPE_TAG_FLOAT:
case GI_TYPE_TAG_DOUBLE:
case GI_TYPE_TAG_UTF8:
+ case GI_TYPE_TAG_INTERFACE:
return TRUE;
case GI_TYPE_TAG_FILENAME:
@@ -437,15 +435,14 @@
case GI_TYPE_TAG_GSLIST:
case GI_TYPE_TAG_GHASH:
case GI_TYPE_TAG_ERROR:
+ // We should support time_t easily.
+ case GI_TYPE_TAG_TIME_T:
+ case GI_TYPE_TAG_GTYPE:
return FALSE;
- case GI_TYPE_TAG_INTERFACE:
- {
- return TRUE;
- }
-
}
+ return FALSE;
}
SeedValue seed_value_from_gvalue(GValue * gval)
@@ -455,8 +452,6 @@
return false;
}
- JSValueRef val;
-
switch(G_VALUE_TYPE(gval))
{
case G_TYPE_BOOLEAN:
@@ -523,8 +518,6 @@
GValue * ret)
{
- gint32 cv;
-
switch(type)
{
case G_TYPE_BOOLEAN:
@@ -630,6 +623,8 @@
g_value_take_string(ret, cv);
return TRUE;
}
+ default:
+ break;
}
break;
}
@@ -663,9 +658,7 @@
g_object_unref(o);
}
-
-bad_type:
- return 0;
+ return FALSE;
}
SeedValue seed_value_get_property(SeedValue val,
@@ -701,7 +694,7 @@
static void seed_value_wrong_type()
{
- g_printf("Wrong type in type conversion!\n");
+ printf("Wrong type in type conversion!\n");
}
gboolean seed_value_to_boolean(JSValueRef val)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]