Scott Lahteine 6 years ago
parent
commit
643e0066a0

+ 1
- 1
Marlin/src/feature/power_loss_recovery.h View File

@@ -68,7 +68,7 @@ typedef struct {
68 68
   char command_queue[BUFSIZE][MAX_CMD_SIZE];
69 69
 
70 70
   // SD Filename and position
71
-  char sd_filename[MAXPATHNAMELENGTH + 1];
71
+  char sd_filename[MAXPATHNAMELENGTH];
72 72
   uint32_t sdpos;
73 73
 
74 74
   // Job elapsed time

+ 2
- 2
Marlin/src/sd/SdFatConfig.h View File

@@ -106,7 +106,7 @@
106 106
  * Defines for 8.3 and long (vfat) filenames
107 107
  */
108 108
 
109
-#define FILENAME_LENGTH 12 // Number of UTF-16 characters per entry
109
+#define FILENAME_LENGTH 13 // Number of UTF-16 characters per entry
110 110
 
111 111
 // Total bytes needed to store a single long filename
112
-#define LONG_FILENAME_LENGTH ((FILENAME_LENGTH) * (MAX_VFAT_ENTRIES))
112
+#define LONG_FILENAME_LENGTH (FILENAME_LENGTH * MAX_VFAT_ENTRIES + 1)

+ 9
- 9
Marlin/src/sd/cardreader.cpp View File

@@ -48,7 +48,7 @@
48 48
 // public:
49 49
 
50 50
 card_flags_t CardReader::flag;
51
-char CardReader::filename[FILENAME_LENGTH + 1], CardReader::longFilename[LONG_FILENAME_LENGTH + 1];
51
+char CardReader::filename[FILENAME_LENGTH], CardReader::longFilename[LONG_FILENAME_LENGTH];
52 52
 int8_t CardReader::autostart_index;
53 53
 
54 54
 #if ENABLED(FAST_FILE_TRANSFER)
@@ -82,11 +82,11 @@ uint8_t CardReader::workDirDepth;
82 82
       #if ENABLED(SDSORT_DYNAMIC_RAM)
83 83
         char **CardReader::sortshort, **CardReader::sortnames;
84 84
       #else
85
-        char CardReader::sortshort[SDSORT_LIMIT][FILENAME_LENGTH + 1];
86
-        char CardReader::sortnames[SDSORT_LIMIT][SORTED_LONGNAME_MAXLEN + 1];
85
+        char CardReader::sortshort[SDSORT_LIMIT][FILENAME_LENGTH];
86
+        char CardReader::sortnames[SDSORT_LIMIT][SORTED_LONGNAME_MAXLEN];
87 87
       #endif
88 88
     #elif DISABLED(SDSORT_USES_STACK)
89
-      char CardReader::sortnames[SDSORT_LIMIT][SORTED_LONGNAME_MAXLEN + 1];
89
+      char CardReader::sortnames[SDSORT_LIMIT][SORTED_LONGNAME_MAXLEN];
90 90
     #endif
91 91
 
92 92
     #if HAS_FOLDER_SORTING
@@ -107,7 +107,7 @@ SdFile CardReader::file;
107 107
 
108 108
 uint8_t CardReader::file_subcall_ctr;
109 109
 uint32_t CardReader::filespos[SD_PROCEDURE_DEPTH];
110
-char CardReader::proc_filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH + 1];
110
+char CardReader::proc_filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH];
111 111
 
112 112
 uint32_t CardReader::filesize, CardReader::sdpos;
113 113
 
@@ -183,7 +183,7 @@ void CardReader::lsDive(const char *prepend, SdFile parent, const char * const m
183 183
     if (DIR_IS_SUBDIR(&p) && lsAction != LS_Count && lsAction != LS_GetFilename) {
184 184
 
185 185
       // Get the short name for the item, which we know is a folder
186
-      char dosFilename[FILENAME_LENGTH + 1];
186
+      char dosFilename[FILENAME_LENGTH];
187 187
       createFilename(dosFilename, p);
188 188
 
189 189
       // Allocate enough stack space for the full path to a folder, trailing slash, and nul
@@ -350,7 +350,7 @@ void CardReader::printFilename(
350 350
   #endif
351 351
 ) {
352 352
   if (file.isOpen()) {
353
-    char dosFilename[FILENAME_LENGTH + 1];
353
+    char dosFilename[FILENAME_LENGTH];
354 354
     file.getFilename(dosFilename);
355 355
     SERIAL_ECHO_P(port, dosFilename);
356 356
     #if ENABLED(LONG_FILENAME_HOST_SUPPORT)
@@ -856,7 +856,7 @@ void CardReader::setroot() {
856 856
             sortnames = new char*[fileCnt];
857 857
           #endif
858 858
         #elif ENABLED(SDSORT_USES_STACK)
859
-          char sortnames[fileCnt][SORTED_LONGNAME_MAXLEN + 1];
859
+          char sortnames[fileCnt][SORTED_LONGNAME_MAXLEN];
860 860
         #endif
861 861
 
862 862
         // Folder sorting needs 1 bit per entry for flags.
@@ -873,7 +873,7 @@ void CardReader::setroot() {
873 873
         // By default re-read the names from SD for every compare
874 874
         // retaining only two filenames at a time. This is very
875 875
         // slow but is safest and uses minimal RAM.
876
-        char name1[LONG_FILENAME_LENGTH + 1];
876
+        char name1[LONG_FILENAME_LENGTH];
877 877
 
878 878
       #endif
879 879
 

+ 5
- 5
Marlin/src/sd/cardreader.h View File

@@ -159,7 +159,7 @@ public:
159 159
 
160 160
 public:
161 161
   static card_flags_t flag;
162
-  static char filename[FILENAME_LENGTH + 1], longFilename[LONG_FILENAME_LENGTH + 1];
162
+  static char filename[FILENAME_LENGTH], longFilename[LONG_FILENAME_LENGTH];
163 163
   static int8_t autostart_index;
164 164
 
165 165
   #if ENABLED(FAST_FILE_TRANSFER)
@@ -204,11 +204,11 @@ private:
204 204
         #if ENABLED(SDSORT_DYNAMIC_RAM)
205 205
           static char **sortshort, **sortnames;
206 206
         #else
207
-          static char sortshort[SDSORT_LIMIT][FILENAME_LENGTH + 1];
208
-          static char sortnames[SDSORT_LIMIT][SORTED_LONGNAME_MAXLEN + 1];
207
+          static char sortshort[SDSORT_LIMIT][FILENAME_LENGTH];
208
+          static char sortnames[SDSORT_LIMIT][SORTED_LONGNAME_MAXLEN];
209 209
         #endif
210 210
       #elif DISABLED(SDSORT_USES_STACK)
211
-        static char sortnames[SDSORT_LIMIT][SORTED_LONGNAME_MAXLEN + 1];
211
+        static char sortnames[SDSORT_LIMIT][SORTED_LONGNAME_MAXLEN];
212 212
       #endif
213 213
 
214 214
       // Folder sorting uses an isDir array when caching items.
@@ -234,7 +234,7 @@ private:
234 234
 
235 235
   static uint8_t file_subcall_ctr;
236 236
   static uint32_t filespos[SD_PROCEDURE_DEPTH];
237
-  static char proc_filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH + 1];
237
+  static char proc_filenames[SD_PROCEDURE_DEPTH][MAXPATHNAMELENGTH];
238 238
 
239 239
   static uint32_t filesize, sdpos;
240 240
 

Loading…
Cancel
Save