summaryrefslogtreecommitdiffstats
path: root/libmsi
diff options
context:
space:
mode:
Diffstat (limited to 'libmsi')
-rw-r--r--libmsi/libmsi-query.c4
-rw-r--r--libmsi/libmsi-record.c80
-rw-r--r--libmsi/table.c23
3 files changed, 46 insertions, 61 deletions
diff --git a/libmsi/libmsi-query.c b/libmsi/libmsi-query.c
index ecb3f14..88e598f 100644
--- a/libmsi/libmsi-query.c
+++ b/libmsi/libmsi-query.c
@@ -471,7 +471,7 @@ LibmsiResult libmsi_query_execute(LibmsiQuery *query, LibmsiRecord *rec)
return ret;
}
-static unsigned msi_set_record_type_string( LibmsiRecord *rec, unsigned field,
+static void msi_set_record_type_string( LibmsiRecord *rec, unsigned field,
unsigned type, bool temporary )
{
static const char fmt[] = "%d";
@@ -505,7 +505,7 @@ static unsigned msi_set_record_type_string( LibmsiRecord *rec, unsigned field,
TRACE("type %04x -> %s\n", type, debugstr_a(szType) );
- return libmsi_record_set_string( rec, field, szType );
+ libmsi_record_set_string( rec, field, szType );
}
unsigned _libmsi_query_get_column_info( LibmsiQuery *query, LibmsiColInfo info, LibmsiRecord **prec )
diff --git a/libmsi/libmsi-record.c b/libmsi/libmsi-record.c
index b472318..cc5c2aa 100644
--- a/libmsi/libmsi-record.c
+++ b/libmsi/libmsi-record.c
@@ -71,13 +71,13 @@ _libmsi_free_field (LibmsiField *field )
static void
libmsi_record_finalize (GObject *object)
{
- LibmsiRecord *p = LIBMSI_RECORD (object);
+ LibmsiRecord *self = LIBMSI_RECORD (object);
unsigned i;
- for (i = 0; i <= p->count; i++ )
- _libmsi_free_field (&p->fields[i]);
+ for (i = 0; i <= self->count; i++ )
+ _libmsi_free_field (&self->fields[i]);
- g_free (p->fields);
+ g_free (self->fields);
G_OBJECT_CLASS (libmsi_record_parent_class)->finalize (object);
}
@@ -86,11 +86,11 @@ static void
libmsi_record_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec)
{
g_return_if_fail (LIBMSI_IS_RECORD (object));
- LibmsiRecord *p = LIBMSI_RECORD (object);
+ LibmsiRecord *self = LIBMSI_RECORD (object);
switch (prop_id) {
case PROP_COUNT:
- p->count = g_value_get_uint (value);
+ self->count = g_value_get_uint (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -102,11 +102,11 @@ static void
libmsi_record_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec)
{
g_return_if_fail (LIBMSI_IS_RECORD (object));
- LibmsiRecord *p = LIBMSI_RECORD (object);
+ LibmsiRecord *self = LIBMSI_RECORD (object);
switch (prop_id) {
case PROP_COUNT:
- g_value_set_uint (value, p->count);
+ g_value_set_uint (value, self->count);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -118,10 +118,9 @@ static void
libmsi_record_constructed (GObject *object)
{
LibmsiRecord *self = LIBMSI_RECORD (object);
- LibmsiRecord *p = self;
// FIXME: +1 could be removed if accessing with idx-1
- p->fields = g_new0 (LibmsiField, p->count + 1);
+ self->fields = g_new0 (LibmsiField, self->count + 1);
G_OBJECT_CLASS (libmsi_record_parent_class)->constructed (object);
}
@@ -142,12 +141,12 @@ libmsi_record_class_init (LibmsiRecordClass *klass)
G_PARAM_STATIC_STRINGS));
}
-unsigned libmsi_record_get_field_count( const LibmsiRecord *rec )
+guint
+libmsi_record_get_field_count (const LibmsiRecord *self)
{
- if( !rec )
- return -1;
+ g_return_val_if_fail (LIBMSI_IS_RECORD (self), 0);
- return rec->count;
+ return self->count;
}
static bool expr_int_from_string( const char *str, int *out )
@@ -216,11 +215,12 @@ unsigned _libmsi_record_copy_field( LibmsiRecord *in_rec, unsigned in_n,
return r;
}
-int libmsi_record_get_int( const LibmsiRecord *rec, unsigned field)
+gint
+libmsi_record_get_int (const LibmsiRecord *rec, guint field)
{
int ret = 0;
- TRACE("%p %d\n", rec, field);
+ g_return_val_if_fail (LIBMSI_IS_RECORD (rec), LIBMSI_NULL_INT);
if( !rec )
return LIBMSI_NULL_INT;
@@ -243,14 +243,13 @@ int libmsi_record_get_int( const LibmsiRecord *rec, unsigned field)
return LIBMSI_NULL_INT;
}
-LibmsiResult libmsi_record_clear( LibmsiRecord *rec )
+gboolean libmsi_record_clear( LibmsiRecord *rec )
{
unsigned i;
- TRACE("%d\n", rec );
+ g_return_val_if_fail (LIBMSI_IS_RECORD (rec), FALSE);
- if( !rec )
- return LIBMSI_RESULT_INVALID_HANDLE;
+ TRACE("%p\n", rec );
g_object_ref(rec);
for( i=0; i<=rec->count; i++)
@@ -261,24 +260,23 @@ LibmsiResult libmsi_record_clear( LibmsiRecord *rec )
}
g_object_unref(rec);
- return LIBMSI_RESULT_SUCCESS;
+ return TRUE;
}
-LibmsiResult libmsi_record_set_int( LibmsiRecord *rec, unsigned field, int iVal )
+gboolean libmsi_record_set_int( LibmsiRecord *rec, unsigned field, int iVal )
{
TRACE("%p %u %d\n", rec, field, iVal);
- if( !rec )
- return LIBMSI_RESULT_INVALID_HANDLE;
+ g_return_val_if_fail (LIBMSI_IS_RECORD (rec), FALSE);
if( field > rec->count )
- return LIBMSI_RESULT_INVALID_PARAMETER;
+ return FALSE;
_libmsi_free_field( &rec->fields[field] );
rec->fields[field].type = LIBMSI_FIELD_TYPE_INT;
rec->fields[field].u.iVal = iVal;
- return LIBMSI_RESULT_SUCCESS;
+ return TRUE;
}
gboolean libmsi_record_is_null( const LibmsiRecord *rec, unsigned field )
@@ -287,8 +285,7 @@ gboolean libmsi_record_is_null( const LibmsiRecord *rec, unsigned field )
TRACE("%p %d\n", rec, field );
- if( !rec )
- return 0;
+ g_return_val_if_fail (LIBMSI_IS_RECORD (rec), TRUE);
r = ( field > rec->count ) ||
( rec->fields[field].type == LIBMSI_FIELD_TYPE_NULL );
@@ -375,17 +372,16 @@ unsigned _libmsi_record_get_string(const LibmsiRecord *rec, unsigned field,
return ret;
}
-LibmsiResult libmsi_record_set_string( LibmsiRecord *rec, unsigned field, const char *szValue )
+gboolean libmsi_record_set_string( LibmsiRecord *rec, unsigned field, const char *szValue )
{
char *str;
- TRACE("%d %d %s\n", rec, field, debugstr_a(szValue));
+ TRACE("%p %d %s\n", rec, field, debugstr_a(szValue));
- if( !rec )
- return LIBMSI_RESULT_INVALID_HANDLE;
+ g_return_val_if_fail (LIBMSI_IS_RECORD (rec), FALSE);
if( field > rec->count )
- return LIBMSI_RESULT_INVALID_FIELD;
+ return FALSE;
_libmsi_free_field( &rec->fields[field] );
@@ -401,7 +397,7 @@ LibmsiResult libmsi_record_set_string( LibmsiRecord *rec, unsigned field, const
rec->fields[field].u.szVal = NULL;
}
- return 0;
+ return TRUE;
}
/* read the data in a file into a memory-backed GsfInput */
@@ -490,20 +486,19 @@ unsigned _libmsi_record_load_stream_from_file(LibmsiRecord *rec, unsigned field,
return LIBMSI_RESULT_SUCCESS;
}
-LibmsiResult libmsi_record_load_stream(LibmsiRecord *rec, unsigned field, const char *szFilename)
+gboolean libmsi_record_load_stream(LibmsiRecord *rec, unsigned field, const char *szFilename)
{
unsigned ret;
- TRACE("%d %d %s\n", rec, field, debugstr_a(szFilename));
+ TRACE("%p %d %s\n", rec, field, debugstr_a(szFilename));
- if( !rec )
- return LIBMSI_RESULT_INVALID_HANDLE;
+ g_return_val_if_fail (LIBMSI_IS_RECORD (rec), FALSE);
g_object_ref(rec);
ret = _libmsi_record_load_stream_from_file( rec, field, szFilename );
g_object_unref(rec);
- return ret;
+ return ret == LIBMSI_RESULT_SUCCESS;
}
unsigned _libmsi_record_save_stream(const LibmsiRecord *rec, unsigned field, char *buf, unsigned *sz)
@@ -555,20 +550,19 @@ unsigned _libmsi_record_save_stream(const LibmsiRecord *rec, unsigned field, cha
return LIBMSI_RESULT_SUCCESS;
}
-LibmsiResult libmsi_record_save_stream(LibmsiRecord *rec, unsigned field, char *buf, unsigned *sz)
+gboolean libmsi_record_save_stream(LibmsiRecord *rec, unsigned field, char *buf, unsigned *sz)
{
unsigned ret;
TRACE("%d %d %p %p\n", rec, field, buf, sz);
- if( !rec )
- return LIBMSI_RESULT_INVALID_HANDLE;
+ g_return_val_if_fail (LIBMSI_IS_RECORD (rec), FALSE);
g_object_ref(rec);
ret = _libmsi_record_save_stream( rec, field, buf, sz );
g_object_unref(rec);
- return ret;
+ return ret == LIBMSI_RESULT_SUCCESS;
}
unsigned _libmsi_record_set_gsf_input( LibmsiRecord *rec, unsigned field, GsfInput *stm )
diff --git a/libmsi/table.c b/libmsi/table.c
index c7a7e36..713ec9b 100644
--- a/libmsi/table.c
+++ b/libmsi/table.c
@@ -788,7 +788,7 @@ unsigned msi_create_table( LibmsiDatabase *db, const char *name, column_info *co
goto err;
r = libmsi_record_set_string( rec, 1, name );
- if( r )
+ if (!r)
goto err;
r = tv->ops->insert_row( tv, rec, -1, persistent == LIBMSI_CONDITION_FALSE );
@@ -818,8 +818,7 @@ unsigned msi_create_table( LibmsiDatabase *db, const char *name, column_info *co
if( !rec )
goto err;
- r = libmsi_record_set_string( rec, 1, name );
- if( r )
+ if (!libmsi_record_set_string( rec, 1, name ))
goto err;
/*
@@ -829,16 +828,9 @@ unsigned msi_create_table( LibmsiDatabase *db, const char *name, column_info *co
nField = 1;
for( col = col_info; col; col = col->next )
{
- r = libmsi_record_set_int( rec, 2, nField );
- if( r )
- goto err;
-
- r = libmsi_record_set_string( rec, 3, col->column );
- if( r )
- goto err;
-
- r = libmsi_record_set_int( rec, 4, col->type );
- if( r )
+ if (!libmsi_record_set_int (rec, 2, nField) ||
+ !libmsi_record_set_string (rec, 3, col->column) ||
+ !libmsi_record_set_int(rec, 4, col->type))
goto err;
r = tv->ops->insert_row( tv, rec, -1, false );
@@ -1237,9 +1229,8 @@ static unsigned _libmsi_add_stream( LibmsiDatabase *db, const char *name, GsfInp
if ( !rec )
return LIBMSI_RESULT_OUTOFMEMORY;
- r = libmsi_record_set_string( rec, 1, name );
- if ( r != LIBMSI_RESULT_SUCCESS )
- goto err;
+ if (!libmsi_record_set_string(rec, 1, name))
+ goto err;
r = _libmsi_record_set_gsf_input( rec, 2, data );
if ( r != LIBMSI_RESULT_SUCCESS )