Loading arch/mips/au1000/common/prom.c +14 −12 Original line number Diff line number Diff line /* * * BRIEF MODULE DESCRIPTION * PROM library initialisation code, assuming YAMON is the boot loader. * PROM library initialisation code, supports YAMON and U-Boot. * * Copyright 2000, 2001, 2006 MontaVista Software Inc. * Author: MontaVista Software, Inc. Loading Loading @@ -46,12 +46,6 @@ extern int prom_argc; extern char **prom_argv, **prom_envp; typedef struct { char *name; char *val; } t_env_var; char * prom_getcmdline(void) { Loading Loading @@ -84,13 +78,21 @@ char *prom_getenv(char *envname) { /* * Return a pointer to the given environment variable. * YAMON uses "name", "value" pairs, while U-Boot uses "name=value". */ t_env_var *env = (t_env_var *)prom_envp; while (env->name) { if (strcmp(envname, env->name) == 0) return env->val; char **env = prom_envp; int i = strlen(envname); int yamon = (*env && strchr(*env, '=') == NULL); while (*env) { if (yamon) { if (strcmp(envname, *env++) == 0) return *env; } else { if (strncmp(envname, *env, i) == 0 && (*env)[i] == '=') return *env + i + 1; } env++; } return NULL; Loading Loading
arch/mips/au1000/common/prom.c +14 −12 Original line number Diff line number Diff line /* * * BRIEF MODULE DESCRIPTION * PROM library initialisation code, assuming YAMON is the boot loader. * PROM library initialisation code, supports YAMON and U-Boot. * * Copyright 2000, 2001, 2006 MontaVista Software Inc. * Author: MontaVista Software, Inc. Loading Loading @@ -46,12 +46,6 @@ extern int prom_argc; extern char **prom_argv, **prom_envp; typedef struct { char *name; char *val; } t_env_var; char * prom_getcmdline(void) { Loading Loading @@ -84,13 +78,21 @@ char *prom_getenv(char *envname) { /* * Return a pointer to the given environment variable. * YAMON uses "name", "value" pairs, while U-Boot uses "name=value". */ t_env_var *env = (t_env_var *)prom_envp; while (env->name) { if (strcmp(envname, env->name) == 0) return env->val; char **env = prom_envp; int i = strlen(envname); int yamon = (*env && strchr(*env, '=') == NULL); while (*env) { if (yamon) { if (strcmp(envname, *env++) == 0) return *env; } else { if (strncmp(envname, *env, i) == 0 && (*env)[i] == '=') return *env + i + 1; } env++; } return NULL; Loading