New helper function: echo(), like shell echo but for C

Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
Joachim Nilsson committed 2019-02-05 10:33:00 +01:00
1 parent 2094d2a53a
commit 6a1082a947
2 files changed
+28

No files matched your search

+27
View File
@@ -25,6 +25,7 @@
#include <ctype.h> /* isprint() */
#include <errno.h>
#include <string.h>
#include <stdarg.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/sysinfo.h> /* sysinfo() */
@@ -46,6 +47,32 @@ char *progname(char *arg0)
return prognm;
}
int echo(char *file, int append, char *fmt, ...)
{
va_list ap;
FILE *fp;
if (!file)
fp = stdout;
else
fp = fopen(file, append ? "a" : "w");
if (!fp)
return -1;
if (fmt) {
va_start(ap, fmt);
vfprintf(fp, fmt, ap);
va_end(ap);
}
/* echo(1) always adds a newline */
fprintf(fp, "\n");
if (file)
fclose(fp);
return 0;
}
int strtobytes(char *arg)
{
int mod = 0, bytes;
+1
View File
@@ -39,6 +39,7 @@ extern char *prognm;
#include <lite/conio.h>
char *progname (char *arg0);
int echo (char *file, int append, char *fmt, ...);
int strtobytes (char *arg);
void do_sleep (unsigned int sec);