diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2012-12-10 14:01:02 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2012-12-10 14:01:02 +0100 |
commit | 3bafbe496107b4a74790fb79b22d986c864bb460 (patch) | |
tree | 88fffbc370f15720117f404cb29314bb9aa692d7 /libmsi | |
parent | e64ed93d4859a1b95b40e70256fff5945500d78d (diff) | |
parent | 7c218b82e38738f17fef56b660f256fa6e9ede1f (diff) | |
download | msitools-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.h | 17 | ||||
-rw-r--r-- | libmsi/msiquery.c | 3 | ||||
-rw-r--r-- | libmsi/record.c | 47 |
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); |