From: Bruno Haible Date: Sun, 28 Jul 2024 17:26:22 +0000 (+0200) Subject: Refactor. X-Git-Tag: v0.23~210 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=434004e0fb9f87121258b97143380113e780f050;p=thirdparty%2Fgettext.git Refactor. * gettext-tools/src/read-catalog-abstract.h (catalog_reader_seen_domain): Renamed from po_callback_domain. (catalog_reader_seen_message): Renamed from po_callback_message. (catalog_reader_seen_comment): Renamed from po_callback_comment. (catalog_reader_seen_comment_dot): Renamed from po_callback_comment_dot. (catalog_reader_seen_comment_filepos): Renamed from po_callback_comment_filepos. (catalog_reader_seen_comment_special): Renamed from po_callback_comment_special. (catalog_reader_seen_generic_comment): Renamed from po_callback_comment_dispatcher. * gettext-tools/src/read-catalog-abstract.c (catalog_reader_seen_domain): Renamed from po_callback_domain. (catalog_reader_seen_message): Renamed from po_callback_message. (catalog_reader_seen_comment): Renamed from po_callback_comment. (catalog_reader_seen_comment_dot): Renamed from po_callback_comment_dot. (catalog_reader_seen_comment_filepos): Renamed from po_callback_comment_filepos. (catalog_reader_seen_comment_special): Renamed from po_callback_comment_special. (parse_comment_filepos, parse_comment_solaris_filepos): Update. (catalog_reader_seen_generic_comment): Renamed from po_callback_comment_dispatcher. Update. * gettext-tools/src/po-gram-gen.y: Update. * gettext-tools/src/read-properties.c (properties_parse): Update. * gettext-tools/src/read-stringtable.c (special_comment_finish, comment_line_end, stringtable_parse): Update. --- diff --git a/gettext-tools/src/po-gram-gen.y b/gettext-tools/src/po-gram-gen.y index 3ed68859c..9d25960fe 100644 --- a/gettext-tools/src/po-gram-gen.y +++ b/gettext-tools/src/po-gram-gen.y @@ -56,12 +56,12 @@ do_callback_message (struct po_parser_state *ps, if (msgctxt == NULL && msgid[0] == '\0' && !obsolete) po_lex_charset_set (msgstr, gram_pos.file_name, ps->gram_pot_role); - po_callback_message (ps->catr, - msgctxt, - msgid, msgid_pos, msgid_plural, - msgstr, msgstr_len, msgstr_pos, - prev_msgctxt, prev_msgid, prev_msgid_plural, - false, obsolete); + catalog_reader_seen_message (ps->catr, + msgctxt, + msgid, msgid_pos, msgid_plural, + msgstr, msgstr_len, msgstr_pos, + prev_msgctxt, prev_msgid, prev_msgid_plural, + false, obsolete); } #define free_message_intro(value) \ @@ -140,7 +140,7 @@ po_file comment : COMMENT { - po_callback_comment_dispatcher (ps->catr, $1.string); + catalog_reader_seen_generic_comment (ps->catr, $1.string); } ; @@ -148,7 +148,7 @@ comment domain : DOMAIN STRING { - po_callback_domain (ps->catr, $2.string); + catalog_reader_seen_domain (ps->catr, $2.string); } ; diff --git a/gettext-tools/src/read-catalog-abstract.c b/gettext-tools/src/read-catalog-abstract.c index 10b39a85f..ebd796275 100644 --- a/gettext-tools/src/read-catalog-abstract.c +++ b/gettext-tools/src/read-catalog-abstract.c @@ -168,30 +168,26 @@ catalog_reader_parse (abstract_catalog_reader_ty *catr, FILE *fp, /* ========================================================================= */ -/* Callbacks used by po-gram.y or po-lex.c, indirectly from - catalog_reader_parse. */ +/* Callbacks used by po-gram-gen.y, read-properties.c, read-stringtable.c, + indirectly from catalog_reader_parse. */ -/* This function is called by po_gram_lex() whenever a domain directive - has been seen. */ void -po_callback_domain (abstract_catalog_reader_ty *catr, char *name) +catalog_reader_seen_domain (abstract_catalog_reader_ty *catr, char *name) { call_directive_domain (catr, name); } -/* This function is called by po_gram_lex() whenever a message has been - seen. */ void -po_callback_message (abstract_catalog_reader_ty *catr, - char *msgctxt, - char *msgid, lex_pos_ty *msgid_pos, char *msgid_plural, - char *msgstr, size_t msgstr_len, lex_pos_ty *msgstr_pos, - char *prev_msgctxt, - char *prev_msgid, - char *prev_msgid_plural, - bool force_fuzzy, bool obsolete) +catalog_reader_seen_message (abstract_catalog_reader_ty *catr, + char *msgctxt, + char *msgid, lex_pos_ty *msgid_pos, char *msgid_plural, + char *msgstr, size_t msgstr_len, lex_pos_ty *msgstr_pos, + char *prev_msgctxt, + char *prev_msgid, + char *prev_msgid_plural, + bool force_fuzzy, bool obsolete) { call_directive_message (catr, msgctxt, msgid, msgid_pos, msgid_plural, @@ -202,31 +198,31 @@ po_callback_message (abstract_catalog_reader_ty *catr, void -po_callback_comment (abstract_catalog_reader_ty *catr, const char *s) +catalog_reader_seen_comment (abstract_catalog_reader_ty *catr, const char *s) { call_comment (catr, s); } void -po_callback_comment_dot (abstract_catalog_reader_ty *catr, const char *s) +catalog_reader_seen_comment_dot (abstract_catalog_reader_ty *catr, + const char *s) { call_comment_dot (catr, s); } -/* This function is called by parse_comment_filepos(), once for each - file name. */ void -po_callback_comment_filepos (abstract_catalog_reader_ty *catr, - const char *file_name, size_t line_number) +catalog_reader_seen_comment_filepos (abstract_catalog_reader_ty *catr, + const char *file_name, size_t line_number) { call_comment_filepos (catr, file_name, line_number); } void -po_callback_comment_special (abstract_catalog_reader_ty *catr, const char *s) +catalog_reader_seen_comment_special (abstract_catalog_reader_ty *catr, + const char *s) { call_comment_special (catr, s); } @@ -243,7 +239,7 @@ po_callback_comment_special (abstract_catalog_reader_ty *catr, const char *s) FILENAME or U+2068 FILENAME U+2069. - Call po_callback_comment_filepos for each of them. */ + Call catalog_reader_seen_comment_filepos for each of them. */ static void parse_comment_filepos (abstract_catalog_reader_ty *catr, const char *s) { @@ -325,7 +321,7 @@ parse_comment_filepos (abstract_catalog_reader_ty *catr, const char *s) memcpy (filename, filename_start, filename_length); filename[filename_length] = '\0'; - po_callback_comment_filepos (catr, filename, n); + catalog_reader_seen_comment_filepos (catr, filename, n); free (filename); @@ -367,7 +363,7 @@ parse_comment_filepos (abstract_catalog_reader_ty *catr, const char *s) memcpy (filename, filename_start, filename_length); filename[filename_length] = '\0'; - po_callback_comment_filepos (catr, filename, n); + catalog_reader_seen_comment_filepos (catr, filename, n); free (filename); @@ -421,7 +417,7 @@ parse_comment_filepos (abstract_catalog_reader_ty *catr, const char *s) memcpy (filename, filename_start, filename_length); filename[filename_length] = '\0'; - po_callback_comment_filepos (catr, filename, n); + catalog_reader_seen_comment_filepos (catr, filename, n); free (filename); @@ -439,7 +435,7 @@ parse_comment_filepos (abstract_catalog_reader_ty *catr, const char *s) memcpy (filename, filename_start, filename_length); filename[filename_length] = '\0'; - po_callback_comment_filepos (catr, filename, (size_t)(-1)); + catalog_reader_seen_comment_filepos (catr, filename, (size_t)(-1)); free (filename); } @@ -538,7 +534,7 @@ parse_comment_solaris_filepos (abstract_catalog_reader_ty *catr, const char *s) memcpy (string, string_start, string_length); string[string_length] = '\0'; - po_callback_comment_filepos (catr, string, n); + catalog_reader_seen_comment_filepos (catr, string, n); free (string); return true; @@ -554,13 +550,13 @@ parse_comment_solaris_filepos (abstract_catalog_reader_ty *catr, const char *s) } -/* This function is called by po_gram_lex() whenever a comment is - seen. It analyzes the comment to see what sort it is, and then - dispatches it to the appropriate method: call_comment, call_comment_dot, - call_comment_filepos (via parse_comment_filepos), or +/* This callback is called whenever a generic comment line has been seeen. + It parses s and invokes the appropriate method: call_comment, + call_comment_dot, call_comment_filepos (via parse_comment_filepos), or call_comment_special. */ void -po_callback_comment_dispatcher (abstract_catalog_reader_ty *catr, const char *s) +catalog_reader_seen_generic_comment (abstract_catalog_reader_ty *catr, + const char *s) { if (*s == '.') { @@ -569,7 +565,7 @@ po_callback_comment_dispatcher (abstract_catalog_reader_ty *catr, const char *s) consider it part of the comment, therefore remove it here. */ if (*s == ' ') s++; - po_callback_comment_dot (catr, s); + catalog_reader_seen_comment_dot (catr, s); } else if (*s == ':') { @@ -580,7 +576,7 @@ po_callback_comment_dispatcher (abstract_catalog_reader_ty *catr, const char *s) else if (*s == ',' || *s == '!') { /* Get all entries in the special comment line. */ - po_callback_comment_special (catr, s + 1); + catalog_reader_seen_comment_special (catr, s + 1); } else { @@ -595,7 +591,7 @@ po_callback_comment_dispatcher (abstract_catalog_reader_ty *catr, const char *s) consider it part of the comment, therefore remove it here. */ if (*s == ' ') s++; - po_callback_comment (catr, s); + catalog_reader_seen_comment (catr, s); } } } diff --git a/gettext-tools/src/read-catalog-abstract.h b/gettext-tools/src/read-catalog-abstract.h index ad3786105..b9147917c 100644 --- a/gettext-tools/src/read-catalog-abstract.h +++ b/gettext-tools/src/read-catalog-abstract.h @@ -169,28 +169,50 @@ extern void catalog_reader_free (abstract_catalog_reader_ty *catr); -/* Callbacks used by po-gram.y or po-lex.c, indirectly from - catalog_reader_parse. */ -extern void po_callback_domain (abstract_catalog_reader_ty *catr, char *name); -extern void po_callback_message (abstract_catalog_reader_ty *catr, - char *msgctxt, - char *msgid, lex_pos_ty *msgid_pos, - char *msgid_plural, - char *msgstr, size_t msgstr_len, - lex_pos_ty *msgstr_pos, - char *prev_msgctxt, - char *prev_msgid, char *prev_msgid_plural, - bool force_fuzzy, bool obsolete); -extern void po_callback_comment (abstract_catalog_reader_ty *catr, - const char *s); -extern void po_callback_comment_dot (abstract_catalog_reader_ty *catr, - const char *s); -extern void po_callback_comment_filepos (abstract_catalog_reader_ty *catr, - const char *file_name, - size_t line_number); -extern void po_callback_comment_special (abstract_catalog_reader_ty *catr, - const char *s); -extern void po_callback_comment_dispatcher (abstract_catalog_reader_ty *catr, +/* Callbacks used by po-gram-gen.y, read-properties.c, read-stringtable.c, + indirectly from catalog_reader_parse. */ +/* This callback is called whenever a domain directive has been seen. + It invokes the 'directive_domain' method. */ +extern void + catalog_reader_seen_domain (abstract_catalog_reader_ty *catr, + char *name); +/* This callback is called whenever a message has been seen. + It invokes the 'directive_message' method. */ +extern void + catalog_reader_seen_message (abstract_catalog_reader_ty *catr, + char *msgctxt, + char *msgid, lex_pos_ty *msgid_pos, + char *msgid_plural, + char *msgstr, size_t msgstr_len, + lex_pos_ty *msgstr_pos, + char *prev_msgctxt, + char *prev_msgid, char *prev_msgid_plural, + bool force_fuzzy, bool obsolete); +/* This callback is called whenever a plain comment (a.k.a. translator comment) + has been seen. It invokes the 'comment' method. */ +extern void + catalog_reader_seen_comment (abstract_catalog_reader_ty *catr, + const char *s); +/* This callback is called whenever a dot comment (a.k.a. extracted comment) + has been seen. It invokes the 'comment_dot' method. */ +extern void + catalog_reader_seen_comment_dot (abstract_catalog_reader_ty *catr, + const char *s); +/* This callback is called whenever a source file reference has been seen. + It invokes the 'comment_filepos' method. */ +extern void + catalog_reader_seen_comment_filepos (abstract_catalog_reader_ty *catr, + const char *file_name, + size_t line_number); +/* This callback is called whenever a special comment (#,) has been seen. + It invokes the 'comment_special' method. */ +extern void + catalog_reader_seen_comment_special (abstract_catalog_reader_ty *catr, + const char *s); +/* This callback is called whenever a generic comment line has been seeen. + It parses s and invokes the appropriate method. */ +extern void + catalog_reader_seen_generic_comment (abstract_catalog_reader_ty *catr, const char *s); diff --git a/gettext-tools/src/read-properties.c b/gettext-tools/src/read-properties.c index e0508f137..5793185ea 100644 --- a/gettext-tools/src/read-properties.c +++ b/gettext-tools/src/read-properties.c @@ -670,7 +670,7 @@ properties_parse (abstract_catalog_reader_ty *catr, FILE *file, } buffer[buflen] = '\0'; - po_callback_comment_dispatcher ( + catalog_reader_seen_generic_comment ( catr, conv_from_java ( assume_utf8 ? buffer : conv_from_iso_8859_1 (buffer))); @@ -701,11 +701,11 @@ properties_parse (abstract_catalog_reader_ty *catr, FILE *file, and if it is not already header/fuzzy/untranslated. */ force_fuzzy = (hidden && msgid[0] != '\0' && msgstr[0] != '\0'); - po_callback_message (catr, - NULL, msgid, &msgid_pos, NULL, - msgstr, strlen (msgstr) + 1, &msgstr_pos, - NULL, NULL, NULL, - force_fuzzy, false); + catalog_reader_seen_message (catr, + NULL, msgid, &msgid_pos, NULL, + msgstr, strlen (msgstr) + 1, &msgstr_pos, + NULL, NULL, NULL, + force_fuzzy, false); } } } diff --git a/gettext-tools/src/read-stringtable.c b/gettext-tools/src/read-stringtable.c index e9271fe25..8de5dd101 100644 --- a/gettext-tools/src/read-stringtable.c +++ b/gettext-tools/src/read-stringtable.c @@ -478,7 +478,7 @@ special_comment_finish (abstract_catalog_reader_ty *catr) { if (special_comment != NULL) { - po_callback_comment_special (catr, special_comment); + catalog_reader_seen_comment_special (catr, special_comment); free (special_comment); special_comment = NULL; } @@ -549,7 +549,7 @@ comment_line_end (abstract_catalog_reader_ty *catr, special_comment_add (line + 6); else if (strlen (line) >= 9 && memcmp (line, "Comment: ", 9) == 0) /* A comment extracted from the source. */ - po_callback_comment_dot (catr, line + 9); + catalog_reader_seen_comment_dot (catr, line + 9); else { char *last_colon; @@ -563,10 +563,10 @@ comment_line_end (abstract_catalog_reader_ty *catr, { /* A "File: :" type comment. */ *last_colon = '\0'; - po_callback_comment_filepos (catr, line + 6, number); + catalog_reader_seen_comment_filepos (catr, line + 6, number); } else - po_callback_comment (catr, line); + catalog_reader_seen_comment (catr, line); } } @@ -880,11 +880,11 @@ stringtable_parse (abstract_catalog_reader_ty *catr, FILE *file, necessarily designate an untranslated entry. */ msgstr = xstrdup (""); msgstr_pos = msgid_pos; - po_callback_message (catr, - NULL, msgid, &msgid_pos, NULL, - msgstr, strlen (msgstr) + 1, &msgstr_pos, - NULL, NULL, NULL, - false, next_is_obsolete); + catalog_reader_seen_message (catr, + NULL, msgid, &msgid_pos, NULL, + msgstr, strlen (msgstr) + 1, &msgstr_pos, + NULL, NULL, NULL, + false, next_is_obsolete); } else if (c == '=') { @@ -931,11 +931,11 @@ stringtable_parse (abstract_catalog_reader_ty *catr, FILE *file, msgstr = fuzzy_msgstr; /* A key/value pair. */ - po_callback_message (catr, - NULL, msgid, &msgid_pos, NULL, - msgstr, strlen (msgstr) + 1, &msgstr_pos, - NULL, NULL, NULL, - false, next_is_obsolete); + catalog_reader_seen_message (catr, + NULL, msgid, &msgid_pos, NULL, + msgstr, strlen (msgstr) + 1, &msgstr_pos, + NULL, NULL, NULL, + false, next_is_obsolete); } else {