mirror of
https://github.com/strongdm/comply
synced 2024-09-04 12:44:36 +00:00
Releases after github.com/xanzy/go-gitlab@v0.31.0 introduce breaking changes to the NewClient call. Addresses #94
53 lines
905 B
Go
53 lines
905 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"time"
|
|
)
|
|
|
|
/* nvls returns the first value in xs that is not empty. */
|
|
func nvls(xs ...string) string {
|
|
for _, s := range xs {
|
|
if s != "" {
|
|
return s
|
|
}
|
|
}
|
|
|
|
return ""
|
|
}
|
|
|
|
func vprintln(a ...interface{}) (int, error) {
|
|
if VERBOSITY > 0 {
|
|
return fmt.Fprintln(os.Stderr, a...)
|
|
}
|
|
|
|
return 0, nil
|
|
}
|
|
|
|
func vprintf(format string, a ...interface{}) (int, error) {
|
|
if VERBOSITY > 0 {
|
|
return fmt.Fprintf(os.Stderr, format, a...)
|
|
}
|
|
|
|
return 0, nil
|
|
}
|
|
|
|
// formats time `t` as `fmt` if it is not nil, otherwise returns `def`
|
|
func timeFmtOr(t *time.Time, fmt, def string) string {
|
|
if t == nil {
|
|
return def
|
|
}
|
|
return t.Format(fmt)
|
|
}
|
|
|
|
// isCharDevice returns true if f is a character device (panics if f can't
|
|
// be stat'ed).
|
|
func isCharDevice(f *os.File) bool {
|
|
stat, err := f.Stat()
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
return (stat.Mode() & os.ModeCharDevice) != 0
|
|
}
|