From: Sergey Matveev Date: Thu, 5 Aug 2021 12:42:05 +0000 (+0300) Subject: NetBSD compatible IsEnoughSpace() X-Git-Tag: v7.5.1^2 X-Git-Url: http://www.git.cypherpunks.ru/?p=nncp.git;a=commitdiff_plain;h=d6b1633ffff79c7f83c737f53abf23c0e25a8379 NetBSD compatible IsEnoughSpace() --- diff --git a/doc/news.ru.texi b/doc/news.ru.texi index ca867b1..8218c80 100644 --- a/doc/news.ru.texi +++ b/doc/news.ru.texi @@ -1,6 +1,15 @@ @node Новости @section Новости +@node Релиз 7.5.1 +@subsection Релиз 7.5.1 +@itemize + +@item +NNCP собирается на NetBSD. + +@end itemize + @node Релиз 7.5.0 @subsection Релиз 7.5.0 @itemize diff --git a/doc/news.texi b/doc/news.texi index a17cdad..85c7acd 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -3,6 +3,15 @@ See also this page @ref{Новости, on russian}. +@node Release 7_5_1 +@section Release 7.5.1 +@itemize + +@item +NNCP builds on NetBSD. + +@end itemize + @node Release 7_5_0 @section Release 7.5.0 @itemize diff --git a/src/ctx.go b/src/ctx.go index 4d762d2..7e4d726 100644 --- a/src/ctx.go +++ b/src/ctx.go @@ -21,13 +21,10 @@ import ( "errors" "fmt" "io/ioutil" - "log" "os" "path/filepath" "syscall" - - "golang.org/x/sys/unix" ) type Ctx struct { @@ -149,14 +146,6 @@ func CtxFromCmdline( return ctx, nil } -func (ctx *Ctx) IsEnoughSpace(want int64) bool { - var s unix.Statfs_t - if err := unix.Statfs(ctx.Spool, &s); err != nil { - log.Fatalln("Can not stat spool:", err) - } - return int64(s.Bavail)*int64(s.Bsize) > want -} - func (ctx *Ctx) Umask() { if ctx.UmaskForce != nil { syscall.Umask(*ctx.UmaskForce) diff --git a/src/df.go b/src/df.go new file mode 100644 index 0000000..bfcac56 --- /dev/null +++ b/src/df.go @@ -0,0 +1,20 @@ +// +build !netbsd + +// NNCP -- Node to Node copy, utilities for store-and-forward data exchange +// Copyright (C) 2016-2021 Sergey Matveev + +package nncp + +import ( + "log" + + "golang.org/x/sys/unix" +) + +func (ctx *Ctx) IsEnoughSpace(want int64) bool { + var s unix.Statfs_t + if err := unix.Statfs(ctx.Spool, &s); err != nil { + log.Fatalln("Can not stat spool:", err) + } + return int64(s.Bavail)*int64(s.Bsize) > want +} diff --git a/src/df_netbsd.go b/src/df_netbsd.go new file mode 100644 index 0000000..b3fb82d --- /dev/null +++ b/src/df_netbsd.go @@ -0,0 +1,20 @@ +// +build netbsd + +// NNCP -- Node to Node copy, utilities for store-and-forward data exchange +// Copyright (C) 2016-2021 Sergey Matveev + +package nncp + +import ( + "log" + + "golang.org/x/sys/unix" +) + +func (ctx *Ctx) IsEnoughSpace(want int64) bool { + var s unix.Statvfs_t + if err := unix.Statvfs(ctx.Spool, &s); err != nil { + log.Fatalln("Can not stat spool:", err) + } + return int64(s.Bavail)*int64(s.Frsize) > want +} diff --git a/src/nncp.go b/src/nncp.go index 2ee727f..8e04f04 100644 --- a/src/nncp.go +++ b/src/nncp.go @@ -40,7 +40,7 @@ along with this program. If not, see .` const Base32Encoded32Len = 52 var ( - Version string = "7.5.0" + Version string = "7.5.1" Base32Codec *base32.Encoding = base32.StdEncoding.WithPadding(base32.NoPadding) )