Ignore:
Timestamp:
05/29/18 16:51:14 (6 years ago)
Author:
Maciej Komosinski
Message:

Code formatting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpp/frams/util/sstring-simple.cpp

    r395 r793  
    66void SString::initEmpty()
    77{
    8 txt=NULL; used=0; size=0;
     8        txt = NULL; used = 0; size = 0;
    99}
    1010
    1111SString::SString()
    1212{
    13 initEmpty();
     13        initEmpty();
    1414}
    1515
    1616SString::~SString()
    1717{
    18 resize(0);
     18        resize(0);
    1919}
    2020
    2121SString::SString(int x)
    2222{
    23 initEmpty();
    24 if (x)
    25         ensureSize(x+1);
    26 }
    27 
    28 SString::SString(const char *t,int t_len)
    29 {
    30 initEmpty();
    31 if (!t) return;
    32 copyFrom(t,t_len);
     23        initEmpty();
     24        if (x)
     25                ensureSize(x + 1);
     26}
     27
     28SString::SString(const char *t, int t_len)
     29{
     30        initEmpty();
     31        if (!t) return;
     32        copyFrom(t, t_len);
    3333}
    3434
    3535SString::SString(const SString &from)
    3636{
    37 initEmpty();
    38 operator=(from);
     37        initEmpty();
     38        operator=(from);
    3939}
    4040
    4141SString::SString(SString&& from)
    4242{
    43 txt=from.txt; size=from.size; used=from.used;
    44 from.txt=NULL; from.size=0; from.used=0;
     43        txt = from.txt; size = from.size; used = from.used;
     44        from.txt = NULL; from.size = 0; from.used = 0;
    4545}
    4646
    4747void SString::resize(int newsize)
    4848{
    49 if (newsize==size) return;
    50 txt=(char*)realloc(txt,newsize);
    51 size=newsize;
     49        if (newsize == size) return;
     50        txt = (char*)realloc(txt, newsize);
     51        size = newsize;
    5252}
    5353
    5454void SString::ensureSize(int needed)
    5555{
    56 if (size>needed) return;
    57 resize( (size>0) ? (needed+needed/2+1) : (needed+1));
     56        if (size > needed) return;
     57        resize((size > 0) ? (needed + needed / 2 + 1) : (needed + 1));
    5858}
    5959
    6060char *SString::directWrite(int ensuresize)
    6161{
    62 ensureSize(ensuresize);
    63 appending=used;
    64 return txt;
     62        ensureSize(ensuresize);
     63        appending = used;
     64        return txt;
    6565}
    6666
    6767char *SString::directAppend(int maxappend)
    6868{
    69 ensureSize(used+maxappend);
    70 appending=used;
    71 return txt+appending;
     69        ensureSize(used + maxappend);
     70        appending = used;
     71        return txt + appending;
    7272}
    7373
    7474void SString::endWrite(int newlength)
    7575{
    76 if (newlength<0) newlength=strlen(txt);
    77 else txt[newlength]=0;
    78 used=newlength;
    79 assert(used<size);
     76        if (newlength < 0) newlength = strlen(txt);
     77        else txt[newlength] = 0;
     78        used = newlength;
     79        assert(used < size);
    8080}
    8181
    8282void SString::endAppend(int newappend)
    8383{
    84 if (newappend<0) newappend=strlen(txt+appending);
    85 else txt[appending+newappend]=0;
    86 used=appending+newappend;
    87 assert(used<size);
     84        if (newappend < 0) newappend = strlen(txt + appending);
     85        else txt[appending + newappend] = 0;
     86        used = appending + newappend;
     87        assert(used < size);
    8888}
    8989
     
    9292void SString::operator+=(const char *s)
    9393{
    94 if (!s) return;
    95 int x=strlen(s);
    96 if (!x) return;
    97 append(s,x);
    98 }
    99 
    100 void SString::append(const char *t,int n)
    101 {
    102 if (!n) return;
    103 ensureSize(used+n);
    104 memmove(txt+used,t,n);
    105 used+=n;
    106 txt[used]=0;
     94        if (!s) return;
     95        int x = strlen(s);
     96        if (!x) return;
     97        append(s, x);
     98}
     99
     100void SString::append(const char *t, int n)
     101{
     102        if (!n) return;
     103        ensureSize(used + n);
     104        memmove(txt + used, t, n);
     105        used += n;
     106        txt[used] = 0;
    107107}
    108108
    109109void SString::operator+=(const SString&s)
    110110{
    111 append(s.c_str(),s.len());
     111        append(s.c_str(), s.len());
    112112}
    113113
    114114SString SString::operator+(const SString& s) const
    115115{
    116 SString ret(len()+s.len());
    117 ret=*this;
    118 ret+=s;
    119 return ret;
     116        SString ret(len() + s.len());
     117        ret = *this;
     118        ret += s;
     119        return ret;
    120120}
    121121
    122122/////////////////////////////
    123123
    124 void SString::copyFrom(const char *ch,int chlen)
    125 {
    126 if (!ch) chlen=0;
    127 else if (chlen<0) chlen=strlen(ch);
    128 if (chlen)
     124void SString::copyFrom(const char *ch, int chlen)
     125{
     126        if (!ch) chlen = 0;
     127        else if (chlen < 0) chlen = strlen(ch);
     128        if (chlen)
    129129        {
    130         ensureSize(chlen);
    131         memmove(txt,ch,chlen);
    132         txt[chlen]=0;
    133         used=chlen;
     130                ensureSize(chlen);
     131                memmove(txt, ch, chlen);
     132                txt[chlen] = 0;
     133                used = chlen;
    134134        }
    135 else
     135        else
    136136        {
    137         if (txt)
     137                if (txt)
    138138                {
    139                 txt[0]=0;
    140                 used=0;
     139                        txt[0] = 0;
     140                        used = 0;
    141141                }
    142142        }
     
    145145void SString::operator=(const char *ch)
    146146{
    147 copyFrom(ch);
     147        copyFrom(ch);
    148148}
    149149
    150150void SString::operator=(const SString&s)
    151151{
    152 if (&s==this) return;
    153 copyFrom(s.c_str(),s.len());
     152        if (&s == this) return;
     153        copyFrom(s.c_str(), s.len());
    154154}
    155155
     
    158158SString SString::substr(int begin, int length) const
    159159{
    160 if (begin<0) { length+=begin; begin=0; }
    161 if (length>=(len()-begin)) length=len()-begin;
    162 if (length<=0) return SString();
    163 if (length==len()) return *this;
    164 return SString((*this)(begin),length);
     160        if (begin < 0) { length += begin; begin = 0; }
     161        if (length >= (len() - begin)) length = len() - begin;
     162        if (length <= 0) return SString();
     163        if (length == len()) return *this;
     164        return SString((*this)(begin), length);
    165165}
    166166
     
    169169bool SString::equals(const SString& s) const
    170170{
    171 if (this==&s) return true;
    172 if (len()!=s.len()) return false;
    173 return strcmp(getPtr(),s.getPtr())==0;
     171        if (this == &s) return true;
     172        if (len() != s.len()) return false;
     173        return strcmp(getPtr(), s.getPtr()) == 0;
    174174}
    175175
    176176///////////////////////////////////////
    177177
    178 int SString::indexOf(int character,int start) const
    179 {
    180 const char *found=strchr(getPtr()+start,character);
    181 return found?found-getPtr():-1;
    182 }
    183 
    184 int SString::indexOf(const char *substring,int start) const
    185 {
    186 const char *found=strstr(getPtr()+start,substring);
    187 return found?found-getPtr():-1;
    188 }
    189 
    190 int SString::indexOf(const SString & substring,int start) const
    191 {
    192 const char *found=strstr(getPtr()+start,substring.c_str());
    193 return found?found-getPtr():-1;
    194 }
    195 
    196 bool SString::getNextToken (int& pos,SString &token,char separator) const
    197 {
    198 if (pos>=len()) {token=0;return false;}
    199 int p1=pos,p2;
    200 const char *t1=getPtr()+pos;
    201 const char *t2=strchr(t1,separator);
    202 if (t2) pos=(p2=(t2-getPtr()))+1; else p2=pos=len();
    203 strncpy(token.directWrite(p2-p1),t1,p2-p1);
    204 token.endWrite(p2-p1);
    205 return true;
     178int SString::indexOf(int character, int start) const
     179{
     180        const char *found = strchr(getPtr() + start, character);
     181        return found ? found - getPtr() : -1;
     182}
     183
     184int SString::indexOf(const char *substring, int start) const
     185{
     186        const char *found = strstr(getPtr() + start, substring);
     187        return found ? found - getPtr() : -1;
     188}
     189
     190int SString::indexOf(const SString & substring, int start) const
     191{
     192        const char *found = strstr(getPtr() + start, substring.c_str());
     193        return found ? found - getPtr() : -1;
     194}
     195
     196bool SString::getNextToken(int& pos, SString &token, char separator) const
     197{
     198        if (pos >= len()) { token = 0; return false; }
     199        int p1 = pos, p2;
     200        const char *t1 = getPtr() + pos;
     201        const char *t2 = strchr(t1, separator);
     202        if (t2) pos = (p2 = (t2 - getPtr())) + 1; else p2 = pos = len();
     203        strncpy(token.directWrite(p2 - p1), t1, p2 - p1);
     204        token.endWrite(p2 - p1);
     205        return true;
    206206}
    207207
    208208bool SString::startsWith(const char *pattern) const
    209209{
    210 const char *t=this->c_str();
    211 for (;*pattern;pattern++,t++)
    212         if (*t != *pattern) return false;
    213 return true;
     210        const char *t = this->c_str();
     211        for (; *pattern; pattern++, t++)
     212                if (*t != *pattern) return false;
     213        return true;
    214214}
    215215
    216216SString SString::valueOf(int i)
    217217{
    218 return SString::sprintf("%d",i);
     218        return SString::sprintf("%d", i);
    219219}
    220220SString SString::valueOf(long i)
    221221{
    222 return SString::sprintf("%d",i);
     222        return SString::sprintf("%d", i);
    223223}
    224224SString SString::valueOf(double d)
    225225{
    226 SString tmp=SString::sprintf("%.15g",d);
    227 if ((!strchr(tmp.c_str(),'.'))&&(!strchr(tmp.c_str(),'e'))) tmp+=".0";
    228 return tmp;
     226        SString tmp = SString::sprintf("%.15g", d);
     227        if ((!strchr(tmp.c_str(), '.')) && (!strchr(tmp.c_str(), 'e'))) tmp += ".0";
     228        return tmp;
    229229}
    230230SString SString::valueOf(const SString& s)
    231231{
    232 return s;
     232        return s;
    233233}
    234234
    235235SString SString::sprintf(const char* format, ...)
    236236{
    237 int n, size = 30;
    238 va_list ap;
    239 
    240 SString ret;
     237        int n, size = 30;
     238        va_list ap;
     239
     240        SString ret;
    241241
    242242#ifdef USE_VSCPRINTF
    243 va_start(ap, format);
    244 size=_vscprintf(format, ap);
    245 va_end(ap);
     243        va_start(ap, format);
     244        size = _vscprintf(format, ap);
     245        va_end(ap);
    246246#endif
    247247
    248 while (1)
     248        while (1)
    249249        {
    250         char* p=ret.directWrite(size);
    251         assert(p!=NULL);
    252         size=ret.directMaxLen()+1;
    253         /* Try to print in the allocated space. */
    254         va_start(ap, format);
    255         n = vsnprintf(p, size, format, ap);
    256         va_end(ap);
    257         /* If that worked, return the string. */
    258         if (n > -1 && n < size)
     250                char* p = ret.directWrite(size);
     251                assert(p != NULL);
     252                size = ret.directMaxLen() + 1;
     253                /* Try to print in the allocated space. */
     254                va_start(ap, format);
     255                n = vsnprintf(p, size, format, ap);
     256                va_end(ap);
     257                /* If that worked, return the string. */
     258                if (n > -1 && n < size)
    259259                {
    260                 ret.endWrite(n);
    261                 return ret;
     260                        ret.endWrite(n);
     261                        return ret;
    262262                }
    263         /* Else try again with more space. */
     263                /* Else try again with more space. */
    264264#ifdef VSNPRINTF_RETURNS_REQUIRED_SIZE
    265         if (n > -1)    /* glibc 2.1 */
    266                 size = n; /* precisely what is needed */
    267         else           /* glibc 2.0 */
     265                if (n > -1)    /* glibc 2.1 */
     266                        size = n; /* precisely what is needed */
     267                else           /* glibc 2.0 */
    268268#endif
    269                 size *= 2;  /* twice the old size */
     269                        size *= 2;  /* twice the old size */
    270270        }
    271271}
     
    273273SString &SString::empty()
    274274{
    275 static SString empty;
    276 return empty;
    277 }
     275        static SString empty;
     276        return empty;
     277}
Note: See TracChangeset for help on using the changeset viewer.