Fix lack of message when setting exec bit
authorJosé Bollo <jose.bollo@iot.bzh>
Tue, 30 May 2017 15:19:11 +0000 (17:19 +0200)
committerJosé Bollo <jose.bollo@iot.bzh>
Tue, 30 May 2017 15:19:11 +0000 (17:19 +0200)
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>
src/wgtpkg-install.c

index 44d2171..e4c3bbc 100644 (file)
@@ -268,13 +268,17 @@ static int install_icon(const struct wgt_desc *desc)
 
 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;