Initial commit

This commit is contained in:
2026-01-09 14:29:09 +01:00
commit 20291d04ad
10 changed files with 349 additions and 0 deletions

50
Sully/C/Makefile Normal file
View File

@@ -0,0 +1,50 @@
# **************************************************************************** #
# #
# ::: :::::::: #
# Makefile :+: :+: :+: #
# +:+ +:+ +:+ #
# By: lejulien <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2020/07/05 18:43:38 by lejulien #+# #+# #
# Updated: 2022/07/29 12:58:41 by lejulien ### ########.fr #
# #
# **************************************************************************** #
SRCS = ./Sully.c
SRCS_OBJS = ${SRCS:.c=.o}
FLAGS = -Wall -Wextra -Werror
.c.o:
gcc -c $< -o $(<:.c=.o)
NAME = Sully
$(NAME): $(SRCS_OBJS)
@echo "\e[1;35m _ _ _ _ _ _ _ "
@echo "\e[1;35m /\ \ /\ \ \e[1;31m 53 75 6C 6C 79 \e[1;35m /\ \ /\_\ /\ \ /\ \ _ /\ \ "
@echo "\e[1;35m / \ \____ / \ \ \e[1;32mby lejulien\e[1;35m / \ \ / / / _ \ \ \ / \ \ /\_\ / \ \ "
@echo "\e[1;35m / /\ \_____\ / /\ \ \ / /\ \ \ \ \ \__ /\_\ /\ \_\ / /\ \ \_/ / // /\ \ \ "
@echo "\e[1;35m / / /\/___ // / /\ \_\ / / /\ \ \ \ \___\ / / / / /\/_/ / / /\ \___/ // / /\ \_\ "
@echo "\e[1;35m / / / / / // / /_/ / / / / / \ \_\ \__ / / / / / / / / / / \/____// /_/_ \/_/ "
@echo "\e[1;35m / / / / / // / /__\/ / / / / _ / / / / / / / / / / / / / / / / / // /____/\ "
@echo "\e[1;35m/ / / / / // / /_____/ ___________ / / / /\ \/ / / / / / / / / / / / / / / / // /\____\/ "
@echo "\e[1;35m\ \ \__/ / // / /\ \ \ ___/__________/\ / / /__\ \ \/ / / /___/ / /___/ / /__ / / / / / // / /______ "
@echo "\e[1;35m \ \___\/ // / / \ \ \/__________ \ \/ / /____\ \ \/ / /____\/ //\__\/_/___\/ / / / / // / /_______\ "
@echo "\e[1;35m \/_____/ \/_/ \_\/\____\/ \____\/\/________\_\/\/_________/ \/_________/\/_/ \/_/ \/__________/ "
gcc -o $(NAME) $(SRCS_OBJS) $(FLAGS)
clean:
rm -f $(SRCS_OBJS)
fclean: clean
rm -f $(NAME)
rm -f $(NAME)_*
re: fclean $(NAME)
.PHONY: clean fclean re

22
Sully/C/Sully.c Normal file
View File

@@ -0,0 +1,22 @@
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#define FORMAT "#include <stdio.h>%1$c#include <stdlib.h>%1$c#include <strings.h>%1$c%1$c#define FORMAT %2$c%4$s%2$c%1$c%1$cint i=%5$d;%1$cchar nbuf[1024];%1$c%1$cint main() {%1$c bzero(nbuf,1024);%1$c sprintf(nbuf,%2$c./Sully_%3$cd.c%2$c,i-1);%1$c FILE *o = fopen(nbuf,%2$cw%2$c);%1$c fprintf(o,FORMAT,10,34,37,FORMAT,i-1);%1$c fclose(o);%1$c bzero(nbuf,1024);%1$c if (i-1>0)%1$c sprintf(nbuf,%2$cclang -Wall -Wextra -Werror ./Sully_%3$c1$d.c -o Sully_%3$c1$d;./Sully_%3$c1$d%2$c,i-1);%1$c else%1$c sprintf(nbuf,%2$cclang -Wall -Wextra -Werror ./Sully_%3$c1$d.c -o Sully_%3$c1$d%2$c,i-1);%1$c system(nbuf);%1$c}%1$c"
int i=5;
char nbuf[1024];
int main() {
bzero(nbuf,1024);
sprintf(nbuf,"./Sully_%d.c",i-1);
FILE *o = fopen(nbuf,"w");
fprintf(o,FORMAT,10,34,37,FORMAT,i-1);
fclose(o);
bzero(nbuf,1024);
if (i-1>0)
sprintf(nbuf,"clang -Wall -Wextra -Werror ./Sully_%1$d.c -o Sully_%1$d;./Sully_%1$d",i-1);
else
sprintf(nbuf,"clang -Wall -Wextra -Werror ./Sully_%1$d.c -o Sully_%1$d",i-1);
system(nbuf);
}

30
Sully/C/src/Sully.c Normal file
View File

@@ -0,0 +1,30 @@
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
char f[]="#include <stdio.h>%c#include <stdlib.h>%c#include <strings.h>%c%cchar f[]=%c%s%c;%cint i = %d;%cchar nbuf[1024];%c%cint main(int ac, char **av) {%c // get values%c i = (ac == 2)?atoi(av[1]):i;%c if (i < 0) return 0;%c // open file%c bzero(nbuf, 1024);%c sprintf(nbuf, %c./Sully_%cd.c%c, i);%c FILE *o = fopen(nbuf, %cw%c);%c // write code to other%c fprintf(o, f, 10, 10, 10, 10, 34, f, 34, 10, i, 10, 10, 10, 10, 10, 10, 10, 10, 10, 34, 37, 34, 10, 34, 34, 10, 10, 10, 10, 10, 10, 10, 34, 37, 37, 37, 37, 34, 10, 10, 34, 37, 37, 37, 37, 34, 10, 10, 34, 37, 37, 34, 10, 10, 10, 10);%c fclose(o);%c // prepare compilation settings%c bzero(nbuf, 1024);%c if (ac == 1)%c sprintf(nbuf, %cclang -Wall -Wextra -Werror ./Sully_%cd.c -o Sully_%cd;./Sully_%cd %cd%c, i, i, i, i);%c else if (i > 0)%c sprintf(nbuf, %cclang -Wall -Wextra -Werror ./Sully_%cd.c -o Sully_%cd;./Sully_%cd %cd%c, i, i, i, i-1);%c else%c sprintf(nbuf, %cclang -Wall -Wextra -Werror ./Sully_%cd.c -o Sully_%cd%c, i, i);%c // execute%c system(nbuf);%c}%c";
int i = 5;
char nbuf[1024];
int main(int ac, char **av) {
// get values
i = (ac == 2)?atoi(av[1]):i;
if (i < 0) return 0;
// open file
bzero(nbuf, 1024);
sprintf(nbuf, "./Sully_%d.c", i);
FILE *o = fopen(nbuf, "w");
// write code to other
fprintf(o, f, 10, 10, 10, 10, 34, f, 34, 10, i, 10, 10, 10, 10, 10, 10, 10, 10, 10, 34, 37, 34, 10, 34, 34, 10, 10, 10, 10, 10, 10, 10, 34, 37, 37, 37, 37, 34, 10, 10, 34, 37, 37, 37, 37, 34, 10, 10, 34, 37, 37, 34, 10, 10, 10, 10);
fclose(o);
// prepare compilation settings
bzero(nbuf, 1024);
if (ac == 1)
sprintf(nbuf, "clang -Wall -Wextra -Werror ./Sully_%d.c -o Sully_%d;./Sully_%d %d", i, i, i, i);
else if (i > 0)
sprintf(nbuf, "clang -Wall -Wextra -Werror ./Sully_%d.c -o Sully_%d;./Sully_%d %d", i, i, i, i-1);
else
sprintf(nbuf, "clang -Wall -Wextra -Werror ./Sully_%d.c -o Sully_%d", i, i);
// execute
system(nbuf);
}