Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
4921 Serge 1
/*
2
FUNCTION
3
<>---convert a string to a long long integer
4
 
5
INDEX
6
        atoll
7
INDEX
8
        _atoll_r
9
 
10
ANSI_SYNOPSIS
11
        #include 
12
        long long atoll(const char *<[str]>);
13
        long long _atoll_r(struct _reent *<[ptr]>, const char *<[str]>);
14
 
15
TRAD_SYNOPSIS
16
        #include 
17
        long long atoll(<[str]>)
18
        const char *<[str]>;
19
 
20
        long long _atoll_r(<[ptr]>, <[str]>)
21
	struct _reent *<[ptr]>;
22
        const char *<[str]>;
23
 
24
DESCRIPTION
25
The function <> converts the initial portion of the string
26
pointed to by <<*<[str]>>> to a type <>.  A call to
27
atoll(str) in this implementation is equivalent to
28
strtoll(str, (char **)NULL, 10) including behavior on error.
29
 
30
The alternate function <<_atoll_r>> is a reentrant version.  The
31
extra argument <[reent]> is a pointer to a reentrancy structure.
32
 
33
 
34
RETURNS
35
The converted value.
36
 
37
PORTABILITY
38
<> is ISO 9899 (C99) and POSIX 1003.1-2001 compatable.
39
 
40
No supporting OS subroutines are required.
41
*/
42
 
43
/*
44
 * Copyright (c) 1988, 1993
45
 *	The Regents of the University of California.  All rights reserved.
46
 *
47
 * Redistribution and use in source and binary forms, with or without
48
 * modification, are permitted provided that the following conditions
49
 * are met:
50
 * 1. Redistributions of source code must retain the above copyright
51
 *    notice, this list of conditions and the following disclaimer.
52
 * 2. Redistributions in binary form must reproduce the above copyright
53
 *    notice, this list of conditions and the following disclaimer in the
54
 *    documentation and/or other materials provided with the distribution.
55
 * 3. All advertising materials mentioning features or use of this software
56
 *    must display the following acknowledgement:
57
 *	This product includes software developed by the University of
58
 *	California, Berkeley and its contributors.
59
 * 4. Neither the name of the University nor the names of its contributors
60
 *    may be used to endorse or promote products derived from this software
61
 *    without specific prior written permission.
62
 *
63
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
64
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
65
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
66
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
67
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
68
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
69
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
70
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
71
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
72
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
73
 * SUCH DAMAGE.
74
 */
75
 
76
#include 
77
#include 
78
 
79
#ifndef _REENT_ONLY
80
long long
81
_DEFUN(atoll, (str),
82
       _CONST char *str)
83
{
84
	return strtoll(str, (char **)NULL, 10);
85
}
86
#endif /* !_REENT_ONLY */
87
 
88
long long
89
_DEFUN(_atoll_r, (ptr, str),
90
       struct _reent *ptr _AND
91
       _CONST char *str)
92
{
93
	return _strtoll_r(ptr, str, (char **)NULL, 10);
94
}