public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* Root Cause of Parse Failure With Redirected Input
@ 2016-12-02  2:07 Tim Lewis
  2017-11-06 23:09 ` Riding the UEFI shell / enabling the platform for C developers joaquin_conobolillo
  2017-11-07  7:51 ` joaquin_conobolillo
  0 siblings, 2 replies; 3+ messages in thread
From: Tim Lewis @ 2016-12-02  2:07 UTC (permalink / raw)
  To: edk2-devel@lists.01.org

      if (StrStr (TempLine, L"ShellCommand,") == TempLine) {
        LoopVariable++;
      }

This line fails because, with redirected input, the file has the UCS-2 byte order mark, so the string "ShellCommand," is not at the beginning of the line. With the file, the byte order mark is not present.

Why?

     if (StreamingUnicode) {
       TempLine = ParseReturnStdInLine (FileHandle);
     } else {
       TempLine = ShellFileHandleReturnLine (FileHandle, &Ascii);
     }

The Shell library function ShellFileHandleReturnLine will strip off the byte order mark. But the ParseReturnStdInLine does not. So the first character on the line is not 'S', it is the byte order mark.

Tim


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-11-07  7:50 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-02  2:07 Root Cause of Parse Failure With Redirected Input Tim Lewis
2017-11-06 23:09 ` Riding the UEFI shell / enabling the platform for C developers joaquin_conobolillo
2017-11-07  7:51 ` joaquin_conobolillo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox