(void) setrlimit(RLIMIT_NOFILE, &rlim);
/* start with empty ps LL */
- ps_first = calloc(1, sizeof(struct ps_struct));
+ ps_first = new0(struct ps_struct, 1);
if (!ps_first) {
- perror("calloc(ps_struct)");
- exit(EXIT_FAILURE);
+ log_oom();
+ return EXIT_FAILURE;
}
/* handle TERM/INT nicely */
/* caught signal, probably HUP! */
break;
}
- perror("nanosleep()");
- exit (EXIT_FAILURE);
+ log_error("nanosleep() failed: %m");
+ exit(EXIT_FAILURE);
}
} else {
overrun++;
struct list_sample_data *sampledata;
struct ps_sched_struct *ps_prev = NULL;
-
-
sampledata = *ptr;
/* all the per-process stuff goes here */
/* block stuff */
vmstat = openat(procfd, "vmstat", O_RDONLY);
if (vmstat == -1) {
- perror("open /proc/vmstat");
- exit (EXIT_FAILURE);
+ log_error("Failed to open /proc/vmstat: %m");
+ exit(EXIT_FAILURE);
}
}
/* overall CPU utilization */
schedstat = openat(procfd, "schedstat", O_RDONLY);
if (schedstat == -1) {
- perror("open /proc/schedstat");
- exit (EXIT_FAILURE);
+ log_error("Failed to open /proc/schedstat: %m");
+ exit(EXIT_FAILURE);
}
}
char t[32];
struct ps_struct *parent;
- ps->next_ps = calloc(1, sizeof(struct ps_struct));
+ ps->next_ps = new0(struct ps_struct, 1);
if (!ps->next_ps) {
- perror("calloc(ps_struct)");
+ log_oom();
exit (EXIT_FAILURE);
}
ps = ps->next_ps;
ps->pid = pid;
- ps->sample = calloc(1, sizeof(struct ps_sched_struct));
+ ps->sample = new0(struct ps_sched_struct, 1);
if (!ps->sample) {
- perror("calloc(ps_struct)");
+ log_oom();
exit (EXIT_FAILURE);
}
ps->sample->sampledata = sampledata;
if (!sscanf(buf, "%s %s %*s", rt, wt))
continue;
- ps->sample->next = calloc(1, sizeof(struct ps_sched_struct));
+ ps->sample->next = new0(struct ps_sched_struct, 1);
if (!ps->sample) {
- perror("calloc(ps_struct)");
- exit (EXIT_FAILURE);
+ log_oom();
+ exit(EXIT_FAILURE);
}
ps->sample->next->prev = ps->sample;
ps->sample = ps->sample->next;
if (udev == NULL)
return NULL;
- udev_device = calloc(1, sizeof(struct udev_device));
+ udev_device = new0(struct udev_device, 1);
if (udev_device == NULL)
return NULL;
udev_device->refcount = 1;
if (udev == NULL)
return NULL;
- udev_enumerate = calloc(1, sizeof(struct udev_enumerate));
+ udev_enumerate = new0(struct udev_enumerate, 1);
if (udev_enumerate == NULL)
return NULL;
udev_enumerate->refcount = 1;
}
/* add new name */
- entry = calloc(1, sizeof(struct udev_list_entry));
+ entry = new0(struct udev_list_entry, 1);
if (entry == NULL)
return NULL;
entry->name = strdup(name);
{
struct udev_monitor *udev_monitor;
- udev_monitor = calloc(1, sizeof(struct udev_monitor));
+ udev_monitor = new0(struct udev_monitor, 1);
if (udev_monitor == NULL)
return NULL;
udev_monitor->refcount = 1;
if (udev == NULL)
return NULL;
- udev_queue_export = calloc(1, sizeof(struct udev_queue_export));
+ udev_queue_export = new0(struct udev_queue_export, 1);
if (udev_queue_export == NULL)
return NULL;
udev_queue_export->udev = udev;
udev_err(udev_queue_export->udev, "queue file overflow\n");
return NULL;
}
- devpaths = calloc(1, sizeof(struct queue_devpaths) + (range + 1) * sizeof(long));
+ devpaths = malloc0(sizeof(struct queue_devpaths) + (range + 1) * sizeof(long));
if (devpaths == NULL)
return NULL;
devpaths->devpaths_size = range + 1;
if (udev == NULL)
return NULL;
- udev_queue = calloc(1, sizeof(struct udev_queue));
+ udev_queue = new0(struct udev_queue, 1);
if (udev_queue == NULL)
return NULL;
udev_queue->refcount = 1;
udev_device_unref(dev);
return 0;
}
+
ssize_t util_get_sys_core_link_value(struct udev *udev, const char *slink, const char *syspath, char *value, size_t size)
{
char path[UTIL_PATH_SIZE];
ssize_t print_kmsg(const char *fmt, ...)
{
- int fd;
+ _cleanup_close_ int fd = -1;
va_list ap;
char text[1024];
ssize_t len;
ret = write(fd, text, len);
if (ret < 0)
- ret = -errno;
- close(fd);
+ return -errno;
+
return ret;
}
const char *env;
FILE *f;
- udev = calloc(1, sizeof(struct udev));
+ udev = new0(struct udev, 1);
if (udev == NULL)
return NULL;
udev->refcount = 1;
return -EINVAL;
}
- transitions = (time_t *)calloc(total_size + tzspec_len, 1);
+ transitions = malloc0(total_size + tzspec_len);
if (transitions == NULL)
return -EINVAL;
struct udev_ctrl *uctrl;
const int on = 1;
- uctrl = calloc(1, sizeof(struct udev_ctrl));
+ uctrl = new0(struct udev_ctrl, 1);
if (uctrl == NULL)
return NULL;
uctrl->refcount = 1;
struct udev *udev = udev_device_get_udev(dev);
struct udev_event *event;
- event = calloc(1, sizeof(struct udev_event));
+ event = new0(struct udev_event, 1);
if (event == NULL)
return NULL;
event->dev = dev;
char **files, **f;
int r;
- rules = calloc(1, sizeof(struct udev_rules));
+ rules = new0(struct udev_rules, 1);
if (rules == NULL)
return NULL;
rules->udev = udev;
continue;
/* split node */
- new_child = calloc(sizeof(struct trie_node), 1);
+ new_child = new0(struct trie_node, 1);
if (!new_child)
return -ENOMEM;
ssize_t off;
/* new child */
- child = calloc(sizeof(struct trie_node), 1);
+ child = new0(struct trie_node, 1);
if (!child)
return -ENOMEM;
char **files, **f;
_cleanup_free_ char *hwdb_bin = NULL;
- trie = calloc(sizeof(struct trie), 1);
+ trie = new0(struct trie, 1);
if (!trie) {
rc = EXIT_FAILURE;
goto out;
}
/* index */
- trie->root = calloc(sizeof(struct trie_node), 1);
+ trie->root = new0(struct trie_node, 1);
if (!trie->root) {
rc = EXIT_FAILURE;
goto out;
udev_monitor_allow_unicast_sender(worker_monitor, monitor);
udev_monitor_enable_receiving(worker_monitor);
- worker = calloc(1, sizeof(struct worker));
+ worker = new0(struct worker, 1);
if (worker == NULL) {
udev_monitor_unref(worker_monitor);
return;
{
struct event *event;
- event = calloc(1, sizeof(struct event));
+ event = new0(struct event, 1);
if (event == NULL)
return -1;