*** src/mod_dir.c.orig Sat Jun 22 00:12:07 1996 --- src/mod_dir.c Sun Nov 3 08:33:16 1996 *************** *** 83,88 **** --- 83,89 ---- #define SUPPRESS_LAST_MOD 8 #define SUPPRESS_SIZE 16 #define SUPPRESS_DESC 32 + #define SUPPRESS_HTML_PREAMBLE 64 struct item { char *type; *************** *** 205,210 **** --- 206,213 ---- opts |= SUPPRESS_SIZE; else if(!strcasecmp(w,"SuppressDescription")) opts |= SUPPRESS_DESC; + else if(!strcasecmp(w,"SuppressHTMLPreamble")) + opts |= SUPPRESS_HTML_PREAMBLE; else if(!strcasecmp(w,"None")) opts = 0; else *************** *** 404,411 **** * Actually generating output */ ! int insert_readme(char *name, char *readme_fname, int rule, request_rec *r) { char *fn; FILE *f; struct stat finfo; --- 407,421 ---- * Actually generating output */ + void put_html_preamble(char *title_name, request_rec *r) + { + rvputs(r, "
\n", r); } - else if (rule) rputs("
\n", r); if(!(f = pfopen(r->pool,fn,"r"))) return 0; if (!plaintext) send_fd(f, r); else --- 429,442 ---- if(stat(fn,&finfo) == -1) return 0; plaintext=1; } if(!(f = pfopen(r->pool,fn,"r"))) return 0; + if(!rule && plaintext && title_name != NULL) + put_html_preamble(title_name, r); + if(rule) rputs("
\n", r); + if(plaintext) rputs("\n", r); + if (!plaintext) send_fd(f, r); else *************** *** 714,724 **** while (title_endp > title_name && *title_endp == '/') *title_endp-- = '\0'; ! rvputs(r, "Index of ", title_name, " \n", ! NULL); ! if((!(tmp = find_header(dir_conf,r))) || (!(insert_readme(name,tmp,0,r)))) rvputs(r, "Index of ", title_name, "
\n", NULL); /* * Since we don't know how many dir. entries there are, put them into a --- 726,743 ---- while (title_endp > title_name && *title_endp == '/') *title_endp-- = '\0'; ! if(!(dir_opts & SUPPRESS_HTML_PREAMBLE)) ! put_html_preamble(title_name, r); ! if((!(tmp = find_header(dir_conf,r))) || ! (!(insert_readme(name, tmp, 0, ! ((dir_opts & SUPPRESS_HTML_PREAMBLE) ? ! title_name : NULL), r)))) ! { ! if(dir_opts & SUPPRESS_HTML_PREAMBLE) ! put_html_preamble(title_name, r); rvputs(r, "Index of ", title_name, "
\n", NULL); + } /* * Since we don't know how many dir. entries there are, put them into a *************** *** 751,757 **** if (dir_opts & FANCY_INDEXING) if((tmp = find_readme(dir_conf, r))) ! insert_readme(name,tmp,1,r); else { rputs("", r); } --- 770,776 ---- if (dir_opts & FANCY_INDEXING) if((tmp = find_readme(dir_conf, r))) ! insert_readme(name,tmp,1,NULL,r); else { rputs("", r); }