summaryrefslogtreecommitdiff
path: root/lib/Variables.cc
diff options
context:
space:
mode:
authorPixel <Pixel>2001-09-20 23:27:01 +0000
committerPixel <Pixel>2001-09-20 23:27:01 +0000
commit8346d0774d2d1e076038db27f65f1d082a460f16 (patch)
tree132f84cf1ef45d5006a2b1d52d4d40b1e8e51abc /lib/Variables.cc
Initial revision
Diffstat (limited to 'lib/Variables.cc')
-rw-r--r--lib/Variables.cc55
1 files changed, 55 insertions, 0 deletions
diff --git a/lib/Variables.cc b/lib/Variables.cc
new file mode 100644
index 0000000..15de09d
--- /dev/null
+++ b/lib/Variables.cc
@@ -0,0 +1,55 @@
+
+#include "Variables.h"
+#include "HttpServ.h"
+#include "String.h"
+#include "config.h"
+
+Variables::Variables(int nb) : Vars(nb ? new String[nb] : 0), nbvars(nb) { }
+
+Variables::~Variables() {
+ if (Vars) {
+ delete[] Vars;
+ }
+}
+
+void Variables::SetTo(int i, const String & s) {
+ Vars[i] = s;
+}
+
+String Variables::operator[](const String & name) {
+ int i;
+ String r;
+
+ for (i = 0; i < nbvars; i++) {
+ if (Vars[i].strstr(name) == 0) break;
+ }
+
+ if (i == nbvars) {
+ r = "";
+ } else {
+ r = Vars[i].to_charp(Vars[i].strchr('=') + 1);
+ }
+
+ return r;
+}
+
+String Variables::operator[](int i) {
+ return Vars[i];
+}
+
+int Variables::GetNb(void) {
+ return nbvars;
+}
+
+void Variables::Dump(Handle * h) {
+ int i, eqp;
+ String Vn, Vv;
+
+ for (i = 0; i < nbvars; i++) {
+ eqp = Vars[i].strchr('=');
+ Vn = Vars[i].to_charp(0, eqp - 1);
+ Vv = Vars[i].to_charp(eqp + 1);
+ (*h) << "<INPUT TYPE=\"HIDDEN\" NAME=\"" << Vn << "\" VALUE=\"" << Vv << "\">" << endnl;
+ }
+}
+