diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/BString.h | 8 | ||||
-rw-r--r-- | include/Exceptions.h | 4 |
2 files changed, 10 insertions, 2 deletions
diff --git a/include/BString.h b/include/BString.h index 948534e..a0aa10b 100644 --- a/include/BString.h +++ b/include/BString.h @@ -3,9 +3,14 @@ #include <string.h> #include <iostream> +#include <string> #include <Exceptions.h> #include <generic.h> +struct ugly_string { + char * p; +}; + class String : public Base { public: String(const String &); @@ -21,7 +26,7 @@ class String : public Base { String(double); ~String(); const char * set(const char *, ...); - const char * set(const String &, ...); + const char * set(const ugly_string &, ...); const char * to_charp(size_t = 0, ssize_t = -1) const; String extract(size_t = 0, ssize_t = -1) const; char * strdup(size_t = 0, ssize_t = -1) const; @@ -51,6 +56,7 @@ class String : public Base { bool operator<(const String &) const; bool operator>(const String &) const; char operator[](size_t i) const; + operator ugly_string() const; String & toupper(); String & tolower(); diff --git a/include/Exceptions.h b/include/Exceptions.h index c66f7d5..b7885cc 100644 --- a/include/Exceptions.h +++ b/include/Exceptions.h @@ -12,6 +12,7 @@ typedef int pid_t; #endif class String; +struct ugly_string; class Base { public: @@ -28,7 +29,8 @@ class Base { static int pipe(int * p, int flag = 0); static pid_t fork(); static void exit(int); - static void printm(int level, String fmt, ...); + static void printm(int level, const ugly_string &, ...); + static void printm(int level, const char *, ...); }; class String; |