openbsd-ports/comms/jpilot/patches/patch-utils_c
pvalchev 3cd9cb8661 o Fix dynamic loading - prefix an underscore in symbol names for our a.out
platforms in order for dlsym() to work, hence plugins can be loaded.
o Build Expense plugin.
o Build synctime plugin.
o Put in libtool patches.
2001-05-29 00:54:43 +00:00

70 lines
1.6 KiB
Plaintext

$OpenBSD: patch-utils_c,v 1.1.1.1 2001/05/29 00:54:46 pvalchev Exp $
--- utils.c.orig Mon Feb 5 14:34:06 2001
+++ utils.c Sun May 27 17:12:01 2001
@@ -39,6 +39,9 @@
#include "plugins.h"
#include "libplugin.h"
+#include "japanese.h"
+#include "cp1250.h"
+#include "russian.h"
#include <pi-source.h>
#include <pi-socket.h>
@@ -1972,7 +1975,7 @@ void multibyte_safe_strncpy(char *dst, c
char *p, *q;
int n = 0;
p = src; q = dst;
- while ((*p) && n < (max_len-1)) {
+ while ((*p) && n < (max_len-2)) {
if ((*p) & 0x80) {
*q++ = *p++;
n++;
@@ -1985,11 +1988,10 @@ void multibyte_safe_strncpy(char *dst, c
n++;
}
}
- if ((*p & 0x80 ) && (n < max_len)) {
- *q = *p;
- } else {
- *q = '\0';
- }
+ if (!(*p & 0x80 ) && (n < max_len-1))
+ *q++ = *p++;
+
+ *q = '\0';
} else {
strncpy(dst, src, max_len);
}
@@ -2013,7 +2015,7 @@ char *multibyte_safe_memccpy(char *dst,
int n = 0;
p = (char *)src; q = dst;
- while ((*p) && (n < (len -1))) {
+ while ((*p) && (n < (len -2))) {
if ((*p) & 0x80) {
*q++ = *p++;
n++;
@@ -2024,15 +2026,15 @@ char *multibyte_safe_memccpy(char *dst,
} else {
*q++ = *p++;
n++;
+ if (*(p-1) == (char)(c & 0xff)) return q;
}
- if (*(p-1) == (char)(c & 0xff)) return q;
- }
- if ((*p & 0x80) && (n < len)) {
- *q = *p;
- } else {
- *q = '\0';
}
+ if (!(*p & 0x80) && (n < len-1))
+ *q++ = *p++;
+
+ *q = '\0';
return NULL;
} else
return memccpy(dst, src, c, len);
}
+