From: Christoph Sommer Date: Wed, 5 Jul 2006 22:42:39 +0000 (+0000) Subject: Changed sprintfs to snprintfs, updated translation X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=4a86e3e96802ee182e685eeee3e50091ee564547;p=supertux.git Changed sprintfs to snprintfs, updated translation SVN-Revision: 3909 --- diff --git a/data/locale/de.po b/data/locale/de.po index f532b1dc7..0a3d437a5 100644 --- a/data/locale/de.po +++ b/data/locale/de.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: SuperTux 0.2-svn\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-12-15 17:21+0100\n" -"PO-Revision-Date: 2006-06-16 02:20+0100\n" +"PO-Revision-Date: 2006-07-06 00:39+0100\n" "Last-Translator: Christoph Sommer \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -23,217 +23,11 @@ msgstr "" "X-Poedit-KeywordsList: draw_text;draw_center_text;_\n" "X-Poedit-SearchPath-0: src\n" -#: src/main.cpp:200 -#, c-format -msgid "" -"Usage: %s [OPTIONS] [LEVELFILE]\n" -"\n" -msgstr "" -"Aufruf: %s [OPTIONS] [LEVELDATEI]\n" -"\n" - -#: src/main.cpp:202 -#, c-format -msgid "" -"Options:\n" -" -f, --fullscreen Run in fullscreen mode\n" -" -w, --window Run in window mode\n" -" -g, --geometry WIDTHxHEIGHT Run SuperTux in given resolution\n" -" --disable-sfx Disable sound effects\n" -" --disable-music Disable music\n" -" --help Show this help message\n" -" --version Display SuperTux version and quit\n" -" --show-fps Display framerate in levels\n" -" --record-demo FILE LEVEL Record a demo to FILE\n" -" --play-demo FILE LEVEL Play a recorded demo\n" -"\n" -msgstr "" -"Optionen:\n" -" -f, --fullscreen Vollbild-Modus\n" -" -w, --window Fenster-Modus\n" -" -g, --geometry WIDTHxHEIGHT SuperTux mit gewünschter Auflösung starten\n" -" --disable-sfx Sound deaktivieren\n" -" --disable-music Musik deaktivieren\n" -" --help Diesen Hilfetext anzeigen\n" -" --version SuperTux Version anzeigen und beenden\n" -" --show-fps FPS anzeigen\n" -" --record-demo FILE LEVEL Demo in Datei FILE aufzeichnen\n" -" --play-demo FILE LEVEL Demo aus Datei FILE abspielen\n" -"\n" - -#: src/game_session.cpp:101 -#: src/worldmap/worldmap.cpp:145 -msgid "Pause" -msgstr "Pause" - -#: src/game_session.cpp:103 -#: src/worldmap/worldmap.cpp:147 -msgid "Continue" -msgstr "Weiterspielen" - -#: src/game_session.cpp:104 -#: src/options_menu.cpp:49 -#: src/title.cpp:275 -#: src/worldmap/worldmap.cpp:148 -msgid "Options" -msgstr "Einstellungen" - -#: src/game_session.cpp:106 -msgid "Abort Level" -msgstr "Level Abbrechen" - -#: src/game_session.cpp:248 -msgid "contributed by " -msgstr "von" - -#: src/game_session.cpp:252 -msgid "Best Level Statistics" -msgstr "Level-Rekorde" - -#: src/statistics.cpp:83 -msgid "- Best Level Statistics -" -msgstr "- Level-Rekorde -" - -#: src/statistics.cpp:101 -#, c-format -msgid "Max coins collected:" -msgstr "Münzen gesammelt:" - -#: src/statistics.cpp:105 -#, c-format -msgid "Max fragging:" -msgstr "Gegner besiegt:" - -#: src/statistics.cpp:109 -#, c-format -msgid "Min time needed:" -msgstr "Schnellste Zeit:" - -#: src/statistics.cpp:118 -#, c-format -msgid "Max secrets found:" -msgstr "Verstecke gefunden:" - -#: src/statistics.cpp:150 -#, c-format -msgid "Max coins collected: %d / %d" -msgstr "Münzen gesammelt: %d / %d" - -#: src/statistics.cpp:154 -#, c-format -msgid "Max fragging: %d / %d" -msgstr "Gegner besiegt: %d / %d" - -#: src/statistics.cpp:161 -#, c-format -msgid "Min time needed: %02d:%02d" -msgstr "Schnellste Zeit: %02d:%02d" - -#: src/statistics.cpp:165 -#, c-format -msgid "Max secrets found: %d / %d" -msgstr "Verstecke gefunden: %d / %d" - -#: src/statistics.cpp:202 -msgid "You" -msgstr "Gerade" - -#: src/statistics.cpp:203 -msgid "Best" -msgstr "Rekord" - -#: src/statistics.cpp:205 -msgid "Coins" -msgstr "Münzen" - -#: src/statistics.cpp:213 -msgid "Secrets" -msgstr "Verstecke" - -#: src/statistics.cpp:221 -msgid "Time" -msgstr "Zeit" - -#: src/player_status.cpp:142 -msgid "COINS" -msgstr "Münzen" - -#: src/options_menu.cpp:51 -msgid "Fullscreen" -msgstr "Vollbild" - -#: src/options_menu.cpp:53 -msgid "Sound" -msgstr "Sound" - -#: src/options_menu.cpp:54 -msgid "Music" -msgstr "Musik" - -#: src/options_menu.cpp:56 -msgid "Sound (disabled)" -msgstr "Sound (deaktiviert)" - -#: src/options_menu.cpp:57 -msgid "Music (disabled)" -msgstr "Musik (deaktiviert)" - -#: src/options_menu.cpp:59 #: src/control/joystickkeyboardcontroller.cpp:572 +#: src/options_menu.cpp:59 msgid "Setup Keyboard" msgstr "Tastenbelegung" -#: src/options_menu.cpp:60 -#: src/control/joystickkeyboardcontroller.cpp:655 -msgid "Setup Joystick" -msgstr "Joystickbelegung" - -#: src/options_menu.cpp:62 -#: src/title.cpp:88 -#: src/title.cpp:139 -#: src/title.cpp:189 -#: src/control/joystickkeyboardcontroller.cpp:581 -#: src/control/joystickkeyboardcontroller.cpp:665 -msgid "Back" -msgstr "Zurück" - -#: src/title.cpp:82 -#: src/title.cpp:273 -msgid "Start Game" -msgstr "Spiel starten" - -#: src/title.cpp:117 -#: src/title.cpp:274 -msgid "Contrib Levels" -msgstr "Zusatzlevel" - -#: src/title.cpp:276 -msgid "Credits" -msgstr "Mitwirkende" - -#: src/title.cpp:277 -msgid "Quit" -msgstr "Beenden" - -#: src/title.cpp:316 -msgid "" -"Copyright (c) 2006 SuperTux Devel Team\n" -"This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" -"redistribute it under certain conditions; see the file COPYING for details.\n" -msgstr "" -"Copyright (c) 2003 SuperTux Devel Team\n" -"Für dieses Spiel besteht KEINERLEI GARANTIE. Dieses Spiel ist freie Software, die Sie unter\n" -"bestimmten Bedingungen weitergeben dürfen; Details finden Sie in der Datei COPYING.\n" - -#: src/title.cpp:418 -#: src/title.cpp:423 -msgid "Slot" -msgstr "Spielstand" - -#: src/title.cpp:418 -msgid "Free" -msgstr "Frei" - #: src/control/joystickkeyboardcontroller.cpp:574 msgid "Up" msgstr "Oben" @@ -260,6 +54,15 @@ msgstr "Springen" msgid "Action" msgstr "Aktion" +#: src/control/joystickkeyboardcontroller.cpp:581 +#: src/control/joystickkeyboardcontroller.cpp:665 +#: src/options_menu.cpp:62 +#: src/title.cpp:88 +#: src/title.cpp:139 +#: src/title.cpp:189 +msgid "Back" +msgstr "Zurück" + #: src/control/joystickkeyboardcontroller.cpp:593 #: src/control/joystickkeyboardcontroller.cpp:676 msgid "None" @@ -317,6 +120,11 @@ msgstr "Alt Links" msgid "Press Key" msgstr "Taste drücken" +#: src/control/joystickkeyboardcontroller.cpp:655 +#: src/options_menu.cpp:60 +msgid "Setup Joystick" +msgstr "Joystickbelegung" + #: src/control/joystickkeyboardcontroller.cpp:660 msgid "Pause/Menu" msgstr "Pause/Menü" @@ -349,7 +157,181 @@ msgstr "Zeit" msgid "You found a secret area!" msgstr "Neues Versteck gefunden!" +#: src/worldmap/worldmap.cpp:145 +#: src/game_session.cpp:101 +msgid "Pause" +msgstr "Pause" + +#: src/worldmap/worldmap.cpp:147 +#: src/game_session.cpp:103 +msgid "Continue" +msgstr "Weiterspielen" + +#: src/worldmap/worldmap.cpp:148 +#: src/options_menu.cpp:49 +#: src/game_session.cpp:104 +#: src/title.cpp:275 +msgid "Options" +msgstr "Einstellungen" + #: src/worldmap/worldmap.cpp:150 msgid "Quit World" msgstr "Welt verlassen" +#: src/options_menu.cpp:51 +msgid "Fullscreen" +msgstr "Vollbild" + +#: src/options_menu.cpp:53 +msgid "Sound" +msgstr "Sound" + +#: src/options_menu.cpp:54 +msgid "Music" +msgstr "Musik" + +#: src/options_menu.cpp:56 +msgid "Sound (disabled)" +msgstr "Sound (deaktiviert)" + +#: src/options_menu.cpp:57 +msgid "Music (disabled)" +msgstr "Musik (deaktiviert)" + +#: src/main.cpp:201 +#, c-format +msgid "" +"Usage: %s [OPTIONS] [LEVELFILE]\n" +"\n" +msgstr "" +"Aufruf: %s [OPTIONS] [LEVELDATEI]\n" +"\n" + +#: src/main.cpp:203 +#, c-format +msgid "" +"Options:\n" +" -f, --fullscreen Run in fullscreen mode\n" +" -w, --window Run in window mode\n" +" -g, --geometry WIDTHxHEIGHT Run SuperTux in given resolution\n" +" --disable-sfx Disable sound effects\n" +" --disable-music Disable music\n" +" --help Show this help message\n" +" --version Display SuperTux version and quit\n" +" --show-fps Display framerate in levels\n" +" --record-demo FILE LEVEL Record a demo to FILE\n" +" --play-demo FILE LEVEL Play a recorded demo\n" +"\n" +msgstr "" +"Optionen:\n" +" -f, --fullscreen Vollbild-Modus\n" +" -w, --window Fenster-Modus\n" +" -g, --geometry WIDTHxHEIGHT SuperTux mit gewünschter Auflösung starten\n" +" --disable-sfx Sound deaktivieren\n" +" --disable-music Musik deaktivieren\n" +" --help Diesen Hilfetext anzeigen\n" +" --version SuperTux Version anzeigen und beenden\n" +" --show-fps FPS anzeigen\n" +" --record-demo FILE LEVEL Demo in Datei FILE aufzeichnen\n" +" --play-demo FILE LEVEL Demo aus Datei FILE abspielen\n" +"\n" + +#: src/game_session.cpp:106 +msgid "Abort Level" +msgstr "Level Abbrechen" + +#: src/game_session.cpp:252 +#: src/statistics.cpp:237 +msgid "Coins" +msgstr "Münzen" + +#: src/game_session.cpp:258 +msgid "contributed by " +msgstr "von" + +#: src/game_session.cpp:262 +#: src/statistics.cpp:101 +msgid "Best Level Statistics" +msgstr "Level-Rekorde" + +#: src/statistics.cpp:119 +#: src/statistics.cpp:176 +#, c-format +msgid "Max coins collected:" +msgstr "Münzen gesammelt:" + +#: src/statistics.cpp:123 +#: src/statistics.cpp:181 +#, c-format +msgid "Max fragging:" +msgstr "Gegner besiegt:" + +#: src/statistics.cpp:127 +#: src/statistics.cpp:189 +#, c-format +msgid "Min time needed:" +msgstr "Schnellste Zeit:" + +#: src/statistics.cpp:136 +#: src/statistics.cpp:194 +#, c-format +msgid "Max secrets found:" +msgstr "Verstecke gefunden:" + +#: src/statistics.cpp:234 +msgid "You" +msgstr "Jetzt" + +#: src/statistics.cpp:235 +msgid "Best" +msgstr "Rekord" + +#: src/statistics.cpp:245 +msgid "Secrets" +msgstr "Verstecke" + +#: src/statistics.cpp:253 +msgid "Time" +msgstr "Zeit" + +#: src/player_status.cpp:142 +msgid "COINS" +msgstr "Münzen" + +#: src/title.cpp:82 +#: src/title.cpp:273 +msgid "Start Game" +msgstr "Spiel starten" + +#: src/title.cpp:117 +#: src/title.cpp:274 +msgid "Contrib Levels" +msgstr "Zusatzlevel" + +#: src/title.cpp:276 +msgid "Credits" +msgstr "Abspann" + +#: src/title.cpp:277 +msgid "Quit" +msgstr "Beenden" + +#: src/title.cpp:316 +msgid "" +"Copyright (c) 2006 SuperTux Devel Team\n" +"This game comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to\n" +"redistribute it under certain conditions; see the file COPYING for details.\n" +msgstr "" +"Copyright (c) 2003 SuperTux Devel Team\n" +"Für dieses Spiel besteht KEINERLEI GARANTIE. Dieses Spiel ist freie Software, die Sie unter\n" +"bestimmten Bedingungen weitergeben dürfen; Details finden Sie in der Datei COPYING.\n" + +#: src/title.cpp:418 +#: src/title.cpp:423 +msgid "Slot" +msgstr "Spielstand" + +#: src/title.cpp:418 +msgid "Free" +msgstr "Frei" + diff --git a/src/game_session.cpp b/src/game_session.cpp index daac30fc6..4495343fd 100644 --- a/src/game_session.cpp +++ b/src/game_session.cpp @@ -179,7 +179,7 @@ GameSession::record_demo(const std::string& filename) capture_file = filename; char buf[30]; // save the seed in the demo file - sprintf(buf, "random_seed=%010d", config->random_seed); + snprintf(buf, sizeof(buf), "random_seed=%010d", config->random_seed); for (int i=0; i==0 || buf[i-1]; i++) capture_demo_stream->put(buf[i]); } @@ -215,6 +215,15 @@ GameSession::play_demo(const std::string& filename) } } +namespace { + inline const char* chain(const char* c1, const char* c2) { + return (std::string(c1) + std::string(c2)).c_str(); + } + inline const char* chain(const char* c1, const char* c2, const char* c3) { + return (std::string(c1) + std::string(c2) + std::string(c3)).c_str(); + } +} + void GameSession::levelintro() { @@ -240,7 +249,7 @@ GameSession::levelintro() context.draw_center_text(gold_text, level->get_name(), Vector(0, 160), LAYER_FOREGROUND1); - sprintf(str, "Coins: %d", player_status->coins); + snprintf(str, sizeof(str), chain(_("Coins"), ": %d"), player_status->coins); context.draw_text(white_text, str, Vector(SCREEN_WIDTH/2, 210), CENTER_ALLIGN, LAYER_FOREGROUND1); diff --git a/src/gui/menu.cpp b/src/gui/menu.cpp index e230b3d4f..1738a2684 100644 --- a/src/gui/menu.cpp +++ b/src/gui/menu.cpp @@ -180,9 +180,9 @@ std::string MenuItem::get_input_with_symbol(bool active_item) char str[1024]; if(input_flickering) - sprintf(str,"%s ",input.c_str()); + snprintf(str, sizeof(str), "%s ",input.c_str()); else - sprintf(str,"%s_",input.c_str()); + snprintf(str, sizeof(str), "%s_",input.c_str()); std::string string = str; diff --git a/src/player_status.cpp b/src/player_status.cpp index e9dd84d86..f39ded0e8 100644 --- a/src/player_status.cpp +++ b/src/player_status.cpp @@ -138,7 +138,7 @@ PlayerStatus::draw(DrawingContext& context) char str[60]; int displayCoins = std::max(player_status->coins, 0); - sprintf(str, "%d", displayCoins); + snprintf(str, sizeof(str), "%d", displayCoins); const char* coinstext = _("COINS"); context.draw_text(white_text, coinstext, Vector(SCREEN_WIDTH - white_text->get_text_width(coinstext) - gold_text->get_text_width(" 99999") - BORDER_X, BORDER_Y), LEFT_ALLIGN, LAYER_FOREGROUND1); context.draw_text(gold_text, str, Vector(SCREEN_WIDTH - BORDER_X, BORDER_Y), RIGHT_ALLIGN, LAYER_FOREGROUND1); diff --git a/src/resources.cpp b/src/resources.cpp index 940b0a06b..94e85e1d2 100644 --- a/src/resources.cpp +++ b/src/resources.cpp @@ -73,10 +73,10 @@ void load_shared() char img_name[1024]; for (int i = 0; i < GROWING_FRAMES; i++) { - sprintf(img_name, "images/creatures/tux_grow/left-%i.png", i+1); + snprintf(img_name, sizeof(img_name), "images/creatures/tux_grow/left-%i.png", i+1); growingtux_left[i] = new Surface(img_name); - sprintf(img_name, "images/creatures/tux_grow/right-%i.png", i+1); + snprintf(img_name, sizeof(img_name), "images/creatures/tux_grow/right-%i.png", i+1); growingtux_right[i] = new Surface(img_name); } diff --git a/src/statistics.cpp b/src/statistics.cpp index 37322ec57..652da58ed 100644 --- a/src/statistics.cpp +++ b/src/statistics.cpp @@ -116,25 +116,25 @@ Statistics::draw_worldmap_info(DrawingContext& context) switch (display_stat) { case 0: - sprintf(caption_buf, _("Max coins collected:")); - sprintf(stat_buf, "%d/%d", coins, total_coins); + snprintf(caption_buf, sizeof(caption_buf), _("Max coins collected:")); + snprintf(stat_buf, sizeof(stat_buf), "%d/%d", coins, total_coins); break; case 1: - sprintf(caption_buf, _("Max fragging:")); - sprintf(stat_buf, "%d/%d", badguys, total_badguys); + snprintf(caption_buf, sizeof(caption_buf), _("Max fragging:")); + snprintf(stat_buf, sizeof(stat_buf), "%d/%d", badguys, total_badguys); break; case 2: - sprintf(caption_buf, _("Min time needed:")); + snprintf(caption_buf, sizeof(caption_buf), _("Min time needed:")); { int csecs = (int)(time * 100); int mins = (int)(csecs / 6000); int secs = (csecs % 6000) / 100; - sprintf(stat_buf, "%02d:%02d", mins,secs); + snprintf(stat_buf, sizeof(stat_buf), "%02d:%02d", mins,secs); } break; case 3: - sprintf(caption_buf, _("Max secrets found:")); - sprintf(stat_buf, "%d/%d", secrets, total_secrets); + snprintf(caption_buf, sizeof(caption_buf), _("Max secrets found:")); + snprintf(stat_buf, sizeof(stat_buf), "%d/%d", secrets, total_secrets); break; default: log_debug << "Invalid stat requested to be drawn" << std::endl; @@ -163,28 +163,36 @@ Statistics::draw_message_info(DrawingContext& context, std::string title) // skip draw if stats were declared invalid if (!valid) return; + const float width = white_small_text->get_text_width("Max coins collected: 1111 / 1111"); + const float left = (SCREEN_WIDTH - width) / 2; + const float right = (SCREEN_WIDTH + width) / 2; + context.draw_text(gold_text, title, Vector(SCREEN_WIDTH/2, 410), CENTER_ALLIGN, LAYER_GUI); - char str[128]; + char stat_buf[128]; int py = 450 + 18; - sprintf(str, _("Max coins collected: %d / %d"), coins, total_coins); - context.draw_text(white_small_text, str, Vector(SCREEN_WIDTH/2, py), CENTER_ALLIGN, LAYER_GUI); + snprintf(stat_buf, sizeof(stat_buf), "%d/%d", coins, total_coins); + context.draw_text(white_small_text, _("Max coins collected:"), Vector(left, py), LEFT_ALLIGN, LAYER_GUI); + context.draw_text(white_small_text, "%d / %d", Vector(right, py), RIGHT_ALLIGN, LAYER_GUI); py+=18; - sprintf(str, _("Max fragging: %d / %d"), badguys, total_badguys); - context.draw_text(white_small_text, str, Vector(SCREEN_WIDTH/2, py), CENTER_ALLIGN, LAYER_GUI); + snprintf(stat_buf, sizeof(stat_buf), "%d/%d", badguys, total_badguys); + context.draw_text(white_small_text, _("Max fragging:"), Vector(left, py), LEFT_ALLIGN, LAYER_GUI); + context.draw_text(white_small_text, "%d / %d", Vector(right, py), RIGHT_ALLIGN, LAYER_GUI); py+=18; int csecs = (int)(time * 100); int mins = (int)(csecs / 6000); int secs = (csecs % 6000) / 100; - sprintf(str, _("Min time needed: %02d:%02d"), mins,secs); - context.draw_text(white_small_text, str, Vector(SCREEN_WIDTH/2, py), CENTER_ALLIGN, LAYER_GUI); + snprintf(stat_buf, sizeof(stat_buf), "%02d:%02d", mins,secs); + context.draw_text(white_small_text, _("Min time needed:"), Vector(left, py), LEFT_ALLIGN, LAYER_GUI); + context.draw_text(white_small_text, "%02d:%02d", Vector(right, py), RIGHT_ALLIGN, LAYER_GUI); py+=18; - sprintf(str, _("Max secrets found: %d / %d"), secrets, total_secrets); - context.draw_text(white_small_text, str, Vector(SCREEN_WIDTH/2, py), CENTER_ALLIGN, LAYER_GUI); + snprintf(stat_buf, sizeof(stat_buf), "%d/%d", secrets, total_secrets); + context.draw_text(white_small_text, _("Max secrets found:"), Vector(left, py), LEFT_ALLIGN, LAYER_GUI); + context.draw_text(white_small_text, "%d / %d", Vector(right, py), RIGHT_ALLIGN, LAYER_GUI); py+=18; } @@ -227,18 +235,18 @@ Statistics::draw_endseq_panel(DrawingContext& context, Statistics* best_stats, S context.draw_text(white_text, _("Best"), Vector(col3_x, row1_y), LEFT_ALLIGN, LAYER_GUI); context.draw_text(white_text, _("Coins"), Vector(col1_x, row2_y), LEFT_ALLIGN, LAYER_GUI); - snprintf(buf, 128, "%d/%d", coins, total_coins); + snprintf(buf, sizeof(buf), "%d/%d", coins, total_coins); context.draw_text(gold_text, buf, Vector(col2_x, row2_y), LEFT_ALLIGN, LAYER_GUI); if (best_stats && (best_stats->coins > coins)) { - snprintf(buf, 128, "%d/%d", best_stats->coins, best_stats->total_coins); + snprintf(buf, sizeof(buf), "%d/%d", best_stats->coins, best_stats->total_coins); } context.draw_text(gold_text, buf, Vector(col3_x, row2_y), LEFT_ALLIGN, LAYER_GUI); context.draw_text(white_text, _("Secrets"), Vector(col1_x, row4_y), LEFT_ALLIGN, LAYER_GUI); - snprintf(buf, 128, "%d/%d", secrets, total_secrets); + snprintf(buf, sizeof(buf), "%d/%d", secrets, total_secrets); context.draw_text(gold_text, buf, Vector(col2_x, row4_y), LEFT_ALLIGN, LAYER_GUI); if (best_stats && (best_stats->secrets > secrets)) { - snprintf(buf, 128, "%d/%d", best_stats->secrets, best_stats->total_secrets); + snprintf(buf, sizeof(buf), "%d/%d", best_stats->secrets, best_stats->total_secrets); } context.draw_text(gold_text, buf, Vector(col3_x, row4_y), LEFT_ALLIGN, LAYER_GUI); @@ -246,13 +254,13 @@ Statistics::draw_endseq_panel(DrawingContext& context, Statistics* best_stats, S int csecs = (int)(time * 100); int mins = (int)(csecs / 6000); int secs = (csecs % 6000) / 100; - snprintf(buf, 128, "%02d:%02d", mins,secs); + snprintf(buf, sizeof(buf), "%02d:%02d", mins,secs); context.draw_text(gold_text, buf, Vector(col2_x, row3_y), LEFT_ALLIGN, LAYER_GUI); if (best_stats && (best_stats->time < time)) { int csecs = (int)(best_stats->time * 100); int mins = (int)(csecs / 6000); int secs = (csecs % 6000) / 100; - snprintf(buf, 128, "%02d:%02d", mins,secs); + snprintf(buf, sizeof(buf), "%02d:%02d", mins,secs); } context.draw_text(gold_text, buf, Vector(col3_x, row3_y), LEFT_ALLIGN, LAYER_GUI); }