forked from osmocom/wireshark
get_datafile_path() and get_persconffile_path() return malloc'd memory,
free it when we're done with the file name. svn path=/trunk/; revision=24478
This commit is contained in:
parent
1c319c4e2c
commit
2389b57232
|
@ -759,8 +759,10 @@ color_filters_write(GSList *cfl)
|
|||
simple_dialog(ESD_TYPE_ERROR, ESD_BTN_OK,
|
||||
"Could not open\n%s\nfor writing: %s.",
|
||||
path, strerror(errno));
|
||||
g_free(path);
|
||||
return FALSE;
|
||||
}
|
||||
g_free(path);
|
||||
write_filters_file(cfl, f, FALSE);
|
||||
fclose(f);
|
||||
return TRUE;
|
||||
|
|
51
filters.c
51
filters.c
|
@ -170,33 +170,36 @@ read_filter_list(filter_list_type_t list_type, char **pref_path_return,
|
|||
g_free(ff_path);
|
||||
ff_path = get_persconffile_path(FILTER_FILE_NAME, FALSE, FALSE);
|
||||
if ((ff = eth_fopen(ff_path, "r")) == NULL) {
|
||||
/*
|
||||
* Did that fail because the file didn't exist?
|
||||
*/
|
||||
if (errno != ENOENT) {
|
||||
/*
|
||||
* No. Just give up.
|
||||
* Did that fail because the file didn't exist?
|
||||
*/
|
||||
*pref_path_return = ff_path;
|
||||
*errno_return = errno;
|
||||
return;
|
||||
if (errno != ENOENT) {
|
||||
/*
|
||||
* No. Just give up.
|
||||
*/
|
||||
*pref_path_return = ff_path;
|
||||
*errno_return = errno;
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Try to open the global "cfilters/dfilters" file */
|
||||
g_free(ff_path);
|
||||
ff_path = get_datafile_path(ff_name);
|
||||
if ((ff = eth_fopen(ff_path, "r")) == NULL) {
|
||||
|
||||
/*
|
||||
* Well, that didn't work, either. Just give up.
|
||||
* Return an error if the file existed but we couldn't open it.
|
||||
*/
|
||||
if (errno != ENOENT) {
|
||||
*pref_path_return = ff_path;
|
||||
*errno_return = errno;
|
||||
} else {
|
||||
g_free(ff_path);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
/*
|
||||
* Try to open the global "cfilters/dfilters" file */
|
||||
ff_path = get_datafile_path(ff_name);
|
||||
if ((ff = eth_fopen(ff_path, "r")) == NULL) {
|
||||
|
||||
/*
|
||||
* Well, that didn't work, either. Just give up.
|
||||
* Return an error if the file existed but we couldn't open it.
|
||||
*/
|
||||
if (errno != ENOENT) {
|
||||
*pref_path_return = ff_path;
|
||||
*errno_return = errno;
|
||||
}
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue