#include <stdlib.h>
#include <stdio.h>
#include <string.h>
-#include <error.h>
#include "parser.h"
#include "process.h"
const char digitemp_cmd[] = "/usr/bin/digitemp";
char *const digitemp_args[] = { "", "-o2", "-a", "-q", 0 };
FILE *readf;
- int pid, ret, error;
+ int pid, ret;
float t1 = 0, t2 = 0, t3 = 0;
char buf[1024];
ret = fscanf(readf, "%f %f %f", &t1, &t2, &t3);
if (ret != 3) {
- error = errno;
- pr_err("Failed to parse digitemp output: %s\n",
- strerror(error));
+ pr_err("Failed to parse digitemp output: %m\n");
sprintf(data, "U:U");
return 1;
}
if (netdev == NULL) {
error = errno;
- pr_err("Failed to open file %s: %d (%s)\n",
- PROC_NETDEV, error, strerror(error));
+ pr_err("Failed to open file %s: %d (%m)\n",
+ PROC_NETDEV, error);
return error;
}
int do_fork(void)
{
- int child, error;
+ int child;
child = fork();
if (child < 0) {
- error = errno;
- pr_err("fork() failed: %s\n", strerror(error));
+ pr_err("fork() failed: %m\n");
return -1;
}
int harvest_zombies(int pid)
{
- int status, error;
+ int status;
if (child_count == 0)
return 0;
pid = waitpid(pid, &status, 0);
if (pid < 0) {
- error = errno;
- pr_err("Error on wait(): %s\n", strerror(error));
+ pr_err("Error on wait(): %m\n");
child_count--; /* Decrement child count anyway */
}
else {
int run_piped(const char *cmd, char *const argv[],
int *stdinfd, int *stdoutfd, int *stderrfd)
{
- int ifd[2], ofd[2], efd[2], error, pid;
+ int ifd[2], ofd[2], efd[2], pid;
pr_info("Running command %s\n", cmd);
if (stdinfd && pipe(ifd)) {
- error = errno;
- pr_err("pipe() failed: %s\n", strerror(error));
+ pr_err("pipe() failed: %m\n");
return -1;
}
if (stdoutfd && pipe(ofd)) {
- error = errno;
- pr_err("pipe() failed: %s\n", strerror(error));
+ pr_err("pipe() failed: %m\n");
return -1;
}
if (stderrfd && pipe(efd)) {
- error = errno;
- pr_err("pipe() failed: %s\n", strerror(error));
+ pr_err("pipe() failed: %m\n");
return -1;
}
/* Now we have redirected standard streams to parent process */
execvp(cmd, argv);
- error = errno;
- pr_err("Failed to execv command %s: %s\n", cmd, strerror(error));
+ pr_err("Failed to execv command %s: %m\n", cmd);
exit(1);
return 0;
int run_piped_stream(const char *cmd, char *const argv[],
FILE **stdinf, FILE **stdoutf, FILE **stderrf)
{
- int ifd, ofd, efd, pid, error;
+ int ifd, ofd, efd, pid;
int *i, *o, *e;
if (stdinf)
if (stdinf) {
*stdinf = fdopen(ifd, "r");
if (*stdinf == NULL) {
- error = errno;
- pr_err("Error opening file stream for fd %d: %s\n",
- ifd, strerror(error));
+ pr_err("Error opening file stream for fd %d: %m\n",
+ ifd);
return -1;
}
}
if (stdoutf) {
*stdoutf = fdopen(ofd, "r");
if (*stdoutf == NULL) {
- error = errno;
- pr_err("Error opening file stream for fd %d: %s\n",
- ofd, strerror(error));
+ pr_err("Error opening file stream for fd %d: %m\n",
+ ofd);
return -1;
}
}
if (stderrf) {
*stderrf = fdopen(efd, "r");
if (*stderrf == NULL) {
- error = errno;
- pr_err("Error opening file stream for fd %d: %s\n",
- efd, strerror(error));
+ pr_err("Error opening file stream for fd %d: %m\n",
+ efd);
return -1;
}
}
print:
if (bytes < 0) {
- error = errno;
- pr_err("read() failed: %s\n", strerror(error));
+ pr_err("read() failed: %m\n");
break;
}