--- /dev/null
+/*
+ * FILE : cat.c
+ * NATIVE NAME: tcat "tappak's cat" :)
+ * AUTHOR : Semyon Novikov (tappak)
+ * PROJECT : ReactOS Operating System
+ * DESCRIPTION: file concatenation tool
+ * DATE : 2004-01-21
+ * LICENSE : GPL
+ */
+
+#include <stdio.h>
+#include <string.h>
+#define F_O_ERR "can not open file"
+
+void help(void)
+{
+ puts("File concatenation tool");
+ puts("Usage: cat [file]");
+}
+
+int main(int argc, char *argv[])
+{
+ FILE *srcf;
+ char *keys[]={"--help","/help"};
+ int i=0,ret=0;
+ switch(argc)
+ {
+ case 1:puts("Usage: cat [file]");break;
+ case 2:
+ if ((!strcmp(argv[1],keys[0]))||(!strcmp(argv[1],keys[1])))
+ help();
+ else
+ {
+ if((srcf=fopen(argv[1],"r"))!=NULL)
+ {
+ while(i!=EOF)
+ { i=fgetc(srcf);
+ putchar(i);
+ }
+ fclose(srcf);
+ }
+ else
+ {
+ printf("%s %s %s\n",argv[0],F_O_ERR,argv[1]);
+ ret=-1;
+ }
+ }
+ break;
+ }
+ return ret;
+}
+
--- /dev/null
+
+add_executable(cat cat.c)
+set_module_type(cat win32cui)
+add_importlibs(cat ntdll user32 msvcrt kernel32)
+add_cd_file(TARGET cat DESTINATION reactos/bin FOR all)
--- /dev/null
+#include <stdlib.h>
+#include <stdio.h>
+
+int main(int argc, char* argv[])
+{
+ int i;
+ FILE* in;
+ char ch;
+
+ for (i=1; i<argc; i++)
+ {
+ in = fopen(argv[i],"r");
+ if (in == NULL)
+ {
+ printf("Failed to open file %s\n", argv[i]);
+ return(0);
+ }
+
+ while ((ch = fgetc(in)) != EOF)
+ {
+ putchar(ch);
+ }
+ fclose(in);
+ }
+ return 0;
+}