#include "UefiShellLevel2CommandsLib.h"\r
#include <Guid/FileSystemInfo.h>\r
\r
-UINTN mDayOfMonth[] = {31, 28, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30};\r
+UINTN mDayOfMonth[] = { 31, 28, 31, 30, 31, 30, 31, 30, 31, 30, 31, 30 };\r
\r
/**\r
print out the standard format output volume entry.\r
@param[in] TheList a list of files from the volume.\r
**/\r
EFI_STATUS\r
-PrintSfoVolumeInfoTableEntry(\r
- IN CONST EFI_SHELL_FILE_INFO *TheList\r
+PrintSfoVolumeInfoTableEntry (\r
+ IN CONST EFI_SHELL_FILE_INFO *TheList\r
)\r
{\r
EFI_STATUS Status;\r
//\r
// Get the first valid handle (directories)\r
//\r
- for ( Node = (EFI_SHELL_FILE_INFO *)GetFirstNode(&TheList->Link)\r
- ; !IsNull(&TheList->Link, &Node->Link) && Node->Handle == NULL\r
- ; Node = (EFI_SHELL_FILE_INFO *)GetNextNode(&TheList->Link, &Node->Link)\r
- );\r
+ for ( Node = (EFI_SHELL_FILE_INFO *)GetFirstNode (&TheList->Link)\r
+ ; !IsNull (&TheList->Link, &Node->Link) && Node->Handle == NULL\r
+ ; Node = (EFI_SHELL_FILE_INFO *)GetNextNode (&TheList->Link, &Node->Link)\r
+ )\r
+ {\r
+ }\r
\r
if (Node->Handle == NULL) {\r
- DirectoryName = GetFullyQualifiedPath(((EFI_SHELL_FILE_INFO *)GetFirstNode(&TheList->Link))->FullName);\r
+ DirectoryName = GetFullyQualifiedPath (((EFI_SHELL_FILE_INFO *)GetFirstNode (&TheList->Link))->FullName);\r
\r
//\r
// We need to open something up to get system information\r
//\r
- Status = gEfiShellProtocol->OpenFileByName(\r
- DirectoryName,\r
- &ShellFileHandle,\r
- EFI_FILE_MODE_READ\r
- );\r
+ Status = gEfiShellProtocol->OpenFileByName (\r
+ DirectoryName,\r
+ &ShellFileHandle,\r
+ EFI_FILE_MODE_READ\r
+ );\r
\r
- ASSERT_EFI_ERROR(Status);\r
- FreePool(DirectoryName);\r
+ ASSERT_EFI_ERROR (Status);\r
+ FreePool (DirectoryName);\r
\r
//\r
// Get the Volume Info from ShellFileHandle\r
//\r
SysInfo = NULL;\r
SysInfoSize = 0;\r
- EfiFpHandle = ConvertShellHandleToEfiFileProtocol(ShellFileHandle);\r
- Status = EfiFpHandle->GetInfo(\r
- EfiFpHandle,\r
- &gEfiFileSystemInfoGuid,\r
- &SysInfoSize,\r
- SysInfo\r
- );\r
+ EfiFpHandle = ConvertShellHandleToEfiFileProtocol (ShellFileHandle);\r
+ Status = EfiFpHandle->GetInfo (\r
+ EfiFpHandle,\r
+ &gEfiFileSystemInfoGuid,\r
+ &SysInfoSize,\r
+ SysInfo\r
+ );\r
\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
- SysInfo = AllocateZeroPool(SysInfoSize);\r
- Status = EfiFpHandle->GetInfo(\r
- EfiFpHandle,\r
- &gEfiFileSystemInfoGuid,\r
- &SysInfoSize,\r
- SysInfo\r
- );\r
+ SysInfo = AllocateZeroPool (SysInfoSize);\r
+ Status = EfiFpHandle->GetInfo (\r
+ EfiFpHandle,\r
+ &gEfiFileSystemInfoGuid,\r
+ &SysInfoSize,\r
+ SysInfo\r
+ );\r
}\r
\r
- ASSERT_EFI_ERROR(Status);\r
+ ASSERT_EFI_ERROR (Status);\r
\r
- gEfiShellProtocol->CloseFile(ShellFileHandle);\r
+ gEfiShellProtocol->CloseFile (ShellFileHandle);\r
} else {\r
//\r
// Get the Volume Info from Node->Handle\r
//\r
- SysInfo = NULL;\r
+ SysInfo = NULL;\r
SysInfoSize = 0;\r
- EfiFpHandle = ConvertShellHandleToEfiFileProtocol(Node->Handle);\r
- Status = EfiFpHandle->GetInfo(\r
- EfiFpHandle,\r
- &gEfiFileSystemInfoGuid,\r
- &SysInfoSize,\r
- SysInfo\r
- );\r
+ EfiFpHandle = ConvertShellHandleToEfiFileProtocol (Node->Handle);\r
+ Status = EfiFpHandle->GetInfo (\r
+ EfiFpHandle,\r
+ &gEfiFileSystemInfoGuid,\r
+ &SysInfoSize,\r
+ SysInfo\r
+ );\r
\r
if (Status == EFI_BUFFER_TOO_SMALL) {\r
- SysInfo = AllocateZeroPool(SysInfoSize);\r
- Status = EfiFpHandle->GetInfo(\r
- EfiFpHandle,\r
- &gEfiFileSystemInfoGuid,\r
- &SysInfoSize,\r
- SysInfo\r
- );\r
+ SysInfo = AllocateZeroPool (SysInfoSize);\r
+ Status = EfiFpHandle->GetInfo (\r
+ EfiFpHandle,\r
+ &gEfiFileSystemInfoGuid,\r
+ &SysInfoSize,\r
+ SysInfo\r
+ );\r
}\r
\r
- ASSERT_EFI_ERROR(Status);\r
+ ASSERT_EFI_ERROR (Status);\r
}\r
\r
ShellPrintHiiEx (\r
//\r
// print VolumeInfo table\r
//\r
- ASSERT(SysInfo != NULL);\r
+ ASSERT (SysInfo != NULL);\r
ShellPrintHiiEx (\r
0,\r
gST->ConOut->Mode->CursorRow,\r
gShellLevel2HiiHandle,\r
SysInfo->VolumeLabel,\r
SysInfo->VolumeSize,\r
- SysInfo->ReadOnly?L"TRUE":L"FALSE",\r
+ SysInfo->ReadOnly ? L"TRUE" : L"FALSE",\r
SysInfo->FreeSpace,\r
SysInfo->BlockSize\r
);\r
\r
- SHELL_FREE_NON_NULL(SysInfo);\r
+ SHELL_FREE_NON_NULL (SysInfo);\r
\r
return (Status);\r
}\r
\r
**/\r
VOID\r
-PrintFileInformation(\r
+PrintFileInformation (\r
IN CONST BOOLEAN Sfo,\r
IN CONST EFI_SHELL_FILE_INFO *TheNode,\r
IN UINT64 *Files,\r
IN UINT64 *Dirs\r
)\r
{\r
- ASSERT(Files != NULL);\r
- ASSERT(Size != NULL);\r
- ASSERT(Dirs != NULL);\r
- ASSERT(TheNode != NULL);\r
+ ASSERT (Files != NULL);\r
+ ASSERT (Size != NULL);\r
+ ASSERT (Dirs != NULL);\r
+ ASSERT (TheNode != NULL);\r
\r
if (Sfo) {\r
//\r
TheNode->FullName,\r
TheNode->Info->FileSize,\r
TheNode->Info->PhysicalSize,\r
- (TheNode->Info->Attribute & EFI_FILE_ARCHIVE) != 0?L"a":L"",\r
- (TheNode->Info->Attribute & EFI_FILE_DIRECTORY) != 0?L"d":L"",\r
- (TheNode->Info->Attribute & EFI_FILE_HIDDEN) != 0?L"h":L"",\r
- (TheNode->Info->Attribute & EFI_FILE_READ_ONLY) != 0?L"r":L"",\r
- (TheNode->Info->Attribute & EFI_FILE_SYSTEM) != 0?L"s":L"",\r
+ (TheNode->Info->Attribute & EFI_FILE_ARCHIVE) != 0 ? L"a" : L"",\r
+ (TheNode->Info->Attribute & EFI_FILE_DIRECTORY) != 0 ? L"d" : L"",\r
+ (TheNode->Info->Attribute & EFI_FILE_HIDDEN) != 0 ? L"h" : L"",\r
+ (TheNode->Info->Attribute & EFI_FILE_READ_ONLY) != 0 ? L"r" : L"",\r
+ (TheNode->Info->Attribute & EFI_FILE_SYSTEM) != 0 ? L"s" : L"",\r
TheNode->Info->CreateTime.Hour,\r
TheNode->Info->CreateTime.Minute,\r
TheNode->Info->CreateTime.Second,\r
STRING_TOKEN (STR_LS_LINE_START_ALL),\r
gShellLevel2HiiHandle,\r
&TheNode->Info->ModificationTime,\r
- (TheNode->Info->Attribute & EFI_FILE_DIRECTORY) != 0?L"<DIR>":L"",\r
- (TheNode->Info->Attribute & EFI_FILE_READ_ONLY) != 0?L'r':L' ',\r
+ (TheNode->Info->Attribute & EFI_FILE_DIRECTORY) != 0 ? L"<DIR>" : L"",\r
+ (TheNode->Info->Attribute & EFI_FILE_READ_ONLY) != 0 ? L'r' : L' ',\r
TheNode->Info->FileSize\r
);\r
if (TheNode->Info->Attribute & EFI_FILE_DIRECTORY) {\r
} else {\r
(*Files)++;\r
(*Size) += TheNode->Info->FileSize;\r
- if ( (gUnicodeCollation->StriColl(gUnicodeCollation, (CHAR16*)L".nsh", (CHAR16*)&(TheNode->FileName[StrLen (TheNode->FileName) - 4])) == 0)\r
- || (gUnicodeCollation->StriColl(gUnicodeCollation, (CHAR16*)L".efi", (CHAR16*)&(TheNode->FileName[StrLen (TheNode->FileName) - 4])) == 0)\r
- ){\r
+ if ( (gUnicodeCollation->StriColl (gUnicodeCollation, (CHAR16 *)L".nsh", (CHAR16 *)&(TheNode->FileName[StrLen (TheNode->FileName) - 4])) == 0)\r
+ || (gUnicodeCollation->StriColl (gUnicodeCollation, (CHAR16 *)L".efi", (CHAR16 *)&(TheNode->FileName[StrLen (TheNode->FileName) - 4])) == 0)\r
+ )\r
+ {\r
ShellPrintHiiEx (\r
-1,\r
-1,\r
@param[in] Path String with starting path.\r
**/\r
VOID\r
-PrintNonSfoHeader(\r
- IN CONST CHAR16 *Path\r
+PrintNonSfoHeader (\r
+ IN CONST CHAR16 *Path\r
)\r
{\r
- CHAR16 *DirectoryName;\r
+ CHAR16 *DirectoryName;\r
\r
//\r
// get directory name from path...\r
//\r
- DirectoryName = GetFullyQualifiedPath(Path);\r
+ DirectoryName = GetFullyQualifiedPath (Path);\r
\r
if (DirectoryName != NULL) {\r
//\r
DirectoryName\r
);\r
\r
- SHELL_FREE_NON_NULL(DirectoryName);\r
+ SHELL_FREE_NON_NULL (DirectoryName);\r
}\r
}\r
\r
@param[in] Dirs The number of directories.\r
**/\r
VOID\r
-PrintNonSfoFooter(\r
- IN UINT64 Files,\r
- IN UINT64 Size,\r
- IN UINT64 Dirs\r
+PrintNonSfoFooter (\r
+ IN UINT64 Files,\r
+ IN UINT64 Size,\r
+ IN UINT64 Dirs\r
)\r
{\r
//\r
Files,\r
Size,\r
Dirs\r
- );\r
+ );\r
}\r
\r
/**\r
**/\r
VOID\r
FileTimeToLocalTime (\r
- IN EFI_TIME *Time,\r
- IN INT16 LocalTimeZone\r
+ IN EFI_TIME *Time,\r
+ IN INT16 LocalTimeZone\r
)\r
{\r
- INTN MinuteDiff;\r
- INTN TempMinute;\r
- INTN HourNumberOfTempMinute;\r
- INTN TempHour;\r
- INTN DayNumberOfTempHour;\r
- INTN TempDay;\r
- INTN MonthNumberOfTempDay;\r
- INTN TempMonth;\r
- INTN YearNumberOfTempMonth;\r
- INTN MonthRecord;\r
-\r
- ASSERT ((Time->TimeZone >= -1440) && (Time->TimeZone <=1440));\r
- ASSERT ((LocalTimeZone >= -1440) && (LocalTimeZone <=1440));\r
+ INTN MinuteDiff;\r
+ INTN TempMinute;\r
+ INTN HourNumberOfTempMinute;\r
+ INTN TempHour;\r
+ INTN DayNumberOfTempHour;\r
+ INTN TempDay;\r
+ INTN MonthNumberOfTempDay;\r
+ INTN TempMonth;\r
+ INTN YearNumberOfTempMonth;\r
+ INTN MonthRecord;\r
+\r
+ ASSERT ((Time->TimeZone >= -1440) && (Time->TimeZone <= 1440));\r
+ ASSERT ((LocalTimeZone >= -1440) && (LocalTimeZone <= 1440));\r
ASSERT ((Time->Month >= 1) && (Time->Month <= 12));\r
\r
- if(Time->TimeZone == LocalTimeZone) {\r
+ if (Time->TimeZone == LocalTimeZone) {\r
//\r
- //if the file timezone is equal to the local timezone, there is no need to adjust the file time.\r
+ // if the file timezone is equal to the local timezone, there is no need to adjust the file time.\r
//\r
return;\r
}\r
\r
- if((Time->Year % 4 == 0 && Time->Year / 100 != 0)||(Time->Year % 400 == 0)) {\r
+ if (((Time->Year % 4 == 0) && (Time->Year / 100 != 0)) || (Time->Year % 400 == 0)) {\r
//\r
// Day in February of leap year is 29.\r
//\r
// TempHour will be used to calculate Time->Hour\r
//\r
HourNumberOfTempMinute = TempMinute / 60;\r
- if(TempMinute < 0) {\r
- HourNumberOfTempMinute --;\r
+ if (TempMinute < 0) {\r
+ HourNumberOfTempMinute--;\r
}\r
- TempHour = Time->Hour + HourNumberOfTempMinute;\r
+\r
+ TempHour = Time->Hour + HourNumberOfTempMinute;\r
Time->Minute = (UINT8)(TempMinute - 60 * HourNumberOfTempMinute);\r
\r
//\r
// Calculate Time->Hour\r
// TempDay will be used to calculate Time->Day\r
//\r
- DayNumberOfTempHour = TempHour / 24 ;\r
- if(TempHour < 0){\r
+ DayNumberOfTempHour = TempHour / 24;\r
+ if (TempHour < 0) {\r
DayNumberOfTempHour--;\r
}\r
- TempDay = Time->Day + DayNumberOfTempHour;\r
+\r
+ TempDay = Time->Day + DayNumberOfTempHour;\r
Time->Hour = (UINT8)(TempHour - 24 * DayNumberOfTempHour);\r
\r
//\r
// TempMonth will be used to calculate Time->Month\r
//\r
MonthNumberOfTempDay = (TempDay - 1) / (INTN)mDayOfMonth[Time->Month - 1];\r
- MonthRecord = (INTN)(Time->Month) ;\r
- if(TempDay - 1 < 0){\r
- MonthNumberOfTempDay -- ;\r
- MonthRecord -- ;\r
+ MonthRecord = (INTN)(Time->Month);\r
+ if (TempDay - 1 < 0) {\r
+ MonthNumberOfTempDay--;\r
+ MonthRecord--;\r
}\r
+\r
TempMonth = Time->Month + MonthNumberOfTempDay;\r
Time->Day = (UINT8)(TempDay - (INTN)mDayOfMonth[(MonthRecord - 1 + 12) % 12] * MonthNumberOfTempDay);\r
\r
// Calculate Time->Month, Time->Year\r
//\r
YearNumberOfTempMonth = (TempMonth - 1) / 12;\r
- if(TempMonth - 1 < 0){\r
- YearNumberOfTempMonth --;\r
+ if (TempMonth - 1 < 0) {\r
+ YearNumberOfTempMonth--;\r
}\r
+\r
Time->Month = (UINT8)(TempMonth - 12 * (YearNumberOfTempMonth));\r
- Time->Year = (UINT16)(Time->Year + YearNumberOfTempMonth);\r
+ Time->Year = (UINT16)(Time->Year + YearNumberOfTempMonth);\r
}\r
\r
/**\r
@retval SHELL_SUCCESS the printing was sucessful.\r
**/\r
SHELL_STATUS\r
-PrintLsOutput(\r
- IN CONST BOOLEAN Rec,\r
- IN CONST UINT64 Attribs,\r
- IN CONST BOOLEAN Sfo,\r
- IN CONST CHAR16 *RootPath,\r
- IN CONST CHAR16 *SearchString,\r
- IN BOOLEAN *Found,\r
- IN CONST UINTN Count,\r
- IN CONST INT16 TimeZone,\r
- IN CONST BOOLEAN ListUnfiltered\r
+PrintLsOutput (\r
+ IN CONST BOOLEAN Rec,\r
+ IN CONST UINT64 Attribs,\r
+ IN CONST BOOLEAN Sfo,\r
+ IN CONST CHAR16 *RootPath,\r
+ IN CONST CHAR16 *SearchString,\r
+ IN BOOLEAN *Found,\r
+ IN CONST UINTN Count,\r
+ IN CONST INT16 TimeZone,\r
+ IN CONST BOOLEAN ListUnfiltered\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_SHELL_FILE_INFO *ListHead;\r
- EFI_SHELL_FILE_INFO *Node;\r
- SHELL_STATUS ShellStatus;\r
- UINT64 FileCount;\r
- UINT64 DirCount;\r
- UINT64 FileSize;\r
- UINTN LongestPath;\r
- CHAR16 *CorrectedPath;\r
- BOOLEAN FoundOne;\r
- BOOLEAN HeaderPrinted;\r
- EFI_TIME LocalTime;\r
+ EFI_STATUS Status;\r
+ EFI_SHELL_FILE_INFO *ListHead;\r
+ EFI_SHELL_FILE_INFO *Node;\r
+ SHELL_STATUS ShellStatus;\r
+ UINT64 FileCount;\r
+ UINT64 DirCount;\r
+ UINT64 FileSize;\r
+ UINTN LongestPath;\r
+ CHAR16 *CorrectedPath;\r
+ BOOLEAN FoundOne;\r
+ BOOLEAN HeaderPrinted;\r
+ EFI_TIME LocalTime;\r
\r
HeaderPrinted = FALSE;\r
FileCount = 0;\r
FoundOne = FALSE;\r
}\r
\r
- CorrectedPath = StrnCatGrow(&CorrectedPath, &LongestPath, RootPath, 0);\r
+ CorrectedPath = StrnCatGrow (&CorrectedPath, &LongestPath, RootPath, 0);\r
if (CorrectedPath == NULL) {\r
return SHELL_OUT_OF_RESOURCES;\r
}\r
- if (CorrectedPath[StrLen(CorrectedPath)-1] != L'\\'\r
- &&CorrectedPath[StrLen(CorrectedPath)-1] != L'/') {\r
- CorrectedPath = StrnCatGrow(&CorrectedPath, &LongestPath, L"\\", 0);\r
+\r
+ if ( (CorrectedPath[StrLen (CorrectedPath)-1] != L'\\')\r
+ && (CorrectedPath[StrLen (CorrectedPath)-1] != L'/'))\r
+ {\r
+ CorrectedPath = StrnCatGrow (&CorrectedPath, &LongestPath, L"\\", 0);\r
}\r
- CorrectedPath = StrnCatGrow(&CorrectedPath, &LongestPath, SearchString, 0);\r
+\r
+ CorrectedPath = StrnCatGrow (&CorrectedPath, &LongestPath, SearchString, 0);\r
if (CorrectedPath == NULL) {\r
return (SHELL_OUT_OF_RESOURCES);\r
}\r
\r
- PathCleanUpDirectories(CorrectedPath);\r
+ PathCleanUpDirectories (CorrectedPath);\r
\r
- Status = ShellOpenFileMetaArg((CHAR16*)CorrectedPath, EFI_FILE_MODE_READ, &ListHead);\r
- if (!EFI_ERROR(Status)) {\r
- if (ListHead == NULL || IsListEmpty(&ListHead->Link)) {\r
- SHELL_FREE_NON_NULL(CorrectedPath);\r
+ Status = ShellOpenFileMetaArg ((CHAR16 *)CorrectedPath, EFI_FILE_MODE_READ, &ListHead);\r
+ if (!EFI_ERROR (Status)) {\r
+ if ((ListHead == NULL) || IsListEmpty (&ListHead->Link)) {\r
+ SHELL_FREE_NON_NULL (CorrectedPath);\r
return (SHELL_SUCCESS);\r
}\r
\r
- if (Sfo && Found == NULL) {\r
- PrintSfoVolumeInfoTableEntry(ListHead);\r
+ if (Sfo && (Found == NULL)) {\r
+ PrintSfoVolumeInfoTableEntry (ListHead);\r
}\r
\r
if (!Sfo) {\r
);\r
}\r
\r
- for ( Node = (EFI_SHELL_FILE_INFO *)GetFirstNode(&ListHead->Link), LongestPath = 0\r
- ; !IsNull(&ListHead->Link, &Node->Link)\r
- ; Node = (EFI_SHELL_FILE_INFO *)GetNextNode(&ListHead->Link, &Node->Link)\r
- ){\r
+ for ( Node = (EFI_SHELL_FILE_INFO *)GetFirstNode (&ListHead->Link), LongestPath = 0\r
+ ; !IsNull (&ListHead->Link, &Node->Link)\r
+ ; Node = (EFI_SHELL_FILE_INFO *)GetNextNode (&ListHead->Link, &Node->Link)\r
+ )\r
+ {\r
if (ShellGetExecutionBreakFlag ()) {\r
ShellStatus = SHELL_ABORTED;\r
break;\r
}\r
- ASSERT(Node != NULL);\r
+\r
+ ASSERT (Node != NULL);\r
\r
//\r
// Change the file time to local time.\r
//\r
- Status = gRT->GetTime(&LocalTime, NULL);\r
+ Status = gRT->GetTime (&LocalTime, NULL);\r
if (!EFI_ERROR (Status) && (LocalTime.TimeZone != EFI_UNSPECIFIED_TIMEZONE)) {\r
if ((Node->Info->CreateTime.TimeZone != EFI_UNSPECIFIED_TIMEZONE) &&\r
- (Node->Info->CreateTime.Month >= 1 && Node->Info->CreateTime.Month <= 12)) {\r
+ ((Node->Info->CreateTime.Month >= 1) && (Node->Info->CreateTime.Month <= 12)))\r
+ {\r
//\r
// FileTimeToLocalTime () requires Month is in a valid range, other buffer out-of-band access happens.\r
//\r
FileTimeToLocalTime (&Node->Info->CreateTime, LocalTime.TimeZone);\r
}\r
+\r
if ((Node->Info->LastAccessTime.TimeZone != EFI_UNSPECIFIED_TIMEZONE) &&\r
- (Node->Info->LastAccessTime.Month >= 1 && Node->Info->LastAccessTime.Month <= 12)) {\r
+ ((Node->Info->LastAccessTime.Month >= 1) && (Node->Info->LastAccessTime.Month <= 12)))\r
+ {\r
FileTimeToLocalTime (&Node->Info->LastAccessTime, LocalTime.TimeZone);\r
}\r
+\r
if ((Node->Info->ModificationTime.TimeZone != EFI_UNSPECIFIED_TIMEZONE) &&\r
- (Node->Info->ModificationTime.Month >= 1 && Node->Info->ModificationTime.Month <= 12)) {\r
+ ((Node->Info->ModificationTime.Month >= 1) && (Node->Info->ModificationTime.Month <= 12)))\r
+ {\r
FileTimeToLocalTime (&Node->Info->ModificationTime, LocalTime.TimeZone);\r
}\r
}\r
\r
- if (LongestPath < StrSize(Node->FullName)) {\r
- LongestPath = StrSize(Node->FullName);\r
+ if (LongestPath < StrSize (Node->FullName)) {\r
+ LongestPath = StrSize (Node->FullName);\r
}\r
- ASSERT(Node->Info != NULL);\r
- ASSERT((Node->Info->Attribute & EFI_FILE_VALID_ATTR) == Node->Info->Attribute);\r
+\r
+ ASSERT (Node->Info != NULL);\r
+ ASSERT ((Node->Info->Attribute & EFI_FILE_VALID_ATTR) == Node->Info->Attribute);\r
if (Attribs == 0) {\r
//\r
// NOT system & NOT hidden\r
//\r
- if ( (Node->Info->Attribute & EFI_FILE_SYSTEM)\r
- || (Node->Info->Attribute & EFI_FILE_HIDDEN)\r
- ){\r
+ if ( (Node->Info->Attribute & EFI_FILE_SYSTEM)\r
+ || (Node->Info->Attribute & EFI_FILE_HIDDEN)\r
+ )\r
+ {\r
continue;\r
}\r
} else if ((Attribs != EFI_FILE_VALID_ATTR) ||\r
- (Count == 5)) {\r
+ (Count == 5))\r
+ {\r
//\r
// Only matches the bits which "Attribs" contains, not\r
// all files/directories with any of the bits.\r
// specifying all bits (EX: -arhsda) and just specifying\r
// -a (means display all files with any attribute).\r
//\r
- if ( (Node->Info->Attribute & Attribs) != Attribs) {\r
+ if ((Node->Info->Attribute & Attribs) != Attribs) {\r
continue;\r
}\r
}\r
\r
if (!Sfo && !HeaderPrinted) {\r
PathRemoveLastItem (CorrectedPath);\r
- PrintNonSfoHeader(CorrectedPath);\r
+ PrintNonSfoHeader (CorrectedPath);\r
}\r
- PrintFileInformation(Sfo, Node, &FileCount, &FileSize, &DirCount);\r
- FoundOne = TRUE;\r
+\r
+ PrintFileInformation (Sfo, Node, &FileCount, &FileSize, &DirCount);\r
+ FoundOne = TRUE;\r
HeaderPrinted = TRUE;\r
}\r
\r
- if (!Sfo && ShellStatus != SHELL_ABORTED && HeaderPrinted) {\r
- PrintNonSfoFooter(FileCount, FileSize, DirCount);\r
+ if (!Sfo && (ShellStatus != SHELL_ABORTED) && HeaderPrinted) {\r
+ PrintNonSfoFooter (FileCount, FileSize, DirCount);\r
}\r
}\r
\r
- if (Rec && ShellStatus != SHELL_ABORTED) {\r
+ if (Rec && (ShellStatus != SHELL_ABORTED)) {\r
//\r
// Re-Open all the files under the starting path for directories that didnt necessarily match our file filter\r
//\r
- ShellCloseFileMetaArg(&ListHead);\r
+ ShellCloseFileMetaArg (&ListHead);\r
CorrectedPath[0] = CHAR_NULL;\r
- CorrectedPath = StrnCatGrow(&CorrectedPath, &LongestPath, RootPath, 0);\r
+ CorrectedPath = StrnCatGrow (&CorrectedPath, &LongestPath, RootPath, 0);\r
if (CorrectedPath == NULL) {\r
return SHELL_OUT_OF_RESOURCES;\r
}\r
- if (CorrectedPath[StrLen(CorrectedPath)-1] != L'\\'\r
- &&CorrectedPath[StrLen(CorrectedPath)-1] != L'/') {\r
- CorrectedPath = StrnCatGrow(&CorrectedPath, &LongestPath, L"\\", 0);\r
+\r
+ if ( (CorrectedPath[StrLen (CorrectedPath)-1] != L'\\')\r
+ && (CorrectedPath[StrLen (CorrectedPath)-1] != L'/'))\r
+ {\r
+ CorrectedPath = StrnCatGrow (&CorrectedPath, &LongestPath, L"\\", 0);\r
}\r
- CorrectedPath = StrnCatGrow(&CorrectedPath, &LongestPath, L"*", 0);\r
- Status = ShellOpenFileMetaArg((CHAR16*)CorrectedPath, EFI_FILE_MODE_READ, &ListHead);\r
-\r
- if (!EFI_ERROR(Status)) {\r
- for ( Node = (EFI_SHELL_FILE_INFO *)GetFirstNode(&ListHead->Link)\r
- ; !IsNull(&ListHead->Link, &Node->Link) && ShellStatus == SHELL_SUCCESS\r
- ; Node = (EFI_SHELL_FILE_INFO *)GetNextNode(&ListHead->Link, &Node->Link)\r
- ){\r
+\r
+ CorrectedPath = StrnCatGrow (&CorrectedPath, &LongestPath, L"*", 0);\r
+ Status = ShellOpenFileMetaArg ((CHAR16 *)CorrectedPath, EFI_FILE_MODE_READ, &ListHead);\r
+\r
+ if (!EFI_ERROR (Status)) {\r
+ for ( Node = (EFI_SHELL_FILE_INFO *)GetFirstNode (&ListHead->Link)\r
+ ; !IsNull (&ListHead->Link, &Node->Link) && ShellStatus == SHELL_SUCCESS\r
+ ; Node = (EFI_SHELL_FILE_INFO *)GetNextNode (&ListHead->Link, &Node->Link)\r
+ )\r
+ {\r
if (ShellGetExecutionBreakFlag ()) {\r
ShellStatus = SHELL_ABORTED;\r
break;\r
//\r
// recurse on any directory except the traversing ones...\r
//\r
- if (((Node->Info->Attribute & EFI_FILE_DIRECTORY) == EFI_FILE_DIRECTORY)\r
- && StrCmp(Node->FileName, L".") != 0\r
- && StrCmp(Node->FileName, L"..") != 0\r
- ){\r
- ShellStatus = PrintLsOutput(\r
- Rec,\r
- Attribs,\r
- Sfo,\r
- Node->FullName,\r
- SearchString,\r
- &FoundOne,\r
- Count,\r
- TimeZone,\r
- FALSE);\r
+ if ( ((Node->Info->Attribute & EFI_FILE_DIRECTORY) == EFI_FILE_DIRECTORY)\r
+ && (StrCmp (Node->FileName, L".") != 0)\r
+ && (StrCmp (Node->FileName, L"..") != 0)\r
+ )\r
+ {\r
+ ShellStatus = PrintLsOutput (\r
+ Rec,\r
+ Attribs,\r
+ Sfo,\r
+ Node->FullName,\r
+ SearchString,\r
+ &FoundOne,\r
+ Count,\r
+ TimeZone,\r
+ FALSE\r
+ );\r
\r
//\r
// Since it's running recursively, we have to break immediately when returned SHELL_ABORTED\r
}\r
}\r
\r
- SHELL_FREE_NON_NULL(CorrectedPath);\r
- ShellCloseFileMetaArg(&ListHead);\r
+ SHELL_FREE_NON_NULL (CorrectedPath);\r
+ ShellCloseFileMetaArg (&ListHead);\r
\r
- if (Found == NULL && !FoundOne) {\r
+ if ((Found == NULL) && !FoundOne) {\r
if (ListUnfiltered) {\r
//\r
// When running "ls" without any filtering request, avoid outputing\r
return (ShellStatus);\r
}\r
\r
-STATIC CONST SHELL_PARAM_ITEM LsParamList[] = {\r
- {L"-r", TypeFlag},\r
- {L"-a", TypeStart},\r
- {L"-sfo", TypeFlag},\r
- {NULL, TypeMax}\r
- };\r
+STATIC CONST SHELL_PARAM_ITEM LsParamList[] = {\r
+ { L"-r", TypeFlag },\r
+ { L"-a", TypeStart },\r
+ { L"-sfo", TypeFlag },\r
+ { NULL, TypeMax }\r
+};\r
\r
/**\r
Function for 'ls' command.\r
CHAR16 *SearchString;\r
BOOLEAN ListUnfiltered;\r
\r
- Size = 0;\r
- FullPath = NULL;\r
- ProblemParam = NULL;\r
- Attribs = NULL;\r
- ShellStatus = SHELL_SUCCESS;\r
- RequiredAttributes = 0;\r
- PathName = NULL;\r
- SearchString = NULL;\r
- CurDir = NULL;\r
- Count = 0;\r
- ListUnfiltered = FALSE;\r
+ Size = 0;\r
+ FullPath = NULL;\r
+ ProblemParam = NULL;\r
+ Attribs = NULL;\r
+ ShellStatus = SHELL_SUCCESS;\r
+ RequiredAttributes = 0;\r
+ PathName = NULL;\r
+ SearchString = NULL;\r
+ CurDir = NULL;\r
+ Count = 0;\r
+ ListUnfiltered = FALSE;\r
\r
//\r
// initialize the shell lib (we must be in non-auto-init...)\r
//\r
- Status = ShellInitialize();\r
- ASSERT_EFI_ERROR(Status);\r
+ Status = ShellInitialize ();\r
+ ASSERT_EFI_ERROR (Status);\r
\r
//\r
// Fix local copies of the protocol pointers\r
//\r
- Status = CommandInit();\r
- ASSERT_EFI_ERROR(Status);\r
+ Status = CommandInit ();\r
+ ASSERT_EFI_ERROR (Status);\r
\r
//\r
// parse the command line\r
//\r
Status = ShellCommandLineParse (LsParamList, &Package, &ProblemParam, TRUE);\r
- if (EFI_ERROR(Status)) {\r
- if (Status == EFI_VOLUME_CORRUPTED && ProblemParam != NULL) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellLevel2HiiHandle, L"ls", ProblemParam);\r
- FreePool(ProblemParam);\r
+ if (EFI_ERROR (Status)) {\r
+ if ((Status == EFI_VOLUME_CORRUPTED) && (ProblemParam != NULL)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_PROBLEM), gShellLevel2HiiHandle, L"ls", ProblemParam);\r
+ FreePool (ProblemParam);\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
} else {\r
- ASSERT(FALSE);\r
+ ASSERT (FALSE);\r
}\r
} else {\r
//\r
// check for "-?"\r
//\r
- if (ShellCommandLineGetFlag(Package, L"-?")) {\r
- ASSERT(FALSE);\r
+ if (ShellCommandLineGetFlag (Package, L"-?")) {\r
+ ASSERT (FALSE);\r
}\r
\r
- if (ShellCommandLineGetCount(Package) > 2) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellLevel2HiiHandle, L"ls");\r
+ if (ShellCommandLineGetCount (Package) > 2) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_TOO_MANY), gShellLevel2HiiHandle, L"ls");\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
} else {\r
//\r
// check for -a\r
//\r
- if (ShellCommandLineGetFlag(Package, L"-a")) {\r
- for ( Attribs = ShellCommandLineGetValue(Package, L"-a")\r
- ; Attribs != NULL && *Attribs != CHAR_NULL && ShellStatus == SHELL_SUCCESS\r
- ; Attribs++\r
- ){\r
+ if (ShellCommandLineGetFlag (Package, L"-a")) {\r
+ for ( Attribs = ShellCommandLineGetValue (Package, L"-a")\r
+ ; Attribs != NULL && *Attribs != CHAR_NULL && ShellStatus == SHELL_SUCCESS\r
+ ; Attribs++\r
+ )\r
+ {\r
switch (*Attribs) {\r
case L'a':\r
case L'A':\r
Count++;\r
continue;\r
default:\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_ATTRIBUTE), gShellLevel2HiiHandle, L"ls", ShellCommandLineGetValue(Package, L"-a"));\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_ATTRIBUTE), gShellLevel2HiiHandle, L"ls", ShellCommandLineGetValue (Package, L"-a"));\r
ShellStatus = SHELL_INVALID_PARAMETER;\r
break;\r
} // switch\r
} // for loop\r
+\r
//\r
// if nothing is specified all are specified\r
//\r
RequiredAttributes = EFI_FILE_VALID_ATTR;\r
}\r
} // if -a present\r
+\r
if (ShellStatus == SHELL_SUCCESS) {\r
- PathName = ShellCommandLineGetRawValue(Package, 1);\r
+ PathName = ShellCommandLineGetRawValue (Package, 1);\r
if (PathName == NULL) {\r
//\r
// Nothing specified... must start from current directory\r
//\r
- CurDir = gEfiShellProtocol->GetCurDir(NULL);\r
+ CurDir = gEfiShellProtocol->GetCurDir (NULL);\r
if (CurDir == NULL) {\r
ShellStatus = SHELL_NOT_FOUND;\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_CWD), gShellLevel2HiiHandle, L"ls");\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_CWD), gShellLevel2HiiHandle, L"ls");\r
}\r
+\r
ListUnfiltered = TRUE;\r
//\r
// Copy to the 2 strings for starting path and file search string\r
//\r
- ASSERT(SearchString == NULL);\r
- ASSERT(FullPath == NULL);\r
- StrnCatGrow(&SearchString, NULL, L"*", 0);\r
- StrnCatGrow(&FullPath, NULL, CurDir, 0);\r
- Size = FullPath != NULL? StrSize(FullPath) : 0;\r
- StrnCatGrow(&FullPath, &Size, L"\\", 0);\r
+ ASSERT (SearchString == NULL);\r
+ ASSERT (FullPath == NULL);\r
+ StrnCatGrow (&SearchString, NULL, L"*", 0);\r
+ StrnCatGrow (&FullPath, NULL, CurDir, 0);\r
+ Size = FullPath != NULL ? StrSize (FullPath) : 0;\r
+ StrnCatGrow (&FullPath, &Size, L"\\", 0);\r
} else {\r
- if (StrStr(PathName, L":") == NULL && gEfiShellProtocol->GetCurDir(NULL) == NULL) {\r
+ if ((StrStr (PathName, L":") == NULL) && (gEfiShellProtocol->GetCurDir (NULL) == NULL)) {\r
//\r
// If we got something and it doesnt have a fully qualified path, then we needed to have a CWD.\r
//\r
ShellStatus = SHELL_NOT_FOUND;\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_CWD), gShellLevel2HiiHandle, L"ls");\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_NO_CWD), gShellLevel2HiiHandle, L"ls");\r
} else {\r
//\r
// We got a valid fully qualified path or we have a CWD\r
//\r
- ASSERT((FullPath == NULL && Size == 0) || (FullPath != NULL));\r
- if (StrStr(PathName, L":") == NULL) {\r
- StrnCatGrow(&FullPath, &Size, gEfiShellProtocol->GetCurDir(NULL), 0);\r
+ ASSERT ((FullPath == NULL && Size == 0) || (FullPath != NULL));\r
+ if (StrStr (PathName, L":") == NULL) {\r
+ StrnCatGrow (&FullPath, &Size, gEfiShellProtocol->GetCurDir (NULL), 0);\r
if (FullPath == NULL) {\r
ShellCommandLineFreeVarList (Package);\r
return SHELL_OUT_OF_RESOURCES;\r
}\r
- Size = FullPath != NULL? StrSize(FullPath) : 0;\r
- StrnCatGrow(&FullPath, &Size, L"\\", 0);\r
+\r
+ Size = FullPath != NULL ? StrSize (FullPath) : 0;\r
+ StrnCatGrow (&FullPath, &Size, L"\\", 0);\r
}\r
- StrnCatGrow(&FullPath, &Size, PathName, 0);\r
+\r
+ StrnCatGrow (&FullPath, &Size, PathName, 0);\r
if (FullPath == NULL) {\r
- ShellCommandLineFreeVarList (Package);\r
- return SHELL_OUT_OF_RESOURCES;\r
+ ShellCommandLineFreeVarList (Package);\r
+ return SHELL_OUT_OF_RESOURCES;\r
}\r
\r
- if (ShellIsDirectory(PathName) == EFI_SUCCESS) {\r
+ if (ShellIsDirectory (PathName) == EFI_SUCCESS) {\r
//\r
// is listing ends with a directory, then we list all files in that directory\r
//\r
ListUnfiltered = TRUE;\r
- StrnCatGrow(&SearchString, NULL, L"*", 0);\r
+ StrnCatGrow (&SearchString, NULL, L"*", 0);\r
} else {\r
//\r
// must split off the search part that applies to files from the end of the directory part\r
//\r
- StrnCatGrow(&SearchString, NULL, FullPath, 0);\r
+ StrnCatGrow (&SearchString, NULL, FullPath, 0);\r
if (SearchString == NULL) {\r
FreePool (FullPath);\r
ShellCommandLineFreeVarList (Package);\r
return SHELL_OUT_OF_RESOURCES;\r
}\r
+\r
PathRemoveLastItem (FullPath);\r
CopyMem (SearchString, SearchString + StrLen (FullPath), StrSize (SearchString + StrLen (FullPath)));\r
}\r
}\r
}\r
- Status = gRT->GetTime(&TheTime, NULL);\r
- if (EFI_ERROR(Status)) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_UEFI_FUNC_WARN), gShellLevel2HiiHandle, L"ls", L"gRT->GetTime", Status);\r
+\r
+ Status = gRT->GetTime (&TheTime, NULL);\r
+ if (EFI_ERROR (Status)) {\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_UEFI_FUNC_WARN), gShellLevel2HiiHandle, L"ls", L"gRT->GetTime", Status);\r
TheTime.TimeZone = EFI_UNSPECIFIED_TIMEZONE;\r
}\r
\r
if (ShellStatus == SHELL_SUCCESS) {\r
- ShellStatus = PrintLsOutput(\r
- ShellCommandLineGetFlag(Package, L"-r"),\r
- RequiredAttributes,\r
- ShellCommandLineGetFlag(Package, L"-sfo"),\r
- FullPath,\r
- SearchString,\r
- NULL,\r
- Count,\r
- TheTime.TimeZone,\r
- ListUnfiltered\r
- );\r
+ ShellStatus = PrintLsOutput (\r
+ ShellCommandLineGetFlag (Package, L"-r"),\r
+ RequiredAttributes,\r
+ ShellCommandLineGetFlag (Package, L"-sfo"),\r
+ FullPath,\r
+ SearchString,\r
+ NULL,\r
+ Count,\r
+ TheTime.TimeZone,\r
+ ListUnfiltered\r
+ );\r
if (ShellStatus == SHELL_NOT_FOUND) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_LS_FILE_NOT_FOUND), gShellLevel2HiiHandle, L"ls", FullPath);\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_LS_FILE_NOT_FOUND), gShellLevel2HiiHandle, L"ls", FullPath);\r
} else if (ShellStatus == SHELL_INVALID_PARAMETER) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellLevel2HiiHandle, L"ls", FullPath);\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellLevel2HiiHandle, L"ls", FullPath);\r
} else if (ShellStatus == SHELL_ABORTED) {\r
//\r
// Ignore aborting.\r
//\r
} else if (ShellStatus != SHELL_SUCCESS) {\r
- ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellLevel2HiiHandle, L"ls", FullPath);\r
+ ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_GEN_PARAM_INV), gShellLevel2HiiHandle, L"ls", FullPath);\r
}\r
}\r
}\r
//\r
// Free memory allocated\r
//\r
- SHELL_FREE_NON_NULL(SearchString);\r
- SHELL_FREE_NON_NULL(FullPath);\r
+ SHELL_FREE_NON_NULL (SearchString);\r
+ SHELL_FREE_NON_NULL (FullPath);\r
ShellCommandLineFreeVarList (Package);\r
\r
return (ShellStatus);\r