summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/BString.h8
-rw-r--r--include/Exceptions.h4
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;