forked from github/server
implement atoi so it doesn't change errno (for now)
This commit is contained in:
parent
130ecf3167
commit
c7c306b0e5
3 changed files with 11 additions and 1 deletions
|
@ -179,7 +179,8 @@ int destroy_cmd(unit * u, struct order *ord)
|
||||||
s = gettoken(token, sizeof(token));
|
s = gettoken(token, sizeof(token));
|
||||||
|
|
||||||
if (s && *s) {
|
if (s && *s) {
|
||||||
n = atoi((const char *)s);
|
n = atoi10((const char *)s);
|
||||||
|
|
||||||
if (n <= 0) {
|
if (n <= 0) {
|
||||||
n = INT_MAX;
|
n = INT_MAX;
|
||||||
}
|
}
|
||||||
|
|
|
@ -23,6 +23,14 @@ OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <ctype.h>
|
#include <ctype.h>
|
||||||
|
#include <errno.h>
|
||||||
|
|
||||||
|
int atoi10(const char *str)
|
||||||
|
{
|
||||||
|
int i = atoi(str);
|
||||||
|
errno = 0;
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
|
||||||
int atoi36(const char *str)
|
int atoi36(const char *str)
|
||||||
{
|
{
|
||||||
|
|
|
@ -31,6 +31,7 @@ extern "C" {
|
||||||
const char *itoa36(int i);
|
const char *itoa36(int i);
|
||||||
const char *itoa10(int i);
|
const char *itoa10(int i);
|
||||||
extern int atoi36(const char *s);
|
extern int atoi36(const char *s);
|
||||||
|
extern int atoi10(const char *s);
|
||||||
int i10toi36(int i);
|
int i10toi36(int i);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
Loading…
Reference in a new issue