diff --git a/clainsafecli/Makefile b/clainsafecli/Makefile index 6dd1528..8f6951b 100644 --- a/clainsafecli/Makefile +++ b/clainsafecli/Makefile @@ -1,13 +1,13 @@ # clainsafecli makefile TARGET = clainsafecli -OBJS = clainsafecli.o +OBJS = clainsafecli.o funcs.o CC = cc -CFLAGSDEF = -MD -std=c11 -Wall -Wextra -O2 -march=native -lcurl +CFLAGSDEF = -MD -std=c11 -Wall -Wextra -lcurl CFLAGS = -O2 -march=native -$(TARGET): clainsafecli.o +$(TARGET): $(OBJS) $(CC) $(CFLAGS) $(CFLAGSDEF) $(OBJS) -o $(TARGET) %.o: %.c diff --git a/clainsafecli/funcs.c b/clainsafecli/funcs.c new file mode 100644 index 0000000..2cbf3e5 --- /dev/null +++ b/clainsafecli/funcs.c @@ -0,0 +1,62 @@ +#include +#include +#include +#include "clainsafecli.h" + +size_t +write_data(void *buffer, size_t size, size_t nmemb, + void *userp) +{ + memcpy(userp, buffer, nmemb*size); + return 0; +} + +void +print_usage() +{ + printf("USAGE: clainsafecli [--tor|--i2p] [-6|-4] [--server] file\n"); + return; +} + +int +store_link(const char *path, const char *buf) +{ + FILE *fp = fopen(path,"a+"); + if(fp == NULL) { + fprintf(stderr,"Error opening file %i: %s\n",errno, + strerror(errno)); + return -1; + } + fwrite(buf,strlen(buf),1,fp); + fputc('\n',fp); + return 0; +} + +void +print_help() +{ + printf("--server : specifies the lainsafe server\n%s\n%s\n%s\n%s\n%s\n%s", + "--tor: uses tor.", + "--i2p: uses i2p.", + "-6|--ipv6: uses IPv6 only.", + "-4|--ipv6: uses IPv4 only.", + "--silent: doesn't print progress.", + "--help: print this message.\n"); + return; +} + +void +progress(void *clientp, + double dltotal, + double dlnow, + double ultotal, + double ulnow) +{ + /* So I don't get a warning */ + dltotal += 1; + dlnow += 1; + printf("\r%0.f uploaded of %0.f (%0.f%%)",ulnow,ultotal, + ulnow*100/ultotal); + fflush(stdout); +} +