aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula
diff options
context:
space:
mode:
authorJon Wilkes2010-12-01 19:58:54 -0800
committerMike McQuaid2010-12-02 12:34:38 +0000
commit9f7c7c05589d303bb720a04a89a1c76a7ed45c44 (patch)
treefb6ef91a233f0ef2e5a04cadb8c5907f6155267f /Library/Formula
parent85e3db61a47039689f7f358ce05979bfdd2e3781 (diff)
downloadhomebrew-9f7c7c05589d303bb720a04a89a1c76a7ed45c44.tar.bz2
Fix logrotate's path-type options such as olddir.
From http://lists.freebsd.org/pipermail/freebsd-ports-bugs/2008-August/147600.html: "logrotate's path-type options (eg. compress, olddir, just to name a few) fail because FreeBSD's libc implements mbtrowc(3) differently, and returns -2 on empty string. Linux version, however, returns 0. A simple zero-length check added to path check function, which hides this." Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library/Formula')
-rw-r--r--Library/Formula/logrotate.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/Library/Formula/logrotate.rb b/Library/Formula/logrotate.rb
index d390bbf31..c44ad58d4 100644
--- a/Library/Formula/logrotate.rb
+++ b/Library/Formula/logrotate.rb
@@ -130,3 +130,17 @@ index f110ab5..49e55f4 100644
.PHONY : test
test: $(TARGET)
+diff --git a/config.c b/config.c
+index 4e650f1..9e9dc1c 100644
+--- a/config.c
++++ b/config.c
+@@ -93,7 +93,7 @@ static char *readPath(const char *configFile, int lineNum, char *key,
+
+ chptr = start;
+
+- while( (len = mbrtowc(&pwc, chptr, strlen(chptr), NULL)) != 0 ) {
++ while( (len = strlen(chptr)) != 0 && (len = mbrtowc(&pwc, chptr, len, NULL)) != 0 ) {
+ if( len == (size_t)(-1) || len == (size_t)(-2) || !iswprint(pwc) || iswblank(pwc) ) {
+ message(MESS_ERROR, "%s:%d bad %s path %s\n",
+ configFile, lineNum, key, start);
+/usr/local/src/logrotate-3.7.8