X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fio-layer%2Fversioninfo.c;h=6b811b0a3bfec31f8add6846cf568d311c1e185b;hb=1845e73db4defa09d98c9fbaef3d1bcf53828101;hp=8a147e1f2e46c0a9fd9124814a548df3ccd2c1ec;hpb=0a7461e32c3b99563c515a0079923a4471e44240;p=mono.git diff --git a/mono/io-layer/versioninfo.c b/mono/io-layer/versioninfo.c index 8a147e1f2e4..6b811b0a3bf 100644 --- a/mono/io-layer/versioninfo.c +++ b/mono/io-layer/versioninfo.c @@ -22,14 +22,10 @@ #include #include #include +#include #include #include - -#if 0 -// #define DEBUG(...) g_message(__VA_ARGS__) -#else -#define DEBUG(...) -#endif +#include #define ALIGN32(ptr) ptr = (gpointer)((char *)ptr + 3); ptr = (gpointer)((char *)ptr - ((gsize)ptr & 3)); @@ -163,14 +159,14 @@ find_pe_file_resources32 (gpointer file_map, guint32 map_size, dos_header = (WapiImageDosHeader *)file_map; if (dos_header->e_magic != IMAGE_DOS_SIGNATURE) { - DEBUG ("%s: Bad dos signature 0x%x", __func__, dos_header->e_magic); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Bad dos signature 0x%x", __func__, dos_header->e_magic); SetLastError (ERROR_INVALID_DATA); return(NULL); } if (map_size < sizeof(WapiImageNTHeaders32) + GUINT32_FROM_LE (dos_header->e_lfanew)) { - DEBUG ("%s: File is too small: %d", __func__, map_size); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: File is too small: %d", __func__, map_size); SetLastError (ERROR_BAD_LENGTH); return(NULL); @@ -178,7 +174,7 @@ find_pe_file_resources32 (gpointer file_map, guint32 map_size, nt_headers = (WapiImageNTHeaders32 *)((guint8 *)file_map + GUINT32_FROM_LE (dos_header->e_lfanew)); if (nt_headers->Signature != IMAGE_NT_SIGNATURE) { - DEBUG ("%s: Bad NT signature 0x%x", __func__, nt_headers->Signature); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Bad NT signature 0x%x", __func__, nt_headers->Signature); SetLastError (ERROR_INVALID_DATA); return(NULL); @@ -192,7 +188,7 @@ find_pe_file_resources32 (gpointer file_map, guint32 map_size, } if (resource_rva == 0) { - DEBUG ("%s: No resources in file!", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: No resources in file!", __func__); SetLastError (ERROR_INVALID_DATA); return(NULL); @@ -200,7 +196,7 @@ find_pe_file_resources32 (gpointer file_map, guint32 map_size, resource_dir = (WapiImageResourceDirectory *)get_ptr_from_rva (resource_rva, (WapiImageNTHeaders32 *)nt_headers, file_map); if (resource_dir == NULL) { - DEBUG ("%s: Can't find resource directory", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Can't find resource directory", __func__); SetLastError (ERROR_INVALID_DATA); return(NULL); @@ -237,14 +233,14 @@ find_pe_file_resources64 (gpointer file_map, guint32 map_size, dos_header = (WapiImageDosHeader *)file_map; if (dos_header->e_magic != IMAGE_DOS_SIGNATURE) { - DEBUG ("%s: Bad dos signature 0x%x", __func__, dos_header->e_magic); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Bad dos signature 0x%x", __func__, dos_header->e_magic); SetLastError (ERROR_INVALID_DATA); return(NULL); } if (map_size < sizeof(WapiImageNTHeaders64) + GUINT32_FROM_LE (dos_header->e_lfanew)) { - DEBUG ("%s: File is too small: %d", __func__, map_size); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: File is too small: %d", __func__, map_size); SetLastError (ERROR_BAD_LENGTH); return(NULL); @@ -252,7 +248,7 @@ find_pe_file_resources64 (gpointer file_map, guint32 map_size, nt_headers = (WapiImageNTHeaders64 *)((guint8 *)file_map + GUINT32_FROM_LE (dos_header->e_lfanew)); if (nt_headers->Signature != IMAGE_NT_SIGNATURE) { - DEBUG ("%s: Bad NT signature 0x%x", __func__, + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Bad NT signature 0x%x", __func__, nt_headers->Signature); SetLastError (ERROR_INVALID_DATA); @@ -267,7 +263,7 @@ find_pe_file_resources64 (gpointer file_map, guint32 map_size, } if (resource_rva == 0) { - DEBUG ("%s: No resources in file!", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: No resources in file!", __func__); SetLastError (ERROR_INVALID_DATA); return(NULL); @@ -275,7 +271,7 @@ find_pe_file_resources64 (gpointer file_map, guint32 map_size, resource_dir = (WapiImageResourceDirectory *)get_ptr_from_rva (resource_rva, (WapiImageNTHeaders32 *)nt_headers, file_map); if (resource_dir == NULL) { - DEBUG ("%s: Can't find resource directory", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Can't find resource directory", __func__); SetLastError (ERROR_INVALID_DATA); return(NULL); @@ -328,7 +324,7 @@ map_pe_file (gunichar2 *filename, gint32 *map_size, void **handle) filename_ext = mono_unicode_to_external (filename); if (filename_ext == NULL) { - DEBUG ("%s: unicode conversion returned NULL", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: unicode conversion returned NULL", __func__); SetLastError (ERROR_INVALID_NAME); return(NULL); @@ -336,7 +332,7 @@ map_pe_file (gunichar2 *filename, gint32 *map_size, void **handle) fd = _wapi_open (filename_ext, O_RDONLY, 0); if (fd == -1) { - DEBUG ("%s: Error opening file %s: %s", __func__, filename_ext, strerror (errno)); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Error opening file %s: %s", __func__, filename_ext, strerror (errno)); SetLastError (_wapi_get_win32_file_error (errno)); g_free (filename_ext); @@ -345,7 +341,7 @@ map_pe_file (gunichar2 *filename, gint32 *map_size, void **handle) } if (fstat (fd, &statbuf) == -1) { - DEBUG ("%s: Error stat()ing file %s: %s", __func__, filename_ext, strerror (errno)); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Error stat()ing file %s: %s", __func__, filename_ext, strerror (errno)); SetLastError (_wapi_get_win32_file_error (errno)); g_free (filename_ext); @@ -356,7 +352,7 @@ map_pe_file (gunichar2 *filename, gint32 *map_size, void **handle) /* Check basic file size */ if (statbuf.st_size < sizeof(WapiImageDosHeader)) { - DEBUG ("%s: File %s is too small: %lld", __func__, filename_ext, statbuf.st_size); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: File %s is too small: %lld", __func__, filename_ext, statbuf.st_size); SetLastError (ERROR_BAD_LENGTH); g_free (filename_ext); @@ -366,7 +362,7 @@ map_pe_file (gunichar2 *filename, gint32 *map_size, void **handle) file_map = mono_file_map (statbuf.st_size, MONO_MMAP_READ | MONO_MMAP_PRIVATE, fd, 0, handle); if (file_map == NULL) { - DEBUG ("%s: Error mmap()int file %s: %s", __func__, filename_ext, strerror (errno)); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Error mmap()int file %s: %s", __func__, filename_ext, strerror (errno)); SetLastError (_wapi_get_win32_file_error (errno)); g_free (filename_ext); @@ -473,12 +469,12 @@ get_fixedfileinfo_block (gconstpointer data, version_data *block) data_ptr = get_versioninfo_block (data, block); if (block->value_len != sizeof(WapiFixedFileInfo)) { - DEBUG ("%s: FIXEDFILEINFO size mismatch", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: FIXEDFILEINFO size mismatch", __func__); return(NULL); } if (!unicode_string_equals (block->key, "VS_VERSION_INFO")) { - DEBUG ("%s: VS_VERSION_INFO mismatch", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: VS_VERSION_INFO mismatch", __func__); return(NULL); } @@ -486,7 +482,7 @@ get_fixedfileinfo_block (gconstpointer data, version_data *block) ffi = ((WapiFixedFileInfo *)data_ptr); if ((ffi->dwSignature != VS_FFI_SIGNATURE) || (ffi->dwStrucVersion != VS_FFI_STRUCVERSION)) { - DEBUG ("%s: FIXEDFILEINFO bad signature", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: FIXEDFILEINFO bad signature", __func__); return(NULL); } @@ -528,7 +524,7 @@ get_string_block (gconstpointer data_ptr, /* We must have hit padding, so give up * processing now */ - DEBUG ("%s: Hit 0-length block, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Hit 0-length block, giving up", __func__); return(NULL); } @@ -584,7 +580,7 @@ get_stringtable_block (gconstpointer data_ptr, /* We must have hit padding, so give up * processing now */ - DEBUG ("%s: Hit 0-length block, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Hit 0-length block, giving up", __func__); return(NULL); } @@ -592,7 +588,7 @@ get_stringtable_block (gconstpointer data_ptr, found_lang = g_utf16_to_utf8 (block->key, 8, NULL, NULL, NULL); if (found_lang == NULL) { - DEBUG ("%s: Didn't find a valid language key, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Didn't find a valid language key, giving up", __func__); return(NULL); } @@ -615,7 +611,7 @@ get_stringtable_block (gconstpointer data_ptr, if (data_ptr == NULL) { /* Child block hit padding */ - DEBUG ("%s: Child block hit 0-length block, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Child block hit 0-length block, giving up", __func__); return(NULL); } } @@ -645,7 +641,7 @@ big_up_string_block (gconstpointer data_ptr, version_data *block) /* We must have hit padding, so give up * processing now */ - DEBUG ("%s: Hit 0-length block, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Hit 0-length block, giving up", __func__); return(NULL); } @@ -656,7 +652,7 @@ big_up_string_block (gconstpointer data_ptr, version_data *block) "UTF-16BE", "UTF-16LE", NULL, NULL, NULL); if (big_value == NULL) { - DEBUG ("%s: Didn't find a valid string, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Didn't find a valid string, giving up", __func__); return(NULL); } @@ -673,7 +669,7 @@ big_up_string_block (gconstpointer data_ptr, version_data *block) "UTF-16BE", "UTF-16LE", NULL, NULL, NULL); if (big_value == NULL) { - DEBUG ("%s: Didn't find a valid data string, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Didn't find a valid data string, giving up", __func__); return(NULL); } memcpy ((gpointer)data_ptr, big_value, @@ -712,7 +708,7 @@ big_up_stringtable_block (gconstpointer data_ptr, version_data *block) /* We must have hit padding, so give up * processing now */ - DEBUG ("%s: Hit 0-length block, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Hit 0-length block, giving up", __func__); return(NULL); } @@ -721,7 +717,7 @@ big_up_stringtable_block (gconstpointer data_ptr, version_data *block) big_value = g_convert ((gchar *)block->key, 16, "UTF-16BE", "UTF-16LE", NULL, NULL, NULL); if (big_value == NULL) { - DEBUG ("%s: Didn't find a valid string, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Didn't find a valid string, giving up", __func__); return(NULL); } @@ -732,7 +728,7 @@ big_up_stringtable_block (gconstpointer data_ptr, version_data *block) if (data_ptr == NULL) { /* Child block hit padding */ - DEBUG ("%s: Child block hit 0-length block, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Child block hit 0-length block, giving up", __func__); return(NULL); } } @@ -784,7 +780,7 @@ big_up (gconstpointer datablock, guint32 size) /* We must have hit padding, so give * up processing now */ - DEBUG ("%s: Hit 0-length block, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Hit 0-length block, giving up", __func__); return; } @@ -800,13 +796,13 @@ big_up (gconstpointer datablock, guint32 size) &block); } else { /* Bogus data */ - DEBUG ("%s: Not a valid VERSIONINFO child block", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Not a valid VERSIONINFO child block", __func__); return; } if (data_ptr == NULL) { /* Child block hit padding */ - DEBUG ("%s: Child block hit 0-length block, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Child block hit 0-length block, giving up", __func__); return; } } @@ -878,7 +874,7 @@ VerQueryValue (gconstpointer datablock, const gunichar2 *subblock, gpointer *buf /* We must have hit padding, * so give up processing now */ - DEBUG ("%s: Hit 0-length block, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Hit 0-length block, giving up", __func__); goto done; } @@ -907,13 +903,13 @@ VerQueryValue (gconstpointer datablock, const gunichar2 *subblock, gpointer *buf } } else { /* Bogus data */ - DEBUG ("%s: Not a valid VERSIONINFO child block", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Not a valid VERSIONINFO child block", __func__); goto done; } if (data_ptr == NULL) { /* Child block hit padding */ - DEBUG ("%s: Child block hit 0-length block, giving up", __func__); + MONO_TRACE (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Child block hit 0-length block, giving up", __func__); goto done; } }