@@ -2040,16 +2040,17 @@ Exec_stat MCCustomPrinterCreate(MCStringRef p_destination, MCStringRef p_filenam
20402040 t_module = MCS_loadmodule (*t_module_path_str2);
20412041 }
20422042#elif defined(_LINUX)
2043- const char *t_engine_dir_end;
2044- t_engine_dir_end = strrchr (MCStringGetCString (MCcmd), ' /' );
2043+
2044+ uindex_t t_engine_dir_end;
2045+ /* UNCHECKED */ MCStringLastIndexOfChar (MCcmd, ' /' , 0 , kMCCompareExact , t_engine_dir_end);
20452046 MCAutoStringRef t_module_path;
2046- /* UNCHECKED */ MCStringFormat (&t_module_path, " %.*s /revpdfprinter.so" , t_engine_dir_end - MCStringGetCString (MCcmd ), MCStringGetCString ( MCcmd) );
2047+ /* UNCHECKED */ MCStringFormat (&t_module_path, " %.*@ /revpdfprinter.so" , MCRangeMake ( 0 , t_engine_dir_end ), MCcmd);
20472048 t_module = MCS_loadmodule (*t_module_path);
20482049#elif defined(TARGET_SUBPLATFORM_IPHONE)
2049- const char * t_engine_dir_end;
2050- t_engine_dir_end = strrchr ( MCStringGetCString ( MCcmd) , ' /' );
2050+ uindex_t t_engine_dir_end;
2051+ /* UNCHECKED */ MCStringLastIndexOfChar ( MCcmd, ' /' , 0 , kMCCompareExact , t_engine_dir_end );
20512052 MCAutoStringRef t_module_path;
2052- MCStringFormat (&t_module_path, " %.*s /revpdfprinter.dylib" , t_engine_dir_end - MCStringGetCString (MCcmd ), MCStringGetCString ( MCcmd) );
2053+ MCStringFormat (&t_module_path, " %.*@ /revpdfprinter.dylib" , MCRangeMake ( 0 , t_engine_dir_end ), MCcmd);
20532054 t_module = MCS_loadmodule (*t_module_path);
20542055#elif defined(_SERVER)
20552056
0 commit comments