summaryrefslogtreecommitdiff
path: root/src/coding.c
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>1999-07-26 11:56:56 +0000
committerKenichi Handa <handa@m17n.org>1999-07-26 11:56:56 +0000
commitef4ced281f7a41fe6fff6628bbe17dd0e168d054 (patch)
tree67c8bb946a8e2e1f127a04faa08fe615a674dd11 /src/coding.c
parent5232fa7b78a4a7bcce1c23b449d992ba7e34586e (diff)
downloademacs-ef4ced281f7a41fe6fff6628bbe17dd0e168d054.tar.gz
(setup_coding_system): Get compiled CCL code by just
calling setup_coding_system.
Diffstat (limited to 'src/coding.c')
-rw-r--r--src/coding.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/src/coding.c b/src/coding.c
index f5c53ba8899..6010b402529 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -3165,22 +3165,12 @@ setup_coding_system (coding_system, coding)
coding->common_flags
|= CODING_REQUIRE_DECODING_MASK | CODING_REQUIRE_ENCODING_MASK;
{
- Lisp_Object val;
- Lisp_Object decoder, encoder;
-
val = XVECTOR (coding_spec)->contents[4];
- if (CONSP (val)
- && SYMBOLP (XCONS (val)->car)
- && !NILP (decoder = Fget (XCONS (val)->car, Qccl_program_idx))
- && !NILP (decoder = Fcdr (Faref (Vccl_program_table, decoder)))
- && SYMBOLP (XCONS (val)->cdr)
- && !NILP (encoder = Fget (XCONS (val)->cdr, Qccl_program_idx))
- && !NILP (encoder = Fcdr (Faref (Vccl_program_table, encoder))))
- {
- setup_ccl_program (&(coding->spec.ccl.decoder), decoder);
- setup_ccl_program (&(coding->spec.ccl.encoder), encoder);
- }
- else
+ if (! CONSP (val)
+ || setup_ccl_program (&(coding->spec.ccl.decoder),
+ XCONS (val)->car) < 0
+ || setup_ccl_program (&(coding->spec.ccl.encoder),
+ XCONS (val)->cdr) < 0)
goto label_invalid_coding_system;
bzero (coding->spec.ccl.valid_codes, 256);