static int init_hostname(void) {
const char *str = global_option_get("Hostname");
- if ((str != NULL) && (str[0] != 0)) {
+ if (str && str[0] != '\0') {
hostname_set(str);
return 0;
}
return -1;
}
- for (struct addrinfo *ai_ptr = ai_list; ai_ptr != NULL;
- ai_ptr = ai_ptr->ai_next) {
+ for (struct addrinfo *ai_ptr = ai_list; ai_ptr; ai_ptr = ai_ptr->ai_next) {
if (ai_ptr->ai_canonname == NULL)
continue;
} /* int init_hostname */
static int init_global_variables(void) {
- char const *str;
-
interval_g = cf_get_default_interval();
assert(interval_g > 0);
DEBUG("interval_g = %.3f;", CDTIME_T_TO_DOUBLE(interval_g));
- str = global_option_get("Timeout");
+ const char *str = global_option_get("Timeout");
if (str == NULL)
str = "2";
timeout_g = atoi(str);
} /* int init_global_variables */
static int change_basedir(const char *orig_dir, bool create) {
- char *dir;
- size_t dirlen;
- int status;
-
- dir = strdup(orig_dir);
+ char *dir = strdup(orig_dir);
if (dir == NULL) {
ERROR("strdup failed: %s", STRERRNO);
return -1;
}
- dirlen = strlen(dir);
+ size_t dirlen = strlen(dir);
while ((dirlen > 0) && (dir[dirlen - 1] == '/'))
dir[--dirlen] = '\0';
return -1;
}
- status = chdir(dir);
+ int status = chdir(dir);
if (status == 0) {
free(dir);
return 0;
if ((kc = kstat_open()) == NULL)
ERROR("Unable to open kstat control structure");
} else {
- kid_t kid;
- kid = kstat_chain_update(kc);
+ kid_t kid = kstat_chain_update(kc);
if (kid > 0) {
INFO("kstat chain has been updated");
plugin_init_all();
} /* static void update_kstat (void) */
#endif /* HAVE_LIBKSTAT */
-/* TODO
- * Remove all settings but `-f' and `-C'
- */
__attribute__((noreturn)) static void exit_usage(int status) {
printf("Usage: " PACKAGE_NAME " [OPTIONS]\n\n"
static int do_loop(void) {
cdtime_t interval = cf_get_default_interval();
- cdtime_t wait_until;
-
- wait_until = cdtime() + interval;
+ cdtime_t wait_until = cdtime() + interval;
while (loop == 0) {
- cdtime_t now;
-
#if HAVE_LIBKSTAT
update_kstat();
#endif
/* Issue all plugins */
plugin_read_all();
- now = cdtime();
+ cdtime_t now = cdtime();
if (now >= wait_until) {
WARNING("Not sleeping because the next interval is "
"%.3f seconds in the past!",
}
static int notify_systemd(void) {
- int fd;
- const char *notifysocket;
- struct sockaddr_un su = {0};
size_t su_size;
- char buffer[] = "READY=1\n";
-
- notifysocket = getenv("NOTIFY_SOCKET");
+ const char *notifysocket = getenv("NOTIFY_SOCKET");
if (notifysocket == NULL)
return 0;
unsetenv("NOTIFY_SOCKET");
+ int fd;
#if defined(SOCK_CLOEXEC)
fd = socket(AF_UNIX, SOCK_DGRAM | SOCK_CLOEXEC, /* protocol = */ 0);
#else
return 0;
}
+ struct sockaddr_un su = {0};
su.sun_family = AF_UNIX;
if (notifysocket[0] != '@') {
/* regular UNIX socket */
su_size = sizeof(su);
}
+ const char buffer[] = "READY=1\n";
if (sendto(fd, buffer, strlen(buffer), MSG_NOSIGNAL, (void *)&su,
(socklen_t)su_size) < 0) {
ERROR("sendto(\"%s\") failed: %s", notifysocket, STRERRNO);
static void read_cmdline(int argc, char **argv, struct cmdline_config *config) {
/* read options */
while (1) {
- int c;
- c = getopt(argc, argv, "htTC:"
+ int c = getopt(argc, argv, "htTC:"
#if COLLECT_DAEMON
- "fP:"
+ "fP:"
#endif
- );
+ );
if (c == -1)
break;
}
static int configure_collectd(struct cmdline_config *config) {
- const char *basedir;
/*
* Read options from the config file, the environment and the command
* line (in that order, with later options overwriting previous ones in
* Change directory. We do this _after_ reading the config and loading
* modules to relative paths work as expected.
*/
+ const char *basedir;
if ((basedir = global_option_get("BaseDir")) == NULL) {
fprintf(stderr,
"Don't have a basedir to use. This should not happen. Ever.");
}
int main(int argc, char **argv) {
-#if COLLECT_DAEMON
- pid_t pid;
-#endif
int exit_status = 0;
struct cmdline_config config = {
&& notify_upstart() == 0 && notify_systemd() == 0
#endif
) {
- int status;
-
+ pid_t pid;
if ((pid = fork()) == -1) {
/* error */
fprintf(stderr, "fork: %s", STRERRNO);
close(1);
close(0);
- status = open("/dev/null", O_RDWR);
+ int status = open("/dev/null", O_RDWR);
if (status != 0) {
ERROR("Error: Could not connect `STDIN' to `/dev/null' (status %d)",
status);
*/
struct sigaction sig_int_action = {.sa_handler = sig_int_handler};
- if (0 != sigaction(SIGINT, &sig_int_action, NULL)) {
+ if (sigaction(SIGINT, &sig_int_action, NULL) != 0) {
ERROR("Error: Failed to install a signal handler for signal INT: %s",
STRERRNO);
return 1;
struct sigaction sig_term_action = {.sa_handler = sig_term_handler};
- if (0 != sigaction(SIGTERM, &sig_term_action, NULL)) {
+ if (sigaction(SIGTERM, &sig_term_action, NULL) != 0) {
ERROR("Error: Failed to install a signal handler for signal TERM: %s",
STRERRNO);
return 1;
struct sigaction sig_usr1_action = {.sa_handler = sig_usr1_handler};
- if (0 != sigaction(SIGUSR1, &sig_usr1_action, NULL)) {
+ if (sigaction(SIGUSR1, &sig_usr1_action, NULL) != 0) {
ERROR("Error: Failed to install a signal handler for signal USR1: %s",
STRERRNO);
return 1;