This commit is contained in:
2024-05-14 12:10:58 +02:00
parent a9bb79b01c
commit 59911aebb9
645 changed files with 263320 additions and 0 deletions

33
vendor/github.com/glycerine/zygomys/zygo/rawutils.go generated vendored Normal file
View File

@@ -0,0 +1,33 @@
package zygo
import (
"errors"
"fmt"
)
func MakeRaw(args []Sexp) (*SexpRaw, error) {
raw := make([]byte, 0)
for i := 0; i < len(args); i++ {
switch e := args[i].(type) {
case *SexpStr:
a := []byte(e.S)
raw = append(raw, a...)
default:
return &SexpRaw{},
fmt.Errorf("raw takes only string arguments. We see %T: '%v'", e, e)
}
}
return &SexpRaw{Val: raw}, nil
}
func RawToStringFunction(env *Zlisp, name string, args []Sexp) (Sexp, error) {
if len(args) != 1 {
return SexpNull, WrongNargs
}
switch t := args[0].(type) {
case *SexpRaw:
return &SexpStr{S: string(t.Val)}, nil
}
return SexpNull, errors.New("argument must be raw")
}