diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2012-12-05 14:42:12 +0100 |
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2012-12-06 20:30:34 +0100 |
| commit | 5ae805a15be4aff0e012da58f02a2aada02f2018 (patch) | |
| tree | 59faa4fff15302073ccc9bc231e98a5d30bbe7ba | |
| parent | 5720d463bbdcaa252ba3dc8cc2633a2a8994f2cb (diff) | |
| download | msitools-5ae805a15be4aff0e012da58f02a2aada02f2018.tar.gz msitools-5ae805a15be4aff0e012da58f02a2aada02f2018.tar.xz msitools-5ae805a15be4aff0e012da58f02a2aada02f2018.zip | |
convert array-strings to literals
| -rw-r--r-- | libmsi/alter.c | 18 | ||||
| -rw-r--r-- | libmsi/database.c | 75 | ||||
| -rw-r--r-- | libmsi/msipriv.h | 14 | ||||
| -rw-r--r-- | libmsi/msiquery.c | 8 | ||||
| -rw-r--r-- | libmsi/record.c | 2 | ||||
| -rw-r--r-- | libmsi/suminfo.c | 2 | ||||
| -rw-r--r-- | libmsi/table.c | 21 |
7 files changed, 52 insertions, 88 deletions
diff --git a/libmsi/alter.c b/libmsi/alter.c index 78b3b45..aba817b 100644 --- a/libmsi/alter.c +++ b/libmsi/alter.c @@ -75,12 +75,8 @@ static bool check_column_exists(LibmsiDatabase *db, const char *table, const cha LibmsiRecord *rec; unsigned r; - static const char query[] = { - 'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ', - '`','_','C','o','l','u','m','n','s','`',' ','W','H','E','R','E',' ', - '`','T','a','b','l','e','`','=','\'','%','s','\'',' ','A','N','D',' ', - '`','N','a','m','e','`','=','\'','%','s','\'',0 - }; + static const char query[] = + "SELECT * FROM `_Columns` WHERE `Table`='%s' AND `Name`='%s'"; r = _libmsi_query_open(db, &view, query, table, column); if (r != LIBMSI_RESULT_SUCCESS) @@ -105,13 +101,9 @@ static unsigned alter_add_column(LibmsiAlterView *av) LibmsiQuery *view; LibmsiView *columns; - static const char szColumns[] = {'_','C','o','l','u','m','n','s',0}; - static const char query[] = { - 'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ', - '`','_','C','o','l','u','m','n','s','`',' ','W','H','E','R','E',' ', - '`','T','a','b','l','e','`','=','\'','%','s','\'',' ','O','R','D','E','R',' ', - 'B','Y',' ','`','N','u','m','b','e','r','`',0 - }; + static const char szColumns[] = "_Columns"; + static const char query[] = + "SELECT * FROM `_Columns` WHERE `Table`='%s' ORDER BY `Number`"; r = table_view_create(av->db, szColumns, &columns); if (r != LIBMSI_RESULT_SUCCESS) diff --git a/libmsi/database.c b/libmsi/database.c index 62cf364..1dafd91 100644 --- a/libmsi/database.c +++ b/libmsi/database.c @@ -842,7 +842,7 @@ static char *msi_build_createsql_prelude(char *table) char *prelude; unsigned size; - static const char create_fmt[] = {'C','R','E','A','T','E',' ','T','A','B','L','E',' ','`','%','s','`',' ','(',' ',0}; + static const char create_fmt[] = "CREATE TABLE `%s` ("; size = sizeof(create_fmt)/sizeof(create_fmt[0]) + strlen(table) - 2; prelude = msi_alloc(size * sizeof(char)); @@ -862,14 +862,14 @@ static char *msi_build_createsql_columns(char **columns_data, char **types, unsi char expanded[128], *ptr; char size[10], comma[2], extra[30]; - static const char column_fmt[] = {'`','%','s','`',' ','%','s','%','s','%','s','%','s',' ',0}; - static const char size_fmt[] = {'(','%','s',')',0}; - static const char type_char[] = {'C','H','A','R',0}; - static const char type_int[] = {'I','N','T',0}; - static const char type_long[] = {'L','O','N','G',0}; - static const char type_object[] = {'O','B','J','E','C','T',0}; - static const char type_notnull[] = {' ','N','O','T',' ','N','U','L','L',0}; - static const char localizable[] = {' ','L','O','C','A','L','I','Z','A','B','L','E',0}; + static const char column_fmt[] = "`%s` %s%s%s%s "; + static const char size_fmt[] = "(%s)"; + static const char type_char[] = "CHAR"; + static const char type_int[] = "INT"; + static const char type_long[] = "LONG"; + static const char type_object[] = "OBJECT"; + static const char type_notnull[] = " NOT NULL"; + static const char localizable[] = " LOCALIZABLE"; columns = msi_alloc_zero(sql_size * sizeof(char)); if (!columns) @@ -957,8 +957,8 @@ static char *msi_build_createsql_postlude(char **primary_keys, unsigned num_keys char *ptr; unsigned size, key_size, i; - static const char key_fmt[] = {'`','%','s','`',',',' ',0}; - static const char postlude_fmt[] = {'P','R','I','M','A','R','Y',' ','K','E','Y',' ','%','s',')',0}; + static const char key_fmt[] = "`%s`, "; + static const char postlude_fmt[] = "PRIMARY KEY %s)"; for (i = 0, size = 1; i < num_keys; i++) size += strlen(key_fmt) + strlen(primary_keys[i]) - 2; @@ -1161,10 +1161,8 @@ static unsigned _libmsi_database_import(LibmsiDatabase *db, const char *folder, char ***records = NULL; char ***temp_records; - static const char suminfo[] = - {'_','S','u','m','m','a','r','y','I','n','f','o','r','m','a','t','i','o','n',0}; - static const char forcecodepage[] = - {'_','F','o','r','c','e','C','o','d','e','p','a','g','e',0}; + static const char suminfo[] = "_SummaryInformation"; + static const char forcecodepage[] = "_ForceCodepage"; TRACE("%p %s %s\n", db, debugstr_a(folder), debugstr_a(file) ); @@ -1349,10 +1347,8 @@ static unsigned msi_export_forcecodepage( int fd, unsigned codepage ) static unsigned _libmsi_database_export( LibmsiDatabase *db, const char *table, int fd) { - static const char query[] = { - 's','e','l','e','c','t',' ','*',' ','f','r','o','m',' ','%','s',0 }; - static const char forcecodepage[] = { - '_','F','o','r','c','e','C','o','d','e','p','a','g','e',0 }; + static const char query[] = "select * from %s"; + static const char forcecodepage[] = "_ForceCodepage"; LibmsiRecord *rec = NULL; LibmsiQuery *view = NULL; unsigned r; @@ -1601,7 +1597,7 @@ static char *get_key_value(LibmsiQuery *view, const char *key, LibmsiRecord *rec if (_libmsi_record_get_string_raw(rec, i)) /* check record field is a string */ { /* quote string record fields */ - const char szQuote[] = {'\'', 0}; + const char szQuote[] = "'"; sz += 2; val = msi_alloc(sz*sizeof(char)); if (!val) @@ -1643,13 +1639,9 @@ static char *create_diff_row_query(LibmsiDatabase *merge, LibmsiQuery *view, LibmsiRecord *keys; unsigned r, i, count; - static const char keyset[] = { - '`','%','s','`',' ','=',' ','%','s',' ','A','N','D',' ',0}; - static const char lastkeyset[] = { - '`','%','s','`',' ','=',' ','%','s',' ',0}; - static const char fmt[] = {'S','E','L','E','C','T',' ','*',' ', - 'F','R','O','M',' ','`','%','s','`',' ', - 'W','H','E','R','E',' ','%','s',0}; + static const char keyset[] = "`%s` = %s AND"; + static const char lastkeyset[] = "`%s` = %s "; + static const char fmt[] = "SELECT * FROM %s WHERE %s"; r = _libmsi_database_get_primary_keys(merge, table, &keys); if (r != LIBMSI_RESULT_SUCCESS) @@ -1897,8 +1889,7 @@ static unsigned msi_get_merge_table (LibmsiDatabase *db, const char *name, MERGE MERGETABLE *table; LibmsiQuery *mergeview = NULL; - static const char query[] = {'S','E','L','E','C','T',' ','*',' ', - 'F','R','O','M',' ','`','%','s','`',0}; + static const char query[] = "SELECT * FROM %s"; table = msi_alloc_zero(sizeof(MERGETABLE)); if (!table) @@ -1948,8 +1939,7 @@ static unsigned merge_diff_tables(LibmsiRecord *rec, void *param) const char *name; unsigned r; - static const char query[] = {'S','E','L','E','C','T',' ','*',' ', - 'F','R','O','M',' ','`','%','s','`',0}; + static const char query[] = "SELECT * FROM %s"; name = _libmsi_record_get_string_raw(rec, 1); @@ -1996,9 +1986,7 @@ done: static unsigned gather_merge_data(LibmsiDatabase *db, LibmsiDatabase *merge, struct list *tabledata) { - static const char query[] = { - 'S','E','L','E','C','T',' ','*',' ','F','R','O','M',' ', - '`','_','T','a','b','l','e','s','`',0}; + static const char query[] = "SELECT * FROM _Tables"; LibmsiQuery *view; MERGEDATA data; unsigned r; @@ -2051,20 +2039,11 @@ static unsigned update_merge_errors(LibmsiDatabase *db, const char *error, unsigned r; LibmsiQuery *view; - static const char create[] = { - 'C','R','E','A','T','E',' ','T','A','B','L','E',' ', - '`','%','s','`',' ','(','`','T','a','b','l','e','`',' ', - 'C','H','A','R','(','2','5','5',')',' ','N','O','T',' ', - 'N','U','L','L',',',' ','`','N','u','m','R','o','w','M','e','r','g','e', - 'C','o','n','f','l','i','c','t','s','`',' ','S','H','O','R','T',' ', - 'N','O','T',' ','N','U','L','L',' ','P','R','I','M','A','R','Y',' ', - 'K','E','Y',' ','`','T','a','b','l','e','`',')',0}; - static const char insert[] = { - 'I','N','S','E','R','T',' ','I','N','T','O',' ', - '`','%','s','`',' ','(','`','T','a','b','l','e','`',',',' ', - '`','N','u','m','R','o','w','M','e','r','g','e', - 'C','o','n','f','l','i','c','t','s','`',')',' ','V','A','L','U','E','S', - ' ','(','\'','%','s','\'',',',' ','%','d',')',0}; + static const char create[] = + "CREATE TABLE `%s` (`Table` CHAR(255) NOT NULL, " + "`NumRowMergeConflicts` SHORT NOT NULL PRIMARY KEY `Table`)"; + static const char insert[] = + "INSERT INTO `%s` (`Table`, `NumRowMergeConflicts`) VALUES ('%s', %d)"; if (!table_view_exists(db, error)) { diff --git a/libmsi/msipriv.h b/libmsi/msipriv.h index 2b78eb5..89554e0 100644 --- a/libmsi/msipriv.h +++ b/libmsi/msipriv.h @@ -435,13 +435,13 @@ extern unsigned msi_get_property( LibmsiDatabase *, const char *, char *, unsign extern int msi_get_property_int( LibmsiDatabase *package, const char *prop, int def ); /* common strings */ -static const char szEmpty[] = {0}; -static const char szStreams[] = {'_','S','t','r','e','a','m','s',0}; -static const char szStorages[] = {'_','S','t','o','r','a','g','e','s',0}; -static const char szStringData[] = {'_','S','t','r','i','n','g','D','a','t','a',0}; -static const char szStringPool[] = {'_','S','t','r','i','n','g','P','o','o','l',0}; -static const char szName[] = {'N','a','m','e',0}; -static const char szData[] = {'D','a','t','a',0}; +static const char szEmpty[] = ""; +static const char szStreams[] = "_Streams"; +static const char szStorages[] = "_Storages"; +static const char szStringData[] = "_StringData"; +static const char szStringPool[] = "_StringPool"; +static const char szName[] = "Name"; +static const char szData[] = "Data"; /* memory allocation macro functions */ diff --git a/libmsi/msiquery.c b/libmsi/msiquery.c index 0776beb..39b520c 100644 --- a/libmsi/msiquery.c +++ b/libmsi/msiquery.c @@ -398,7 +398,7 @@ LibmsiResult libmsi_query_execute(LibmsiQuery *query, LibmsiRecord *rec) static unsigned msi_set_record_type_string( LibmsiRecord *rec, unsigned field, unsigned type, bool temporary ) { - static const char fmt[] = { '%','d',0 }; + static const char fmt[] = "%d"; char szType[0x10]; if (MSITYPE_IS_BINARY(type)) @@ -746,11 +746,7 @@ static unsigned msi_primary_key_iterator( LibmsiRecord *rec, void *param ) unsigned _libmsi_database_get_primary_keys( LibmsiDatabase *db, const char *table, LibmsiRecord **prec ) { - static const char sql[] = { - 's','e','l','e','c','t',' ','*',' ', - 'f','r','o','m',' ','`','_','C','o','l','u','m','n','s','`',' ', - 'w','h','e','r','e',' ', - '`','T','a','b','l','e','`',' ','=',' ','\'','%','s','\'',0 }; + static const char sql[] = "select * from `_Columns` where `Table` = '%s'"; struct msi_primary_key_record_info info; LibmsiQuery *query = NULL; unsigned r; diff --git a/libmsi/record.c b/libmsi/record.c index df394d4..d98686a 100644 --- a/libmsi/record.c +++ b/libmsi/record.c @@ -343,7 +343,7 @@ unsigned _libmsi_record_get_string(const LibmsiRecord *rec, unsigned iField, { unsigned len=0, ret; char buffer[16]; - static const char szFormat[] = { '%','d',0 }; + static const char szFormat[] = "%d"; TRACE("%p %d %p %p\n", rec, iField, szValue, pcchValue); diff --git a/libmsi/suminfo.c b/libmsi/suminfo.c index 610fb95..8ba346b 100644 --- a/libmsi/suminfo.c +++ b/libmsi/suminfo.c @@ -26,7 +26,7 @@ #include "libmsi.h" #include "msipriv.h" -static const char szSumInfo[] = {5 ,'S','u','m','m','a','r','y','I','n','f','o','r','m','a','t','i','o','n',0}; +static const char szSumInfo[] = "\5SummaryInformation"; static const uint8_t fmtid_SummaryInformation[16] = { 0xe0, 0x85, 0x9f, 0xf2, 0xf9, 0x4f, 0x68, 0x10, 0xab, 0x91, 0x08, 0x00, 0x2b, 0x27, 0xb3, 0xd9}; diff --git a/libmsi/table.c b/libmsi/table.c index d22ecd2..f95e813 100644 --- a/libmsi/table.c +++ b/libmsi/table.c @@ -30,7 +30,7 @@ #define LibmsiTable_HASH_TABLE_SIZE 37 -static const char szDot[] = {'.',0}; +static const char szDot[] = "."; typedef struct LibmsiColumnHashEntry { @@ -65,11 +65,11 @@ struct LibmsiTable }; /* information for default tables */ -static const char szTables[] = {'_','T','a','b','l','e','s',0}; -static const char szTable[] = {'T','a','b','l','e',0}; -static const char szColumns[] = {'_','C','o','l','u','m','n','s',0}; -static const char szNumber[] = {'N','u','m','b','e','r',0}; -static const char szType[] = {'T','y','p','e',0}; +static const char szTables[] = "_Tables"; +static const char szTable[] = "Table"; +static const char szColumns[] = "_Columns"; +static const char szNumber[] = "Number"; +static const char szType[] = "Type"; static const LibmsiColumnInfo _Columns_cols[4] = { { szColumns, 1, szTable, MSITYPE_VALID | MSITYPE_STRING | MSITYPE_KEY | 64, 0, 0, 0, NULL }, @@ -1100,7 +1100,7 @@ static unsigned msi_stream_name( const LibmsiTableView *tv, unsigned row, char * } else { - static const char fmt[] = { '%','d',0 }; + static const char fmt[] = "%d"; unsigned n = bytes_per_column( tv->db, &tv->columns[i], LONG_STR_BYTES ); switch( n ) @@ -1225,11 +1225,8 @@ static unsigned table_view_get_row( LibmsiView *view, unsigned row, LibmsiRecord static unsigned _libmsi_add_stream( LibmsiDatabase *db, const char *name, GsfInput *data ) { - static const char insert[] = { - 'I','N','S','E','R','T',' ','I','N','T','O',' ', - '`','_','S','t','r','e','a','m','s','`',' ', - '(','`','N','a','m','e','`',',','`','D','a','t','a','`',')',' ', - 'V','A','L','U','E','S',' ','(','?',',','?',')',0}; + static const char insert[] = + "INSERT INTO `_Streams`(`Name`, `Data`) VALUES (?, ?)"; LibmsiQuery *query = NULL; LibmsiRecord *rec; unsigned r; |
