emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r117432: * coding.c (MAX_CHARBUF_SIZE): Renamed from


From: Kenichi Handa
Subject: [Emacs-diffs] trunk r117432: * coding.c (MAX_CHARBUF_SIZE): Renamed from CHARBUF_SIZE.
Date: Sat, 28 Jun 2014 13:43:26 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117432 [merge]
revision-id: address@hidden
parent: address@hidden
parent: address@hidden
committer: K. Handa <address@hidden>
branch nick: trunk
timestamp: Sat 2014-06-28 22:43:19 +0900
message:
  * coding.c (MAX_CHARBUF_SIZE): Renamed from CHARBUF_SIZE.
  (MIN_CHARBUF_SIZE): New macro.
  (ALLOC_CONVERSION_WORK_AREA): New arg SIZE.  Callers changed.
modified:
  src/ChangeLog                  changelog-20091113204419-o5vbwnq5f7feedwu-1438
  src/coding.c                   coding.c-20091113204419-o5vbwnq5f7feedwu-1077
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2014-06-27 00:41:23 +0000
+++ b/src/ChangeLog     2014-06-28 13:38:36 +0000
@@ -1,3 +1,9 @@
+2014-06-28  K. Handa  <address@hidden>
+
+       * coding.c (MAX_CHARBUF_SIZE): Renamed from CHARBUF_SIZE.
+       (MIN_CHARBUF_SIZE): New macro.
+       (ALLOC_CONVERSION_WORK_AREA): New arg SIZE.  Callers changed.
+
 2014-06-27  Glenn Morris  <address@hidden>
 
        * Makefile.in: Replace BOOTSTRAPEMACS sleight-of-hand

=== modified file 'src/coding.c'
--- a/src/coding.c      2014-06-25 12:11:08 +0000
+++ b/src/coding.c      2014-06-28 13:38:36 +0000
@@ -7265,13 +7265,16 @@
                      coding->dst_object);
 }
 
-
-#define CHARBUF_SIZE 0x4000
-
-#define ALLOC_CONVERSION_WORK_AREA(coding)                             \
-  do {                                                                 \
-    coding->charbuf = SAFE_ALLOCA (CHARBUF_SIZE * sizeof (int));       \
-    coding->charbuf_size = CHARBUF_SIZE;                               \
+#define MAX_CHARBUF_SIZE 0x4000
+#define MIN_CHARBUF_SIZE 0x10
+
+#define ALLOC_CONVERSION_WORK_AREA(coding, size)               \
+  do {                                                         \
+    int units = ((size) > MAX_CHARBUF_SIZE ? MAX_CHARBUF_SIZE  \
+                : (size) < MIN_CHARBUF_SIZE ? MIN_CHARBUF_SIZE \
+                : size);                                       \
+    coding->charbuf = SAFE_ALLOCA ((units) * sizeof (int));    \
+    coding->charbuf_size = (units);                            \
   } while (0)
 
 
@@ -7373,7 +7376,7 @@
   record_conversion_result (coding, CODING_RESULT_SUCCESS);
   coding->errors = 0;
 
-  ALLOC_CONVERSION_WORK_AREA (coding);
+  ALLOC_CONVERSION_WORK_AREA (coding, coding->src_bytes);
 
   attrs = CODING_ID_ATTRS (coding->id);
   translation_table = get_translation_table (attrs, 0, NULL);
@@ -7769,7 +7772,7 @@
   record_conversion_result (coding, CODING_RESULT_SUCCESS);
   coding->errors = 0;
 
-  ALLOC_CONVERSION_WORK_AREA (coding);
+  ALLOC_CONVERSION_WORK_AREA (coding, coding->src_chars);
 
   if (coding->encoder == encode_coding_ccl)
     {


reply via email to

[Prev in Thread] Current Thread [Next in Thread]