Index: cgicc/AUTHORS diff -c cgicc/AUTHORS:1.3 cgicc/AUTHORS:1.4 *** cgicc/AUTHORS:1.3 Fri Apr 7 21:44:25 2000 --- cgicc/AUTHORS Sun Oct 15 09:06:22 2000 *************** *** 1,5 **** ! Authors of GNU Cgicc ==================== ! Stephen F. Booth. Designed and implemented Cgicc. --- 1,5 ---- ! Authors of GNU cgicc ==================== ! Stephen F. Booth. Designed and implemented cgicc. Index: cgicc/ChangeLog diff -c cgicc/ChangeLog:1.52 cgicc/ChangeLog:1.60 *** cgicc/ChangeLog:1.52 Sun Jul 2 19:54:34 2000 --- cgicc/ChangeLog Sun Oct 15 09:09:36 2000 *************** *** 1,3 **** --- 1,52 ---- + 2000-10-15 Stephen F. Booth + + * example/yourSource.cpp: Changed instances of 'Cgicc' to 'cgicc' + * demo/test.cpp: 'Cgicc' -> 'cgicc' + * demo/dns.cpp: 'Cgicc' -> 'cgicc' + * demo/testform.html: Updated e-mail address + * info/version.texi: Updated for 3.1.4 + * README: 'Cgicc' -> 'cgicc' + * README.WIN: 'Cgicc' -> 'cgicc' + * AUTHORS: 'Cgicc' -> 'cgicc' + * NEWS: 'Cgicc' -> 'cgicc' + * Makefile.am: Removed reference to .spec file + + 2000-10-07 Stephen F. Booth + + * demo/dns.cpp: Updated URL + * demo/test.cpp: Updated URL + * demo/testform.html: Updated URL + * demo/dns.cpp: Changed various instances of 'Cgicc' to 'cgicc' + * demo/test.cpp: Changed various instances of 'Cgicc' to 'cgicc' + * demo/testform.html: Changed various instances of 'Cgicc' to 'cgicc' + * info/cgi-classes.texinfo: Changed various instances of 'Cgicc' to + 'cgicc' + * info/cgicc.texinfo: Changed various instances of 'Cgicc' to 'cgicc' + * info/class-cgicc.texinfo: Changed various instances of 'Cgicc' to + 'cgicc' + * info/classes-html.texinfo: Changed various instances of 'Cgicc' to + 'cgicc' + * info/html-classes.texinfo: Changed various instances of 'Cgicc' to + 'cgicc' + * info/library-overview.texinfo: Changed various instances of 'Cgicc' + to 'cgicc' + * info/tutorial.texinfo: Changed various instances of 'Cgicc' to + 'cgicc' + * support/cgicc.spec.in: Removed + * configure.in: Removed reference to cgicc.spec, version to 3.1.4 + * cgicc/Makefile.am: Updated libtool version + * cgicc/HTMLAttributes.h: Updated copyright and mail info + + 2000-09-21 Stephen F. Booth + + * demo/dns.cpp: Fix for http servers not running on port 80 + (reported by qconnell@medic.up.ac.za) + * cgicc/HTMLElements.cpp: Changed 'for' for code symmetry + * cgicc/CgiEnvironment.cpp: Skip leading whitespace in cookie names + (reported by chaanho@netian.com) + * example/Makefile.in: Use "-Wl,--rpath" for linux + (reported by mail@jbrisbin.net) + 2000-07-02 Stephen F. Booth * cgicc/HTMLElements.h: Fix operator< for HTMLElement Index: cgicc/Makefile.am diff -c cgicc/Makefile.am:1.21 cgicc/Makefile.am:1.22 *** cgicc/Makefile.am:1.21 Mon Apr 10 18:39:07 2000 --- cgicc/Makefile.am Sun Oct 15 09:08:04 2000 *************** *** 1,4 **** ! ## $Id: Makefile.am,v 1.21 2000/04/11 01:39:07 sbooth Exp $ AUTOMAKE_OPTIONS = check-news dist-zip dist-bzip2 --- 1,4 ---- ! ## $Id: Makefile.am,v 1.22 2000/10/15 16:08:04 sbooth Exp $ AUTOMAKE_OPTIONS = check-news dist-zip dist-bzip2 *************** *** 28,34 **** cp -p $(srcdir)/support/mdate-sh $(distdir)/support cp -p $(srcdir)/support/missing $(distdir)/support cp -p $(srcdir)/support/mkinstalldirs $(distdir)/support - cp -p $(srcdir)/support/cgicc.spec.in $(distdir)/support test -d $(distdir)/win || mkdir $(distdir)/win || exit 1 cp -p $(srcdir)/win/cgicc.dsw $(distdir)/win cp -p $(srcdir)/win/cgicc.dsp $(distdir)/win --- 28,33 ---- Index: cgicc/NEWS diff -c cgicc/NEWS:1.17 cgicc/NEWS:1.19 *** cgicc/NEWS:1.17 Sun Jul 2 20:22:01 2000 --- cgicc/NEWS Sun Oct 15 09:09:29 2000 *************** *** 1,9 **** ! NEWS about GNU Cgicc ====================================================================== Please send bug reports, suggestions, and comments to ====================================================================== Major changes between versions 3.1.2 and 3.1.3 ---------------------------------------------- --- 1,17 ---- ! NEWS about GNU cgicc ====================================================================== Please send bug reports, suggestions, and comments to ====================================================================== + + Major changes between versions 3.1.3 and 3.1.4 + ---------------------------------------------- + + * Leading whitespace now correctly stripped from cookies during parsing + + * Demo now correct for HTTP servers not running on port 80 + Major changes between versions 3.1.2 and 3.1.3 ---------------------------------------------- Index: cgicc/README diff -c cgicc/README:1.9 cgicc/README:1.10 *** cgicc/README:1.9 Fri Apr 7 21:47:44 2000 --- cgicc/README Sun Oct 15 09:04:34 2000 *************** *** 1,9 **** ! README for GNU Cgicc ==================== ! GNU Cgicc is an ANSI C++ compliant class library that greatly simplifies the creation of CGI applications for the World Wide ! Web. Cgicc performs the following functions: - Parses both GET and POST form data transparently. - Provides string, integer, floating-point and single- and --- 1,9 ---- ! README for GNU cgicc ==================== ! GNU cgicc is an ANSI C++ compliant class library that greatly simplifies the creation of CGI applications for the World Wide ! Web. cgicc performs the following functions: - Parses both GET and POST form data transparently. - Provides string, integer, floating-point and single- and *************** *** 22,29 **** This package should contain the following directories: ! cgicc/ The source code to the GNU Cgicc library ! info/ Complete documentation for Cgicc in texinfo format ! demo/ Two demonstration applications using Cgicc ! example/ A skeleton CGI application using Cgicc --- 22,29 ---- This package should contain the following directories: ! cgicc/ The source code to the GNU cgicc library ! info/ Complete documentation for cgicc in texinfo format ! demo/ Two demonstration applications using cgicc ! example/ A skeleton CGI application using cgicc Index: cgicc/README.WIN diff -c cgicc/README.WIN:1.5 cgicc/README.WIN:1.6 *** cgicc/README.WIN:1.5 Fri Apr 7 21:48:51 2000 --- cgicc/README.WIN Sun Oct 15 09:05:32 2000 *************** *** 1,4 **** ! README for using GNU Cgicc on Windows ===================================== The win/ subdirectory contains Microsoft Visual C++ 6.0 workspace and --- 1,4 ---- ! README for using GNU cgicc on Windows ===================================== The win/ subdirectory contains Microsoft Visual C++ 6.0 workspace and *************** *** 11,20 **** Please note that when compiling the sample applications, you will receive several warnings (C4251: 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'). This ! occurs because Cgicc's classes and functions are exported using the ! __declspec method. Several of Cgicc's functions return the Standard Template Library class 'string', which is exported in a .DEF file. At compile time, the compiler cannot know whether the STL class string is ! exported, since Cgicc does not import the .DEF file. These warnings may be safely ignored. --- 11,20 ---- Please note that when compiling the sample applications, you will receive several warnings (C4251: 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'). This ! occurs because cgicc's classes and functions are exported using the ! __declspec method. Several of cgicc's functions return the Standard Template Library class 'string', which is exported in a .DEF file. At compile time, the compiler cannot know whether the STL class string is ! exported, since cgicc does not import the .DEF file. These warnings may be safely ignored. Index: cgicc/configure.in diff -c cgicc/configure.in:1.24 cgicc/configure.in:1.25 *** cgicc/configure.in:1.24 Sun Jul 2 20:22:01 2000 --- cgicc/configure.in Sat Oct 7 11:38:01 2000 *************** *** 1,11 **** dnl -*-m4-*- ! dnl $Id: configure.in,v 1.24 2000/07/03 03:22:01 sbooth Exp $ dnl Process this file with autoconf to produce a configure script. ! AC_REVISION($Revision: 1.24 $) AC_INIT(cgicc/Cgicc.cpp) AC_CONFIG_AUX_DIR(support) ! AM_INIT_AUTOMAKE(cgicc, 3.1.3) AM_CONFIG_HEADER(cgicc/config.h) AM_MAINTAINER_MODE --- 1,11 ---- dnl -*-m4-*- ! dnl $Id: configure.in,v 1.25 2000/10/07 18:38:01 sbooth Exp $ dnl Process this file with autoconf to produce a configure script. ! AC_REVISION($Revision: 1.25 $) AC_INIT(cgicc/Cgicc.cpp) AC_CONFIG_AUX_DIR(support) ! AM_INIT_AUTOMAKE(cgicc, 3.1.4) AM_CONFIG_HEADER(cgicc/config.h) AM_MAINTAINER_MODE *************** *** 87,91 **** AM_CONDITIONAL(DEMOS, test "$demos" = true) AC_OUTPUT([Makefile cgicc/Makefile cgicc/CgiDefs.h info/Makefile demo/Makefile ! example/Makefile support/cgicc.spec]) --- 87,91 ---- AM_CONDITIONAL(DEMOS, test "$demos" = true) AC_OUTPUT([Makefile cgicc/Makefile cgicc/CgiDefs.h info/Makefile demo/Makefile ! example/Makefile]) Index: cgicc/cgicc/CgiEnvironment.cpp diff -c cgicc/cgicc/CgiEnvironment.cpp:1.3 cgicc/cgicc/CgiEnvironment.cpp:1.4 *** cgicc/cgicc/CgiEnvironment.cpp:1.3 Sat Apr 15 00:57:00 2000 --- cgicc/cgicc/CgiEnvironment.cpp Sat Oct 7 11:41:18 2000 *************** *** 1,7 **** /* ! * $Id: CgiEnvironment.cpp,v 1.3 2000/04/15 07:57:00 sbooth Exp $ * ! * Copyright (C) 1996, 1997, 1998, 1999 Stephen F. Booth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by --- 1,7 ---- /* ! * $Id: CgiEnvironment.cpp,v 1.4 2000/10/07 18:41:18 sbooth Exp $ * ! * Copyright (C) 1996, 1997, 1998, 1999, 2000 Stephen F. Booth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by *************** *** 26,31 **** --- 26,32 ---- #include #include #include + #include #ifdef WIN32 #include *************** *** 104,110 **** } void ! CGICCNS CgiEnvironment::parseCookie(const STDNS string &data) { // find the '=' separating the name and value STDNS string::size_type pos = data.find("=", 0); --- 105,111 ---- } void ! CGICCNS CgiEnvironment::parseCookie(const STDNS string& data) { // find the '=' separating the name and value STDNS string::size_type pos = data.find("=", 0); *************** *** 112,120 **** // if no '=' was found, return if(pos == STDNS string::npos) return; // unescape the data, and add to the cookie list ! STDNS string name = unescapeString(data.substr(0, pos)); STDNS string value = unescapeString(data.substr(++pos)); fCookies.push_back(HTTPCookie(name, value)); --- 113,129 ---- // if no '=' was found, return if(pos == STDNS string::npos) return; + + // skip leading whitespace - " \f\n\r\t\v" + STDNS string::size_type wscount = 0; + STDNS string::const_iterator data_iter; + + for(data_iter = data.begin(); data_iter != data.end(); ++data_iter,++wscount) + if(isspace(*data_iter) == 0) + break; // unescape the data, and add to the cookie list ! STDNS string name = unescapeString(data.substr(wscount, pos - wscount)); STDNS string value = unescapeString(data.substr(++pos)); fCookies.push_back(HTTPCookie(name, value)); Index: cgicc/cgicc/HTMLAttributes.h diff -c cgicc/cgicc/HTMLAttributes.h:1.3 cgicc/cgicc/HTMLAttributes.h:1.4 *** cgicc/cgicc/HTMLAttributes.h:1.3 Mon Aug 16 10:40:04 1999 --- cgicc/cgicc/HTMLAttributes.h Sat Oct 7 11:41:18 2000 *************** *** 1,8 **** /* -*-c++-*- */ /* ! * $Id: HTMLAttributes.h,v 1.3 1999/08/16 17:40:04 sbooth Exp $ * ! * Copyright (C) 1996, 1997, 1998, 1999 Stephen F. Booth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by --- 1,8 ---- /* -*-c++-*- */ /* ! * $Id: HTMLAttributes.h,v 1.4 2000/10/07 18:41:18 sbooth Exp $ * ! * Copyright (C) 1996, 1997, 1998, 1999, 2000 Stephen F. Booth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by *************** *** 43,50 **** * pair inside an HTML tag. * For example, in the HTML code: *
!  * <A HREF="mailto:sbooth@saaba.lmi.net">Send mail</A>
! * The name/value pair (HREF, mailto:sbooth@saaba.lmi.net) * is an HTMLAttribute. */ class CGICC_API HTMLAttribute : public MStreamable --- 43,50 ---- * pair inside an HTML tag. * For example, in the HTML code: *
!  * <A HREF="mailto:sbooth@gnu.org">Send mail</A>
! * The name/value pair (HREF, mailto:sbooth@gnu.org) * is an HTMLAttribute. */ class CGICC_API HTMLAttribute : public MStreamable Index: cgicc/cgicc/HTMLElements.cpp diff -c cgicc/cgicc/HTMLElements.cpp:1.4 cgicc/cgicc/HTMLElements.cpp:1.5 *** cgicc/cgicc/HTMLElements.cpp:1.4 Fri Aug 20 13:51:31 1999 --- cgicc/cgicc/HTMLElements.cpp Thu Sep 21 08:21:28 2000 *************** *** 1,7 **** /* ! * $Id: HTMLElements.cpp,v 1.4 1999/08/20 20:51:31 sbooth Exp $ * ! * Copyright (C) 1996, 1997, 1998, 1999 Stephen F. Booth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by --- 1,7 ---- /* ! * $Id: HTMLElements.cpp,v 1.5 2000/09/21 15:21:28 sbooth Exp $ * ! * Copyright (C) 1996, 1997, 1998, 1999, 2000 Stephen F. Booth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by *************** *** 227,233 **** fElements = list.fElements; STDNS vector::iterator iter; ! for(iter = fElements.begin(); iter != fElements.end(); iter++) *iter = (*iter)->clone(); return *this; --- 227,233 ---- fElements = list.fElements; STDNS vector::iterator iter; ! for(iter = fElements.begin(); iter != fElements.end(); ++iter) *iter = (*iter)->clone(); return *this; Index: cgicc/cgicc/Makefile.am diff -c cgicc/cgicc/Makefile.am:1.10 cgicc/cgicc/Makefile.am:1.11 *** cgicc/cgicc/Makefile.am:1.10 Sun Jul 2 20:19:52 2000 --- cgicc/cgicc/Makefile.am Sat Oct 7 11:38:01 2000 *************** *** 1,4 **** ! ## $Id: Makefile.am,v 1.10 2000/07/03 03:19:52 sbooth Exp $ CLEANFILES = *~ --- 1,4 ---- ! ## $Id: Makefile.am,v 1.11 2000/10/07 18:38:01 sbooth Exp $ CLEANFILES = *~ *************** *** 8,14 **** libcgicc_la_SOURCES = CgiEnvironment.cpp CgiUtils.cpp Cgicc.cpp \ FormEntry.cpp FormFile.cpp HTMLAttributes.cpp HTMLElements.cpp \ HTTPHeaders.cpp MStreamable.cpp ! libcgicc_la_LDFLAGS = -version-info 2:2:1 pkginclude_HEADERS = CgiDefs.h CgiEnvironment.h CgiUtils.h Cgicc.h \ FormEntry.h FormFile.h HTMLAttributes.h HTMLClasses.h HTMLElements.h \ --- 8,14 ---- libcgicc_la_SOURCES = CgiEnvironment.cpp CgiUtils.cpp Cgicc.cpp \ FormEntry.cpp FormFile.cpp HTMLAttributes.cpp HTMLElements.cpp \ HTTPHeaders.cpp MStreamable.cpp ! libcgicc_la_LDFLAGS = -version-info 2:3:1 pkginclude_HEADERS = CgiDefs.h CgiEnvironment.h CgiUtils.h Cgicc.h \ FormEntry.h FormFile.h HTMLAttributes.h HTMLClasses.h HTMLElements.h \ Index: cgicc/demo/dns.cpp diff -c cgicc/demo/dns.cpp:1.10 cgicc/demo/dns.cpp:1.13 *** cgicc/demo/dns.cpp:1.10 Thu Sep 30 10:40:45 1999 --- cgicc/demo/dns.cpp Sun Oct 15 08:59:20 2000 *************** *** 1,7 **** /* ! * $Id: dns.cpp,v 1.10 1999/09/30 17:40:45 sbooth Exp $ * ! * Copyright (C) 1996, 1997, 1998, 1999 Stephen F. Booth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by --- 1,7 ---- /* ! * $Id: dns.cpp,v 1.13 2000/10/15 15:59:20 sbooth Exp $ * ! * Copyright (C) 1996, 1997, 1998, 1999, 2000 Stephen F. Booth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by *************** *** 49,55 **** // To use logging, the variable gLogFile MUST be defined, and it _must_ // be an ofstream #if DEBUG ! STDNS ofstream gLogFile( "/change_this_path/Cgicc.log", STDNS ios::app ); #endif #if CGICC_USE_NAMESPACES --- 49,55 ---- // To use logging, the variable gLogFile MUST be defined, and it _must_ // be an ofstream #if DEBUG ! STDNS ofstream gLogFile( "/change_this_path/cgicc.log", STDNS ios::app ); #endif #if CGICC_USE_NAMESPACES *************** *** 102,108 **** .set("content", "Stephen F. Booth") << endl; cout << head() << endl; ! cout << h1() << "Cgi" << span("cc").set("class","red") << " DNS Gateway" << h1() << endl; form_iterator ip = cgi.getElement("ip"); --- 102,108 ---- .set("content", "Stephen F. Booth") << endl; cout << head() << endl; ! cout << h1() << "GNU cgi" << span("cc").set("class","red") << " DNS Gateway" << h1() << endl; form_iterator ip = cgi.getElement("ip"); *************** *** 194,201 **** cout << colgroup() << endl; cout << "
" << endl; cout << tr() << endl; cout << td(strong("IP Address: ")) << endl; --- 194,203 ---- cout << colgroup() << endl; cout << "" << endl; cout << tr() << endl; cout << td(strong("IP Address: ")) << endl; *************** *** 207,214 **** cout << td() << tr() << "
" << endl; cout << "
" << endl; cout << tr() << endl; cout << td(strong("Hostname: ")) << endl; --- 209,218 ---- cout << td() << tr() << "
" << endl; cout << "
" << endl; cout << tr() << endl; cout << td(strong("Hostname: ")) << endl; *************** *** 223,232 **** // Now print cout a footer with some fun info cout << hr(set("class","half")) << endl; cout << CGICCNS div().set("align","center").set("class","smaller") << endl; ! cout << "GNU Cgi" << span("cc").set("class","red") << " v" << cgi.getVersion(); cout << " by " << a("Stephen F. Booth") ! .set("href", "http://www.lmi.net/~sbooth/") << br() << endl; cout << "Compiled at " << cgi.getCompileTime() << " on " << cgi.getCompileDate() << br() << endl; --- 227,236 ---- // Now print cout a footer with some fun info cout << hr(set("class","half")) << endl; cout << CGICCNS div().set("align","center").set("class","smaller") << endl; ! cout << "GNU cgi" << span("cc").set("class","red") << " v" << cgi.getVersion(); cout << " by " << a("Stephen F. Booth") ! .set("href", "http://home.earthlink.net/~sfbooth/") << br() << endl; cout << "Compiled at " << cgi.getCompileTime() << " on " << cgi.getCompileDate() << br() << endl; Index: cgicc/demo/test.cpp diff -c cgicc/demo/test.cpp:1.10 cgicc/demo/test.cpp:1.13 *** cgicc/demo/test.cpp:1.10 Thu Sep 30 10:40:45 1999 --- cgicc/demo/test.cpp Sun Oct 15 08:59:53 2000 *************** *** 1,7 **** /* ! * $Id: test.cpp,v 1.10 1999/09/30 17:40:45 sbooth Exp $ * ! * Copyright (C) 1996, 1997, 1998, 1999 Stephen F. Booth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by --- 1,7 ---- /* ! * $Id: test.cpp,v 1.13 2000/10/15 15:59:53 sbooth Exp $ * ! * Copyright (C) 1996, 1997, 1998, 1999, 2000 Stephen F. Booth * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by *************** *** 40,46 **** // To use logging, the variable gLogFile MUST be defined, and it _must_ // be an ofstream #if DEBUG ! STDNS ofstream gLogFile( "/change_this_path/Cgicc.log", STDNS ios::app ); #endif #if CGICC_USE_NAMESPACES --- 40,46 ---- // To use logging, the variable gLogFile MUST be defined, and it _must_ // be an ofstream #if DEBUG ! STDNS ofstream gLogFile( "/change_this_path/cgicc.log", STDNS ios::app ); #endif #if CGICC_USE_NAMESPACES *************** *** 112,118 **** cout << comment() << style() << endl; ! cout << title() << "GNU Cgicc v" << cgi.getVersion() << " Test Results" << title() << endl; cout << meta().set("name", "author").set("content", "Stephen F. Booth") << endl; --- 112,118 ---- cout << comment() << style() << endl; ! cout << title() << "GNU cgicc v" << cgi.getVersion() << " Test Results" << title() << endl; cout << meta().set("name", "author").set("content", "Stephen F. Booth") << endl; *************** *** 122,137 **** // Start the HTML body cout << body() << endl; ! cout << h1() << "GNU Cgi" << span("cc").set("class","red") << " v"<< cgi.getVersion() << " Test Results" << h1() << endl; // Get a pointer to the environment const CgiEnvironment& env = cgi.getEnvironment(); // Generic thank you message ! cout << comment() << "This page generated by Cgicc for " << env.getRemoteHost() << comment() << endl; ! cout << h4() << "Thanks for using Cgi" << span("cc").set("class", "red") << ", " << env.getRemoteHost() << '(' << env.getRemoteAddr() << ")!" << h4() << endl; --- 122,137 ---- // Start the HTML body cout << body() << endl; ! cout << h1() << "GNU cgi" << span("cc").set("class","red") << " v"<< cgi.getVersion() << " Test Results" << h1() << endl; // Get a pointer to the environment const CgiEnvironment& env = cgi.getEnvironment(); // Generic thank you message ! cout << comment() << "This page generated by cgicc for " << env.getRemoteHost() << comment() << endl; ! cout << h4() << "Thanks for using cgi" << span("cc").set("class", "red") << ", " << env.getRemoteHost() << '(' << env.getRemoteAddr() << ")!" << h4() << endl; *************** *** 188,199 **** << endl; cout << CGICCNS div() << br() << hr(set("class","half")) << endl; ! // Information on Cgicc cout << CGICCNS div().set("align","center").set("class","smaller") << endl; ! cout << "GNU Cgi" << span("cc").set("class","red") << " v"; cout << cgi.getVersion(); cout << " by " << a("Stephen F. Booth") ! .set("href", "http://www.lmi.net/~sbooth/") << br() << endl; cout << "Compiled at " << cgi.getCompileTime(); cout << " on " << cgi.getCompileDate() << br() << endl; --- 188,199 ---- << endl; cout << CGICCNS div() << br() << hr(set("class","half")) << endl; ! // Information on cgicc cout << CGICCNS div().set("align","center").set("class","smaller") << endl; ! cout << "GNU cgi" << span("cc").set("class","red") << " v"; cout << cgi.getVersion(); cout << " by " << a("Stephen F. Booth") ! .set("href", "http://home.earthlink.net/~sfbooth/") << br() << endl; cout << "Compiled at " << cgi.getCompileTime(); cout << " on " << cgi.getCompileDate() << br() << endl; *************** *** 261,267 **** cout << comment() << style() << endl; ! cout << title("GNU Cgicc exception") << endl; cout << meta().set("name", "author") .set("content", "Stephen F. Booth") << endl; cout << head() << endl; --- 261,267 ---- cout << comment() << style() << endl; ! cout << title("GNU cgicc exception") << endl; cout << meta().set("name", "author") .set("content", "Stephen F. Booth") << endl; cout << head() << endl; Index: cgicc/demo/testform.html diff -c cgicc/demo/testform.html:1.3 cgicc/demo/testform.html:1.4 *** cgicc/demo/testform.html:1.3 Tue Jun 15 14:22:04 1999 --- cgicc/demo/testform.html Sun Oct 15 09:00:42 2000 *************** *** 4,14 **** ! ! GNU Cgicc Test Form !