fix: Grace.c buff

This commit is contained in:
lohhiiccc 2026-05-27 15:37:39 +02:00
parent 100a627173
commit 9078f0ff5d
2 changed files with 55 additions and 2 deletions

53
Grace_Kid.c Normal file
View file

@ -0,0 +1,53 @@
#include <stddef.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
#include <errno.h>
#define SRC "#include <stddef.h>\n#include <string.h>\n#include <unistd.h>\n#include <fcntl.h>\n#include <errno.h>\n\n#define SRC \"$\"\n#define KID \"Grace_Kid.c\"\n#define MAIN \\\nstatic inline void cleanup_fd(int *fd) { \\\n if (*fd >= 0) close(*fd); \\\n} \\\nint \\\nmain(void) \\\n{ \\\n\tchar\t*src = SRC; \\\n\tint\t\tfd __attribute__ ((__cleanup__(cleanup_fd))) = open(KID, O_CREAT | O_RDWR | O_TRUNC, 0664); \\\n\tint\t\tsaved_errno = errno; \\\n\tchar\tbuff[1024] = {0}; \\\n\tsize_t\tlen = 0; \\\n\tsize_t\tbuff_max = sizeof(buff) - 1; \\\n\tif (0 != saved_errno) \\\n\t\treturn 1; \\\n\tfor (size_t i = 0; src[i]; ++i) \\\n\t{ \\\n\t\tif (36 == src[i]) \\\n\t\t{ \\\n\t\t\tfor (size_t j = 0; src[j]; ++j) \\\n\t\t\t{ \\\n\t\t\t\tif (len + 2 > buff_max) { write(fd, buff, len); len = 0; } \\\n\t\t\t\tswitch (src[j]) \\\n\t\t\t\t{ \\\n\t\t\t\t\tcase 10:\tmemcpy(buff + len, \"\\\\n\", 2); len += 2; break; \\\n\t\t\t\t\tcase 9:\t\tmemcpy(buff + len, \"\\\\t\", 2); len += 2; break; \\\n\t\t\t\t\tcase '\\\\':\tmemcpy(buff + len, \"\\\\\\\\\", 2); len += 2; break; \\\n\t\t\t\t\tcase '\"':\tmemcpy(buff + len, \"\\\\\\\"\", 2); len += 2; break; \\\n\t\t\t\t\tdefault:\tbuff[len++] = src[j]; break; \\\n\t\t\t\t} \\\n\t\t\t} \\\n\t\t} \\\n\t\telse \\\n\t\t{ \\\n\t\t\tif (len + 1 > buff_max) { write(fd, buff, len); len = 0; } \\\n\t\t\tbuff[len++] = src[i]; \\\n\t\t} \\\n\t} \\\n\tif (len > 0) write(fd, buff, len); \\\n\treturn 0; \\\n}\n\n// One comments must be present\n\nMAIN\n"
#define KID "Grace_Kid.c"
#define MAIN \
static inline void cleanup_fd(int *fd) { \
if (*fd >= 0) close(*fd); \
} \
int \
main(void) \
{ \
char *src = SRC; \
int fd __attribute__ ((__cleanup__(cleanup_fd))) = open(KID, O_CREAT | O_RDWR | O_TRUNC, 0664); \
int saved_errno = errno; \
char buff[1024] = {0}; \
size_t len = 0; \
size_t buff_max = sizeof(buff) - 1; \
if (0 != saved_errno) \
return 1; \
for (size_t i = 0; src[i]; ++i) \
{ \
if (36 == src[i]) \
{ \
for (size_t j = 0; src[j]; ++j) \
{ \
if (len + 2 > buff_max) { write(fd, buff, len); len = 0; } \
switch (src[j]) \
{ \
case 10: memcpy(buff + len, "\\n", 2); len += 2; break; \
case 9: memcpy(buff + len, "\\t", 2); len += 2; break; \
case '\\': memcpy(buff + len, "\\\\", 2); len += 2; break; \
case '"': memcpy(buff + len, "\\\"", 2); len += 2; break; \
default: buff[len++] = src[j]; break; \
} \
} \
} \
else \
{ \
if (len + 1 > buff_max) { write(fd, buff, len); len = 0; } \
buff[len++] = src[i]; \
} \
} \
if (len > 0) write(fd, buff, len); \
return 0; \
}
// One comments must be present
MAIN

View file

@ -4,7 +4,7 @@
#include <fcntl.h>
#include <errno.h>
#define SRC "#include <stddef.h>\n#include <string.h>\n#include <unistd.h>\n#include <fcntl.h>\n#include <errno.h>\n\n#define SRC \"$\"\n#define KID \"Grace_Kid.c\"\n#define MAIN \\\nstatic inline void cleanup_fd(int *fd) { \\\n if (*fd >= 0) close(*fd); \\\n} \\\nint \\\nmain(void) \\\n{ \\\n\tchar\t*src = SRC; \\\n\tint\t\tfd __attribute__ ((__cleanup__(cleanup_fd))) = open(KID, O_CREAT | O_RDWR, 0664); \\\n\tint\t\tsaved_errno = errno; \\\n\tchar\tbuff[1024] = {0}; \\\n\tsize_t\tlen = 0; \\\n\tsize_t\tbuff_max = sizeof(buff) - 1; \\\n\tif (0 != saved_errno) \\\n\t\treturn 1; \\\n\tfor (size_t i = 0; src[i]; ++i) \\\n\t{ \\\n\t\tif (36 == src[i]) \\\n\t\t{ \\\n\t\t\tfor (size_t j = 0; src[j]; ++j) \\\n\t\t\t{ \\\n\t\t\t\tif (len + 2 > buff_max) { write(fd, buff, len); len = 0; } \\\n\t\t\t\tswitch (src[j]) \\\n\t\t\t\t{ \\\n\t\t\t\t\tcase 10:\tmemcpy(buff + len, \"\\\\n\", 2); len += 2; break; \\\n\t\t\t\t\tcase 9:\t\tmemcpy(buff + len, \"\\\\t\", 2); len += 2; break; \\\n\t\t\t\t\tcase '\\\\':\tmemcpy(buff + len, \"\\\\\\\\\", 2); len += 2; break; \\\n\t\t\t\t\tcase '\"':\tmemcpy(buff + len, \"\\\\\\\"\", 2); len += 2; break; \\\n\t\t\t\t\tdefault:\tbuff[len++] = src[j]; break; \\\n\t\t\t\t} \\\n\t\t\t} \\\n\t\t} \\\n\t\telse \\\n\t\t{ \\\n\t\t\tif (len + 1 > buff_max) { write(fd, buff, len); len = 0; } \\\n\t\t\tbuff[len++] = src[i]; \\\n\t\t} \\\n\t} \\\n\tif (len > 0) write(fd, buff, len); \\\n\treturn 0; \\\n}\n\n// One comments must be present\n\nMAIN\n"
#define SRC "#include <stddef.h>\n#include <string.h>\n#include <unistd.h>\n#include <fcntl.h>\n#include <errno.h>\n\n#define SRC \"$\"\n#define KID \"Grace_Kid.c\"\n#define MAIN \\\nstatic inline void cleanup_fd(int *fd) { \\\n if (*fd >= 0) close(*fd); \\\n} \\\nint \\\nmain(void) \\\n{ \\\n\tchar\t*src = SRC; \\\n\tint\t\tfd __attribute__ ((__cleanup__(cleanup_fd))) = open(KID, O_CREAT | O_RDWR | O_TRUNC, 0664); \\\n\tint\t\tsaved_errno = errno; \\\n\tchar\tbuff[1024] = {0}; \\\n\tsize_t\tlen = 0; \\\n\tsize_t\tbuff_max = sizeof(buff) - 1; \\\n\tif (0 != saved_errno) \\\n\t\treturn 1; \\\n\tfor (size_t i = 0; src[i]; ++i) \\\n\t{ \\\n\t\tif (36 == src[i]) \\\n\t\t{ \\\n\t\t\tfor (size_t j = 0; src[j]; ++j) \\\n\t\t\t{ \\\n\t\t\t\tif (len + 2 > buff_max) { write(fd, buff, len); len = 0; } \\\n\t\t\t\tswitch (src[j]) \\\n\t\t\t\t{ \\\n\t\t\t\t\tcase 10:\tmemcpy(buff + len, \"\\\\n\", 2); len += 2; break; \\\n\t\t\t\t\tcase 9:\t\tmemcpy(buff + len, \"\\\\t\", 2); len += 2; break; \\\n\t\t\t\t\tcase '\\\\':\tmemcpy(buff + len, \"\\\\\\\\\", 2); len += 2; break; \\\n\t\t\t\t\tcase '\"':\tmemcpy(buff + len, \"\\\\\\\"\", 2); len += 2; break; \\\n\t\t\t\t\tdefault:\tbuff[len++] = src[j]; break; \\\n\t\t\t\t} \\\n\t\t\t} \\\n\t\t} \\\n\t\telse \\\n\t\t{ \\\n\t\t\tif (len + 1 > buff_max) { write(fd, buff, len); len = 0; } \\\n\t\t\tbuff[len++] = src[i]; \\\n\t\t} \\\n\t} \\\n\tif (len > 0) write(fd, buff, len); \\\n\treturn 0; \\\n}\n\n// One comments must be present\n\nMAIN\n"
#define KID "Grace_Kid.c"
#define MAIN \
static inline void cleanup_fd(int *fd) { \
@ -14,7 +14,7 @@ int \
main(void) \
{ \
char *src = SRC; \
int fd __attribute__ ((__cleanup__(cleanup_fd))) = open(KID, O_CREAT | O_RDWR, 0664); \
int fd __attribute__ ((__cleanup__(cleanup_fd))) = open(KID, O_CREAT | O_RDWR | O_TRUNC, 0664); \
int saved_errno = errno; \
char buff[1024] = {0}; \
size_t len = 0; \