From aa7e86c5e5953bfafdd56c97dfb770bc533eabdb Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Sat, 17 Feb 2018 15:25:55 +0000 Subject: [PATCH] use correct datatype with scanf Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4080 --- src/hardware/serialport/serialport.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/hardware/serialport/serialport.cpp b/src/hardware/serialport/serialport.cpp index 6ce00c19..2fb1ea89 100644 --- a/src/hardware/serialport/serialport.cpp +++ b/src/hardware/serialport/serialport.cpp @@ -1130,7 +1130,7 @@ CSerial::CSerial(Bitu id, CommandLine* cmd) { txOverrunErrors=0; overrunIF0=0; breakErrors=0; - + for (Bitu i = 0; i <= 7; i++) { WriteHandler[i].Install (i + base, SERIAL_Write, IO_MB); ReadHandler[i].Install (i + base, SERIAL_Read, IO_MB); @@ -1140,8 +1140,10 @@ CSerial::CSerial(Bitu id, CommandLine* cmd) { bool CSerial::getBituSubstring(const char* name,Bitu* data, CommandLine* cmd) { std::string tmpstring; if(!(cmd->FindStringBegin(name,tmpstring,false))) return false; - const char* tmpchar=tmpstring.c_str(); - if(sscanf(tmpchar,"%u",data)!=1) return false; + const char* tmpchar = tmpstring.c_str(); + unsigned int d = 0; + if(sscanf(tmpchar,"%u",&d) != 1) return false; + *data = static_cast(d); return true; }