src/win32.cpp
changeset 10186 6e6d49ff4e8c
parent 10040 ea25953ada79
child 10201 4c181fbe8f2a
equal deleted inserted replaced
10185:1303c1c01a5a 10186:6e6d49ff4e8c
   528 		ep->ContextRecord->R15,
   528 		ep->ContextRecord->R15,
   529 		ep->ContextRecord->Rip,
   529 		ep->ContextRecord->Rip,
   530 		ep->ContextRecord->EFlags
   530 		ep->ContextRecord->EFlags
   531 	);
   531 	);
   532 #else
   532 #else
   533 	output += sprintf(output, "Exception %.8X at %.8X\r\n"
   533 	output += sprintf(output, "Exception %.8X at %.8p\r\n"
   534 		"Registers:\r\n"
   534 		"Registers:\r\n"
   535 		" EAX: %.8X EBX: %.8X ECX: %.8X EDX: %.8X\r\n"
   535 		" EAX: %.8X EBX: %.8X ECX: %.8X EDX: %.8X\r\n"
   536 		" ESI: %.8X EDI: %.8X EBP: %.8X ESP: %.8X\r\n"
   536 		" ESI: %.8X EDI: %.8X EBP: %.8X ESP: %.8X\r\n"
   537 		" EIP: %.8X EFLAGS: %.8X\r\n"
   537 		" EIP: %.8X EFLAGS: %.8X\r\n"
   538 		"\r\nBytes at CS:EIP:\r\n",
   538 		"\r\nBytes at CS:EIP:\r\n",
   594 
   594 
   595 	output += sprintf(output, "\r\nModule information:\r\n");
   595 	output += sprintf(output, "\r\nModule information:\r\n");
   596 	output = PrintModuleList(output);
   596 	output = PrintModuleList(output);
   597 
   597 
   598 	{
   598 	{
   599 		OSVERSIONINFO os;
   599 		_OSVERSIONINFOA os;
   600 		os.dwOSVersionInfoSize = sizeof(os);
   600 		os.dwOSVersionInfoSize = sizeof(os);
   601 		GetVersionEx(&os);
   601 		GetVersionExA(&os);
   602 		output += sprintf(output, "\r\nSystem information:\r\n"
   602 		output += sprintf(output, "\r\nSystem information:\r\n"
   603 			" Windows version %d.%d %d %s\r\n\r\n",
   603 			" Windows version %d.%d %d %s\r\n\r\n",
   604 			os.dwMajorVersion, os.dwMinorVersion, os.dwBuildNumber, os.szCSDVersion);
   604 			os.dwMajorVersion, os.dwMinorVersion, os.dwBuildNumber, os.szCSDVersion);
   605 	}
   605 	}
   606 
   606 
   802 	ttd_strlcpy(fios->title, fios->name, lengthof(fios->title));
   802 	ttd_strlcpy(fios->title, fios->name, lengthof(fios->title));
   803 #else
   803 #else
   804 	TCHAR drives[256];
   804 	TCHAR drives[256];
   805 	const TCHAR *s;
   805 	const TCHAR *s;
   806 
   806 
   807 	GetLogicalDriveStrings(sizeof(drives), drives);
   807 	GetLogicalDriveStrings(lengthof(drives), drives);
   808 	for (s = drives; *s != '\0';) {
   808 	for (s = drives; *s != '\0';) {
   809 		FiosItem *fios = _fios_items.Append();
   809 		FiosItem *fios = _fios_items.Append();
   810 		fios->type = FIOS_TYPE_DRIVE;
   810 		fios->type = FIOS_TYPE_DRIVE;
   811 		fios->mtime = 0;
   811 		fios->mtime = 0;
   812 		snprintf(fios->name, lengthof(fios->name),  "%c:", s[0] & 0xFF);
   812 		snprintf(fios->name, lengthof(fios->name),  "%c:", s[0] & 0xFF);