View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001288 | SOGo | SOPE | public | 2011-05-05 22:35 | 2011-05-09 20:54 |
| Reporter | buzzdee | Assigned To | ludovic | ||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Product Version | 1.3.7 | ||||
| Fixed in Version | 1.3.8 | ||||
| Summary | 0001288: OpenBSD does have strndup(3) | ||||
| Description | NGMimeRFC822DateHeaderFieldParser.m has an own strndup() function, which gets used, in case its not compiled with -DHAVE_STRNDUP. Unfortunately, the GNUmakefile.preamble is deciding wrong with regard to OpenBSD. | ||||
| Additional Information | Attached patch makes it compile with the strndup from the system. | ||||
| Tags | No tags attached. | ||||
|
2011-05-05 22:35
|
patch-sope-mime_NGMime_GNUmakefile_preamble (422 bytes)
$OpenBSD$
OpenBSD has strndup(3)
--- sope-mime/NGMime/GNUmakefile.preamble.orig Thu May 5 19:10:39 2011
+++ sope-mime/NGMime/GNUmakefile.preamble Thu May 5 19:10:49 2011
@@ -10,7 +10,7 @@ ADDITIONAL_CPPFLAGS += \
-DHAVE_STRNDUP
endif
-ifneq ($(findstring openbsd, $(GNUSTEP_TARGET_OS)), openbsd)
+ifeq ($(findstring openbsd, $(GNUSTEP_TARGET_OS)), openbsd)
ADDITIONAL_CPPFLAGS += -DHAVE_STRNDUP
endif
|
|
After I sent the patch to review for inclusion in the openbsd ports tree, I was pointed that my patch is nonsense. ifneq ($(findstring openbsd, $(GNUSTEP_TARGET_OS)), openbsd) So, as distributed: If we're using glibc, add -DHAVE_STRNDUP. -> all OS except OpenBSD have -DHAVE_STRNDUP set. So this whole Since all OS besides OpenBSD has strndup, I completely removed this cruft from the GNUmakefile.preamble, and also removed the hand rolled strndup in the NGMimeRFC822DateHeaderFieldParser.m. see attached patch. |
|
|
2011-05-09 16:01
|
do-not-use-hand-rolled-strndup-at-all.txt (1,384 bytes)
$OpenBSD$
OpenBSD has strndup(3)
--- sope-mime/NGMime/GNUmakefile.preamble.orig Tue Nov 2 15:12:14 2010
+++ sope-mime/NGMime/GNUmakefile.preamble Mon May 9 13:04:27 2011
@@ -5,15 +5,6 @@ ADDITIONAL_CPPFLAGS += \
-DLIBRARY_MINOR_VERSION=${MINOR_VERSION} \
-DLIBRARY_SUBMINOR_VERSION=${SUBMINOR_VERSION} \
-ifeq ($(patsubstr GNU/%,glibc,$(shell uname -o)),glibc)
-ADDITIONAL_CPPFLAGS += \
- -DHAVE_STRNDUP
-endif
-
-ifneq ($(findstring openbsd, $(GNUSTEP_TARGET_OS)), openbsd)
- ADDITIONAL_CPPFLAGS += -DHAVE_STRNDUP
-endif
-
NGMime_INCLUDE_DIRS += \
-I.. -I../.. \
-I../../sope-core/NGStreams/ \
$OpenBSD$
fix kind of random crasher in the webmail interface see bug #1022
--- sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m.orig Sat Dec 18 12:43:50 2010
+++ sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m Mon May 9 13:04:55 2011
@@ -19,10 +19,6 @@
02111-1307, USA.
*/
-#ifdef HAVE_STRNDUP
-#define _GNU_SOURCE 1
-#endif
-
#include <string.h>
#include "NGMimeHeaderFieldParser.h"
@@ -30,18 +26,6 @@
#include "NGMimeUtilities.h"
#include "common.h"
-#ifndef HAVE_STRNDUP
-char *strndup(const char *str, size_t len)
-{
- char *dup = (char *)malloc(len+1);
- if (dup) {
- strncpy(dup,str,len);
- dup[len]= '\0';
- }
- return dup;
-}
-#endif
-
@implementation NGMimeRFC822DateHeaderFieldParser
static NSTimeZone *gmt = nil;
|
|
http://mtn.inverse.ca/revision/info/66f477f73a8ce773bdb62cd6184905f4336f420e |
|
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2011-05-05 22:35 | buzzdee | New Issue | |
| 2011-05-05 22:35 | buzzdee | File Added: patch-sope-mime_NGMime_GNUmakefile_preamble | |
| 2011-05-09 16:00 | buzzdee | Note Added: 0002450 | |
| 2011-05-09 16:01 | buzzdee | File Added: do-not-use-hand-rolled-strndup-at-all.txt | |
| 2011-05-09 20:54 | ludovic | Note Added: 0002452 | |
| 2011-05-09 20:54 | ludovic | Status | new => resolved |
| 2011-05-09 20:54 | ludovic | Fixed in Version | => 1.3.8 |
| 2011-05-09 20:54 | ludovic | Resolution | open => fixed |
| 2011-05-09 20:54 | ludovic | Assigned To | => ludovic |