summaryrefslogtreecommitdiff
path: root/lib/ReadJob.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ReadJob.cc')
-rw-r--r--lib/ReadJob.cc104
1 files changed, 52 insertions, 52 deletions
diff --git a/lib/ReadJob.cc b/lib/ReadJob.cc
index 63557c2..c31b894 100644
--- a/lib/ReadJob.cc
+++ b/lib/ReadJob.cc
@@ -1,52 +1,52 @@
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-#include "ReadJob.h"
-#include "HttpServ.h"
-#include "Regex.h"
-#include "gettext.h"
-
-ReadJob::ReadJob(Handle * as, Handle * ad, const Regex & aregex) : s(as), d(ad), regex(&aregex) {
- s->SetNonBlock();
- d->SetNonBlock();
- WaitFor(s, W4_READING);
-}
-
-ReadJob::~ReadJob() { }
-
-int ReadJob::Do() throw (GeneralException) {
- String buff;
-
- switch (current) {
- case 0:
- try {
- *s >> buff;
- }
- catch (IOAgain e) {
- WaitFor(s, W4_READING);
- Suspend(TASK_ON_HOLD);
- }
- case 1:
- try {
- *d << buff << endnl;
- }
- catch (IOAgain e) {
- current = 1;
- WaitFor(d, W4_WRITING);
- Suspend(TASK_ON_HOLD);
- }
- current = 0;
- if (regex->Match(buff)) return TASK_DONE;
- }
-
- if (!s->IsClosed()) {
- WaitFor(s, W4_READING);
- Suspend(TASK_ON_HOLD);
- }
-
- return TASK_DONE;
-}
-
-String ReadJob::GetName() {
- return (String(_("ReadJob from ")) + s->GetName() + _(" to ") + d->GetName());
-}
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+#include "ReadJob.h"
+#include "HttpServ.h"
+#include "Regex.h"
+#include "gettext.h"
+
+ReadJob::ReadJob(Handle * as, Handle * ad, const Regex & aregex) : s(as), d(ad), regex(&aregex) {
+ s->SetNonBlock();
+ d->SetNonBlock();
+ WaitFor(s, W4_READING);
+}
+
+ReadJob::~ReadJob() { }
+
+int ReadJob::Do() throw (GeneralException) {
+ String buff;
+
+ switch (current) {
+ case 0:
+ try {
+ *s >> buff;
+ }
+ catch (IOAgain e) {
+ WaitFor(s, W4_READING);
+ Suspend(TASK_ON_HOLD);
+ }
+ case 1:
+ try {
+ *d << buff << endnl;
+ }
+ catch (IOAgain e) {
+ current = 1;
+ WaitFor(d, W4_WRITING);
+ Suspend(TASK_ON_HOLD);
+ }
+ current = 0;
+ if (regex->Match(buff)) return TASK_DONE;
+ }
+
+ if (!s->IsClosed()) {
+ WaitFor(s, W4_READING);
+ Suspend(TASK_ON_HOLD);
+ }
+
+ return TASK_DONE;
+}
+
+String ReadJob::GetName() {
+ return (String(_("ReadJob from ")) + s->GetName() + _(" to ") + d->GetName());
+}