Nothing was telling that the content couldn't be
set as executable. Note that nothing is made to check
that a content (executable or not) exist.
Also note that installing several executables for
one widget isn't possible now.
Change-Id: I10373fa27cd8d1d90c292e3529d8a5eec62bb8f0
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
static int install_exec_flag(const struct wgt_desc *desc)
{
- int i;
+ int i, rc;
if (desc->content_type) {
i = sizeof exec_type_strings / sizeof *exec_type_strings;
while (i) {
- if (!strcasecmp(desc->content_type, exec_type_strings[--i]))
- return fchmodat(workdirfd, desc->content_src, 0755, 0);
+ if (!strcasecmp(desc->content_type, exec_type_strings[--i])) {
+ rc = fchmodat(workdirfd, desc->content_src, 0755, 0);
+ if (rc < 0)
+ ERROR("can't make executable the file %s", desc->content_src);
+ return rc;
+ }
}
}
return 0;