summaryrefslogtreecommitdiffstats
path: root/libmsi
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2012-12-10 14:01:02 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2012-12-10 14:01:02 +0100
commit3bafbe496107b4a74790fb79b22d986c864bb460 (patch)
tree88fffbc370f15720117f404cb29314bb9aa692d7 /libmsi
parente64ed93d4859a1b95b40e70256fff5945500d78d (diff)
parent7c218b82e38738f17fef56b660f256fa6e9ede1f (diff)
downloadmsitools-3bafbe496107b4a74790fb79b22d986c864bb460.tar.gz
msitools-3bafbe496107b4a74790fb79b22d986c864bb460.tar.xz
msitools-3bafbe496107b4a74790fb79b22d986c864bb460.zip
Merge branch 'pre-gsf' into HEAD
Conflicts: libmsi/msipriv.h libmsi/record.c
Diffstat (limited to 'libmsi')
-rw-r--r--libmsi/msipriv.h17
-rw-r--r--libmsi/msiquery.c3
-rw-r--r--libmsi/record.c47
3 files changed, 4 insertions, 63 deletions
diff --git a/libmsi/msipriv.h b/libmsi/msipriv.h
index 555075f..2c6a462 100644
--- a/libmsi/msipriv.h
+++ b/libmsi/msipriv.h
@@ -127,7 +127,6 @@ typedef struct LibmsiField
union
{
int iVal;
- intptr_t pVal;
char *szVal;
GsfInput *stream;
} u;
@@ -381,9 +380,7 @@ extern void _libmsi_record_destroy( LibmsiObject * );
extern unsigned _libmsi_record_set_gsf_input( LibmsiRecord *, unsigned, GsfInput *);
extern unsigned _libmsi_record_get_gsf_input( const LibmsiRecord *, unsigned, GsfInput **);
extern const char *_libmsi_record_get_string_raw( const LibmsiRecord *, unsigned );
-extern unsigned _libmsi_record_set_int_ptr( LibmsiRecord *, unsigned, intptr_t );
extern unsigned _libmsi_record_get_string( const LibmsiRecord *, unsigned, char *, unsigned *);
-extern intptr_t _libmsi_record_get_int_ptr( const LibmsiRecord *, unsigned );
extern unsigned _libmsi_record_save_stream( const LibmsiRecord *, unsigned, char *, unsigned *);
extern unsigned _libmsi_record_load_stream(LibmsiRecord *, unsigned, GsfInput *);
extern unsigned _libmsi_record_load_stream_from_file( LibmsiRecord *, unsigned, const char *);
@@ -444,31 +441,25 @@ static const char szData[] = "Data";
/* memory allocation macro functions */
-#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 3)))
-#define __WINE_ALLOC_SIZE(x) __attribute__((__alloc_size__(x)))
-#else
-#define __WINE_ALLOC_SIZE(x)
-#endif
-
-static void *msi_alloc( size_t len ) __WINE_ALLOC_SIZE(1);
+static void *msi_alloc( size_t len ) G_GNUC_ALLOC_SIZE(1);
static inline void *msi_alloc( size_t len )
{
return malloc(len);
}
-static void *msi_alloc_zero( size_t len ) __WINE_ALLOC_SIZE(1);
+static void *msi_alloc_zero( size_t len ) G_GNUC_ALLOC_SIZE(1);
static inline void *msi_alloc_zero( size_t len )
{
return calloc(len, 1);
}
-static void *msi_realloc( void *mem, size_t len ) __WINE_ALLOC_SIZE(2);
+static void *msi_realloc( void *mem, size_t len ) G_GNUC_ALLOC_SIZE(2);
static inline void *msi_realloc( void *mem, size_t len )
{
return realloc(mem, len);
}
-static void *msi_realloc_zero( void *mem, size_t oldlen, size_t len ) __WINE_ALLOC_SIZE(3);
+static void *msi_realloc_zero( void *mem, size_t oldlen, size_t len ) G_GNUC_ALLOC_SIZE(3);
static inline void *msi_realloc_zero( void *mem, size_t oldlen, size_t len )
{
mem = realloc( mem, len );
diff --git a/libmsi/msiquery.c b/libmsi/msiquery.c
index 39b520c..a7182b6 100644
--- a/libmsi/msiquery.c
+++ b/libmsi/msiquery.c
@@ -309,10 +309,7 @@ LibmsiResult _libmsi_query_fetch(LibmsiQuery *query, LibmsiRecord **prec)
r = msi_view_get_row(query->db, view, query->row, prec);
if (r == LIBMSI_RESULT_SUCCESS)
- {
query->row ++;
- _libmsi_record_set_int_ptr(*prec, 0, (intptr_t)query);
- }
return r;
}
diff --git a/libmsi/record.c b/libmsi/record.c
index d1834fe..56e71db 100644
--- a/libmsi/record.c
+++ b/libmsi/record.c
@@ -31,7 +31,6 @@
#define LIBMSI_FIELD_TYPE_INT 1
#define LIBMSI_FIELD_TYPE_STR 3
#define LIBMSI_FIELD_TYPE_STREAM 4
-#define LIBMSI_FIELD_TYPE_INTPTR 5
static void _libmsi_free_field( LibmsiField *field )
{
@@ -39,7 +38,6 @@ static void _libmsi_free_field( LibmsiField *field )
{
case LIBMSI_FIELD_TYPE_NULL:
case LIBMSI_FIELD_TYPE_INT:
- case LIBMSI_FIELD_TYPE_INTPTR:
break;
case LIBMSI_FIELD_TYPE_STR:
msi_free( field->u.szVal);
@@ -131,9 +129,6 @@ unsigned _libmsi_record_copy_field( LibmsiRecord *in_rec, unsigned in_n,
case LIBMSI_FIELD_TYPE_INT:
out->u.iVal = in->u.iVal;
break;
- case LIBMSI_FIELD_TYPE_INTPTR:
- out->u.pVal = in->u.pVal;
- break;
case LIBMSI_FIELD_TYPE_STR:
str = strdup( in->u.szVal );
if ( !str )
@@ -155,32 +150,6 @@ unsigned _libmsi_record_copy_field( LibmsiRecord *in_rec, unsigned in_n,
return r;
}
-intptr_t _libmsi_record_get_int_ptr( const LibmsiRecord *rec, unsigned iField )
-{
- int ret;
-
- TRACE( "%p %d\n", rec, iField );
-
- if( iField > rec->count )
- return INTPTR_MIN;
-
- switch( rec->fields[iField].type )
- {
- case LIBMSI_FIELD_TYPE_INT:
- return rec->fields[iField].u.iVal;
- case LIBMSI_FIELD_TYPE_INTPTR:
- return rec->fields[iField].u.pVal;
- case LIBMSI_FIELD_TYPE_STR:
- if( expr_int_from_string( rec->fields[iField].u.szVal, &ret ) )
- return ret;
- return INTPTR_MIN;
- default:
- break;
- }
-
- return INTPTR_MIN;
-}
-
int libmsi_record_get_integer( const LibmsiRecord *rec, unsigned iField)
{
int ret = 0;
@@ -197,8 +166,6 @@ int libmsi_record_get_integer( const LibmsiRecord *rec, unsigned iField)
{
case LIBMSI_FIELD_TYPE_INT:
return rec->fields[iField].u.iVal;
- case LIBMSI_FIELD_TYPE_INTPTR:
- return rec->fields[iField].u.pVal;
case LIBMSI_FIELD_TYPE_STR:
if( expr_int_from_string( rec->fields[iField].u.szVal, &ret ) )
return ret;
@@ -231,20 +198,6 @@ LibmsiResult libmsi_record_clear_data( LibmsiRecord *rec )
return LIBMSI_RESULT_SUCCESS;
}
-unsigned _libmsi_record_set_int_ptr( LibmsiRecord *rec, unsigned iField, intptr_t pVal )
-{
- TRACE("%p %u %ld\n", rec, iField, pVal);
-
- if( iField > rec->count )
- return LIBMSI_RESULT_INVALID_PARAMETER;
-
- _libmsi_free_field( &rec->fields[iField] );
- rec->fields[iField].type = LIBMSI_FIELD_TYPE_INTPTR;
- rec->fields[iField].u.pVal = pVal;
-
- return LIBMSI_RESULT_SUCCESS;
-}
-
LibmsiResult libmsi_record_set_int( LibmsiRecord *rec, unsigned iField, int iVal )
{
TRACE("%p %u %d\n", rec, iField, iVal);