Merge branch 'bug552566-timet/wip'

svn path=/trunk/; revision=624
This commit is contained in:
Colin Walters 2008-09-23 18:20:25 +00:00
parent bfb6271201
commit 8fc943f941
6 changed files with 17 additions and 8 deletions

View File

@ -1720,6 +1720,9 @@ g_constant_info_get_value (GIConstantInfo *info,
case GI_TYPE_TAG_DOUBLE:
value->v_double = *(gdouble*)&base->typelib->data[blob->offset];
break;
case GI_TYPE_TAG_TIME_T:
value->v_long = *(long*)&base->typelib->data[blob->offset];
break;
case GI_TYPE_TAG_INT:
value->v_int = *(gint*)&base->typelib->data[blob->offset];
break;

View File

@ -89,6 +89,7 @@ get_ffi_type (GITypeInfo *info)
rettype = &ffi_type_slong;
break;
case GI_TYPE_TAG_SIZE: /* FIXME */
case GI_TYPE_TAG_TIME_T: /* May not be portable */
case GI_TYPE_TAG_ULONG:
rettype = &ffi_type_ulong;
break;

View File

@ -748,6 +748,8 @@ g_type_tag_to_string (GITypeTag type)
return "float";
case GI_TYPE_TAG_DOUBLE:
return "double";
case GI_TYPE_TAG_TIME_T:
return "time_t";
case GI_TYPE_TAG_UTF8:
return "utf8";
case GI_TYPE_TAG_FILENAME:

View File

@ -285,14 +285,15 @@ typedef enum {
GI_TYPE_TAG_SIZE = 15,
GI_TYPE_TAG_FLOAT = 16,
GI_TYPE_TAG_DOUBLE = 17,
GI_TYPE_TAG_UTF8 = 18,
GI_TYPE_TAG_FILENAME = 19,
GI_TYPE_TAG_ARRAY = 20,
GI_TYPE_TAG_INTERFACE = 21,
GI_TYPE_TAG_GLIST = 22,
GI_TYPE_TAG_GSLIST = 23,
GI_TYPE_TAG_GHASH = 24,
GI_TYPE_TAG_ERROR = 25
GI_TYPE_TAG_TIME_T = 18,
GI_TYPE_TAG_UTF8 = 19,
GI_TYPE_TAG_FILENAME = 20,
GI_TYPE_TAG_ARRAY = 21,
GI_TYPE_TAG_INTERFACE = 22,
GI_TYPE_TAG_GLIST = 23,
GI_TYPE_TAG_GSLIST = 24,
GI_TYPE_TAG_GHASH = 25,
GI_TYPE_TAG_ERROR = 26
} GITypeTag;
const gchar* g_type_tag_to_string (GITypeTag type);

View File

@ -2117,6 +2117,7 @@ g_ir_node_build_typelib (GIrNode *node,
*(glong*)&data[blob->offset] = (glong) parse_int_value (constant->value);
break;
case GI_TYPE_TAG_SIZE: /* FIXME */
case GI_TYPE_TAG_TIME_T:
case GI_TYPE_TAG_ULONG:
blob->size = sizeof (gulong);
*(gulong*)&data[blob->offset] = (gulong) parse_uint_value (constant->value);

View File

@ -252,6 +252,7 @@ static BasicTypeInfo basic_types[] = {
{ "size", GI_TYPE_TAG_SIZE, 0 },
{ "float", GI_TYPE_TAG_FLOAT, 0 },
{ "double", GI_TYPE_TAG_DOUBLE, 0 },
{ "time_t", GI_TYPE_TAG_TIME_T, 0 },
{ "utf8", GI_TYPE_TAG_UTF8, 1 },
{ "filename", GI_TYPE_TAG_FILENAME,1 },