Message ID | 1327300228-26386-7-git-send-email-vapier@gentoo.org |
---|---|
State | Deferred |
Delegated to: | Mike Frysinger |
Headers | show |
Hi Mike, On Sun, Jan 22, 2012 at 10:30 PM, Mike Frysinger <vapier@gentoo.org> wrote: > Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Simon Glass <sjg@chromium.org> > --- > arch/sandbox/cpu/os.c | 13 +++++++++++++ > include/os.h | 1 + > 2 files changed, 14 insertions(+), 0 deletions(-) > > diff --git a/arch/sandbox/cpu/os.c b/arch/sandbox/cpu/os.c > index 1d3e54f..4428f57 100644 > --- a/arch/sandbox/cpu/os.c > +++ b/arch/sandbox/cpu/os.c > @@ -129,6 +129,19 @@ u64 os_get_nsec(void) > #endif > } > > +const char *os_getenv(const char *name) > +{ > + /* We can't use getenv() as u-boot provides it own */ > + extern char **environ; > + size_t i, len = strlen(name); > + > + for (i = 0; environ[i]; ++i) > + if (!strncmp(name, environ[i], len) && environ[i][len] == '=') > + return &environ[i][len + 1]; > + > + return NULL; > +} > + > extern char **sb_argv; > const char *os_getopt(const char *name, int has_arg) > { > diff --git a/include/os.h b/include/os.h > index cb88509..095a2ce 100644 > --- a/include/os.h > +++ b/include/os.h > @@ -112,6 +112,7 @@ void os_usleep(unsigned long usec); > */ > u64 os_get_nsec(void); > > +const char *os_getenv(const char *name); > const char *os_getopt(const char *name, int has_arg); > > #endif > -- > 1.7.8.3 > Is this used by earlier patches (iwc it probably should go earlier) or is it new? I suppose we can use linker magic to make these sorts of functions available to os.c, but your way seems nicer. Regards, Simon
On Monday 23 January 2012 19:44:15 Simon Glass wrote: > Is this used by earlier patches (iwc it probably should go earlier) or > is it new? it is not (anymore). i meant to only send out the first five, but this doesn't hurt. i'll probably leave it in my local branch until someone needs it. > I suppose we can use linker magic to make these sorts of functions > available to os.c, but your way seems nicer. it probably would be possible, but i think very fragile too ... -mike
diff --git a/arch/sandbox/cpu/os.c b/arch/sandbox/cpu/os.c index 1d3e54f..4428f57 100644 --- a/arch/sandbox/cpu/os.c +++ b/arch/sandbox/cpu/os.c @@ -129,6 +129,19 @@ u64 os_get_nsec(void) #endif } +const char *os_getenv(const char *name) +{ + /* We can't use getenv() as u-boot provides it own */ + extern char **environ; + size_t i, len = strlen(name); + + for (i = 0; environ[i]; ++i) + if (!strncmp(name, environ[i], len) && environ[i][len] == '=') + return &environ[i][len + 1]; + + return NULL; +} + extern char **sb_argv; const char *os_getopt(const char *name, int has_arg) { diff --git a/include/os.h b/include/os.h index cb88509..095a2ce 100644 --- a/include/os.h +++ b/include/os.h @@ -112,6 +112,7 @@ void os_usleep(unsigned long usec); */ u64 os_get_nsec(void); +const char *os_getenv(const char *name); const char *os_getopt(const char *name, int has_arg); #endif
Signed-off-by: Mike Frysinger <vapier@gentoo.org> --- arch/sandbox/cpu/os.c | 13 +++++++++++++ include/os.h | 1 + 2 files changed, 14 insertions(+), 0 deletions(-)