@@ -161,7 +161,11 @@ std::string concat_dir_file(
161
161
// / This is not designed to operate on path names and will replace folder
162
162
// / seperator characters.
163
163
// / \param file_name: The file name to sanitize.
164
- std::string make_valid_filename (std::string file_name)
164
+ // / \param max_size: The maximum size for the file name. If the name is longer,
165
+ // / then its size will be cut to the max_size.
166
+ std::string make_valid_filename (
167
+ std::string file_name,
168
+ const std::size_t max_size)
165
169
{
166
170
std::replace (file_name.begin (), file_name.end (), ' #' , ' _' );
167
171
std::replace (file_name.begin (), file_name.end (), ' $' , ' _' );
@@ -170,5 +174,7 @@ std::string make_valid_filename(std::string file_name)
170
174
std::replace (file_name.begin (), file_name.end (), ' \\ ' , ' .' );
171
175
std::replace (file_name.begin (), file_name.end (), ' <' , ' [' );
172
176
std::replace (file_name.begin (), file_name.end (), ' >' , ' ]' );
177
+ if (file_name.size () > max_size)
178
+ file_name.resize (max_size);
173
179
return file_name;
174
180
}
0 commit comments