Version v0.2.93 - Clean warnings
This commit is contained in:
40
otp.c
40
otp.c
@@ -2727,15 +2727,27 @@ int load_preferences(void) {
|
|||||||
char absolute_path[1024];
|
char absolute_path[1024];
|
||||||
if (current_pads_dir[0] == '/') {
|
if (current_pads_dir[0] == '/') {
|
||||||
// Already absolute path
|
// Already absolute path
|
||||||
snprintf(first_pad_path, sizeof(first_pad_path), "%s/%s", current_pads_dir, entry->d_name);
|
int ret = snprintf(first_pad_path, sizeof(first_pad_path), "%s/%s", current_pads_dir, entry->d_name);
|
||||||
|
if (ret >= (int)sizeof(first_pad_path)) {
|
||||||
|
// Path was truncated, skip this entry
|
||||||
|
continue;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// Relative path - make it absolute
|
// Relative path - make it absolute
|
||||||
char current_dir[512];
|
char current_dir[512];
|
||||||
if (getcwd(current_dir, sizeof(current_dir))) {
|
if (getcwd(current_dir, sizeof(current_dir))) {
|
||||||
snprintf(first_pad_path, sizeof(first_pad_path), "%s/%s/%s", current_dir, current_pads_dir, entry->d_name);
|
int ret = snprintf(first_pad_path, sizeof(first_pad_path), "%s/%s/%s", current_dir, current_pads_dir, entry->d_name);
|
||||||
|
if (ret >= (int)sizeof(first_pad_path)) {
|
||||||
|
// Path was truncated, skip this entry
|
||||||
|
continue;
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// Fallback to relative path
|
// Fallback to relative path
|
||||||
snprintf(first_pad_path, sizeof(first_pad_path), "%s/%s", current_pads_dir, entry->d_name);
|
int ret = snprintf(first_pad_path, sizeof(first_pad_path), "%s/%s", current_pads_dir, entry->d_name);
|
||||||
|
if (ret >= (int)sizeof(first_pad_path)) {
|
||||||
|
// Path was truncated, skip this entry
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
strncpy(default_pad_path, first_pad_path, sizeof(default_pad_path) - 1);
|
strncpy(default_pad_path, first_pad_path, sizeof(default_pad_path) - 1);
|
||||||
@@ -3744,15 +3756,31 @@ int handle_pads_menu(void) {
|
|||||||
char new_default_path[1024];
|
char new_default_path[1024];
|
||||||
if (current_pads_dir[0] == '/') {
|
if (current_pads_dir[0] == '/') {
|
||||||
// Already absolute path
|
// Already absolute path
|
||||||
snprintf(new_default_path, sizeof(new_default_path), "%s/%s.pad", current_pads_dir, pads[matched_pad].chksum);
|
int ret = snprintf(new_default_path, sizeof(new_default_path), "%s/%s.pad", current_pads_dir, pads[matched_pad].chksum);
|
||||||
|
if (ret >= (int)sizeof(new_default_path)) {
|
||||||
|
printf("Error: Path too long for default pad setting\n");
|
||||||
|
return handle_pads_menu();
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// Relative path - make it absolute
|
// Relative path - make it absolute
|
||||||
char current_dir[512];
|
char current_dir[512];
|
||||||
if (getcwd(current_dir, sizeof(current_dir))) {
|
if (getcwd(current_dir, sizeof(current_dir))) {
|
||||||
snprintf(new_default_path, sizeof(new_default_path), "%s/%s/%s.pad", current_dir, current_pads_dir, pads[matched_pad].chksum);
|
int ret = snprintf(new_default_path, sizeof(new_default_path), "%s/%s/%s.pad", current_dir, current_pads_dir, pads[matched_pad].chksum);
|
||||||
|
if (ret >= (int)sizeof(new_default_path)) {
|
||||||
|
// Path was truncated, fall back to relative path
|
||||||
|
int ret2 = snprintf(new_default_path, sizeof(new_default_path), "%s/%s.pad", current_pads_dir, pads[matched_pad].chksum);
|
||||||
|
if (ret2 >= (int)sizeof(new_default_path)) {
|
||||||
|
printf("Error: Path too long for default pad setting\n");
|
||||||
|
return handle_pads_menu();
|
||||||
|
}
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
// Fallback to relative path
|
// Fallback to relative path
|
||||||
snprintf(new_default_path, sizeof(new_default_path), "%s/%s.pad", current_pads_dir, pads[matched_pad].chksum);
|
int ret = snprintf(new_default_path, sizeof(new_default_path), "%s/%s.pad", current_pads_dir, pads[matched_pad].chksum);
|
||||||
|
if (ret >= (int)sizeof(new_default_path)) {
|
||||||
|
printf("Error: Path too long for default pad setting\n");
|
||||||
|
return handle_pads_menu();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user