You've already forked openaccounting-server
forked from cybercinch/openaccounting-server
- Add GORM v1.25.12 with MySQL and SQLite drivers - Add Viper v1.19.0 for configuration management - Add UUID package for GORM model IDs - Update vendor directory with new dependencies - Update Go module requirements and checksums 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
57 lines
1.2 KiB
Go
57 lines
1.2 KiB
Go
package internal
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strings"
|
|
"time"
|
|
|
|
"golang.org/x/sys/unix"
|
|
)
|
|
|
|
func Debug(name string, mask, cookie uint32) {
|
|
names := []struct {
|
|
n string
|
|
m uint32
|
|
}{
|
|
{"IN_ACCESS", unix.IN_ACCESS},
|
|
{"IN_ATTRIB", unix.IN_ATTRIB},
|
|
{"IN_CLOSE", unix.IN_CLOSE},
|
|
{"IN_CLOSE_NOWRITE", unix.IN_CLOSE_NOWRITE},
|
|
{"IN_CLOSE_WRITE", unix.IN_CLOSE_WRITE},
|
|
{"IN_CREATE", unix.IN_CREATE},
|
|
{"IN_DELETE", unix.IN_DELETE},
|
|
{"IN_DELETE_SELF", unix.IN_DELETE_SELF},
|
|
{"IN_IGNORED", unix.IN_IGNORED},
|
|
{"IN_ISDIR", unix.IN_ISDIR},
|
|
{"IN_MODIFY", unix.IN_MODIFY},
|
|
{"IN_MOVE", unix.IN_MOVE},
|
|
{"IN_MOVED_FROM", unix.IN_MOVED_FROM},
|
|
{"IN_MOVED_TO", unix.IN_MOVED_TO},
|
|
{"IN_MOVE_SELF", unix.IN_MOVE_SELF},
|
|
{"IN_OPEN", unix.IN_OPEN},
|
|
{"IN_Q_OVERFLOW", unix.IN_Q_OVERFLOW},
|
|
{"IN_UNMOUNT", unix.IN_UNMOUNT},
|
|
}
|
|
|
|
var (
|
|
l []string
|
|
unknown = mask
|
|
)
|
|
for _, n := range names {
|
|
if mask&n.m == n.m {
|
|
l = append(l, n.n)
|
|
unknown ^= n.m
|
|
}
|
|
}
|
|
if unknown > 0 {
|
|
l = append(l, fmt.Sprintf("0x%x", unknown))
|
|
}
|
|
var c string
|
|
if cookie > 0 {
|
|
c = fmt.Sprintf("(cookie: %d) ", cookie)
|
|
}
|
|
fmt.Fprintf(os.Stderr, "FSNOTIFY_DEBUG: %s %-30s → %s%q\n",
|
|
time.Now().Format("15:04:05.000000000"), strings.Join(l, "|"), c, name)
|
|
}
|