Compare commits

..

5 commits
1.0 ... master

Author SHA1 Message Date
a281399876
Update README.md 2018-07-02 23:01:54 +02:00
1b00020597 Indentation & usage() declaration 2016-11-03 13:38:18 +01:00
036d9f8d82 Remove exit constants 2016-11-03 13:28:33 +01:00
Simon Lieb
dc1d5b6f24 Default to static linking. 2015-04-01 22:52:22 +02:00
Simon Lieb
ec4e798496 Pass _XOPEN_SOURCE constant from macro config. 2015-04-01 22:50:39 +02:00
3 changed files with 23 additions and 16 deletions

View file

@ -6,12 +6,12 @@ Slow down input to output
Install
-------
# make clean install
# make clean install
Usage
-----
$ slow [-t usec] [-f]
$ slow [-t usec] [-f]
-t usec : Define sleep between each bytes in micro-second. Default to 1 second.

View file

@ -11,9 +11,9 @@ INCS =
LIBS =
# flags
CPPFLAGS = -DVERSION=\"${VERSION}\"
CPPFLAGS = -DVERSION=\"${VERSION}\" -D_XOPEN_SOURCE=500
CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS}
LDFLAGS = -s ${LIBS}
LDFLAGS = -static -s ${LIBS}
# compiler and linker
CC = cc

31
slow.c
View file

@ -1,4 +1,3 @@
#define _XOPEN_SOURCE 500
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
@ -7,12 +6,18 @@
char *argv0;
void usage() {
static void usage(void);
void
usage()
{
fprintf(stderr, "usage: %s [-t usec] [-f]\n", argv0);
exit(EXIT_FAILURE);
exit(1);
}
int main(int argc, char *argv[]) {
int
main(int argc, char *argv[])
{
char buffer;
size_t nread;
useconds_t useconds = 1000000; // default 1 second
@ -31,18 +36,20 @@ int main(int argc, char *argv[]) {
while ((nread = fread(&buffer, 1, sizeof buffer, stdin)) > 0) {
usleep(useconds);
if (fwrite(&buffer, 1, nread, stdout) != nread) {
fprintf(stderr, "stdout: write error");
exit(EXIT_FAILURE);
exit(1);
}
if (flush) {
if (flush)
fflush(stdout);
}
}
if (ferror(stdin)) {
fprintf(stderr, "stdin: read error");
exit(EXIT_FAILURE);
}
return EXIT_SUCCESS;
if (ferror(stdin)) {
fprintf(stderr, "stdin: read error");
exit(1);
}
return 0;
}