comparison src/coding.c @ 89863:428fc37b2ae6

Add many prototypes for static functions.
author Kenichi Handa <handa@m17n.org>
date Thu, 11 Mar 2004 11:21:39 +0000
parents 7160ded23e55
children 9a279ff9d245
comparison
equal deleted inserted replaced
89862:2c945addc36a 89863:428fc37b2ae6
408 Lisp_Object Vtranslation_table_for_input; 408 Lisp_Object Vtranslation_table_for_input;
409 409
410 /* Two special coding systems. */ 410 /* Two special coding systems. */
411 Lisp_Object Vsjis_coding_system; 411 Lisp_Object Vsjis_coding_system;
412 Lisp_Object Vbig5_coding_system; 412 Lisp_Object Vbig5_coding_system;
413
414 static void record_conversion_result (struct coding_system *coding,
415 enum coding_result_code result);
416 static int detect_coding_utf_8 P_ ((struct coding_system *,
417 struct coding_detection_info *info));
418 static void decode_coding_utf_8 P_ ((struct coding_system *));
419 static int encode_coding_utf_8 P_ ((struct coding_system *));
420
421 static int detect_coding_utf_16 P_ ((struct coding_system *,
422 struct coding_detection_info *info));
423 static void decode_coding_utf_16 P_ ((struct coding_system *));
424 static int encode_coding_utf_16 P_ ((struct coding_system *));
425
426 static int detect_coding_iso_2022 P_ ((struct coding_system *,
427 struct coding_detection_info *info));
428 static void decode_coding_iso_2022 P_ ((struct coding_system *));
429 static int encode_coding_iso_2022 P_ ((struct coding_system *));
430
431 static int detect_coding_emacs_mule P_ ((struct coding_system *,
432 struct coding_detection_info *info));
433 static void decode_coding_emacs_mule P_ ((struct coding_system *));
434 static int encode_coding_emacs_mule P_ ((struct coding_system *));
435
436 static int detect_coding_sjis P_ ((struct coding_system *,
437 struct coding_detection_info *info));
438 static void decode_coding_sjis P_ ((struct coding_system *));
439 static int encode_coding_sjis P_ ((struct coding_system *));
440
441 static int detect_coding_big5 P_ ((struct coding_system *,
442 struct coding_detection_info *info));
443 static void decode_coding_big5 P_ ((struct coding_system *));
444 static int encode_coding_big5 P_ ((struct coding_system *));
445
446 static int detect_coding_ccl P_ ((struct coding_system *,
447 struct coding_detection_info *info));
448 static void decode_coding_ccl P_ ((struct coding_system *));
449 static int encode_coding_ccl P_ ((struct coding_system *));
450
451 static void decode_coding_raw_text P_ ((struct coding_system *));
452 static int encode_coding_raw_text P_ ((struct coding_system *));
453
454 413
455 /* ISO2022 section */ 414 /* ISO2022 section */
456 415
457 #define CODING_ISO_INITIAL(coding, reg) \ 416 #define CODING_ISO_INITIAL(coding, reg) \
458 (XINT (AREF (AREF (CODING_ID_ATTRS ((coding)->id), \ 417 (XINT (AREF (AREF (CODING_ID_ATTRS ((coding)->id), \
855 do { \ 814 do { \
856 EMIT_TWO_BYTES (c1, c2); \ 815 EMIT_TWO_BYTES (c1, c2); \
857 EMIT_TWO_BYTES (c3, c4); \ 816 EMIT_TWO_BYTES (c3, c4); \
858 } while (0) 817 } while (0)
859 818
819
820 /* Prototypes for static functions. */
821 static void record_conversion_result P_ ((struct coding_system *coding,
822 enum coding_result_code result));
823 static int detect_coding_utf_8 P_ ((struct coding_system *,
824 struct coding_detection_info *info));
825 static void decode_coding_utf_8 P_ ((struct coding_system *));
826 static int encode_coding_utf_8 P_ ((struct coding_system *));
827
828 static int detect_coding_utf_16 P_ ((struct coding_system *,
829 struct coding_detection_info *info));
830 static void decode_coding_utf_16 P_ ((struct coding_system *));
831 static int encode_coding_utf_16 P_ ((struct coding_system *));
832
833 static int detect_coding_iso_2022 P_ ((struct coding_system *,
834 struct coding_detection_info *info));
835 static void decode_coding_iso_2022 P_ ((struct coding_system *));
836 static int encode_coding_iso_2022 P_ ((struct coding_system *));
837
838 static int detect_coding_emacs_mule P_ ((struct coding_system *,
839 struct coding_detection_info *info));
840 static void decode_coding_emacs_mule P_ ((struct coding_system *));
841 static int encode_coding_emacs_mule P_ ((struct coding_system *));
842
843 static int detect_coding_sjis P_ ((struct coding_system *,
844 struct coding_detection_info *info));
845 static void decode_coding_sjis P_ ((struct coding_system *));
846 static int encode_coding_sjis P_ ((struct coding_system *));
847
848 static int detect_coding_big5 P_ ((struct coding_system *,
849 struct coding_detection_info *info));
850 static void decode_coding_big5 P_ ((struct coding_system *));
851 static int encode_coding_big5 P_ ((struct coding_system *));
852
853 static int detect_coding_ccl P_ ((struct coding_system *,
854 struct coding_detection_info *info));
855 static void decode_coding_ccl P_ ((struct coding_system *));
856 static int encode_coding_ccl P_ ((struct coding_system *));
857
858 static void decode_coding_raw_text P_ ((struct coding_system *));
859 static int encode_coding_raw_text P_ ((struct coding_system *));
860
861 static void coding_set_source P_ ((struct coding_system *));
862 static void coding_set_destination P_ ((struct coding_system *));
863 static void coding_alloc_by_realloc P_ ((struct coding_system *, EMACS_INT));
864 static void coding_alloc_by_making_gap P_ ((struct coding_system *,
865 EMACS_INT));
866 static unsigned char *alloc_destination P_ ((struct coding_system *,
867 EMACS_INT, unsigned char *));
868 static void setup_iso_safe_charsets P_ ((Lisp_Object));
869 static unsigned char *encode_designation_at_bol P_ ((struct coding_system *,
870 int *, int *,
871 unsigned char *));
872 static int detect_eol P_ ((const unsigned char *,
873 EMACS_INT, enum coding_category));
874 static Lisp_Object adjust_coding_eol_type P_ ((struct coding_system *, int));
875 static void decode_eol P_ ((struct coding_system *));
876 static Lisp_Object get_translation_table P_ ((Lisp_Object, int, int *));
877 static Lisp_Object get_translation P_ ((Lisp_Object, int *, int *,
878 int, int *, int *));
879 static int produce_chars P_ ((struct coding_system *, Lisp_Object, int));
880 static INLINE void produce_composition P_ ((struct coding_system *, int *,
881 EMACS_INT));
882 static INLINE void produce_charset P_ ((struct coding_system *, int *,
883 EMACS_INT));
884 static void produce_annotation P_ ((struct coding_system *, EMACS_INT));
885 static int decode_coding P_ ((struct coding_system *));
886 static INLINE int *handle_composition_annotation P_ ((EMACS_INT, EMACS_INT,
887 struct coding_system *,
888 int *, EMACS_INT *));
889 static INLINE int *handle_charset_annotation P_ ((EMACS_INT, EMACS_INT,
890 struct coding_system *,
891 int *, EMACS_INT *));
892 static void consume_chars P_ ((struct coding_system *, Lisp_Object, int));
893 static int encode_coding P_ ((struct coding_system *));
894 static Lisp_Object make_conversion_work_buffer P_ ((int));
895 static Lisp_Object code_conversion_restore P_ ((Lisp_Object));
896 static INLINE int char_encodable_p P_ ((int, Lisp_Object));
897 static Lisp_Object make_subsidiaries P_ ((Lisp_Object));
860 898
861 static void 899 static void
862 record_conversion_result (struct coding_system *coding, 900 record_conversion_result (struct coding_system *coding,
863 enum coding_result_code result) 901 enum coding_result_code result)
864 { 902 {
5207 5245
5208 #define MAX_EOL_CHECK_COUNT 3 5246 #define MAX_EOL_CHECK_COUNT 3
5209 5247
5210 static int 5248 static int
5211 detect_eol (source, src_bytes, category) 5249 detect_eol (source, src_bytes, category)
5212 unsigned char *source; 5250 const unsigned char *source;
5213 EMACS_INT src_bytes; 5251 EMACS_INT src_bytes;
5214 enum coding_category category; 5252 enum coding_category category;
5215 { 5253 {
5216 unsigned char *src = source, *src_end = src + src_bytes; 5254 const unsigned char *src = source, *src_end = src + src_bytes;
5217 unsigned char c; 5255 unsigned char c;
5218 int total = 0; 5256 int total = 0;
5219 int eol_seen = EOL_SEEN_NONE; 5257 int eol_seen = EOL_SEEN_NONE;
5220 5258
5221 if ((1 << category) & CATEGORY_MASK_UTF_16) 5259 if ((1 << category) & CATEGORY_MASK_UTF_16)
6083 { 6121 {
6084 int c = *src++; 6122 int c = *src++;
6085 6123
6086 coding->charbuf[coding->charbuf_used++] = (c & 0x80 ? - c : c); 6124 coding->charbuf[coding->charbuf_used++] = (c & 0x80 ? - c : c);
6087 } 6125 }
6088 produce_chars (coding); 6126 produce_chars (coding, Qnil, 1);
6089 } 6127 }
6090 else 6128 else
6091 { 6129 {
6092 /* Record unprocessed bytes in coding->carryover. We are 6130 /* Record unprocessed bytes in coding->carryover. We are
6093 sure that the number of data is less than the size of 6131 sure that the number of data is less than the size of
6428 6466
6429 6467
6430 /* Return a working buffer of code convesion. MULTIBYTE specifies the 6468 /* Return a working buffer of code convesion. MULTIBYTE specifies the
6431 multibyteness of returning buffer. */ 6469 multibyteness of returning buffer. */
6432 6470
6433 Lisp_Object 6471 static Lisp_Object
6434 make_conversion_work_buffer (multibyte) 6472 make_conversion_work_buffer (multibyte)
6473 int multibyte;
6435 { 6474 {
6436 Lisp_Object name, workbuf; 6475 Lisp_Object name, workbuf;
6437 struct buffer *current; 6476 struct buffer *current;
6438 6477
6439 if (reused_workbuf_in_use++) 6478 if (reused_workbuf_in_use++)