| // Copyright 2021 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. | |
| // Package godebug parses the GODEBUG environment variable. | |
| package godebug | |
| import "os" | |
| // Get returns the value for the provided GODEBUG key. | |
| func Get(key string) string { | |
| return get(os.Getenv("GODEBUG"), key) | |
| } | |
| // get returns the value part of key=value in s (a GODEBUG value). | |
| func get(s, key string) string { | |
| for i := 0; i < len(s)-len(key)-1; i++ { | |
| if i > 0 && s[i-1] != ',' { | |
| continue | |
| } | |
| afterKey := s[i+len(key):] | |
| if afterKey[0] != '=' || s[i:i+len(key)] != key { | |
| continue | |
| } | |
| val := afterKey[1:] | |
| for i, b := range val { | |
| if b == ',' { | |
| return val[:i] | |
| } | |
| } | |
| return val | |
| } | |
| return "" | |
| } |