From b323b053afb194ad09ead532e6d48cdaf1cd59a3 Mon Sep 17 00:00:00 2001 From: SyntaxError Date: Sat, 27 Dec 2025 03:48:39 -0300 Subject: [PATCH] auto commit 1 --- .gitignore | 1 + src/0 | 0 src/info.c | 9 ++++++++- src/login.sh | 16 ++++++++++++++++ src/main.c | 29 +++++++++++++++++++++++------ src/main.h | 9 +++++++++ 6 files changed, 57 insertions(+), 7 deletions(-) create mode 100644 .gitignore delete mode 100755 src/0 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f48ed2a --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +auto-commit.txt diff --git a/src/0 b/src/0 deleted file mode 100755 index e69de29..0000000 diff --git a/src/info.c b/src/info.c index 0b7ac12..cd3efde 100644 --- a/src/info.c +++ b/src/info.c @@ -1,8 +1,15 @@ +#include "main.h" +#include +#include +#include +#include + int fetch_neocities_info() { const char *user = getenv("NEOCITIES_USER"); const char *pass = getenv("NEOCITIES_PASS"); + const char *enc = getenv("NEOCITIES_PASS_ENC"); if (!user || !pass) { - fprintf(stderr, "Variáveis NEOCITIES_USER ou NEOCITIES_PASS não definidas!\n"); + fprintf(stderr, "You're not logged!\n"); return 1; } diff --git a/src/login.sh b/src/login.sh index e69de29..dfba924 100644 --- a/src/login.sh +++ b/src/login.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +BASHRC="$HOME/.bashrc" + +read -p "Username: " NEOCITIES_USER +read -p "Password: " NEOCITIES_PASS + +# Remove linhas existentes se houver +sed -i '/^NEOCITIES_USER=/d' "$BASHRC" +sed -i '/^NEOCITIES_PASS=/d' "$BASHRC" + +# Adiciona no final +echo "NEOCITIES_USER=\"$NEOCITIES_USER\"" >> "$BASHRC" +echo "NEOCITIES_PASS=\"$NEOCITIES_PASS\"" >> "$BASHRC" + +echo "Successfully logged in. Saved on $HOME/.bashrc" diff --git a/src/main.c b/src/main.c index 685086a..f9365c2 100755 --- a/src/main.c +++ b/src/main.c @@ -2,7 +2,6 @@ #include #include #include -#include #include "main.h" #include "info.h" @@ -28,13 +27,31 @@ size_t write_callback(void *data, size_t size, size_t nmemb, void *userdata) { return chunk_size; } -int main(int argc, char *argv[]) { - printf("\nNeocities C CLI\n"); +typedef int (*cmd_func_t)(void); - if (argc < 2 || strcmp(argv[1], "--info") != 0) { - printf("\nnothing to do.\n"); +typedef struct { + const char *name; + cmd_func_t func; +} command_entry; + +int main(int argc, char *argv[]) { + command_entry commands[] = { + {"--info", fetch_neocities_info}, + {"--upload", upload_func} + }; + + if (argc < 2) { + printf("No command provided.\n"); return 0; } - return fetch_neocities_info(); + for (size_t i = 0; i < sizeof(commands)/sizeof(commands[0]); i++) { + if (strcmp(argv[1], commands[i].name) == 0) { + return commands[i].func(); + } + } + + printf("Unknown command.\n"); + return 0; } + diff --git a/src/main.h b/src/main.h index 1f34f56..f8ad691 100644 --- a/src/main.h +++ b/src/main.h @@ -1,7 +1,16 @@ #ifndef MAIN_H #define MAIN_H +#include // para size_t + extern const char *user; extern const char *pass; +struct response { + char *data; + size_t len; +}; + +size_t write_callback(void *ptr, size_t size, size_t nmemb, void *userdata); + #endif