summaryrefslogtreecommitdiffstats
path: root/debian/htdig/htdig-3.2.0b6/htsearch/Template.cc
diff options
context:
space:
mode:
Diffstat (limited to 'debian/htdig/htdig-3.2.0b6/htsearch/Template.cc')
-rw-r--r--debian/htdig/htdig-3.2.0b6/htsearch/Template.cc81
1 files changed, 81 insertions, 0 deletions
diff --git a/debian/htdig/htdig-3.2.0b6/htsearch/Template.cc b/debian/htdig/htdig-3.2.0b6/htsearch/Template.cc
new file mode 100644
index 00000000..d1d48095
--- /dev/null
+++ b/debian/htdig/htdig-3.2.0b6/htsearch/Template.cc
@@ -0,0 +1,81 @@
+//
+// Template.cc
+//
+// Template: A template to set the display of the search results.
+// MatchTemplate is used for every match, Start and End templates
+// are used between the header and the first match and the
+// last match and the footer respectively.
+//
+// Part of the ht://Dig package <http://www.htdig.org/>
+// Copyright (c) 1995-2004 The ht://Dig Group
+// For copyright details, see the file COPYING in your distribution
+// or the GNU Library General Public License (LGPL) version 2 or later
+// <http://www.gnu.org/copyleft/lgpl.html>
+//
+// $Id: Template.cc,v 1.8 2004/05/28 13:15:24 lha Exp $
+//
+
+#ifdef HAVE_CONFIG_H
+#include "htconfig.h"
+#endif /* HAVE_CONFIG_H */
+
+#include "Template.h"
+
+#include <stdio.h>
+
+
+//*****************************************************************************
+Template::Template()
+{
+}
+
+
+//*****************************************************************************
+Template::~Template()
+{
+}
+
+
+//*****************************************************************************
+// The start and end templates are created from the filename of the
+// main template by appending ".start" and ".end" to the filename
+// respectively.
+//
+void
+Template::createFromFile(const char *filename)
+{
+ String realFile;
+
+ realFile = filename;
+ realFile << ".start";
+ readFile(startTemplate, (char*)realFile);
+
+ realFile = filename;
+ realFile << ".end";
+ readFile(endTemplate, (char*)realFile);
+
+ readFile(matchTemplate, filename);
+}
+
+//*****************************************************************************
+// Append the contents of a file to a string. Nothing happens if the file
+// doesn't exist.
+//
+void
+Template::readFile(String &s, const char *filename) const
+{
+ FILE *fl = fopen(filename, "r");
+ char buffer[1000];
+
+ if (!fl)
+ return;
+ s = 0;
+ while (fgets(buffer, sizeof(buffer), fl))
+ {
+ s << buffer;
+ }
+ fclose(fl);
+}
+
+
+