@@ -115,58 +115,41 @@ void logsInit()
115
115
116
116
const char * logsOpen ()
117
117
{
118
+ if (!sdMounted ())
119
+ return STR_NO_SDCARD;
120
+
118
121
// Determine and set log file filename
119
122
FRESULT result;
120
123
121
124
// /LOGS/modelnamexxxxxx_YYYY-MM-DD-HHMMSS.log
122
125
char filename[sizeof (LOGS_PATH) + LEN_MODEL_NAME + 18 + 4 + 1 ];
123
126
124
- if (!sdMounted ())
125
- return STR_NO_SDCARD;
126
-
127
127
// check and create folder here
128
- strcpy (filename, STR_LOGS_PATH);
128
+ char * tmp = strAppend (filename, STR_LOGS_PATH);
129
129
const char * error = sdCheckAndCreateDirectory (filename);
130
130
if (error) {
131
131
return error;
132
132
}
133
133
134
- filename[sizeof (LOGS_PATH) - 1 ] = ' /' ;
135
- memcpy (&filename[sizeof (LOGS_PATH)], g_model.header .name , sizeof (g_model.header .name ));
136
- filename[sizeof (LOGS_PATH) + LEN_MODEL_NAME] = ' \0 ' ;
137
-
138
- uint8_t i = sizeof (LOGS_PATH) + LEN_MODEL_NAME - 1 ;
139
- uint8_t len = 0 ;
140
- while (i > sizeof (LOGS_PATH) - 1 ) {
141
- if (!len && filename[i])
142
- len = i+1 ;
143
- if (len) {
144
- if (!filename[i])
145
- filename[i] = ' _' ;
146
- }
147
- i--;
148
- }
149
-
150
- if (len == 0 ) {
134
+ tmp = strAppend (tmp, " /" );
135
+ if (g_model.header .name [0 ]) {
136
+ tmp = strAppend (tmp, sanitizeForFilename (g_model.header .name , LEN_MODEL_NAME));
137
+ } else {
151
138
#if defined(EEPROM)
152
139
uint8_t num = g_eeGeneral.currModel + 1 ;
153
140
#else
154
141
// TODO
155
142
uint8_t num = 1 ;
156
143
#endif
157
- strcpy (&filename[sizeof (LOGS_PATH)], STR_MODEL);
158
- filename[sizeof (LOGS_PATH) + PSIZE (TR_MODEL)] = (char )((num / 10 ) + ' 0' );
159
- filename[sizeof (LOGS_PATH) + PSIZE (TR_MODEL) + 1 ] = (char )((num % 10 ) + ' 0' );
160
- len = sizeof (LOGS_PATH) + PSIZE (TR_MODEL) + 2 ;
144
+ tmp = strAppend (tmp, STR_MODEL);
145
+ tmp = strAppendUnsigned (tmp, num, 2 );
161
146
}
162
147
163
- char * tmp = &filename[len];
164
-
165
148
#if defined(RTCLOCK)
166
149
tmp = strAppendDate (tmp, true );
167
150
#endif
168
151
169
- strcpy (tmp, STR_LOGS_EXT);
152
+ strAppend (tmp, STR_LOGS_EXT);
170
153
171
154
result = f_open (&g_oLogFile, filename, FA_OPEN_ALWAYS | FA_WRITE | FA_OPEN_APPEND);
172
155
if (result != FR_OK) {
0 commit comments