ます’s Blog - どうでもいい記事100選

どうでもいい記事100選

指数関数的組合せ爆発の件

小迫さんから連絡を頂きました。ありがたい事に前向きに検討して下さっているようです。
が、個人的な要望なのに小迫さんに対応してもらうのもどうかなぁ。。。と思い立ったがタコさんの日という訳で。(何
(久々に)タコさんパッチの放流ぢゃ〜!差し支えないようでしたら取り込んで頂ければ幸いです。<(_ _)>
名称は適当につけたので、気に入らないようであれば変更して頂いて構いません。

diff -urN onig-4.4.0,orig/configure.in onig-4.4.0/configure.in
--- onig-4.4.0,orig/configure.in	2006-08-22 11:20:24.000000000 +0900
+++ onig-4.4.0/configure.in	2006-08-29 01:58:18.586746168 +0900
@@ -19,6 +19,11 @@
 	[ STATISTICS=-DREG_DEBUG_STATISTICS ])
 AC_SUBST(STATISTICS)
 
+dnl check for ONIG_CHECK_BACKTRACK
+AC_ARG_ENABLE(check_backtrack,
+	[  --enable-check-backtrack      enable backtrack check], 
+	AC_DEFINE(ONIG_CHECK_BACKTRACK,1,[Define to 1 if ceck backtrack.]))
+
 dnl Checks for programs.
 AC_PROG_CC
 AM_PROG_LIBTOOL
diff -urN onig-4.4.0,orig/regint.h onig-4.4.0/regint.h
--- onig-4.4.0,orig/regint.h	2006-08-23 10:25:03.000000000 +0900
+++ onig-4.4.0/regint.h	2006-08-29 01:58:18.378777784 +0900
@@ -86,8 +86,10 @@
 #define USE_VARIABLE_META_CHARS
 #define USE_WORD_BEGIN_END          /* "\<": word-begin, "\>": word-end */
 #define USE_POSIX_REGION_OPTION     /* needed for POSIX API support */
-/* #define USE_COMBINATION_EXPLOSION_CHECK */     /* (X*)* */
-/* #define USE_MULTI_THREAD_SYSTEM */
+#ifdef ONIG_CHECK_BACKTRACK
+#define USE_COMBINATION_EXPLOSION_CHECK     /* (X*)* */
+#define USE_MULTI_THREAD_SYSTEM
+#endif /* ONIG_CHECK_BACKTRACK */
 #define THREAD_ATOMIC_START         /* depend on thread system */
 #define THREAD_ATOMIC_END           /* depend on thread system */
 #define THREAD_PASS                 /* depend on thread system */

このパッチを適用したら「autoconf」コマンドと「autoheader」コマンドを実行する必要があります。(密かに)タコさんガッツを見せていたのは内緒。
っていうか〜、「configure.in」「config.h.in」「Makefile.in」「Makefile.am」「aclocal.m4」とか訳ワカメ。腐った某スクリプトを見てるみたい。GNUの陰謀?(w


以下、質問です。
最初は「ONIG_CHECK_BACKTRACK(USE_COMBINATION_EXPLOSION_CHECK)」や「ONIG_THREAD(USE_MULTI_THREAD_SYSTEM)」というようにconfigureのフラグを別にしていたのですが、生成されたバイナリのサイズ(やチェックサム)に変化が見られなかったので一つに統一しました。
これは統合しても問題は無いでしょうか。> 小迫さん。