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

* Riding the UEFI shell / enabling the platform for C developers
  2016-12-02  2:07 Root Cause of Parse Failure With Redirected Input Tim Lewis
@ 2017-11-06 23:09 ` joaquin_conobolillo
  2017-11-07  7:51 ` joaquin_conobolillo
  1 sibling, 0 replies; 3+ messages in thread
From: joaquin_conobolillo @ 2017-11-06 23:09 UTC (permalink / raw)
  To: Tim Lewis
  Cc: edk2-devel-01, Gao, Liming, michael.a.rothman@intel.com,
	vincent.zimmer@intel.com

Hi Tim,



With the disappearance of MSDOS as a simple, single threaded, unprotected operating system with full hardware access to user programs on upcoming personal computer models the UEFI shell was intended to be the successor of MSDOS.

please try  

https://github.com/JoaquinCono/VisualUEFIShell

for UEFI Shell Applications.




Regards,

JC






Sent from Surface





From: Joaquin Cono Bolillo
Sent: ‎Friday‎, ‎December‎ ‎2‎, ‎2016 ‎8‎:‎55‎ ‎AM
To: Tim Lewis






Hi Tim,

 

this is because StdLibC is not implemented carefully.

There will be a C Development Environment CdePkg on Github

beginning next year.

 

JC

 

 

Gesendet von Mail für Windows 10

 


Von: Tim Lewis
Gesendet: Friday, December 2, 2016 03:08 AM
An: edk2-devel@lists.01.org
Betreff: [edk2] Root Cause of Parse Failure With Redirected Input

 

      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

_______________________________________________

edk2-devel mailing list

edk2-devel@lists.01.org

https://lists.01.org/mailman/listinfo/edk2-devel

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

* Riding the UEFI shell / enabling the platform for C developers
  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
  1 sibling, 0 replies; 3+ messages in thread
From: joaquin_conobolillo @ 2017-11-07  7:51 UTC (permalink / raw)
  To: Tim Lewis
  Cc: edk2-devel-01, Gao, Liming, michael.a.rothman@intel.com,
	vincent.zimmer@intel.com


Hi Tim,




With the disappearance of MSDOS as a simple, single threaded, unprotected operating system with full hardware access to user programs on upcoming personal computer models the UEFI shell was intended to be the successor of MSDOS.

please try  

https://github.com/JoaquinCono/VisualUEFIShell

for UEFI Shell Applications.




Regards,

JC






Sent from Surface





From: Joaquin Cono Bolillo
Sent: ‎Friday‎, ‎December‎ ‎2‎, ‎2016 ‎8‎:‎55‎ ‎AM
To: Tim Lewis






Hi Tim,

 

this is because StdLibC is not implemented carefully.

There will be a C Development Environment CdePkg on Github

beginning next year.

 

JC

 

 

Gesendet von Mail für Windows 10

 


Von: Tim Lewis
Gesendet: Friday, December 2, 2016 03:08 AM
An: edk2-devel@lists.01.org
Betreff: [edk2] Root Cause of Parse Failure With Redirected Input

 

      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

_______________________________________________

edk2-devel mailing list

edk2-devel@lists.01.org

https://lists.01.org/mailman/listinfo/edk2-devel

^ 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