summaryrefslogtreecommitdiff
path: root/set.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-10-26 22:41:47 -0500
committerJeff Carr <[email protected]>2025-10-26 22:41:47 -0500
commit4d0828def125f96d376cc1bd018bd3d8b0997901 (patch)
treeb683bbe08350c6e5b78eba65be9a6496091c874b /set.go
parent59c9500872620a0e43752d7ebf352804aaf49925 (diff)
rearranging filenames
Diffstat (limited to 'set.go')
-rw-r--r--set.go42
1 files changed, 42 insertions, 0 deletions
diff --git a/set.go b/set.go
new file mode 100644
index 0000000..fd3e5a0
--- /dev/null
+++ b/set.go
@@ -0,0 +1,42 @@
+package env
+
+import "errors"
+
+func SetGlobal(global string, varname string, newValue string) error {
+ if envPB == nil {
+ return NotInitialized
+ }
+ saveMu.Lock()
+ defer saveMu.Unlock()
+ found := envPB.FindByVar(varname)
+ if found != nil {
+ return errors.New("already set")
+ }
+
+ newvar := new(Key)
+ newvar.Var = varname
+ newvar.Value = newValue
+ newvar.Global = global
+ envPB.Append(newvar)
+ return nil
+}
+
+func Set(varname string, newValue string) error {
+ saveMu.Lock()
+ defer saveMu.Unlock()
+ if envPB == nil {
+ return NotInitialized
+ }
+ found := envPB.FindByVar(varname)
+ if found != nil {
+ found.Value = newValue
+ saveENVnolock(envPB.Filename)
+ }
+
+ newvar := new(Key)
+ newvar.Var = varname
+ newvar.Value = newValue
+ envPB.Append(newvar)
+ saveENVnolock(envPB.Filename)
+ return nil
+}