diff options
author | Pixel <Pixel> | 2001-09-20 23:27:01 +0000 |
---|---|---|
committer | Pixel <Pixel> | 2001-09-20 23:27:01 +0000 |
commit | 8346d0774d2d1e076038db27f65f1d082a460f16 (patch) | |
tree | 132f84cf1ef45d5006a2b1d52d4d40b1e8e51abc /lib/Variables.cc |
Initial revision
Diffstat (limited to 'lib/Variables.cc')
-rw-r--r-- | lib/Variables.cc | 55 |
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; + } +} + |