Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
namazu2 package has updated to 2.0.7
- From: Takahiro Kambe <taca@xxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 24 Sep 2001 12:49:15 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 02057
遅ればせながら、NetBSDのnamazu2パッケージを2.0.7に更新しました。
以下のメーリングリストの記事から、2.0.7リリース後の修正を加えています。
http://www.namazu.org/ml/namazu-users-ja/msg02073.html pl/util.pl
http://www.namazu.org/ml/namazu-devel-ja/msg02024.html pl/htmlsplit.pl
http://www.namazu.org/ml/namazu-devel-ja/msg02030.html scripts/mknmz.in
また、コンパイル時のウォーニングを抑制するために、添付の修正も加えてみ
ました。移植性の面に対して万全とは思っていませんが、参考の意味で報告し
ます。これで、regex.cは配列のindexにcharを使用したウォーニング以外は出
ない様にできました。
patch-af: lib/getopt.c
o strcmp(3)だったかを使っているために、VMSに限らず<string.h>があれば
インクルードする様にしました。
o ネストしたifの曖昧さをなくすために、{}を追加しました。
patch-ag: nmz/regex.c
o memmove(3)のプロトタイプ宣言を得るために、<string.h>または
<strings.h>をNO_ALLOCAか定義されていない場合でもインクルードする様
にしました。
o 定義しているが、どこからも使用していないstaticな関数を取り敢えず
"#if 0 ... #endif"で囲みました。
o nmz_scan_oct()とnmz_scan_hex()のプロトタイプ宣言を得るために、
"util.h"をRUBYが定義されているかどうかにかかわらずインクルードする
様にしました。
o enum regexpcode の定義で、最後の列挙値の後のカンマを削除しました。
(ANSI C的には、ここにカンマを置けません。)
o nmz_re_set_syntax()に無条件に0を返す様にしました。値を持つ関数であ
る以上、何らかの値を変えすべきであるためですが、返す値が0が良いの
かどうかは各員していません。
o printf(3)の %c に対する引数は int なので、必要に応じたcastを追加し
ました。
o 未使用なgotoラベルを削除しました。
o 演算子 | の両辺を、必要に応じて()で囲みました。
o その他
patch-ah: nmz/util.c
patch-ai: nmz/util.h
o nmz_scan_oct()とnmz_scan_hex()の第1引数にconst修飾子を追加した。
--
神戸 隆博(かんべ たかひろ) at home
$NetBSD: patch-af,v 1.1 2001/09/24 03:56:02 taca Exp $
--- lib/getopt.c.orig Mon Oct 11 13:25:11 1999
+++ lib/getopt.c
@@ -71,10 +71,11 @@
#ifdef VMS
#include <unixlib.h>
+#endif
+
#if HAVE_STRING_H - 0
#include <string.h>
#endif
-#endif
#if defined (WIN32) && !defined (__CYGWIN32__)
/* It's not Unix, really. See? Capital letters. */
@@ -695,7 +696,7 @@
optarg = nameend + 1;
else
{
- if (opterr)
+ if (opterr) {
if (argv[optind - 1][1] == '-')
/* --option */
fprintf (stderr,
@@ -706,6 +707,7 @@
fprintf (stderr,
_("%s: option `%c%s' doesn't allow an argument\n"),
argv[0], argv[optind - 1][0], pfound->name);
+ }
nextchar += strlen (nextchar);
$NetBSD: patch-ag,v 1.1 2001/09/24 03:56:02 taca Exp $
--- nmz/regex.c.orig Sat Sep 1 18:40:52 2001
+++ nmz/regex.c
@@ -71,6 +71,12 @@
void free _((void*));
#endif
+#ifdef HAVE_STRING_H
+# include <string.h>
+#else
+# include <strings.h>
+#endif
+
/* #define NO_ALLOCA */ /* try it out for now */
#ifndef NO_ALLOCA
/* Make alloca work the best possible way. */
@@ -99,12 +105,6 @@
# endif
#endif /* __GNUC__ */
-#ifdef HAVE_STRING_H
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-
#define RE_ALLOCATE alloca
#ifdef C_ALLOCA
#define FREE_VARIABLES() alloca(0)
@@ -153,7 +153,9 @@
static void insert_jump _((int, char*, char*, char*));
static void store_jump_n _((char*, int, char*, unsigned));
static void insert_jump_n _((int, char*, char*, char*, unsigned));
+#if 0
static void insert_op _((int, char*, char*));
+#endif
static void insert_op_2 _((int, char*, char*, int, int));
static int memcmp_translate _((unsigned char*, unsigned char*, int));
@@ -175,9 +177,7 @@
#undef P
-#ifdef RUBY
#include "util.h"
-#endif
static void
init_syntax_once()
@@ -358,7 +358,7 @@
wordbeg, /* Succeeds if at word beginning. */
wordend, /* Succeeds if at word end. */
wordbound, /* Succeeds if at a word boundary. */
- notwordbound,/* Succeeds if not at a word boundary. */
+ notwordbound /* Succeeds if not at a word boundary. */
};
@@ -409,6 +409,7 @@
long syntax;
{
/* obsolete */
+ return 0;
}
@@ -442,7 +443,7 @@
int n = mbclen(c) - 1; \
c &= (1<<(BYTEWIDTH-2-n)) - 1; \
while (n--) { \
- c = c << 6 | *p++ & ((1<<6)-1); \
+ c = (c << 6) | (*p++ & ((1<<6)-1)); \
} \
} \
else { \
@@ -483,23 +484,28 @@
{
if (current_mbctype == MBCTYPE_UTF8) {
if (c < 0x80)
- printf("%c", c);
+ printf("%c", (int)c);
else if (c <= 0x7ff)
- printf("%c%c", utf8_firstbyte(c), c&0x3f);
+ printf("%c%c", (int)utf8_firstbyte(c), (int)(c & 0x3f));
else if (c <= 0xffff)
- printf("%c%c%c", utf8_firstbyte(c), (c>>6)&0x3f, c&0x3f);
+ printf("%c%c%c", (int)utf8_firstbyte(c), (int)((c >> 6) & 0x3f),
+ (int)(c & 0x3f));
else if (c <= 0x1fffff)
- printf("%c%c%c%c", utf8_firstbyte(c), (c>>12)&0x3f, (c>>6)&0x3f, c&0x3f);
+ printf("%c%c%c%c", (int)utf8_firstbyte(c), (int)((c >> 12) & 0x3f),
+ (int)((c >> 6) & 0x3f), (int)(c & 0x3f));
else if (c <= 0x3ffffff)
- printf("%c%c%c%c%c", utf8_firstbyte(c), (c>>18)&0x3f, (c>>12)&0x3f, (c>>6)&0x3f, c&0x3f);
+ printf("%c%c%c%c%c", (int)utf8_firstbyte(c), (int)((c >> 18) & 0x3f),
+ (int)((c >> 12) & 0x3f), (int)((c >> 6) & 0x3f), (int)(c & 0x3f));
else if (c <= 0x7fffffff)
- printf("%c%c%c%c%c%c", utf8_firstbyte(c), (c>>24)&0x3f, (c>>18)&0x3f, (c>>12)&0x3f, (c>>6)&0x3f, c&0x3f);
+ printf("%c%c%c%c%c%c", (int)utf8_firstbyte(c), (int)((c >> 24) & 0x3f),
+ (int)((c >> 18) & 0x3f), (int)((c >> 12) & 0x3f),
+ (int)((c >> 6) & 0x3f), (int)(c & 0x3f));
}
else if (c < 0xff) {
- printf("\\%o", c);
+ printf("\\%o", (int)c);
}
else {
- printf("%c%c", c>>BYTEWIDTH, c&0xff);
+ printf("%c%c", (int)(c >> BYTEWIDTH), (int)(c &0xff));
}
}
@@ -700,6 +706,7 @@
return 0;
}
+#if 0
static void
print_partial_compiled_pattern(start, end)
unsigned char *start;
@@ -949,6 +956,7 @@
print_partial_compiled_pattern (buffer, buffer + bufp->used);
}
+#endif
static char*
calculate_must_string(start, end)
@@ -1118,7 +1126,7 @@
register const char *p = pattern;
const char *nextp;
const char *pend = pattern + size;
- register unsigned int c, c1;
+ register unsigned int c, c1 = 0;
const char *p0;
int numlen;
@@ -1412,8 +1420,8 @@
case 'W':
for (c = 0; c < (1 << BYTEWIDTH); c++) {
if (SYNTAX(c) != Sword &&
- (current_mbctype && !re_mbctab[c] ||
- !current_mbctype && SYNTAX(c) != Sword2))
+ ((current_mbctype && !re_mbctab[c]) ||
+ (!current_mbctype && SYNTAX(c) != Sword2)))
SET_LIST_BIT(c);
}
last = -1;
@@ -2241,6 +2249,8 @@
case dummy_failure_jump:
bufp->options |= RE_OPTIMIZE_ANCHOR;
break;
+ default:
+ break;
}
}
else if (*laststart == charset || *laststart == charset_not) {
@@ -2409,6 +2419,7 @@
}
+#if 0
/* Open up space at location THERE, and insert operation OP.
CURRENT_END gives the end of the storage in use, so
we know how much data to copy up.
@@ -2428,7 +2439,7 @@
there[0] = (char)op;
}
-
+#endif
/* Open up space at location THERE, and insert operation OP followed by
NUM_1 and NUM_2. CURRENT_END gives the end of the storage in use, so
@@ -4095,7 +4106,6 @@
p1 = p;
/* If failed to a backwards jump that's part of a repetition
loop, need to pop this failure point and use the next one. */
- pop_loop:
switch ((enum regexpcode)*p1) {
case jump_n:
case finalize_push_n:
$NetBSD: patch-ah,v 1.1 2001/09/24 03:56:02 taca Exp $
--- nmz/util.c.orig Sun Sep 2 16:13:37 2001
+++ nmz/util.c
@@ -102,9 +102,9 @@
*/
unsigned long
-nmz_scan_oct(char *start, int len, int *retlen)
+nmz_scan_oct(const char *start, int len, int *retlen)
{
- register char *s = start;
+ register const char *s = start;
register unsigned long retval = 0;
while (len-- && *s >= '0' && *s <= '7') {
@@ -117,10 +117,10 @@
}
unsigned long
-nmz_scan_hex(char *start, int len, int *retlen)
+nmz_scan_hex(const char *start, int len, int *retlen)
{
static char hexdigit[] = "0123456789abcdef0123456789ABCDEFx";
- register char *s = start;
+ register const char *s = start;
register unsigned long retval = 0;
char *tmp;
$NetBSD: patch-ai,v 1.1 2001/09/24 03:56:02 taca Exp $
--- nmz/util.h.orig Mon Jul 9 16:30:37 2001
+++ nmz/util.h
@@ -14,8 +14,8 @@
#define nmz_iseuc_kana1st(c) ((uchar)(c) == 0x8e)
#define nmz_iseuc_hojo1st(c) ((uchar)(c) == 0x8f)
-extern unsigned long nmz_scan_oct ( char *start, int len, int *retlen );
-extern unsigned long nmz_scan_hex ( char *start, int len, int *retlen );
+extern unsigned long nmz_scan_oct (const char *start, int len, int *retlen );
+extern unsigned long nmz_scan_hex (const char *start, int len, int *retlen );
extern void * nmz_xmalloc ( unsigned long size );
extern void * nmz_xrealloc ( void *ptr, unsigned long size );
extern void nmz_tr ( char *str, const char *lstr, const char *rstr );