Annotation of libaitcfg/src/tools.c, revision 1.1.1.1

1.1       misho       1: #include "global.h"
                      2: #include "aitcfg.h"
                      3: #include "tools.h"
                      4: 
                      5: #pragma GCC visibility push(hidden)
                      6: 
                      7: // ltrim() Left trim whitespaces
                      8: inline int ltrim(u_char *psLine)
                      9: {
                     10:        int pos = 0;
                     11: 
                     12:        if (!psLine)
                     13:                return 0;
                     14:        pos = strspn((char*) psLine, " \t\r\n");
                     15:        if (!pos)
                     16:                return 0;
                     17: 
                     18:        memmove(psLine, psLine + pos, strlen((char*) psLine));
                     19:        return pos;
                     20: }
                     21: 
                     22: // rtrim() Right trim whitespaces
                     23: inline int rtrim(u_char *psLine)
                     24: {
                     25:        int i, pos = 0;
                     26: 
                     27:        if (!psLine)
                     28:                return 0;
                     29:        for (i = strlen((char*) psLine); i; i--) {
                     30:                switch (psLine[i - 1]) {
                     31:                        case ' ':
                     32:                        case '\t':
                     33:                        case '\r':
                     34:                        case '\n':
                     35:                                psLine[i - 1] = 0;
                     36:                                pos++;
                     37:                                continue;
                     38:                }
                     39:                break;
                     40:        }
                     41: 
                     42:        return pos;
                     43: }
                     44: 
                     45: #pragma GCC visibility pop
                     46: 
                     47: // trim() Triming all whitespaces both left/right
                     48: inline int trim(u_char *psLine)
                     49: {
                     50:        int ret = 0;
                     51: 
                     52:        ret = ltrim(psLine);
                     53:        ret += rtrim(psLine);
                     54: 
                     55:        return ret;
                     56: }

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>