- } else {\r
- //\r
- // Variable == NULL and Config != NULL, Create a new variable with\r
- // this NIC configure.\r
- //\r
- Count = 0;\r
- Cur = NULL;\r
- TotalLen = sizeof (IP4_CONFIG_VARIABLE) - sizeof (NIC_IP4_CONFIG_INFO)\r
- + SIZEOF_NIC_IP4_CONFIG_INFO (Config);\r
- }\r
-\r
- ASSERT (TotalLen >= sizeof (IP4_CONFIG_VARIABLE));\r
-\r
- NewVar = AllocateZeroPool (TotalLen);\r
-\r
- if (NewVar == NULL) {\r
- return NULL;\r
- }\r
-\r
- NewVar->Len = TotalLen;\r
-\r
- //\r
- // Copy the other configure parameters from the old variable\r
- //\r
- Next = (UINT8 *)&NewVar->ConfigInfo;\r
-\r
- for (Index = 0; Index < Count; Index++) {\r
- CopyMem (&Temp, Cur, sizeof (NIC_IP4_CONFIG_INFO));\r
- Len = SIZEOF_NIC_IP4_CONFIG_INFO (&Temp);\r
-\r
- if (!NIC_ADDR_EQUAL (&Temp.NicAddr, NicAddr)) {\r
- CopyMem (Next, Cur, Len);\r
- Next += Len;\r
- NewVar->Count++;\r
+ GetVariable2 (VariableName, &gEfiNicIp4ConfigVariableGuid, &NicConfig, NULL);\r
+ if (NicConfig == NULL) {\r
+ break;\r