Namazu-devel-ja(旧)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Release schedule
- From: Rei FURUKAWA <furukawa@xxxxxxxxxxxx>
- Date: Fri, 06 Jul 2001 22:31:22 +0900
- X-ml-name: namazu-devel-ja
- X-mail-count: 01569
- References: <200107060737.QAA19059@ns1.eal.or.jp>
古川です。
From: knok@xxxxxxxxxxxxx (NOKUBI Takatsugu)
Subject: [namazu-devel-ja] Release schedule
Date: Fri, 6 Jul 2001 16:37:13 JST
knok> emphasize に関しては、私としては強い主張もないので commit していただ
knok> けませんでしょうか? > 古川さん
遅くなってすみませんでした。こんな感じでやってみました。
------------------------- ここから --------------------------
Index: src/result.c
===================================================================
RCS file: /storage/cvsroot/namazu/src/result.c,v
retrieving revision 1.59.8.2
diff -u -r1.59.8.2 result.c
--- src/result.c 2001/07/03 12:26:21 1.59.8.2
+++ src/result.c 2001/07/06 13:15:08
@@ -25,6 +25,7 @@
*/
#include <string.h>
#include <stdlib.h>
+#include <ctype.h>
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
@@ -59,6 +60,7 @@
static void replace_field ( struct nmz_data d, int counter, const char *field, char *result );
static void encode_entity ( char *str );
static void emphasize ( char *str );
+static int is_wordboundary ( char *str );
static int is_urireplace ( void );
static int is_uridecode ( void );
@@ -218,14 +220,26 @@
do {
ptr = my_strcasestr(ptr, key);
if (ptr != NULL) {
- memmove(ptr + 2, ptr, strlen(ptr) + 1);
- memmove(ptr + 1, ptr + 2, keylen);
- *ptr = EM_START_MARK;
- *(ptr + keylen + 1) = EM_END_MARK;
- ptr += 2;
+ if ((ptr == str || is_wordboundary(ptr - 1))
+ && keylen && is_wordboundary(ptr + keylen - 1)){
+ memmove(ptr + 2, ptr, strlen(ptr) + 1);
+ memmove(ptr + 1, ptr + 2, keylen);
+ *ptr = EM_START_MARK;
+ *(ptr + keylen + 1) = EM_END_MARK;
+ ptr += 2;
+ }
+ ptr += keylen;
}
} while (ptr != NULL);
}
+}
+
+static int
+is_wordboundary(char *p)
+{
+ if (isalpha(*p) && isalpha(*(p + 1))) return 0;
+ if (isdigit(*p) && isdigit(*(p + 1))) return 0;
+ return 1;
}
static int
-------------------------- ここまで -------------------------
--
Rei FURUKAWA
furukawa@xxxxxxxxxxxx