OSDN Git Service

[GENERAL] *Partly* merge upstream 2022-04-05.
[csp-qt/common_source_project-fm7.git] / source / src / vm / fmtowns / fmtowns.cpp
index aa43b49..7d536ec 100644 (file)
@@ -1178,15 +1178,19 @@ bool VM::process_state(FILEIO* state_fio, bool loading)
                return false;
        }
        for(DEVICE* device = first_device; device; device = device->next_device) {
-               // Note: typeid(foo).name is fixed by recent ABI.Not decr. 6.
-               // const char *name = typeid(*device).name();
-               //       But, using get_device_name() instead of typeid(foo).name() 20181008 K.O
-               const char *name = device->get_device_name();
-               int len = (int)strlen(name);
+               const _TCHAR *name = char_to_tchar(typeid(*device).name() + 6); // skip "class "
+               int len = (int)_tcslen(name);
+               
                if(!state_fio->StateCheckInt32(len)) {
+                       if(loading) {
+                               printf("Class name len Error: DEVID=%d EXPECT=%s\n", device->this_device_id, name);
+                       }
                        return false;
                }
                if(!state_fio->StateCheckBuffer(name, len, 1)) {
+                       if(loading) {
+                               printf("Class name Error: DEVID=%d EXPECT=%s\n", device->this_device_id, name);
+                       }
                        return false;
                }
                if(!device->process_state(state_fio, loading)) {