1 #include "mystring.h"
2 #include <ctype.h>
3 
lower() const4 mystring mystring::lower() const
5 {
6   const unsigned length = rep->length;
7   char buf[length+1];
8   const char* in = rep->buf + length;
9   bool changed = false;
10   for(char* out = buf+length; out >= buf; in--, out--)
11     if(isupper(*in))
12       *out = tolower(*in), changed = true;
13     else
14       *out = *in;
15   if(!changed)
16     return *this;
17   else
18     return mystring(buf, length);
19 }
20