From: Sergey Matveev Date: Wed, 26 Jan 2022 09:28:08 +0000 (+0300) Subject: OpenBSD compatible IsEnoughSpace() X-Git-Tag: v8.5.0^2 X-Git-Url: http://www.git.cypherpunks.ru/?p=nncp.git;a=commitdiff_plain;h=2e2d476284bceb02fac3440f18ca08f68fe0852f OpenBSD compatible IsEnoughSpace() --- diff --git a/doc/news.ru.texi b/doc/news.ru.texi index 18a271f..161708e 100644 --- a/doc/news.ru.texi +++ b/doc/news.ru.texi @@ -17,6 +17,9 @@ синхронизации через @env{$NNCPDEADLINE} переменную окружения. Может быть полезно для каналов с очень большими задержками. +@item +NNCP собирается на OpenBSD. + @end itemize @node Релиз 8.4.0 diff --git a/doc/news.texi b/doc/news.texi index b52f514..09b21bc 100644 --- a/doc/news.texi +++ b/doc/news.texi @@ -19,6 +19,9 @@ Ability to override internal default timeout for online protocol through @env{$NNCPDEADLINE} environment variable. Can be useful for very high delay links. +@item +NNCP builds on OpenBSD. + @end itemize @node Release 8_4_0 diff --git a/src/df.go b/src/df.go index 43d14a9..ead8fe3 100644 --- a/src/df.go +++ b/src/df.go @@ -1,8 +1,5 @@ -//go:build !netbsd -// +build !netbsd - -// NNCP -- Node to Node copy, utilities for store-and-forward data exchange -// Copyright (C) 2016-2022 Sergey Matveev +//go:build !netbsd && !openbsd +// +build !netbsd,!openbsd package nncp diff --git a/src/df_netbsd.go b/src/df_netbsd.go index 349c9c8..7037a71 100644 --- a/src/df_netbsd.go +++ b/src/df_netbsd.go @@ -1,9 +1,6 @@ //go:build netbsd // +build netbsd -// NNCP -- Node to Node copy, utilities for store-and-forward data exchange -// Copyright (C) 2016-2022 Sergey Matveev - package nncp import ( diff --git a/src/df_openbsd.go b/src/df_openbsd.go new file mode 100644 index 0000000..b57c431 --- /dev/null +++ b/src/df_openbsd.go @@ -0,0 +1,18 @@ +//go:build openbsd +// +build openbsd + +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.F_bavail)*int64(s.F_bsize) > want +}