Subversion Repositories WoWGM

Rev

Rev 9 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

#include "../H/STPL.h"

/****************************************************************************
*
*       Private functions
*
***/
//===========================================================================
int ToLower(int ch)
{
        if (ch > 96 && ch < 123)
                ch-=32;
        return ch;
}

//===========================================================================
int ToUpper(int ch)
{
        if (ch > 64 && ch < 91)
                ch+=32;
        return ch;
}


/****************************************************************************
*
*       External functions
*
***/
//===========================================================================
inline unsigned long SStrCopy(char* dest, char const* source, unsigned long destsize)
{
        // TODO: ASSERT(dest);
        // TODO: ASSERT(source);

        unsigned long i;
        for (i = 0; i <= destsize; i++)
        {
                dest[i] = source[i];
                if (*source == '\0')
                        break;
        }
        return i;
}

//===========================================================================
int SStrCmp(char const* string1, char const* string2, unsigned long maxchars)
{
        // TODO: ASSERT(string1);
        // TODO: ASSERT(string2);
        return 0;
}

//===========================================================================
int SStrCmpI(char const* string1, char const* string2, unsigned long maxchars)
{
        // TODO: ASSERT(string1);
        // TODO: ASSERT(string2);
        return 0;
}

//===========================================================================
inline unsigned long SStrLen(char const* string)
{
        // TODO: ASSERT(string);

        char const* i;
        for (i = string; *i; ++i);
        return static_cast<unsigned long>(i - string);
}

//===========================================================================
inline unsigned long SStrLen(unsigned short const* string)
{
        // TODO: ASSERT(string);

        unsigned short const* i;
        for (i = string; *i; ++i);
        return static_cast<unsigned long>(i - string);
}

//===========================================================================
void SStrLower(char* string)
{
        // TODO: ASSERT(string);
        while(*string)
        {
                *string = ToLower(*string);
                ++string;
        }
}

//===========================================================================
void SStrUpper(char* string)
{
        // TODO: ASSERT(string);
        while(*string)
        {
                *string = ToUpper(*string);
                ++string;
        }
}