From c2a74cc20ebaa9898052ab758821ccfc7c3ee1f4 Mon Sep 17 00:00:00 2001 From: Alexander Pickering Date: Thu, 2 Jun 2016 16:54:20 -0400 Subject: Initial commit --- src/showbug.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/showbug.c (limited to 'src/showbug.c') diff --git a/src/showbug.c b/src/showbug.c new file mode 100644 index 0000000..68f2c12 --- /dev/null +++ b/src/showbug.c @@ -0,0 +1,56 @@ +#include +#include +#include +#include +#include "shared.h" +#include "config.h" + +int main(){ + char* data = getenv("QUERY_STRING"); + //char data[20] = "?id=1"; + char* hardip = getenv("REMOTE_ADDR"); + printf("%s%c%c\n", + "Content-Type:text/html;charset=iso-8859-1",13,10); + FILE* lastfilenum; + char lastfilenumpath[64]; + sprintf(lastfilenumpath,"%s/bugs/lastbug",REL_BINPATH); + lastfilenum = fopen(lastfilenumpath,"r"); + if(lastfilenum == NULL){ + printf("Error reteriveing bugs, contact the admin!"); + return 1; + } + long long last = 0; + if(fscanf(lastfilenum,"%lld",&last) < 1){ + printf("Error finding file id"); + return 1; + } + fclose(lastfilenum); + long long thisid = 0; + sscanf(data,"id=%lld",&thisid); + if(thisid > last){ + printf("Invalid!"); + return 1; + } + + char filestring[64]; + sprintf(filestring,"%s/bugs/",REL_BINPATH); + char filename[10]; + sprintf(filename,"%lld",thisid); + strcat(filestring,filename); + FILE* bugfile; + bugfile = fopen(filestring,"r"); + if(bugfile == NULL){ + printf("Unable to open bug file!"); + return 1; + } + while(!feof(bugfile)){ + char c = fgetc(bugfile); + if(feof(bugfile)){ + break; + }else{ + putchar(c); + } + } + fclose(bugfile); + return 0; +} -- cgit v1.2.3-70-g09d2