@@ -371,3 +371,31 @@ std::string fileutl_get_relative_path(
371
371
std::string const result = fileutl_join_path_parts (split1);
372
372
return result;
373
373
}
374
+
375
+ /* ******************************************************************\
376
+
377
+ Function: make_valid_filename
378
+
379
+ Inputs:
380
+ file_name: The file name to sanitize.
381
+
382
+ Outputs:
383
+
384
+ Purpose:
385
+ Replaces invalid characters in a file name using a hard-coded list of
386
+ replacements.
387
+ This is not designed to operate on path names and will replace folder
388
+ seperator characters.
389
+
390
+ \*******************************************************************/
391
+ std::string make_valid_filename (std::string file_name)
392
+ {
393
+ std::replace (file_name.begin (), file_name.end (), ' #' , ' _' );
394
+ std::replace (file_name.begin (), file_name.end (), ' $' , ' _' );
395
+ std::replace (file_name.begin (), file_name.end (), ' :' , ' .' );
396
+ std::replace (file_name.begin (), file_name.end (), ' /' , ' .' );
397
+ std::replace (file_name.begin (), file_name.end (), ' \\ ' , ' .' );
398
+ std::replace (file_name.begin (), file_name.end (), ' <' , ' [' );
399
+ std::replace (file_name.begin (), file_name.end (), ' >' , ' ]' );
400
+ return file_name;
401
+ }
0 commit comments