From 5117852e756cecbd856c1f4879198bc42a89ddd5 Mon Sep 17 00:00:00 2001 From: David Herrmann Date: Wed, 26 Sep 2012 22:00:01 +0200 Subject: [PATCH] text: add helpers to (un)load all modules at once Instead of doing all this in main() we now use the two helpers. This makes the code much more readable and avoids too many stuff in main(). Signed-off-by: David Herrmann --- src/main.c | 27 ++++++--------------------- src/text.h | 30 ++++++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 21 deletions(-) diff --git a/src/main.c b/src/main.c index c73a376..6669509 100644 --- a/src/main.c +++ b/src/main.c @@ -725,13 +725,8 @@ int main(int argc, char **argv) if (ret) goto err_out; - kmscon_font_unifont_load(); - kmscon_font_8x16_load(); - kmscon_font_pango_load(); - kmscon_font_freetype2_load(); - kmscon_text_bbulk_load(); - kmscon_text_bblit_load(); - kmscon_text_gltex_load(); + kmscon_font_load_all(); + kmscon_text_load_all(); memset(&app, 0, sizeof(app)); ret = setup_app(&app); @@ -761,26 +756,16 @@ int main(int argc, char **argv) } destroy_app(&app); - kmscon_text_gltex_unload(); - kmscon_text_bblit_unload(); - kmscon_text_bbulk_unload(); - kmscon_font_freetype2_unload(); - kmscon_font_pango_unload(); - kmscon_font_8x16_unload(); - kmscon_font_unifont_unload(); + kmscon_text_unload_all(); + kmscon_font_unload_all(); conf_free(options, onum); log_info("exiting"); return EXIT_SUCCESS; err_unload: - kmscon_text_gltex_unload(); - kmscon_text_bblit_unload(); - kmscon_text_bbulk_unload(); - kmscon_font_freetype2_unload(); - kmscon_font_pango_unload(); - kmscon_font_8x16_unload(); - kmscon_font_unifont_unload(); + kmscon_text_unload_all(); + kmscon_font_unload_all(); err_out: conf_free(options, onum); log_err("cannot initialize kmscon, errno %d: %s", ret, strerror(-ret)); diff --git a/src/text.h b/src/text.h index d7e91a4..b61ef59 100644 --- a/src/text.h +++ b/src/text.h @@ -302,4 +302,34 @@ static inline void kmscon_text_gltex_unload(void) #endif +static inline void kmscon_font_load_all(void) +{ + kmscon_font_unifont_load(); + kmscon_font_8x16_load(); + kmscon_font_pango_load(); + kmscon_font_freetype2_load(); +} + +static inline void kmscon_font_unload_all(void) +{ + kmscon_font_freetype2_unload(); + kmscon_font_pango_unload(); + kmscon_font_8x16_unload(); + kmscon_font_unifont_unload(); +} + +static inline void kmscon_text_load_all(void) +{ + kmscon_text_bbulk_load(); + kmscon_text_bblit_load(); + kmscon_text_gltex_load(); +} + +static inline void kmscon_text_unload_all(void) +{ + kmscon_text_gltex_unload(); + kmscon_text_bblit_unload(); + kmscon_text_bbulk_unload(); +} + #endif /* KMSCON_TEXT_H */ -- 2.7.4