]> git.lizzy.rs Git - nothing.git/commitdiff
(tsoding#1185) replace buffer with formatted print
authorDanil Kolumbet <kolumbetko@gmail.com>
Sat, 7 Dec 2019 00:43:47 +0000 (02:43 +0200)
committerDanil Kolumbet <kolumbetko@gmail.com>
Sun, 8 Dec 2019 22:05:34 +0000 (00:05 +0200)
src/game/level/level_editor.c

index f04c567023033cc3e0a19b34e668b2d041d793cf..d58ad50f8a59c7558dd3d0d31cac867a2b5c8fff 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "level_editor.h"
 
+#define LEVEL_FOLDER_MAX_LENGTH 512
 #define LEVEL_LINE_MAX_LENGTH 512
 #define LEVEL_EDITOR_EDIT_FIELD_SIZE vec(5.0f, 5.0f)
 #define LEVEL_EDITOR_EDIT_FIELD_COLOR COLOR_BLACK
@@ -388,12 +389,15 @@ int level_editor_saveas_event(LevelEditor *level_editor,
     case SDL_KEYDOWN: {
         if (event->key.keysym.sym == SDLK_RETURN) {
             trace_assert(level_editor->file_name == NULL);
-            char file_name_buffer[640] ="./assets/levels//";
-            strcat(file_name_buffer, edit_field_as_text(level_editor->edit_field_filename));
-            strcat(file_name_buffer, ".txt");
+            char path[LEVEL_FOLDER_MAX_LENGTH];
+            snprintf(
+                path,
+                LEVEL_FOLDER_MAX_LENGTH,
+                "./assets/levels//%s.txt",
+                edit_field_as_text(level_editor->edit_field_filename));
             level_editor->file_name = PUSH_LT(
                 level_editor->lt,
-                string_duplicate(file_name_buffer, NULL),
+                path,
                 free);
             level_editor_dump(level_editor);
             SDL_StopTextInput();