aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/chartab.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/chartab.c b/src/chartab.c
index 5bf6d6e3550..8e942beaae8 100644
--- a/src/chartab.c
+++ b/src/chartab.c
@@ -377,7 +377,7 @@ sub_char_table_set_range (table, depth, min_char, from, to, val)
377{ 377{
378 int max_char = min_char + chartab_chars[depth] - 1; 378 int max_char = min_char + chartab_chars[depth] - 1;
379 379
380 if (from <= min_char && to >= max_char) 380 if (depth == 3 || from <= min_char && to >= max_char)
381 *table = val; 381 *table = val;
382 else 382 else
383 { 383 {
@@ -390,12 +390,12 @@ sub_char_table_set_range (table, depth, min_char, from, to, val)
390 from = min_char; 390 from = min_char;
391 if (to > max_char) 391 if (to > max_char)
392 to = max_char; 392 to = max_char;
393 i = CHARTAB_IDX (from, depth, min_char);
393 j = CHARTAB_IDX (to, depth, min_char); 394 j = CHARTAB_IDX (to, depth, min_char);
394 for (i = CHARTAB_IDX (from, depth, min_char); i <= j; i++) 395 min_char += chartab_chars[depth] * i;
396 for (; i <= j; i++, min_char += chartab_chars[depth])
395 sub_char_table_set_range (XSUB_CHAR_TABLE (*table)->contents + i, 397 sub_char_table_set_range (XSUB_CHAR_TABLE (*table)->contents + i,
396 depth, 398 depth, min_char, from, to, val);
397 min_char + chartab_chars[depth] * i,
398 from, to, val);
399 } 399 }
400} 400}
401 401