/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <stdio.h>
+#include <string.h>
#if defined(__linux__)
#include <limits.h>
#include <string.h>
fd = open("/dev/apm", O_RDONLY);
if (fd < 0) {
- fprintf(stderr, "Failed to open file /dev/apm");
+ fprintf(stderr, "open '/dev/apm': %s\n", strerror(errno));
return NULL;
}
if (ioctl(fd, APM_IOC_GETPOWER, &apm_info) < 0) {
- fprintf(stderr, "Failed to get battery info");
+ fprintf(stderr, "ioctl 'APM_IOC_GETPOWER': %s\n", strerror(errno));
close(fd);
return NULL;
}
/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <stdio.h>
+#include <string.h>
#include <sys/statvfs.h>
#include "../util.h"
struct statvfs fs;
if (statvfs(mnt, &fs) < 0) {
- fprintf(stderr, "Failed to get filesystem info");
+ fprintf(stderr, "statvfs '%s': %s\n", mnt, strerror(errno));
return NULL;
}
struct statvfs fs;
if (statvfs(mnt, &fs) < 0) {
- fprintf(stderr, "Failed to get filesystem info");
+ fprintf(stderr, "statvfs '%s': %s\n", mnt, strerror(errno));
return NULL;
}
struct statvfs fs;
if (statvfs(mnt, &fs) < 0) {
- fprintf(stderr, "Failed to get filesystem info");
+ fprintf(stderr, "statvfs '%s': %s\n", mnt, strerror(errno));
return NULL;
}
struct statvfs fs;
if (statvfs(mnt, &fs) < 0) {
- fprintf(stderr, "Failed to get filesystem info");
+ fprintf(stderr, "statvfs '%s': %s\n", mnt, strerror(errno));
return NULL;
}
/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <stdio.h>
+#include <string.h>
#include <unistd.h>
#include "../util.h"
hostname(void)
{
if (gethostname(buf, sizeof(buf)) == -1) {
- fprintf(stderr, "gethostbyname failed");
+ fprintf(stderr, "gethostbyname: %s\n", strerror(errno));
return NULL;
}
/* See LICENSE file for copyright and license details. */
#if defined(__linux__)
+#include <errno.h>
#include <ifaddrs.h>
#include <netdb.h>
#include <stdio.h>
char host[NI_MAXHOST];
if (getifaddrs(&ifaddr) == -1) {
- fprintf(stderr, "Failed to get IPv4 address for interface %s", iface);
+ fprintf(stderr, "getifaddrs: %s\n", strerror(errno));
return NULL;
}
s = getnameinfo(ifa->ifa_addr, sizeof(struct sockaddr_in), host, NI_MAXHOST, NULL, 0, NI_NUMERICHOST);
if ((strcmp(ifa->ifa_name, iface) == 0) && (ifa->ifa_addr->sa_family == AF_INET)) {
if (s != 0) {
- fprintf(stderr, "Failed to get IPv4 address for interface %s", iface);
+ fprintf(stderr, "getnameinfo: %s\n", gai_strerror(s));
return NULL;
}
return bprintf("%s", host);
char host[NI_MAXHOST];
if (getifaddrs(&ifaddr) == -1) {
- fprintf(stderr, "Failed to get IPv6 address for interface %s", iface);
+ fprintf(stderr, "getifaddrs: %s\n", strerror(errno));
return NULL;
}
s = getnameinfo(ifa->ifa_addr, sizeof(struct sockaddr_in6), host, NI_MAXHOST, NULL, 0, NI_NUMERICHOST);
if ((strcmp(ifa->ifa_name, iface) == 0) && (ifa->ifa_addr->sa_family == AF_INET6)) {
if (s != 0) {
- fprintf(stderr, "Failed to get IPv6 address for interface %s", iface);
+ fprintf(stderr, "getnameinfo: %s\n", gai_strerror(s));
return NULL;
}
return bprintf("%s", host);
/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <sys/utsname.h>
#include <stdio.h>
+#include <string.h>
#include "../util.h"
struct utsname udata;
if (uname(&udata) < 0) {
+ fprintf(stderr, "uname: %s\n", strerror(errno));
return NULL;
}
XKeyboardState state;
if (dpy == NULL) {
- fprintf(stderr, "Cannot open display");
+ fprintf(stderr, "Cannot open display\n");
return NULL;
}
XGetKeyboardControl(dpy, &state);
double avgs[3];
if (getloadavg(avgs, 3) < 0) {
- fprintf(stderr, "Failed to get the load avg");
+ fprintf(stderr, "getloadavg: Could not obtain load average.\n");
return NULL;
}
/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <dirent.h>
#include <stdio.h>
#include <string.h>
int num = 0;
if ((fd = opendir(dir)) == NULL) {
- fprintf(stderr, "Failed to get number of files in directory %s", dir);
+ fprintf(stderr, "opendir '%s': %s\n", dir, strerror(errno));
return NULL;
}
/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <stdio.h>
#include <string.h>
fp = popen(cmd, "r");
if (fp == NULL) {
- fprintf(stderr, "Failed to get command output for %s", cmd);
+ fprintf(stderr, "popen '%s': %s\n", cmd, strerror(errno));
return NULL;
}
p = fgets(buf, sizeof(buf) - 1, fp);
/* See LICENSE file for copyright and license details. */
#if defined(__linux__)
+#include <errno.h>
#include <stdio.h>
#include <string.h>
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
- fprintf(stderr, "Failed to open file /proc/meminfo");
+ fprintf(stderr, "fopen '/proc/meminfo': %s\n", strerror(errno));
return NULL;
}
if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) {
- fprintf(stderr, "swap_free: read error");
+ fprintf(stderr, "fread '/proc/meminfo': %s\n", strerror(errno));
fclose(fp);
return NULL;
}
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
- fprintf(stderr, "Failed to open file /proc/meminfo");
+ fprintf(stderr, "fopen '/proc/meminfo': %s\n", strerror(errno));
return NULL;
}
if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) {
- fprintf(stderr, "swap_perc: read error");
+ fprintf(stderr, "fread '/proc/meminfo': %s\n", strerror(errno));
fclose(fp);
return NULL;
}
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
- fprintf(stderr, "Failed to open file /proc/meminfo");
+ fprintf(stderr, "fopen '/proc/meminfo': %s\n", strerror(errno));
return NULL;
}
if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) {
- fprintf(stderr, "swap_total: read error");
+ fprintf(stderr, "fread '/proc/meminfo': %s\n", strerror(errno));
fclose(fp);
return NULL;
}
fp = fopen("/proc/meminfo", "r");
if (fp == NULL) {
- fprintf(stderr, "Failed to open file /proc/meminfo");
+ fprintf(stderr, "fopen '/proc/meminfo': %s\n", strerror(errno));
return NULL;
}
if ((bytes_read = fread(buf, sizeof(char), sizeof(buf) - 1, fp)) == 0) {
- fprintf(stderr, "swap_used: read error");
+ fprintf(stderr, "fread '/proc/meminfo': %s\n", strerror(errno));
fclose(fp);
return NULL;
}
/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <stdio.h>
+#include <string.h>
#if defined(__linux__)
#include <sys/sysinfo.h>
#elif defined(__OpenBSD__)
if (sysctl(mib, 2, &boottime, &size, NULL, 0) != -1)
uptime = now - boottime.tv_sec;
- else
+ else {
+ fprintf(stderr, "sysctl 'KERN_BOOTTIME': %s\n", strerror(errno));
return NULL;
+ }
#endif
h = uptime / 3600;
m = (uptime - h * 3600) / 60;
/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <pwd.h>
#include <stdio.h>
+#include <string.h>
#include <sys/types.h>
#include <unistd.h>
struct passwd *pw = getpwuid(geteuid());
if (pw == NULL) {
- fprintf(stderr, "Failed to get username");
+ fprintf(stderr, "getpwuid '%d': %s\n", geteuid(), strerror(errno));
return NULL;
}
/* See LICENSE file for copyright and license details. */
#if defined(__linux__)
+#include <errno.h>
#include <fcntl.h>
#include <sys/soundcard.h>
#include <sys/ioctl.h>
afd = open(card, O_RDONLY | O_NONBLOCK);
if (afd == -1) {
- fprintf(stderr, "Cannot open %s", card);
+ fprintf(stderr, "open '%s': %s\n", card, strerror(errno));
return NULL;
}
if (ioctl(afd, SOUND_MIXER_READ_DEVMASK, &devmask) == -1) {
- fprintf(stderr, "Cannot get volume for %s", card);
+ fprintf(stderr, "ioctl 'SOUND_MIXER_READ_DEVMASK': %s\n", strerror(errno));
close(afd);
return NULL;
}
for (i = 0; i < LEN(vnames); i++) {
if (devmask & (1 << i) && !strcmp("vol", vnames[i])) {
if (ioctl(afd, MIXER_READ(i), &v) == -1) {
- fprintf(stderr, "vol_perc: ioctl");
+ fprintf(stderr, "ioctl 'MIXER_READ(%d)': %s\n", i, strerror(errno));
close(afd);
return NULL;
}
/* See LICENSE file for copyright and license details. */
#if defined(__linux__)
+#include <errno.h>
#include <ifaddrs.h>
#include <linux/wireless.h>
#include <sys/socket.h>
snprintf(path, sizeof(path), "%s%s%s", "/sys/class/net/", iface, "/operstate");
fp = fopen(path, "r");
if (fp == NULL) {
- fprintf(stderr, "Failed to open file %s", path);
+ fprintf(stderr, "fopen '%s': %s\n", path, strerror(errno));
return NULL;
}
p = fgets(status, 5, fp);
fp = fopen("/proc/net/wireless", "r");
if (fp == NULL) {
- fprintf(stderr, "Failed to open file /proc/net/wireless");
+ fprintf(stderr, "fopen '/proc/net/wireless': %s\n", strerror(errno));
return NULL;
}
snprintf(wreq.ifr_name, sizeof(wreq.ifr_name), "%s", iface);
if (sockfd == -1) {
- fprintf(stderr, "Failed to get ESSID for interface %s", iface);
+ fprintf(stderr, "socket 'AF_INET': %s\n", strerror(errno));
return NULL;
}
wreq.u.essid.pointer = id;
if (ioctl(sockfd,SIOCGIWESSID, &wreq) == -1) {
- fprintf(stderr, "Failed to get ESSID for interface %s", iface);
+ fprintf(stderr, "ioctl 'SIOCGIWESSID': %s\n", strerror(errno));
close(sockfd);
return NULL;
}
/* See LICENSE file for copyright and license details. */
+#include <errno.h>
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
int n;
if (!(fp = fopen(path, "r"))) {
- fprintf(stderr, "fopen for %s failed", path);
+ fprintf(stderr, "fopen '%s': %s\n", path, strerror(errno));
return -1;
}
va_start(ap, fmt);