X-Git-Url: https://harishankar.org/repos/?p=wordblah.git;a=blobdiff_plain;f=wordblox.h;h=9a5c27ce2c6fc32edc54ba937906cad0e3bfbaae;hp=04adfa0215d51855346783ff00dbbf77c53b45cc;hb=817fe9c8d7535a465ed42153c550ceef8390ffac;hpb=b43a3bf7a7ae8b3221c886d5392498db868d35c8 diff --git a/wordblox.h b/wordblox.h index 04adfa0..9a5c27c 100644 --- a/wordblox.h +++ b/wordblox.h @@ -142,7 +142,7 @@ void export_grid_image (Puzzle *p, const char *filename, bool answerkey) } gdImagePtr img = gdImageCreate (img_size, img_size); - int white = gdImageColorAllocate (img, 255,255,255); + gdImageColorAllocate (img, 255,255,255); int black = gdImageColorAllocate (img, 0, 0, 0); int blue = gdImageColorAllocate (img, 0, 0, 216); gdFontPtr sm_fnt = gdFontGetMediumBold (); @@ -236,7 +236,7 @@ bool next_col_blank (Puzzle *p, int r, int c) return false; } -/* unfreeze the grid - mak editing possible to change words */ +/* unfreeze the grid - make editing possible to change words */ void unfreeze_puzzle (Puzzle *p) { for (int i = 0; i < p->grid_size; i ++) @@ -320,7 +320,7 @@ void init_puzzle (Puzzle *p, int grid_size) /* save the puzzle to a file */ void save_puzzle (Puzzle *puzzle, const char* file) { FILE *outfile; - /* First output the uncompressed contents to temp file */ + /* First output the uncompressed contents to a temp file */ outfile = tmpfile (); if (outfile == NULL) { @@ -389,7 +389,7 @@ void save_puzzle (Puzzle *puzzle, const char* file) { gzip compressed file */ fflush (outfile); fseek (outfile, 0, 0); - + /* now compress the file and save it to destination file */ gzFile outdestfile = gzopen (file, "wb"); if (outdestfile == NULL) @@ -398,16 +398,18 @@ void save_puzzle (Puzzle *puzzle, const char* file) { fclose (outfile); exit (1); } - char buf[4096]; - while (fread (buf, sizeof(char), 4096, outfile)) + char buf[128]; + int num = fread (buf, sizeof(char), sizeof(char)*128, outfile); + while (num > 0) { - int res = gzwrite (outdestfile, buf, strlen (buf) ); + int res = gzwrite (outdestfile, buf, num*sizeof(char) ); if (res == 0) { fprintf (stderr, "%s %s\n", ERROR_WRITING_FILE, COMPRESSED); fclose (outfile); exit (1); } + num = fread (buf, sizeof(char), sizeof(char)*128, outfile); } gzclose (outdestfile); fclose (outfile); @@ -431,10 +433,12 @@ Puzzle load_puzzle (const char* file) { exit (1); } /* Put the uncompressed content to the temp file */ - char buf[4096]; - while (gzread (insourcefile, buf, 4096)) + char buf[128]; + int num = 0; + num = gzread (insourcefile, buf, 128); + while (num > 0) { - int res = fwrite (buf, sizeof(char), strlen (buf), infile); + int res = fwrite (buf, 1, num, infile); if (res == 0) { fprintf (stderr, "%s\n", ERROR_READING_FILE); @@ -442,6 +446,7 @@ Puzzle load_puzzle (const char* file) { gzclose (insourcefile); exit (1); } + num = gzread (insourcefile, buf, 128); } /* Close the gzip file */ gzclose (insourcefile);