Support new format of IPv4 device path node, FibreEx and PcieRoot device path node in DevicepathDxe driver.

Meanwhile, unnecessary (UINTN) typecast is removed and a buffer truncating bug is fixed. The buffer truncating bug may cause DevicePathToText generates wrong text representation if a input device path is too long.

Signed-off-by: niruiyu
Reviewed-by: tye
Reviewed-by: jjin9

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12276 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
niruiyu
2011-09-05 04:51:51 +00:00
parent 09e1962905
commit e9b3cd557f
3 changed files with 264 additions and 164 deletions

View File

@ -1,7 +1,7 @@
/** @file
Definition for Device Path Utilities driver
Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -31,9 +31,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#include <Library/DevicePathLib.h>
#include <Library/PcdLib.h>
#define MAX_CHAR 480
#define IS_COMMA(a) ((a) == L',')
#define IS_HYPHEN(a) ((a) == L'-')
#define IS_DOT(a) ((a) == L'.')
@ -55,8 +52,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
//
typedef struct {
CHAR16 *Str;
UINTN Len;
UINTN MaxLen;
UINTN Length;
UINTN Capacity;
} POOL_PRINT;
typedef