From e4075153def021c3405accb19ffcdc3247d98807 Mon Sep 17 00:00:00 2001 From: Pixel Date: Sun, 2 Dec 2001 18:55:35 +0000 Subject: Comments and so... --- include/Action.h | 24 ------------------------ include/Confirm.h | 10 ---------- include/Exceptions.h | 26 -------------------------- include/Form.h | 16 ---------------- include/Handle.h | 17 ----------------- include/HttpServ.h | 8 -------- include/Input.h | 4 ---- include/Menu.h | 10 ---------- include/Message.h | 9 --------- include/Output.h | 4 ---- include/Socket.h | 21 --------------------- include/String.h | 33 --------------------------------- include/Table.h | 12 ------------ include/Variables.h | 20 -------------------- lib/CopyJob.cc | 2 +- lib/Exceptions.cc | 10 +++++----- lib/IRC.cc | 2 -- lib/InPipe.cc | 2 +- lib/Input.cc | 3 +-- lib/OutPipe.cc | 2 +- lib/Output.cc | 2 +- lib/ReadJob.cc | 2 +- lib/Regex.cc | 6 +++--- lib/Socket.cc | 4 ++-- lib/String.cc | 4 ++-- lib/Task.cc | 4 ++-- lib/TaskMan.cc | 14 +++++++------- 27 files changed, 27 insertions(+), 244 deletions(-) diff --git a/include/Action.h b/include/Action.h index fd8b204..99ad7ea 100644 --- a/include/Action.h +++ b/include/Action.h @@ -7,30 +7,6 @@ #include #include -/* - * La classe Action defini les actions HTTP possibles. - * Le constructeur indique l'URL de l'action. Si aucune URL n'est specifiee, - * alors une URL aléatoire sera générée. - * - * Lors de la construction d'une Action, elle sera rajoutée dans une liste chaînée - * interne à la classe. De ce fait, la fonction Look4URL recherchera une Action - * associée a une URL donnée en paramètre dans la liste chaînée. Le destructeur - * va remettre en place la liste chaînée. - * - * Les dérivés doivent surcharger la méthode Do, qui recevra les variables transportées - * par l'action (si nous avions une méthode POST juste avant) et le handle d'écriture - * vers le socket HTTP. Ils devront aussi surcharger GetTitle, qui sert à écrire le - * titre de la page HTML dans les méthodes SendHead et SendFoot. Ces deux méthodes sont - * d'ailleurs surchargeables, pour créer de nouvelles skins HTML dans des classes dérivées. - * - * La méthode ShowButton sert à afficher un bouton sur la page. Par défaut, ce bouton reviendra - * vers la page principale. - * - * Une action peut être "temporaire", c'est à dire accessible uniquement une seule fois. - * Dans ce cas, après création, il faut faire appel à la méthode CleanUp, et la méthode - * Do devra terminer par un appel a Accessed, afin de supprimer cette Action. - */ - class Action : public Base { public: Action(const String & = ""); diff --git a/include/Confirm.h b/include/Confirm.h index 9e2cc7b..be0b659 100644 --- a/include/Confirm.h +++ b/include/Confirm.h @@ -6,16 +6,6 @@ #include #include -/* - * Cette classe sert à afficher une boîte de dialogue de confirmation. - * Constructeur: - * - titre = titre de la boite de dialogue - * - msg = message a afficher - * - url = url de cette boite - * - yes = action a effectuer si on clique sur Oui - * - no = action a effectuer si on clique sur Non. - */ - class Confirm : public Action { public: Confirm(const String & titre, const String & msg, const String & url, Action * yes, Action * no = 0); diff --git a/include/Exceptions.h b/include/Exceptions.h index 9c87714..e5d24e6 100644 --- a/include/Exceptions.h +++ b/include/Exceptions.h @@ -6,31 +6,7 @@ #include #include #include - -/* - * Gère les exceptions du système. Le programme principal devrait tenter - * de les récupérer afin de les afficher. - * GeneralExecption: exception de base. Construite sur une string. - * MemoryException: plus assez de mémoire. Construit une string sur la taille mémoire - * qui a fait défaut. - * IOException: erreur de lecture/écriture. Construite sur le nombre d'octets - * et sur l'opération qui a générée l'erreur. - * IOGeneral: erreur générale sur une opération IO (erreur à l'ouverture notemment) - * IOInternal: erreur interne du programme. En particulier, le programme - * a voulu lire ou écrire alors que le Handle n'était pas prévu pour. - * - * Nous définissons les fonctions xmalloc, xfree et xstrdup. Elles devraient être - * utilisées en lieu et place des fonctions malloc, free et strdup. La fonction realloc - * étant désapréciée, elle n'est pas surchargée. - */ - -// Impossible de surcharger free(void *). Les compilateurs -// refuseront de passer un char * par exemple. -#ifdef OVER_FREE -#define free(p) xfree((void*)p) -#else #include -#endif class GeneralException; @@ -41,8 +17,6 @@ void * xrealloc(void *, size_t); int xpipe(int *, int = 0) throw (GeneralException); pid_t xfork() throw (GeneralException); -// On prédéfinit la classe String, pour éviter -// les deadlocks de compilation... class String; class Base { diff --git a/include/Form.h b/include/Form.h index dd923be..77498a8 100644 --- a/include/Form.h +++ b/include/Form.h @@ -6,22 +6,6 @@ #include #include -/* - * Cette classe sert à afficher un formulaire de saisie. - * Constructeur: - * - titre = titre de la page - * - url = url de ce formulaire - * - inv = invite du formulaire - * - names = liste des noms des variables pour chaque champs - * - invs = liste des invites pour chaque champs - * - defaults = listes des valeurs par defaut pour chaque champs - * - lists = liste des listes de valeurs pour les menus deroulants. Si une liste déroulante = 0, - * alors il s'agira d'un champ de saisie manuel. - * - descs = liste des listes de descriptions pour les menus deroulants. - * - nb = nombre de champs - * - ok = Action a effectuer lorsque l'on clique sur le bouton Ok. - */ - class Form : public Action { public: Form(const String & titre, const String & url, const String & inv, diff --git a/include/Handle.h b/include/Handle.h index 45a9432..dd1cfd7 100644 --- a/include/Handle.h +++ b/include/Handle.h @@ -7,23 +7,6 @@ #include #include -/* - * Pour les classes qui vont deriver: le constructeur Handle(int) specifie - * le handle a stocker. De meme, GetHandle sert a lire le handle stocke. - * - * Les operateurs >> et << ne fonctionnent qu'avec des String. Vu que la - * classe String possede des constructeurs pour tous les types utiles, cela - * ne posera pas de problemes. >> va lire une ligne en supprimant les caractères - * '\n' des fins de lignes et en ignorant '\r'. - * - * Les fonctions read et write sont les memes que les fonctions systeme read - * et write. - * - * Les booleens CanRead et CanWrite indiquent si le handle peut lire ou ecrire. - * - * GetName donne le nom associe au handle. (nom de fichier ou autre) - */ - #include #include diff --git a/include/HttpServ.h b/include/HttpServ.h index 5860dd7..a51a16e 100644 --- a/include/HttpServ.h +++ b/include/HttpServ.h @@ -9,14 +9,6 @@ #include #include -/* - * La classe HttpServ. Le constructueur (int, const String &) indique le port - * et le nom du serveur à indiquer dans les entetes HTTP. - * - * Une fois lance, il suffit de lancer MainLoop en indiquant le menu principal, - * qui est obligatoirement statique et doit posseder l'url /bin/start. - */ - class HttpServ : public Task { public: HttpServ(Action *, int = 1500, const String & = String("GruiK Server v0.1")) throw (GeneralException); diff --git a/include/Input.h b/include/Input.h index ae8ef09..7aa0ff2 100644 --- a/include/Input.h +++ b/include/Input.h @@ -7,10 +7,6 @@ #include #include -/* - * Cette classe sert à créer un fichier ouvert en lecture. - */ - class Input : public Handle { public: Input(String = "") throw (GeneralException); diff --git a/include/Menu.h b/include/Menu.h index bb0b74c..6e77c70 100644 --- a/include/Menu.h +++ b/include/Menu.h @@ -6,16 +6,6 @@ #include #include -/* - * Cette classe permet d'afficher un menu. - * Constructeur: - * - titre = titre de la page - * - url = url de la page - * - labels = labels de items du menu - * - listac = liste des pointeurs sur les actions - * - nb = nombre d'items - */ - class Menu : public Action { public: Menu(const String & titre, const String & url, String * labels, Action ** listac, int nb); diff --git a/include/Message.h b/include/Message.h index 41ca841..043f4d6 100644 --- a/include/Message.h +++ b/include/Message.h @@ -6,15 +6,6 @@ #include #include -/* - * Cette classe sert a afficher un message. - * Constructeur: - * - titre = titre de la page - * - msg = message de la boite de dialogue - * - url = url de la page - * - ok = action a effectuer lorsque l'on clique sur Ok. - */ - class Message : public Action { public: Message(const String & titre, const String & msg, const String & url, Action * ok = 0); diff --git a/include/Output.h b/include/Output.h index 10a1849..6c4fdec 100644 --- a/include/Output.h +++ b/include/Output.h @@ -5,10 +5,6 @@ #include #include -/* - * Ouvre un fichier en ecriture. - */ - class Output : public Handle { public: Output(String = "", int trunc = 1) throw (GeneralException); diff --git a/include/Socket.h b/include/Socket.h index c6402cb..a8076e3 100644 --- a/include/Socket.h +++ b/include/Socket.h @@ -8,27 +8,6 @@ #include #include -/* - * Cree un socket. - * - * SetLocal(hostname, port) définit le hostname local et le port a écouter, si le - * socket est destine a etre un socket serveur, ou la vhost et le port source si - * le socket est destine a se etre un socket client. Renvoie faux si probleme quelconque. - * - * Connect(hostname, port) passe le socket en mode client et va se connecter sur - * l'adresse hostname:port specifiee. - * - * Listen passe le socket en mode serveur. - * - * Accept permet de récuperer un client qui se connecte sur un socket server, et - * renvoie le socket de lecture/ecriture correspondant. - * - * Les methodes IsConnected et IsListening permettent de verifier l'etat du socket. - * - * Les fonctions WriteFile et ReadFile permettent de transmettre un fichier sur le socket. - * Tres utile pour l'upload ou le download. - */ - class Socket : public Handle { public: Socket() throw (GeneralException); diff --git a/include/String.h b/include/String.h index fbeb9fc..a0d9220 100644 --- a/include/String.h +++ b/include/String.h @@ -6,39 +6,6 @@ #include #include -/* - * Cette classe permet de stocker des chaînes de caractères simplement. - * Elle est une base essentielle et permet d'effectuer énormément d'opérations: - * - set fonctionne comme sprintf, et réassigne la chaîne. - * - to_charp() transforme la chaîne en pointeur. - * - to_charp(from) extrait la chaîne depuis le caractère numéro from - * - to_charp(from, to) extrait la chaîne depuis le caractère numéro from - * jusqu'au caractère numéro to. - * ATTENTION: les fonctions to_charp renvoie un pointeur sur un tableau - * statique, et ce tableau sera modifié au prochain - * appel à to_charp ou a set. - * - to_int transforme la chaîne en int. - * - to_double transforme la chaîne en double - * - to_sqldate effectue la conversion suivante: DD/MM/YYYY ==> YYYYMMDD - * - to_sqltime effectue la conversion suivante: h:m ==> h * 60 + m - * - from_sqldate et from_sqltime effectue les conversions inverses. - * - datedif calcule la différence en jours entre deux dates. Si le résultat - * est négatif, alors une des deux dates étaient invalide. - * - is_date, is_number, is_float, is_time renvoient des booléens de test. - * - strlen renvoie la longueur de la chaine - * - strchr(c) renvoie la position du caractère c - * - strchr(c, p) recherche le caractère c à partir de la position p - * - strrchr(c) renvoie la position du caractère c, en recherchant depuis la droite. - * - strstr(s) renvoie la position de la chaine s - * NOTE: les fonctions de recherche renvoient un résultat négatif si pas trouvé. - * - strchrcnt(c) compte le nombre d'occurences du caractère c. - * - * Les opérateurs !=, ==, <=, >=, < et > permettent de comparer deux chaînes, en mode - * 'case sensitive'. L'operateur [] renvoie un caractère de la chaîne. - * - * Les opérateurs << et >> vers un ostream ou depuis un istream sont supportés. - */ - class String : public Base { public: String(const String &); diff --git a/include/Table.h b/include/Table.h index 97b1503..5b01aab 100644 --- a/include/Table.h +++ b/include/Table.h @@ -6,18 +6,6 @@ #include #include -/* - * Affiche une table. - * Constructeurs: - * - titre = titre de la page - * - url = url de la page - * - heads = liste des titres des colonnes. Si = 0, la ligne de titre est désactivée. - * - cells = liste de toutes les cellules. Notez qu'il s'agit d'une liste linéaire. - * - nbcol = nombre de colonnes - * - nblig = nombre de lignes - * - ok = action à effectuer si on clique sur le bouton Ok. Page principale par défaut. - */ - class Table : public Action { public: Table(const String & titre, const String & url, String * heads, String * cells, int nbcol, int nblgn, Action * ok = 0); diff --git a/include/Variables.h b/include/Variables.h index f24daa0..f3471bd 100644 --- a/include/Variables.h +++ b/include/Variables.h @@ -7,26 +7,6 @@ #include #include -/* - * Cette classe nous sert a gérer les variables transportées par les formulaires. - * Elle sera initialisée dans la classe HttpServ et sera passée en paramètre aux - * actions. Le constructeur indique le nombre de variables qu'il faut allouer. - * - * SetTo sert à définir une variable suivant son numéro. On indique la string sous - * la forme "Nom=Valeur". - * - * L'opérateur [] est surchargé deux fois et permet: - * - si on indique un int, de récupérer la variable sous la forme "Nom=Valeur" - * - si on indique une string, de récupérer la valeur de la variable. - * - * La fonction Dump sert à sortir toutes les variables en un formulaire HTML, de - * sorte à faire transiter les variables d'un formulaire à l'autre. Toutes les actions - * implémentées ici possèdant des boutons font appel à cette méthode. En particulier, - * les formulaires en cascadent cumulent leurs variables. - * - * GetNb sert à lire le nombre de variables stockés dans l'instance. - */ - class Variables : public Base { public: Variables(int = 0); diff --git a/lib/CopyJob.cc b/lib/CopyJob.cc index 5f348db..637f4b2 100644 --- a/lib/CopyJob.cc +++ b/lib/CopyJob.cc @@ -51,6 +51,6 @@ int CopyJob::Do() throw (GeneralException) { } String CopyJob::GetName() { - return (String("CopyJob from ") + s->GetName() + " to " + d->GetName()); + return (String(_("CopyJob from ")) + s->GetName() + _(" to ") + d->GetName()); } diff --git a/lib/Exceptions.cc b/lib/Exceptions.cc index 6d24646..53d974d 100644 --- a/lib/Exceptions.cc +++ b/lib/Exceptions.cc @@ -12,17 +12,17 @@ char GeneralException::t[BUFSIZ]; GeneralException::GeneralException(String emsg) : msg(emsg.strdup()) { #ifdef DEBUG - cerr << "Generating a General Exception error: '" << msg << "'.\n"; + cerr << _("Generating a General Exception error: '") << msg << "'.\n"; #endif } GeneralException::GeneralException() : msg(0) { #ifdef DEBUG - cerr << "Generating a General Exception error: '" << msg << "'.\n"; + cerr << _("Generating a General Exception error: '") << msg << "'.\n"; #endif } GeneralException::GeneralException(const GeneralException & e) : msg(strdup(e.msg)) { #ifdef DEBUG - cerr << "Generating a General Exception error: '" << msg << "'.\n"; + cerr << _("Generating a General Exception error: '") << msg << "'.\n"; #endif } @@ -120,7 +120,7 @@ void xfree(void *& p) { int xpipe(int * p, int flag) throw (GeneralException) { if (pipe(p)) { - throw GeneralException(String("Error creating pipe: ") + strerror(errno)); + throw GeneralException(String(_("Error creating pipe: ")) + strerror(errno)); } return p[flag]; @@ -132,7 +132,7 @@ pid_t xfork() throw (GeneralException) { p = fork(); if (p == -1) { - throw GeneralException("Was not able to fork().\n"); + throw GeneralException(_("Was not able to fork().\n")); } return p; diff --git a/lib/IRC.cc b/lib/IRC.cc index bb7cbb6..c02101f 100644 --- a/lib/IRC.cc +++ b/lib/IRC.cc @@ -215,12 +215,10 @@ void IRC::MainLoop() { cerr << "Trying the login sequence..." << endl; sock << "NICK " << nick << endhl; sock << "USER " << user << " 8 * :" << name << endhl; -// sock << "JOIN #linuxdjeunz" << endhl; loginsequence = 0; } sock >> line; if ((code = Parse(line))) { -// sock << "PRIVMSG #phear.org : Unparsable: " << line << endhl; cerr << "Unparsable: " << line << endl; } diff --git a/lib/InPipe.cc b/lib/InPipe.cc index 60f3751..f019768 100644 --- a/lib/InPipe.cc +++ b/lib/InPipe.cc @@ -27,5 +27,5 @@ bool InPipe::CanRead() { } String InPipe::GetName() { - return (String("Input pipe from stdout (") + (hooked ? "" : "not ") + "hooked)"); + return (String(_("Input pipe from stdout (")) + (hooked ? "" : _("not ")) + _("hooked)")); } diff --git a/lib/Input.cc b/lib/Input.cc index a466468..99c4bae 100644 --- a/lib/Input.cc +++ b/lib/Input.cc @@ -14,10 +14,9 @@ Input::Input(String no) throw (GeneralException) : Handle(no.strlen() ? open(no.to_charp(), O_RDONLY) : 0), n(no) { if (GetHandle() < 0) { - throw IOGeneral(String("Error opening file") + no + " for reading: " + strerror(errno)); + throw IOGeneral(String(_("Error opening file")) + no + _(" for reading: ") + strerror(errno)); } - cerr << "File " << no << " is opened with handle " << GetHandle() << endl; size = lseek(GetHandle(), 0, SEEK_END); lseek(GetHandle(), 0, SEEK_SET); diff --git a/lib/OutPipe.cc b/lib/OutPipe.cc index 35d23d3..ef0bf4a 100644 --- a/lib/OutPipe.cc +++ b/lib/OutPipe.cc @@ -27,5 +27,5 @@ bool OutPipe::CanRead() { } String OutPipe::GetName() { - return (String("Output pipe to stdin (") + (hooked ? "" : "not ") + "hooked)"); + return (String("Output pipe to stdin (") + (hooked ? "" : _("not ")) + _("hooked)")); } diff --git a/lib/Output.cc b/lib/Output.cc index 9e7437f..3f755ef 100644 --- a/lib/Output.cc +++ b/lib/Output.cc @@ -14,7 +14,7 @@ Output::Output(String no, int trunc = 1) throw (GeneralException) : Handle(no.strlen() ? open(no.to_charp(), O_WRONLY | O_CREAT | (trunc ? O_TRUNC : O_APPEND)) : 1), n(no) { if (GetHandle() < 0) { - throw IOGeneral(String("Error opening file") + no + " for writing: " + strerror(errno)); + throw IOGeneral(String(_("Error opening file")) + no + _(" for writing: ") + strerror(errno)); } } diff --git a/lib/ReadJob.cc b/lib/ReadJob.cc index a29f641..a012c97 100644 --- a/lib/ReadJob.cc +++ b/lib/ReadJob.cc @@ -43,5 +43,5 @@ int ReadJob::Do() throw (GeneralException) { } String ReadJob::GetName() { - return (String("ReadJob from ") + s->GetName() + " to " + d->GetName()); + return (String(_("ReadJob from ")) + s->GetName() + _(" to ") + d->GetName()); } diff --git a/lib/Regex.cc b/lib/Regex.cc index 3c566bd..41c55c7 100644 --- a/lib/Regex.cc +++ b/lib/Regex.cc @@ -8,10 +8,10 @@ Regex::Regex(const String & regex, int acflags, int aeflags) throw (GeneralExcep int r; if ((r = regcomp(&preg, pattern, cflags | REG_NOSUB))) { - cerr << "Error in regcomp:"; + cerr << _("Error in regcomp:"); regerror(r, &preg, t, sizeof(t)); cerr << t << endl; - throw GeneralException(String("Regex \"") + regex + "\" failed to compile: " + t + "\n"); + throw GeneralException(String(_("Regex \"")) + regex + _("\" failed to compile: ") + t + "\n"); } } @@ -22,7 +22,7 @@ Regex::Regex(const Regex & regex) : pattern(Base::strdup(pattern)) { cerr << "Error in regcomp:"; regerror(r, &preg, t, sizeof(t)); cerr << t << endl; - throw GeneralException(String("Regex \"") + pattern + "\" failed to compile: " + t + "\n"); + throw GeneralException(String(_("Regex \"")) + pattern + _("\" failed to compile: ") + t + "\n"); } } diff --git a/lib/Socket.cc b/lib/Socket.cc index f35bb72..aada133 100644 --- a/lib/Socket.cc +++ b/lib/Socket.cc @@ -15,7 +15,7 @@ Socket::Socket() throw (GeneralException) : Handle(socket(AF_INET, SOCK_STREAM, 0)), connected(false), listening(false) { if (GetHandle() < 0) { - throw GeneralException("Error creating socket."); + throw GeneralException(_("Error creating socket.")); } } @@ -117,7 +117,7 @@ Socket Socket::Accept(void) throw (GeneralException) { int h; if ((h = accept(GetHandle(), &inaddr, &inlen)) < 0) { - throw GeneralException("Failed accepting."); + throw GeneralException(_("Failed accepting.")); } else { return Socket(h); } diff --git a/lib/String.cc b/lib/String.cc index 60ca6df..d131fba 100644 --- a/lib/String.cc +++ b/lib/String.cc @@ -314,7 +314,7 @@ double String::datedif(const String & s) const { } bool String::is_number(void) const { - for (size_t i = ((str[i] == '-') ? 1 : 0); i < siz; i++) { + for (size_t i = ((str[0] == '-') ? 1 : 0); i < siz; i++) { if ((str[i] > '9') || (str[i] < '0')) return false; } return true; @@ -323,7 +323,7 @@ bool String::is_number(void) const { bool String::is_float(void) const { bool seendot = false; - for (size_t i = ((str[i] == '-') ? 1 : 0); i < siz; i++) { + for (size_t i = ((str[0] == '-') ? 1 : 0); i < siz; i++) { if ((str[i] > '9') || (str[i] < '0')) { if ((str[i] == '.') && !seendot) { seendot = true; diff --git a/lib/Task.cc b/lib/Task.cc index 72023e4..25733ff 100644 --- a/lib/Task.cc +++ b/lib/Task.cc @@ -24,7 +24,7 @@ int Task::Run() { return state; } catch (GeneralException e) { - cerr << "Task " << GetName() << " caused an unexpected exception: \"" << e.GetMsg() << "\". Terminating.\n"; + cerr << _("Task ") << GetName() << _(" caused an unexpected exception: \"") << e.GetMsg() << _("\". Terminating.\n"); return TASK_DONE; } @@ -36,7 +36,7 @@ int Task::GetState() { } String Task::GetName() { - return "Unknow Task"; + return _("Unknow Task"); } void Task::Suspend(int newstate) throw (GeneralException) { diff --git a/lib/TaskMan.cc b/lib/TaskMan.cc index 5709d02..3968f6b 100644 --- a/lib/TaskMan.cc +++ b/lib/TaskMan.cc @@ -55,7 +55,7 @@ int TaskMan::GotChild(pid_t pid, int status) { void TaskMan::Init() throw (GeneralException) { if (inited) { - throw GeneralException("Task Manager already initialised."); + throw GeneralException(_("Task Manager already initialised.")); } signal(SIGCHLD, taskman_sigchild); @@ -142,7 +142,7 @@ void TaskMan::MainLoop() throw (GeneralException) { while (1) { if (number == 0) { - throw GeneralException("TaskMan: No more task to manage."); + throw GeneralException(_("TaskMan: No more task to manage.")); } if (stopped) return; @@ -236,7 +236,7 @@ void TaskMan::MainLoop() throw (GeneralException) { if (errno == EINTR) { // child } else { - throw GeneralException(String("Error during poll: ") + strerror(errno)); + throw GeneralException(String(_("Error during poll: ")) + strerror(errno)); } } else if (r == 0) { // timeout... @@ -247,15 +247,15 @@ void TaskMan::MainLoop() throw (GeneralException) { int i; for (q = ufsd, i = 0; i < nfds; i++, q++) { if (q->revents & POLLNVAL) { - throw GeneralException(String("Error with poll, handle ") + q->fd + " invalid."); + throw GeneralException(String(_("Error with poll, handle ")) + q->fd + _(" invalid.")); } if (q->revents & POLLERR) { - cerr << "Error condition whith poll, handle " << q->fd << endl; + cerr << _("Error condition with poll, handle ") << q->fd << endl; } if (q->revents & POLLHUP) { - cerr << "Handle " << q->fd << " hung up.\n"; + cerr << _("Handle ") << q->fd << _(" hung up.\n"); // What should I do now? } @@ -326,7 +326,7 @@ void TaskMan::MainLoop() throw (GeneralException) { if (o->GetState() == TASK_DONE) { TaskList_t::iterator f = FindTask(o); if (!f) { - throw GeneralException("TaskMan: internal error (task not found)"); + throw GeneralException(_("TaskMan: internal error (task not found)")); } TaskList.erase(f); number--; -- cgit v1.2.3