Mercurial > hg > CbC > CbC_gcc
view libgo/runtime/env_posix.c @ 147:1ccf269e73e8
remove merge mark
author | anatofuz |
---|---|
date | Sun, 01 Mar 2020 16:36:00 +0900 |
parents | 1830386684a0 |
children |
line wrap: on
line source
// Copyright 2012 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. // +build darwin dragonfly freebsd hurd linux nacl netbsd openbsd solaris windows #include "runtime.h" #include "array.h" #include "arch.h" extern Slice runtime_get_envs(void); String runtime_getenv(const char *s) { int32 i, j; intgo len; const byte *v, *bs; Slice envs; String* envv; int32 envc; String ret; bs = (const byte*)s; len = runtime_findnull(bs); envs = runtime_get_envs(); envv = (String*)envs.__values; envc = envs.__count; for(i=0; i<envc; i++){ if(envv[i].len <= len) continue; v = (const byte*)envv[i].str; for(j=0; j<len; j++) if(bs[j] != v[j]) goto nomatch; if(v[len] != '=') goto nomatch; ret.str = v+len+1; ret.len = envv[i].len-len-1; return ret; nomatch:; } ret.str = nil; ret.len = 0; return ret; }