X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=programs%2Fimagex.c;h=7a57a86fe27da5a95ed712305944332ca98912a2;hp=4abcbac2a9e7ce353d92b56350c0754fbe8e10fa;hb=3f9c16c4d9e1329ad5ec8acbdbc0be77173443f1;hpb=51829aecdac415b417ab5b8ac897014bb780de10 diff --git a/programs/imagex.c b/programs/imagex.c index 4abcbac2..7a57a86f 100644 --- a/programs/imagex.c +++ b/programs/imagex.c @@ -2638,10 +2638,27 @@ default_print_security_descriptor(const uint8_t *sd, size_t size) } #endif +static bool +is_null_guid(const uint8_t *guid) +{ + static const uint8_t null_guid[WIMLIB_GUID_LEN]; + + return !memcmp(guid, null_guid, WIMLIB_GUID_LEN); +} + static void -print_dentry_detailed(const struct wimlib_dir_entry *dentry) +print_guid(const tchar *label, const uint8_t *guid) { + if (is_null_guid(guid)) + return; + tprintf(T("%-20"TS"= 0x"), label); + print_byte_field(guid, WIMLIB_GUID_LEN); + tputchar(T('\n')); +} +static void +print_dentry_detailed(const struct wimlib_dir_entry *dentry) +{ tprintf(T( "----------------------------------------------------------------------------\n")); tprintf(T("Full Path = \"%"TS"\"\n"), dentry->full_path); @@ -2676,6 +2693,13 @@ print_dentry_detailed(const struct wimlib_dir_entry *dentry) dentry->unix_mode, dentry->unix_rdev); } + if (!is_null_guid(dentry->object_id.object_id)) { + print_guid(T("Object ID"), dentry->object_id.object_id); + print_guid(T("Birth Volume ID"), dentry->object_id.birth_volume_id); + print_guid(T("Birth Object ID"), dentry->object_id.birth_object_id); + print_guid(T("Domain ID"), dentry->object_id.domain_id); + } + for (uint32_t i = 0; i <= dentry->num_named_streams; i++) { if (dentry->streams[i].stream_name) { tprintf(T("\tNamed data stream \"%"TS"\":\n"),