1
0
Fork 0

Convert line ends in the shell. Improves compatibility with the sierra what.exe utility

Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@3550
This commit is contained in:
Peter Veenstra 2010-02-13 11:37:25 +00:00
parent fb848f5af4
commit 27714abb47

View file

@ -137,18 +137,38 @@ void Program::WriteOut(const char * format,...) {
va_end(msg);
Bit16u size = (Bit16u)strlen(buf);
DOS_WriteFile(STDOUT,(Bit8u *)buf,&size);
for(Bit16u i = 0; i < size;i++) {
Bit8u out;Bit16u s=1;
if(buf[i] == 0xA && i > 0 && buf[i-1] !=0xD) {
out = 0xD;DOS_WriteFile(STDOUT,&out,&s);
}
out = buf[i];
DOS_WriteFile(STDOUT,&out,&s);
}
// DOS_WriteFile(STDOUT,(Bit8u *)buf,&size);
}
void Program::WriteOut_NoParsing(const char * format) {
Bit16u size = (Bit16u)strlen(format);
DOS_WriteFile(STDOUT,(Bit8u *)format,&size);
char const* buf = format;
for(Bit16u i = 0; i < size;i++) {
Bit8u out;Bit16u s=1;
if(buf[i] == 0xA && i > 0 && buf[i-1] !=0xD) {
out = 0xD;DOS_WriteFile(STDOUT,&out,&s);
}
out = buf[i];
DOS_WriteFile(STDOUT,&out,&s);
}
// DOS_WriteFile(STDOUT,(Bit8u *)format,&size);
}
bool Program::GetEnvStr(const char * entry,std::string & result) {
/* Walk through the internal environment and see for a match */
PhysPt env_read=PhysMake(psp->GetEnvironment(),0);
char env_string[1024+1];
result.erase();
if (!entry[0]) return false;