[前][次][番号順一覧][スレッド一覧]

ruby-changes:7516

From: akr <ko1@a...>
Date: Mon, 1 Sep 2008 23:37:56 +0900 (JST)
Subject: [ruby-changes:7516] Ruby:r19037 (trunk): * transcode_data.h (BYTE_LOOKUP_BASE): abstract accessor for

akr	2008-09-01 23:33:56 +0900 (Mon, 01 Sep 2008)

  New Revision: 19037

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=19037

  Log:
    * transcode_data.h (BYTE_LOOKUP_BASE): abstract accessor for
      BYTE_LOOKUP.
      (BYTE_LOOKUP_INFO): ditto.
    
    * transcode.c (transcode_restartable0): use BYTE_LOOKUP_BASE and
      BYTE_LOOKUP_INFO.

  Modified files:
    trunk/ChangeLog
    trunk/transcode.c
    trunk/transcode_data.h

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 19036)
+++ ChangeLog	(revision 19037)
@@ -1,3 +1,12 @@
+Mon Sep  1 23:32:46 2008  Tanaka Akira  <akr@f...>
+
+	* transcode_data.h (BYTE_LOOKUP_BASE): abstract accessor for
+	  BYTE_LOOKUP.
+	  (BYTE_LOOKUP_INFO): ditto.
+
+	* transcode.c (transcode_restartable0): use BYTE_LOOKUP_BASE and
+	  BYTE_LOOKUP_INFO.
+
 Mon Sep  1 23:14:25 2008  Tanaka Akira  <akr@f...>
 
 	* tool/transcode-tblgen.rb: gather infos arrays and BYTE_LOOKUPs.
Index: transcode_data.h
===================================================================
--- transcode_data.h	(revision 19036)
+++ transcode_data.h	(revision 19037)
@@ -21,6 +21,9 @@
     const struct byte_lookup *const *info;
 } BYTE_LOOKUP;
 
+#define BYTE_LOOKUP_BASE(bl) ((bl)->base)
+#define BYTE_LOOKUP_INFO(bl) ((bl)->info)
+
 #ifndef PType
 /* data file needs to treat this as a pointer, to remove warnings */
 #define PType (const BYTE_LOOKUP *)
Index: transcode.c
===================================================================
--- transcode.c	(revision 19036)
+++ transcode.c	(revision 19037)
@@ -493,11 +493,11 @@
 
 	next_byte = (unsigned char)*in_p++;
       follow_byte:
-        if (next_byte < next_table->base[0] || next_table->base[1] < next_byte)
+        if (next_byte < BYTE_LOOKUP_BASE(next_table)[0] || BYTE_LOOKUP_BASE(next_table)[1] < next_byte)
             next_info = INVALID;
         else {
-            unsigned int next_offset = next_table->base[2+next_byte-next_table->base[0]];
-            next_info = (VALUE)next_table->info[next_offset];
+            unsigned int next_offset = BYTE_LOOKUP_BASE(next_table)[2+next_byte-BYTE_LOOKUP_BASE(next_table)[0]];
+            next_info = (VALUE)BYTE_LOOKUP_INFO(next_table)[next_offset];
         }
       follow_info:
 	switch (next_info & 0x1F) {

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]