summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPedro J. Ruiz Lopez <holzplatten@es.gnu.org>2009-06-16 22:28:49 +0200
committerPedro J. Ruiz Lopez <holzplatten@es.gnu.org>2009-06-16 22:28:49 +0200
commitc64860607ccb05353729715bb4088494634b5303 (patch)
treee209202ade4ff5cf9193371156085faa7e0d39bf
parent4add9e3626e8b61993200874a0e7a2fd701e085a (diff)
downloadidutils-c64860607ccb05353729715bb4088494634b5303.tar.gz
idutils-c64860607ccb05353729715bb4088494634b5303.tar.bz2
idutils-c64860607ccb05353729715bb4088494634b5303.zip
Fixed bug #22154: --default-lang does nothing
* libidu/scanners.c: set_default_language function implemented.
-rw-r--r--libidu/scanners.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/libidu/scanners.c b/libidu/scanners.c
index 3cabfb3..ec16501 100644
--- a/libidu/scanners.c
+++ b/libidu/scanners.c
@@ -145,6 +145,22 @@ static int lang_args_index = 0;
void
set_default_language (char const *lang_name)
{
+ struct lang_args *new_args;
+ const struct language *lang;
+
+ obstack_init (&lang_args_obstack);
+
+ new_args = obstack_alloc (&lang_args_obstack, sizeof *new_args);
+
+ new_args->la_pattern = obstack_copy0 (&lang_args_obstack, lang_name, strlen(lang_name)+1);
+ new_args->la_args_string = 0;
+ new_args->la_next = 0;
+ lang = new_args->la_language = get_language (lang_name);
+ new_args->la_args_digested = (lang
+ ? lang->lg_parse_args (&new_args->la_args_string, 0)
+ : 0);
+ lang_args_default = new_args;
+ DEBUG ((", <default>\n"));
}
void