* preliminary FreeBSD support
@ 2009-11-17 19:36 Alex Botero-Lowry
2009-11-17 20:19 ` Carl Worth
0 siblings, 1 reply; 2+ messages in thread
From: Alex Botero-Lowry @ 2009-11-17 19:36 UTC (permalink / raw)
To: notmuch
[-- Attachment #1.1: Type: text/plain, Size: 645 bytes --]
I saw the announcement this morning, and was very excited, as I had been
hoping sup would be turned into a library,
since I like the concept more than the UI (I'd rather an emacs interface).
I did a preliminary compile which worked out fine, but
sysconf(_SC_SC_GETPW_R_SIZE_MAX) returns -1 on
FreeBSD, so notmuch_config_open segfaulted.
Attached is a patch that supplies a default buffer size of 64 in cases where
-1 is returned.
http://www.opengroup.org/austin/docs/austin_328.txt - seems to indicate this
is acceptable behavior,
and http://mail-index.netbsd.org/pkgsrc-bugs/2006/06/07/msg016808.htmlspecifically
uses 64 as the
buffer size.
[-- Attachment #1.2: Type: text/html, Size: 844 bytes --]
[-- Attachment #2: 0001-Deal-with-situation-where-sysconf-_SC_GETPW_R_SIZE_M.patch --]
[-- Type: application/octet-stream, Size: 1051 bytes --]
From e3bc4bbd7b9d0d086816ab5f8f2d6ffea1dd3ea4 Mon Sep 17 00:00:00 2001
From: Alexander Botero-Lowry <alex.boterolowry@gmail.com>
Date: Tue, 17 Nov 2009 11:30:39 -0800
Subject: [PATCH] Deal with situation where sysconf(_SC_GETPW_R_SIZE_MAX) returns -1
---
notmuch-config.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/notmuch-config.c b/notmuch-config.c
index 248149c..e7220d8 100644
--- a/notmuch-config.c
+++ b/notmuch-config.c
@@ -77,6 +77,7 @@ static char *
get_name_from_passwd_file (void *ctx)
{
long pw_buf_size = sysconf(_SC_GETPW_R_SIZE_MAX);
+ if (pw_buf_size == -1) pw_buf_size = 64;
char *pw_buf = talloc_zero_size (ctx, pw_buf_size);
struct passwd passwd, *ignored;
char *name;
@@ -101,6 +102,7 @@ static char *
get_username_from_passwd_file (void *ctx)
{
long pw_buf_size = sysconf(_SC_GETPW_R_SIZE_MAX);
+ if (pw_buf_size == -1) pw_buf_size = 64;
char *pw_buf = talloc_zero_size (ctx, pw_buf_size);
struct passwd passwd, *ignored;
char *name;
--
1.6.5.2
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: preliminary FreeBSD support
2009-11-17 19:36 preliminary FreeBSD support Alex Botero-Lowry
@ 2009-11-17 20:19 ` Carl Worth
0 siblings, 0 replies; 2+ messages in thread
From: Carl Worth @ 2009-11-17 20:19 UTC (permalink / raw)
To: Alex Botero-Lowry, notmuch
On Tue, 17 Nov 2009 11:36:14 -0800, Alex Botero-Lowry <alex.boterolowry@gmail.com> wrote:
> I saw the announcement this morning, and was very excited, as I had been
> hoping sup would be turned into a library,
> since I like the concept more than the UI (I'd rather an emacs interface).
Hi Alex,
That's great! It's good to hear that there are like-minded people out
there. I hope that Notmuch will be useful for you.
> I did a preliminary compile which worked out fine, but
> sysconf(_SC_SC_GETPW_R_SIZE_MAX) returns -1 on
> FreeBSD, so notmuch_config_open segfaulted.
>
> Attached is a patch that supplies a default buffer size of 64 in cases where
> -1 is returned.
Thanks for the patch. As we discussed in IRC[*], we should probably
do the correct thing and check for ERANGE and loop as necessary (even if
sysconf returns a positive value). Example code here:
http://www.opengroup.org/austin/docs/austin_328.txt
-Carl
[*] #notmuch on irc.freenode.net for those who didn't just guess that
already, (and I'll add that to the website soon).
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2009-11-17 20:19 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-17 19:36 preliminary FreeBSD support Alex Botero-Lowry
2009-11-17 20:19 ` Carl Worth
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).