From 5f699e75a545cbdcac119a8f43771affee1bcdb0 Mon Sep 17 00:00:00 2001 From: Pierre Pronchery Date: Mon, 21 Aug 2006 17:41:29 +0000 Subject: [PATCH] Implemented dummy functionality --- src/cpp.c | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/cpp.c b/src/cpp.c index 413e43b..3abaddf 100644 --- a/src/cpp.c +++ b/src/cpp.c @@ -6,6 +6,33 @@ #include +/* cpp */ +static int _cpp_error(char const * message, int ret); +static int _cpp(char const * filename) +{ + FILE * fp; + char buf[BUFSIZ]; + size_t len; + int ret = 0; + + if((fp = fopen(filename, "r")) == NULL) + return _cpp_error(filename, 1); + while((len = fread(buf, sizeof(char), sizeof(buf), fp)) > 0) + fwrite(buf, sizeof(char), len, stdout); + if(len == 0 && !feof(fp)) + ret = _cpp_error(filename, 1); + fclose(fp); + return ret; +} + +static int _cpp_error(char const * message, int ret) +{ + fprintf(stderr, "%s", "cpp: "); + perror(message); + return ret; +} + + /* usage */ static int _usage(void) { @@ -25,5 +52,7 @@ int main(int argc, char * argv[]) default: return _usage(); } - return 2; + if(argc - optind != 1) + return _usage(); + return _cpp(argv[optind]) == 0 ? 0 : 2; }