Changeset View
Changeset View
Standalone View
Standalone View
stand/efi/libefi/efienv.c
Show First 20 Lines • Show All 43 Lines • ▼ Show 20 Lines | efi_getenv(EFI_GUID *g, const char *v, void *data, size_t *len) | ||||
UINTN dl; | UINTN dl; | ||||
EFI_STATUS rv; | EFI_STATUS rv; | ||||
uv = NULL; | uv = NULL; | ||||
if (utf8_to_ucs2(v, &uv, &ul) != 0) | if (utf8_to_ucs2(v, &uv, &ul) != 0) | ||||
return (EFI_OUT_OF_RESOURCES); | return (EFI_OUT_OF_RESOURCES); | ||||
dl = *len; | dl = *len; | ||||
rv = RS->GetVariable(uv, g, &attr, &dl, data); | rv = RS->GetVariable(uv, g, &attr, &dl, data); | ||||
if (rv == EFI_SUCCESS) | if (rv == EFI_SUCCESS || rv == EFI_BUFFER_TOO_SMALL) | ||||
*len = dl; | *len = dl; | ||||
free(uv); | free(uv); | ||||
return (rv); | return (rv); | ||||
} | } | ||||
EFI_STATUS | EFI_STATUS | ||||
efi_global_getenv(const char *v, void *data, size_t *len) | efi_global_getenv(const char *v, void *data, size_t *len) | ||||
{ | { | ||||
Show All 27 Lines |