[jsonapi] Fix error in web interface files-view if the library directory
end with a trailing slash
This commit is contained in:
parent
8e7105007b
commit
9fff02841b
|
@ -30,10 +30,12 @@
|
||||||
# include <config.h>
|
# include <config.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <errno.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <regex.h>
|
#include <regex.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <time.h>
|
#include <time.h>
|
||||||
|
|
||||||
|
@ -636,6 +638,7 @@ jsonapi_reply_config(struct httpd_request *hreq)
|
||||||
cfg_t *lib;
|
cfg_t *lib;
|
||||||
int ndirs;
|
int ndirs;
|
||||||
char *path;
|
char *path;
|
||||||
|
char *deref;
|
||||||
json_object *directories;
|
json_object *directories;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
|
@ -674,7 +677,18 @@ jsonapi_reply_config(struct httpd_request *hreq)
|
||||||
for (i = 0; i < ndirs; i++)
|
for (i = 0; i < ndirs; i++)
|
||||||
{
|
{
|
||||||
path = cfg_getnstr(lib, "directories", i);
|
path = cfg_getnstr(lib, "directories", i);
|
||||||
json_object_array_add(directories, json_object_new_string(path));
|
|
||||||
|
// The path in the conf file may have a trailing slash character. Return the realpath like it is done in the bulk_scan function in filescanner.c
|
||||||
|
deref = realpath(path, NULL);
|
||||||
|
if (deref)
|
||||||
|
{
|
||||||
|
json_object_array_add(directories, json_object_new_string(deref));
|
||||||
|
free(deref);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
DPRINTF(E_LOG, L_WEB, "Skipping library directory %s, could not dereference: %s\n", path, strerror(errno));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
json_object_object_add(jreply, "directories", directories);
|
json_object_object_add(jreply, "directories", directories);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue