Change-Id: I623546a8c134b54f7b62b42a980f603202e42868
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
/* install the widgets of the list */
int main(int ac, char **av)
{
/* install the widgets of the list */
int main(int ac, char **av)
{
struct wgt_info *ifo;
LOGAUTH(appname);
struct wgt_info *ifo;
LOGAUTH(appname);
verbosity++;
break;
case 'p':
verbosity++;
break;
case 'p':
- grant_permission_list(optarg);
+ rc = grant_permission_list(optarg);
+ if (rc < 0) {
+ ERROR("Can't set granted permission list");
+ exit(1);
+ }
break;
case ':':
ERROR("missing argument value");
break;
case ':':
ERROR("missing argument value");
}
/* add permissions granted for installation */
}
/* add permissions granted for installation */
-void grant_permission_list(const char *list)
+int grant_permission_list(const char *list)
{
struct permission *p;
char *iter, c;
{
struct permission *p;
char *iter, c;
iter[n] = 0;
p = add_permission(iter);
if (!p) {
iter[n] = 0;
p = add_permission(iter);
if (!p) {
- ERROR("Can't allocate permission");
- exit(1);
+ errno = ENOMEM;
+ return -1;
}
p->granted = 1;
iter += n;
*iter =c;
iter += strspn(iter, separators);
}
}
p->granted = 1;
iter += n;
*iter =c;
iter += strspn(iter, separators);
}
}
/* checks if the permission 'name' is recorded */
}
/* checks if the permission 'name' is recorded */
extern int is_standard_permission(const char *name);
extern void reset_permissions();
extern void crop_permissions(unsigned level);
extern int is_standard_permission(const char *name);
extern void reset_permissions();
extern void crop_permissions(unsigned level);
-extern void grant_permission_list(const char *list);
+extern int grant_permission_list(const char *list);
extern int permission_exists(const char *name);
extern int request_permission(const char *name);
extern const char *first_usable_permission();
extern int permission_exists(const char *name);
extern int request_permission(const char *name);
extern const char *first_usable_permission();