forked from KolibriOS/kolibrios
Mistakes in functions of work with files and with system calls KolibriOS are corrected.
New functions for work with system calls KolibriOS are added. Functions for format output are added: printf (), fprintf (), sprintf (), snprintf (), vsnprintf (). For material numbers it is meanwhile supported only format output the (%f), and exponential output a (%e) is not realized yet. Functions for format output correctly work only in GCC because TinyC incorrectly works with the functions containing variable number of arguments. git-svn-id: svn://kolibrios.org@647 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
22
programs/develop/ktcc/trunk/libc/stdlib/atoib.cpp
Normal file
22
programs/develop/ktcc/trunk/libc/stdlib/atoib.cpp
Normal file
@@ -0,0 +1,22 @@
|
||||
#include "stdio.h"
|
||||
#include "stdlib.h"
|
||||
#include "ctype.h"
|
||||
|
||||
/*
|
||||
** atoib(s,b) - Convert s to "unsigned" integer in base b.
|
||||
** NOTE: This is a non-standard function.
|
||||
*/
|
||||
int atoib(char *s,int b)
|
||||
{
|
||||
int n, digit;
|
||||
n = 0;
|
||||
while(isspace(*s)) ++s;
|
||||
while((digit = (127 & *s++)) >= '0') {
|
||||
if(digit >= 'a') digit -= 87;
|
||||
else if(digit >= 'A') digit -= 55;
|
||||
else digit -= '0';
|
||||
if(digit >= b) break;
|
||||
n = b * n + digit;
|
||||
}
|
||||
return (n);
|
||||
}
|
Reference in New Issue
Block a user