Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 98900f58 authored by Christopher Desjardins's avatar Christopher Desjardins Committed by android-build-merger
Browse files

Merge "Make ueventd error messages indicate where the error is in ueventd script" am: fd72bbe9

am: ec2fb683

Change-Id: I48b598b16891aca67372e365ae775a42fd2ce4ba
parents 0bba8acf ec2fb683
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -94,7 +94,7 @@ int ueventd_main(int argc, char **argv)
    return 0;
}

void set_device_permission(int nargs, char **args)
void set_device_permission(const char* fn, int line, int nargs, char **args)
{
    char *name;
    char *attr = 0;
@@ -121,7 +121,7 @@ void set_device_permission(int nargs, char **args)
    }

    if (nargs != 4) {
        LOG(ERROR) << "invalid line ueventd.rc line for '" << args[0] << "'";
        LOG(ERROR) << "invalid line (" << fn << ":" << line << ") line for '" << args[0] << "'";
        return;
    }

@@ -136,20 +136,20 @@ void set_device_permission(int nargs, char **args)

    perm = strtol(args[1], &endptr, 8);
    if (!endptr || *endptr != '\0') {
        LOG(ERROR) << "invalid mode '" << args[1] << "'";
        LOG(ERROR) << "invalid mode (" << fn << ":" << line << ") '" << args[1] << "'";
        return;
    }

    struct passwd* pwd = getpwnam(args[2]);
    if (!pwd) {
        LOG(ERROR) << "invalid uid '" << args[2] << "'";
        LOG(ERROR) << "invalid uid (" << fn << ":" << line << ") '" << args[2] << "'";
        return;
    }
    uid = pwd->pw_uid;

    struct group* grp = getgrnam(args[3]);
    if (!grp) {
        LOG(ERROR) << "invalid gid '" << args[3] << "'";
        LOG(ERROR) << "invalid gid (" << fn << ":" << line << ") '" << args[3] << "'";
        return;
    }
    gid = grp->gr_gid;
+2 −2
Original line number Diff line number Diff line
@@ -236,6 +236,6 @@ int ueventd_parse_config_file(const char *fn)
    return 0;
}

static void parse_line_device(parse_state*, int nargs, char** args) {
    set_device_permission(nargs, args);
static void parse_line_device(parse_state* state, int nargs, char** args) {
    set_device_permission(state->filename, state->line, nargs, args);
}
+1 −1
Original line number Diff line number Diff line
@@ -22,7 +22,7 @@
#define UEVENTD_PARSER_MAXARGS 5

int ueventd_parse_config_file(const char *fn);
void set_device_permission(int nargs, char **args);
void set_device_permission(const char* fn, int line, int nargs, char **args);
struct ueventd_subsystem *ueventd_subsystem_find_by_name(const char *name);

#endif