item->type = sched_signal;
} else {
badusage(
- "invalid schedule item (must be [-]<signal-name>, "
- "-<signal-number>, <timeout> or `forever'");
+ "invalid schedule item (must be [-]<signal-name>, -<signal-number>, <timeout> or `forever'");
}
}
parse_schedule_item(schedule_str, &schedule[1]);
if (schedule[1].type != sched_timeout) {
badusage(
- "--retry takes timeout, or schedule list"
- " of at least two items");
+ "--retry takes timeout, or schedule list of at least two items");
}
schedule[2].type = sched_signal;
schedule[2].value = SIGKILL;
: (ptrdiff_t)strlen(schedule_str);
if (str_len >= (ptrdiff_t)sizeof(item_buf))
badusage(
- "invalid schedule item: far too long"
- " (you must delimit items with slashes)");
+ "invalid schedule item: far too long (you must delimit items with slashes)");
memcpy(item_buf, schedule_str, str_len);
item_buf[str_len] = 0;
schedule_str = slash ? slash + 1 : NULL;
if (schedule[count].type == sched_forever) {
if (repeatat >= 0)
badusage(
- "invalid schedule: `forever'"
- " appears more than once");
+ "invalid schedule: `forever' appears more than once");
repeatat = count;
continue;
}
if (signal_str != NULL) {
if (parse_signal(signal_str, &signal_nr) != 0)
badusage(
- "signal value must be numeric or name"
- " of signal (KILL, INTR, ...)");
+ "signal value must be numeric or name of signal (KILL, INTR, ...)");
}
if (schedule_str != NULL) {
static int pid_is_exec(pid_t pid, const struct stat *esb)
{
struct stat sb;
- char buf[32];
+ char buf[PATH_MAX];
- sprintf(buf, "/proc/%ld/exe", (long)pid);
+ snprintf(buf, sizeof(buf), "/proc/%ld/exe", (long)pid);
if (stat(buf, &sb) != 0)
return 0;
return (sb.st_dev == esb->st_dev && sb.st_ino == esb->st_ino);
static int pid_is_user(pid_t pid, uid_t uid)
{
struct stat sb;
- char buf[32];
+ char buf[PATH_MAX];
- sprintf(buf, "/proc/%ld", (long)pid);
+ snprintf(buf, sizeof(buf), "/proc/%ld", (long)pid);
if (stat(buf, &sb) != 0)
return 0;
return (sb.st_uid == uid);
static int pid_is_cmd(pid_t pid, const char *name)
{
- char buf[32];
+ char buf[PATH_MAX];
FILE *f;
int c;
- sprintf(buf, "/proc/%ld/stat", (long)pid);
+ snprintf(buf, sizeof(buf), "/proc/%ld/stat", (long)pid);
f = fopen(buf, "r");
if (!f)
return 0;