Upload files to "/"
This commit is contained in:
parent
8aeef44559
commit
188f3acc54
2
Makefile
2
Makefile
@ -2,4 +2,4 @@ CC?=cc
|
|||||||
CFLAGS?=-Os -s
|
CFLAGS?=-Os -s
|
||||||
|
|
||||||
all:
|
all:
|
||||||
$(CC) $(CFLAGS) cutecat.c -o cutecat
|
$(CC) $(CFLAGS) cutecat.c -o cutecat -lm
|
||||||
|
36
cutecat.c
36
cutecat.c
@ -5,15 +5,18 @@
|
|||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
#include <math.h>
|
||||||
|
#define FREQ 220
|
||||||
|
|
||||||
unsigned int d_flag;
|
unsigned int d_flag;
|
||||||
char eyes[] = {'U', 'O'};
|
unsigned int r_flag;
|
||||||
|
|
||||||
void OwO(char *buf, off_t len) {
|
void OwO(char *buf, off_t len) {
|
||||||
if (d_flag)
|
if (d_flag)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
for (int i = 0; i < len / 10; i++) {
|
char eyes[] = {'U', 'O'};
|
||||||
|
for (int i = 0; i < len; i++) {
|
||||||
size_t i = rand() % len;
|
size_t i = rand() % len;
|
||||||
|
|
||||||
if (i + 3 < len && !isspace(buf[i]) && !isspace(buf[i + 1]) && !isspace(buf[i + 2])) {
|
if (i + 3 < len && !isspace(buf[i]) && !isspace(buf[i + 1]) && !isspace(buf[i + 2])) {
|
||||||
@ -26,6 +29,14 @@ void OwO(char *buf, off_t len) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void PrintRainbow(char c, off_t i) {
|
||||||
|
int red = sin(FREQ * i) * 127 + 128;
|
||||||
|
int blue = sin(FREQ * i + 2 * M_PI / 3) * 127 + 128;
|
||||||
|
int green = sin(FREQ * i + 4 * M_PI / 3) * 127 + 128;
|
||||||
|
|
||||||
|
printf("\033[38;2;%d;%d;%dm%c\033[0m", red, green, blue, c);
|
||||||
|
}
|
||||||
|
|
||||||
int cat(const char *path) {
|
int cat(const char *path) {
|
||||||
int fd = STDIN_FILENO;
|
int fd = STDIN_FILENO;
|
||||||
|
|
||||||
@ -37,13 +48,18 @@ int cat(const char *path) {
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
char buf[513];
|
char buf[1025];
|
||||||
off_t len = 0;
|
off_t len = 0;
|
||||||
|
|
||||||
while ((len = read(fd, buf, sizeof(buf))) > 0) {
|
while ((len = read(fd, buf, sizeof(buf))) > 0) {
|
||||||
OwO(buf, len);
|
OwO(buf, len);
|
||||||
if (write(STDOUT_FILENO, buf, len) != len) {
|
|
||||||
fprintf(stderr, "cutecat: %s\n", strerror(errno));
|
for (off_t i = 0; i < len; i++) {
|
||||||
return 1;
|
if (!isspace(buf[i]) && !r_flag)
|
||||||
|
PrintRainbow(buf[i], i);
|
||||||
|
|
||||||
|
else
|
||||||
|
putchar(buf[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,14 +71,18 @@ int cat(const char *path) {
|
|||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
int opt;
|
int opt;
|
||||||
while ((opt = getopt(argc, argv, "d")) != -1) {
|
while ((opt = getopt(argc, argv, "dr")) != -1) {
|
||||||
switch (opt) {
|
switch (opt) {
|
||||||
case 'd':
|
case 'd':
|
||||||
d_flag = 1;
|
d_flag = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'r':
|
||||||
|
r_flag = 1;
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
printf("cutecat [file1 file2...]\n\t[-d Default mode]\n");
|
printf("cutecat [file1 file2...]\n\t[-d Default mode]\n\t[-r Print without colorise text]\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user