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:
parent
fb848f5af4
commit
27714abb47
1 changed files with 22 additions and 2 deletions
|
@ -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;
|
||||
|
|
Loading…
Add table
Reference in a new issue