/* genviewhtml.c, 2009 Jan 16
* (C) Copyright Prem Sobel, 2005-2009. All Rights Reseeved.
*
* First written: 2005 Feb 05
* This program generates an HTML file for viewing all image files
* of types: *.jpg, *.gif, *.png in a directory.
*/
#include
#include
#include
#include
static int row_size=4;
static int num_cells, mod_cells;
static struct _finddata_t fileinfo;
static char Usage[] = "Usage: genviewhtml [-r row_size] [-f filename]";
void fail(char *msg) {
fprintf(stderr,"*** %s\n",msg);
exit(1);
} // fail
void add_cell(FILE *fp_dir, char *pix_fn) {
// take care of rows in fp_dir
if(!mod_cells) {
if(num_cells) fprintf(fp_dir, "\n\n");
fprintf(fp_dir, "\n");
}
num_cells++;
if(++mod_cells>=row_size) mod_cells=0;
// take care of entry in fp_dir for this pix
fprintf(fp_dir, "%s
 | \n", pix_fn, pix_fn);
} // add_cell
void do_extension(FILE *fp_dir, char *ext) {
long h, num=0;
num_cells = 0;
h = _findfirst(ext, &fileinfo);
if(h>=0) {
add_cell(fp_dir, fileinfo.name);
while(!_findnext(h, &fileinfo)) {
add_cell(fp_dir, fileinfo.name);
}
}
_findclose(h);
printf(" %d %s\n", num_cells, ext);
} // do_extension
int main(int argc, char *argv[]) {
int n,m;
char *fn="ZZZ.html";
static FILE *fp_dir;
// examine command line arguments
for(n=1;n\n");
fprintf(fp_dir, "\n\n ZZZ\n\n");
fprintf(fp_dir, "\n\n");
fprintf(fp_dir, "%s
\n\n", fn);
fprintf(fp_dir, "\n\n");
do_extension(fp_dir, "*.jpg");
do_extension(fp_dir, "*.gif");
do_extension(fp_dir, "*.png");
fprintf(fp_dir, "\n\n");
fprintf(fp_dir, "
\n\n
\n\n");
fclose(fp_dir);
return 0;
} // main