Subversion Repositories shark

Rev

Rev 1619 | Blame | Compare with Previous | Last modification | View Log | RSS feed

/* Project:     OSLib
 * Description: The OS Construction Kit
 * Date:                1.6.2000
 * Idea by:             Luca Abeni & Gerardo Lamastra
 *
 * OSLib is an SO project aimed at developing a common, easy-to-use
 * low-level infrastructure for developing OS kernels and Embedded
 * Applications; it partially derives from the HARTIK project but it
 * currently is independently developed.
 *
 * OSLib is distributed under GPL License, and some of its code has
 * been derived from the Linux kernel source; also some important
 * ideas come from studying the DJGPP go32 extender.
 *
 * We acknowledge the Linux Community, Free Software Foundation,
 * D.J. Delorie and all the other developers who believe in the
 * freedom of software and ideas.
 *
 * For legalese, check out the included GPL license.
 */


#include <arch/ctype.h>
#include <arch/i386/string.h>

FILE(strnum);

int isnumber(char c,int base)
{
    static char *digits = "0123456789ABCDEF";
    if ((c >= '0' && c <= digits[base-1]))
       return(1);
    else return(0);
}

int tonumber(char c)
{
    if (c >= '0' && c <= '9') return(c - '0');
    else if (c >= 'A' && c <= 'F') return(c - 'A' + 10);
    else if (c >= 'a' && c <= 'f') return(c - 'a' + 10);
    else return(c);
}

char todigit(int c)
{
    if (c >= 0 && c <= 9) return(c+'0');
    else if (c >= 10 && c <= 15) return(c + 'A' - 10);
    else return(c);    
}

int isxdigit(char c)
{
    if ((c >= '0' && c <= 'F') || (c >= 'a' && c <= 'f'))
       return(1);
    else return(0);
}

int isdigit(char c)
{
    if ((c >= '0' && c <= '9'))
       return(1);
    else return(0);
}