mirror of https://github.com/OpenRCT2/OpenRCT2.git
Modified MAX_PATH usage to use more appropriate MAX_COMMAND_LENGTH
This commit is contained in:
parent
b552231c1d
commit
c3ea18f490
|
@ -320,16 +320,16 @@ static dialog_type get_dialog_app(char *cmd, size_t *cmd_size) {
|
|||
bool platform_open_common_file_dialog(utf8 *outFilename, file_dialog_desc *desc, size_t outSize) {
|
||||
sint32 exit_value;
|
||||
char executable[MAX_PATH];
|
||||
char cmd[MAX_PATH];
|
||||
char result[MAX_PATH];
|
||||
char cmd[MAX_COMMAND_LENGTH];
|
||||
char result[MAX_COMMAND_LENGTH];
|
||||
size_t size;
|
||||
dialog_type dtype;
|
||||
char *action = NULL;
|
||||
char *flags = NULL;
|
||||
char filter[MAX_PATH] = { 0 };
|
||||
char filter[MAX_COMMAND_LENGTH] = { 0 };
|
||||
char filterPatternRegex[64];
|
||||
|
||||
size = MAX_PATH;
|
||||
size = MAX_COMMAND_LENGTH;
|
||||
dtype = get_dialog_app(executable, &size);
|
||||
|
||||
switch (dtype) {
|
||||
|
@ -376,7 +376,7 @@ bool platform_open_common_file_dialog(utf8 *outFilename, file_dialog_desc *desc,
|
|||
}
|
||||
}
|
||||
|
||||
snprintf(cmd, MAX_PATH, "%s --title '%s' %s '%s/' ~ '%s'", executable, desc->title, action, desc->initial_directory, filter);
|
||||
snprintf(cmd, MAX_COMMAND_LENGTH, "%s --title '%s' %s '%s/' ~ '%s'", executable, desc->title, action, desc->initial_directory, filter);
|
||||
break;
|
||||
case DT_ZENITY:
|
||||
action = "--file-selection";
|
||||
|
@ -420,12 +420,12 @@ bool platform_open_common_file_dialog(utf8 *outFilename, file_dialog_desc *desc,
|
|||
snprintf(filterTemp, countof(filterTemp), " --file-filter='%s | *'", (char *)language_get_string(STR_ALL_FILES));
|
||||
safe_strcat(filter, filterTemp, countof(filter));
|
||||
|
||||
snprintf(cmd, MAX_PATH, "%s %s --filename='%s/' %s --title='%s' / %s", executable, action, desc->initial_directory, flags, desc->title, filter);
|
||||
snprintf(cmd, MAX_COMMAND_LENGTH, "%s %s --filename='%s/' %s --title='%s' / %s", executable, action, desc->initial_directory, flags, desc->title, filter);
|
||||
break;
|
||||
default: return 0;
|
||||
}
|
||||
|
||||
size = MAX_PATH;
|
||||
size = MAX_COMMAND_LENGTH;
|
||||
execute_cmd(cmd, &exit_value, result, &size);
|
||||
|
||||
if (exit_value != 0) {
|
||||
|
@ -436,17 +436,17 @@ bool platform_open_common_file_dialog(utf8 *outFilename, file_dialog_desc *desc,
|
|||
log_verbose("filename = %s", result);
|
||||
|
||||
if (desc->type == FD_OPEN && access(result, F_OK) == -1) {
|
||||
char msg[MAX_PATH];
|
||||
char msg[MAX_COMMAND_LENGTH];
|
||||
|
||||
snprintf(msg, MAX_PATH, "\"%s\" not found: %s, please choose another file\n", result, strerror(errno));
|
||||
snprintf(msg, MAX_COMMAND_LENGTH, "\"%s\" not found: %s, please choose another file\n", result, strerror(errno));
|
||||
platform_show_messagebox(msg);
|
||||
|
||||
return platform_open_common_file_dialog(outFilename, desc, outSize);
|
||||
} else
|
||||
if (desc->type == FD_SAVE && access(result, F_OK) != -1 && dtype == DT_KDIALOG) {
|
||||
snprintf(cmd, MAX_PATH, "%s --yesno \"Overwrite %s?\"", executable, result);
|
||||
snprintf(cmd, MAX_COMMAND_LENGTH, "%s --yesno \"Overwrite %s?\"", executable, result);
|
||||
|
||||
size = MAX_PATH;
|
||||
size = MAX_COMMAND_LENGTH;
|
||||
execute_cmd(cmd, &exit_value, 0, 0);
|
||||
|
||||
if (exit_value != 0) {
|
||||
|
@ -463,25 +463,25 @@ utf8 *platform_open_directory_browser(utf8 *title) {
|
|||
size_t size;
|
||||
dialog_type dtype;
|
||||
sint32 exit_value;
|
||||
char cmd[MAX_PATH];
|
||||
char cmd[MAX_COMMAND_LENGTH];
|
||||
char executable[MAX_PATH];
|
||||
char result[MAX_PATH];
|
||||
char result[MAX_COMMAND_LENGTH];
|
||||
char *return_value;
|
||||
|
||||
size = MAX_PATH;
|
||||
size = MAX_COMMAND_LENGTH;
|
||||
dtype = get_dialog_app(executable, &size);
|
||||
|
||||
switch (dtype) {
|
||||
case DT_KDIALOG:
|
||||
snprintf(cmd, MAX_PATH, "%s --title '%s' --getexistingdirectory /", executable, title);
|
||||
snprintf(cmd, MAX_COMMAND_LENGTH, "%s --title '%s' --getexistingdirectory /", executable, title);
|
||||
break;
|
||||
case DT_ZENITY:
|
||||
snprintf(cmd, MAX_PATH, "%s --title='%s' --file-selection --directory /", executable, title);
|
||||
snprintf(cmd, MAX_COMMAND_LENGTH, "%s --title='%s' --file-selection --directory /", executable, title);
|
||||
break;
|
||||
default: return 0;
|
||||
}
|
||||
|
||||
size = MAX_PATH;
|
||||
size = MAX_COMMAND_LENGTH;
|
||||
execute_cmd(cmd, &exit_value, result, &size);
|
||||
|
||||
if (exit_value != 0) {
|
||||
|
@ -498,27 +498,27 @@ utf8 *platform_open_directory_browser(utf8 *title) {
|
|||
void platform_show_messagebox(const char * message) {
|
||||
size_t size;
|
||||
dialog_type dtype;
|
||||
char cmd[MAX_PATH];
|
||||
char cmd[MAX_COMMAND_LENGTH];
|
||||
char executable[MAX_PATH];
|
||||
|
||||
log_verbose(message);
|
||||
|
||||
size = MAX_PATH;
|
||||
size = MAX_COMMAND_LENGTH;
|
||||
dtype = get_dialog_app(executable, &size);
|
||||
|
||||
switch (dtype) {
|
||||
case DT_KDIALOG:
|
||||
snprintf(cmd, MAX_PATH, "%s --title \"OpenRCT2\" --msgbox \"%s\"", executable, message);
|
||||
snprintf(cmd, MAX_COMMAND_LENGTH, "%s --title \"OpenRCT2\" --msgbox \"%s\"", executable, message);
|
||||
break;
|
||||
case DT_ZENITY:
|
||||
snprintf(cmd, MAX_PATH, "%s --title=\"OpenRCT2\" --info --text=\"%s\"", executable, message);
|
||||
snprintf(cmd, MAX_COMMAND_LENGTH, "%s --title=\"OpenRCT2\" --info --text=\"%s\"", executable, message);
|
||||
break;
|
||||
default:
|
||||
SDL_ShowSimpleMessageBox(SDL_MESSAGEBOX_WARNING, "OpenRCT2", message, gWindow);
|
||||
return;
|
||||
}
|
||||
|
||||
size = MAX_PATH;
|
||||
size = MAX_COMMAND_LENGTH;
|
||||
execute_cmd(cmd, 0, 0, 0);
|
||||
}
|
||||
|
||||
|
|
|
@ -35,6 +35,10 @@
|
|||
#define MAX_PATH 260
|
||||
#endif
|
||||
|
||||
#ifndef MAX_COMMAND_LENGTH
|
||||
#define MAX_COMMAND_LENGTH 512
|
||||
#endif
|
||||
|
||||
#ifdef __MACOSX__
|
||||
#define KEYBOARD_PRIMARY_MODIFIER KMOD_GUI
|
||||
#else
|
||||
|
|
Loading…
Reference in New Issue