diff options
author | Akira TAGOH <akira@tagoh.org> | 2015-11-12 15:10:40 +0900 |
---|---|---|
committer | Akira TAGOH <akira@tagoh.org> | 2015-11-12 15:11:23 +0900 |
commit | 85c65904d2056b6108cad9323e46e9a21979577d (patch) | |
tree | 7f1f369c9586e1f99da71716e298bdfc48aca7d0 | |
parent | 83b66d75fa58b40e0a5c6739ef31ebd7f74860cd (diff) |
Initialize databases just once.
-rw-r--r-- | liblangtag/lt-database.c | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/liblangtag/lt-database.c b/liblangtag/lt-database.c index c9776b1..6dfd992 100644 --- a/liblangtag/lt-database.c +++ b/liblangtag/lt-database.c @@ -83,17 +83,26 @@ lt_db_get_datadir(void) * lt_db_initialize: * * Initialize all of the language tags database instance. + * If the databases are already initialized, it won't do + * nothing. */ void lt_db_initialize(void) { - lt_db_get_lang(); - lt_db_get_extlang(); - lt_db_get_script(); - lt_db_get_region(); - lt_db_get_variant(); - lt_db_get_grandfathered(); - lt_db_get_redundant(); + if (!__db_lang) + lt_db_get_lang(); + if (!__db_extlang) + lt_db_get_extlang(); + if (!__db_script) + lt_db_get_script(); + if (!__db_region) + lt_db_get_region(); + if (!__db_variant) + lt_db_get_variant(); + if (!__db_grandfathered) + lt_db_get_grandfathered(); + if (!__db_redundant) + lt_db_get_redundant(); lt_ext_modules_load(); } |