From 2d57145f789c3e87cc950c3ceab76870cd98beff Mon Sep 17 00:00:00 2001 From: Pixel Date: Wed, 8 Oct 2008 09:20:04 -0700 Subject: Avoiding passing on strings by copy during exceptions. --- include/Exceptions.h | 6 +++--- lib/Exceptions.cc | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/Exceptions.h b/include/Exceptions.h index d52d245..52f51c4 100644 --- a/include/Exceptions.h +++ b/include/Exceptions.h @@ -89,7 +89,7 @@ class Base { class GeneralException : public Base { public: //! The constructor has to provide a string describing the exception. - GeneralException(String); + GeneralException(const String &); GeneralException(const GeneralException &); ~GeneralException(); //! This should only be used by the exception manager in order to display what went wrong. @@ -129,14 +129,14 @@ enum op_t { class IOGeneral : public GeneralException { public: - IOGeneral(String); + IOGeneral(const String &); protected: IOGeneral(); }; class IOException : public IOGeneral { public: - IOException(String, op_t, ssize_t); + IOException(const String &, op_t, ssize_t); }; class IOAgain : public IOGeneral { diff --git a/lib/Exceptions.cc b/lib/Exceptions.cc index 8a66e68..5c14404 100644 --- a/lib/Exceptions.cc +++ b/lib/Exceptions.cc @@ -49,7 +49,7 @@ char GeneralException::t[BUFSIZ]; std::vector Base::context; -GeneralException::GeneralException(String emsg) : msg(emsg.strdup()) { +GeneralException::GeneralException(const String & emsg) : msg(emsg.strdup()) { UNLOCK; #ifdef DEBUG printm(M_BARE, String(_("Generating a General Exception error: '")) + msg + "'.\n"); @@ -83,13 +83,13 @@ MemoryException::MemoryException(ssize_t s) { msg = strdup(t); } -IOException::IOException(String fn, op_t op, ssize_t s) { +IOException::IOException(const String & fn, op_t op, ssize_t s) { sprintf(t, _("An error has occured while %s %u bytes on %s: %s"), op == IO_WRITE ? _("writing") : _("reading"), s, fn.to_charp(), strerror(errno)); msg = strdup(t); } -IOGeneral::IOGeneral(String fn) : GeneralException(fn) { } +IOGeneral::IOGeneral(const String & fn) : GeneralException(fn) { } IOGeneral::IOGeneral() { } -- cgit v1.2.3