nuttx/libc: Fix some spacing and alignment issues
This commit is contained in:
parent
c70987e551
commit
e9bd8bceb4
@ -305,7 +305,7 @@ static int lio_sigsetup(FAR struct aiocb * const *list, int nent,
|
|||||||
|
|
||||||
/* Attach our signal handler */
|
/* Attach our signal handler */
|
||||||
|
|
||||||
printf("waiter_main: Registering signal handler\n" );
|
printf("waiter_main: Registering signal handler\n");
|
||||||
act.sa_sigaction = lio_sighandler;
|
act.sa_sigaction = lio_sighandler;
|
||||||
act.sa_flags = SA_SIGINFO;
|
act.sa_flags = SA_SIGINFO;
|
||||||
|
|
||||||
@ -352,7 +352,7 @@ static int lio_waitall(FAR struct aiocb * const *list, int nent)
|
|||||||
|
|
||||||
/* Loop until all I/O completes */
|
/* Loop until all I/O completes */
|
||||||
|
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
/* Check if all I/O has completed */
|
/* Check if all I/O has completed */
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ double rint(double x)
|
|||||||
|
|
||||||
if (fremainder == -0.5)
|
if (fremainder == -0.5)
|
||||||
{
|
{
|
||||||
linteger = ((linteger+1)&~1);
|
linteger = ((linteger + 1) & ~1);
|
||||||
}
|
}
|
||||||
else if (fremainder < -0.5)
|
else if (fremainder < -0.5)
|
||||||
{
|
{
|
||||||
@ -124,7 +124,7 @@ double rint(double x)
|
|||||||
|
|
||||||
if (fremainder == 0.5)
|
if (fremainder == 0.5)
|
||||||
{
|
{
|
||||||
linteger = ((linteger+1)&~1);
|
linteger = ((linteger + 1) & ~1);
|
||||||
}
|
}
|
||||||
else if (fremainder > 0.5)
|
else if (fremainder > 0.5)
|
||||||
{
|
{
|
||||||
|
@ -111,7 +111,7 @@ float rintf(float x)
|
|||||||
|
|
||||||
if (fremainder == -0.5)
|
if (fremainder == -0.5)
|
||||||
{
|
{
|
||||||
linteger = ((linteger+1)&~1);
|
linteger = ((linteger + 1) & ~1);
|
||||||
}
|
}
|
||||||
else if (fremainder < -0.5)
|
else if (fremainder < -0.5)
|
||||||
{
|
{
|
||||||
@ -124,7 +124,7 @@ float rintf(float x)
|
|||||||
|
|
||||||
if (fremainder == 0.5)
|
if (fremainder == 0.5)
|
||||||
{
|
{
|
||||||
linteger = ((linteger+1)&~1);
|
linteger = ((linteger + 1) & ~1);
|
||||||
}
|
}
|
||||||
else if (fremainder > 0.5)
|
else if (fremainder > 0.5)
|
||||||
{
|
{
|
||||||
|
@ -111,7 +111,7 @@ long double rintl(long double x)
|
|||||||
|
|
||||||
if (fremainder == -0.5)
|
if (fremainder == -0.5)
|
||||||
{
|
{
|
||||||
llinteger = ((llinteger+1)&~1);
|
llinteger = ((llinteger + 1) & ~1);
|
||||||
}
|
}
|
||||||
else if (fremainder < -0.5)
|
else if (fremainder < -0.5)
|
||||||
{
|
{
|
||||||
@ -124,7 +124,7 @@ long double rintl(long double x)
|
|||||||
|
|
||||||
if (fremainder == 0.5)
|
if (fremainder == 0.5)
|
||||||
{
|
{
|
||||||
llinteger = ((llinteger+1)&~1);
|
llinteger = ((llinteger + 1) & ~1);
|
||||||
}
|
}
|
||||||
else if (fremainder > 0.5)
|
else if (fremainder > 0.5)
|
||||||
{
|
{
|
||||||
|
@ -43,7 +43,15 @@
|
|||||||
#ifdef CONFIG_HAVE_DOUBLE
|
#ifdef CONFIG_HAVE_DOUBLE
|
||||||
double trunc(double x)
|
double trunc(double x)
|
||||||
{
|
{
|
||||||
union {double f; uint64_t i;} u = {x};
|
union
|
||||||
|
{
|
||||||
|
double f;
|
||||||
|
uint64_t i;
|
||||||
|
} u =
|
||||||
|
{
|
||||||
|
x
|
||||||
|
};
|
||||||
|
|
||||||
int e = (int)(u.i >> 52 & 0x7ff) - 0x3ff + 12;
|
int e = (int)(u.i >> 52 & 0x7ff) - 0x3ff + 12;
|
||||||
uint64_t m;
|
uint64_t m;
|
||||||
volatile float __x;
|
volatile float __x;
|
||||||
|
@ -42,7 +42,15 @@
|
|||||||
|
|
||||||
float truncf(float x)
|
float truncf(float x)
|
||||||
{
|
{
|
||||||
union {float f; uint32_t i;} u = {x};
|
union
|
||||||
|
{
|
||||||
|
float f;
|
||||||
|
uint32_t i;
|
||||||
|
} u =
|
||||||
|
{
|
||||||
|
x
|
||||||
|
};
|
||||||
|
|
||||||
int e = (int)(u.i >> 23 & 0xff) - 0x7f + 9;
|
int e = (int)(u.i >> 23 & 0xff) - 0x7f + 9;
|
||||||
uint32_t m;
|
uint32_t m;
|
||||||
volatile float __x;
|
volatile float __x;
|
||||||
|
@ -58,7 +58,10 @@ union ldshape
|
|||||||
|
|
||||||
long double truncl(long double x)
|
long double truncl(long double x)
|
||||||
{
|
{
|
||||||
union ldshape u = {x};
|
union ldshape u =
|
||||||
|
{
|
||||||
|
x
|
||||||
|
};
|
||||||
int e = u.i.se & 0x7fff;
|
int e = u.i.se & 0x7fff;
|
||||||
int s = u.i.se >> 15;
|
int s = u.i.se >> 15;
|
||||||
long double y;
|
long double y;
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
* - The values must be right-shifted by eight bits by the updcrc logic; the shift must
|
* - The values must be right-shifted by eight bits by the updcrc logic; the shift must
|
||||||
* be u_(bring in zeroes). On some hardware you could probably optimize the shift in
|
* be u_(bring in zeroes). On some hardware you could probably optimize the shift in
|
||||||
* assembler by using byte-swap instructions polynomial $edb88320
|
* assembler by using byte-swap instructions polynomial $edb88320
|
||||||
************************************************************************************************/
|
************************************************************************************************/
|
||||||
|
|
||||||
/************************************************************************************************
|
/************************************************************************************************
|
||||||
* Included Files
|
* Included Files
|
||||||
|
@ -191,7 +191,7 @@ int match(const char *pattern, const char *string)
|
|||||||
{
|
{
|
||||||
const char *or;
|
const char *or;
|
||||||
|
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
or = strchr(pattern, '|');
|
or = strchr(pattern, '|');
|
||||||
if (or == (char *)0)
|
if (or == (char *)0)
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
* The inet_addr() function converts the string pointed to by cp, in the
|
* The inet_addr() function converts the string pointed to by cp, in the
|
||||||
* standard IPv4 dotted decimal notation, to an integer value suitable for
|
* standard IPv4 dotted decimal notation, to an integer value suitable for
|
||||||
* use as an Internet address.
|
* use as an Internet address.
|
||||||
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
in_addr_t inet_addr(FAR const char *cp)
|
in_addr_t inet_addr(FAR const char *cp)
|
||||||
|
@ -65,7 +65,7 @@
|
|||||||
FAR char *inet_ntoa(struct in_addr in)
|
FAR char *inet_ntoa(struct in_addr in)
|
||||||
{
|
{
|
||||||
static char buffer[INET_ADDRSTRLEN+2];
|
static char buffer[INET_ADDRSTRLEN+2];
|
||||||
FAR unsigned char *ptr = (FAR unsigned char*)&in.s_addr;
|
FAR unsigned char *ptr = (FAR unsigned char *)&in.s_addr;
|
||||||
sprintf(buffer, "%u.%u.%u.%u", ptr[0], ptr[1], ptr[2], ptr[3]);
|
sprintf(buffer, "%u.%u.%u.%u", ptr[0], ptr[1], ptr[2], ptr[3]);
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
@ -73,7 +73,7 @@ FAR char *inet_ntoa(struct in_addr in)
|
|||||||
FAR char *_inet_ntoa(in_addr_t in)
|
FAR char *_inet_ntoa(in_addr_t in)
|
||||||
{
|
{
|
||||||
static char buffer[INET_ADDRSTRLEN+2];
|
static char buffer[INET_ADDRSTRLEN+2];
|
||||||
FAR unsigned char *ptr = (FAR unsigned char*)∈
|
FAR unsigned char *ptr = (FAR unsigned char *)∈
|
||||||
sprintf(buffer, "%u.%u.%u.%u", ptr[0], ptr[1], ptr[2], ptr[3]);
|
sprintf(buffer, "%u.%u.%u.%u", ptr[0], ptr[1], ptr[2], ptr[3]);
|
||||||
return buffer;
|
return buffer;
|
||||||
}
|
}
|
||||||
|
@ -107,7 +107,7 @@ static int inet_ipv4_ntop(FAR const void *src, FAR char *dest, socklen_t size)
|
|||||||
return -ENOSPC;
|
return -ENOSPC;
|
||||||
}
|
}
|
||||||
|
|
||||||
ptr = (FAR char*)src;
|
ptr = (FAR char *)src;
|
||||||
sprintf(dest, "%d.%d.%d.%d", ptr[0], ptr[1], ptr[2], ptr[3]);
|
sprintf(dest, "%d.%d.%d.%d", ptr[0], ptr[1], ptr[2], ptr[3]);
|
||||||
return OK;
|
return OK;
|
||||||
}
|
}
|
||||||
|
@ -111,7 +111,7 @@ static int inet_ipv4_pton(FAR const char *src, FAR void *dest)
|
|||||||
numoffset = 0;
|
numoffset = 0;
|
||||||
ndots = 0;
|
ndots = 0;
|
||||||
|
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
ch = (uint8_t)src[srcoffset++];
|
ch = (uint8_t)src[srcoffset++];
|
||||||
|
|
||||||
@ -225,7 +225,7 @@ static int inet_ipv6_pton(FAR const char *src, FAR void *dest)
|
|||||||
nrsep = 0;
|
nrsep = 0;
|
||||||
rtime = false;
|
rtime = false;
|
||||||
|
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
ch = (uint8_t)src[srcoffset++];
|
ch = (uint8_t)src[srcoffset++];
|
||||||
|
|
||||||
|
@ -59,7 +59,7 @@
|
|||||||
*
|
*
|
||||||
* The shutdown() function disables subsequent send and/or receive
|
* The shutdown() function disables subsequent send and/or receive
|
||||||
* operations on a socket, depending on the value of the how argument.
|
* operations on a socket, depending on the value of the how argument.
|
||||||
|
*
|
||||||
* Input Paramteers:
|
* Input Paramteers:
|
||||||
* sockfd - Specifies the file descriptor of the socket.
|
* sockfd - Specifies the file descriptor of the socket.
|
||||||
* how - Specifies the type of shutdown. The values are as follows:
|
* how - Specifies the type of shutdown. The values are as follows:
|
||||||
@ -71,7 +71,7 @@
|
|||||||
* Returned Value:
|
* Returned Value:
|
||||||
* Upon successful completion, shutdown() will return 0; otherwise, -1 will
|
* Upon successful completion, shutdown() will return 0; otherwise, -1 will
|
||||||
* be returned and errno set to indicate the error.
|
* be returned and errno set to indicate the error.
|
||||||
|
*
|
||||||
* EBADF - The socket argument is not a valid file descriptor.
|
* EBADF - The socket argument is not a valid file descriptor.
|
||||||
* EINVAL - The how argument is invalid.
|
* EINVAL - The how argument is invalid.
|
||||||
* ENOTCONN - The socket is not connected.
|
* ENOTCONN - The socket is not connected.
|
||||||
|
@ -534,11 +534,11 @@ static int dns_recv_response(int sd, FAR struct sockaddr *addr,
|
|||||||
int d = 64;
|
int d = 64;
|
||||||
nameptr = dns_parse_name((uint8_t *)buffer + 12) + 4;
|
nameptr = dns_parse_name((uint8_t *)buffer + 12) + 4;
|
||||||
|
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
ndbg("%02X %02X %02X %02X %02X %02X %02X %02X \n",
|
ndbg("%02X %02X %02X %02X %02X %02X %02X %02X \n",
|
||||||
nameptr[0],nameptr[1],nameptr[2],nameptr[3],
|
nameptr[0], nameptr[1], nameptr[2], nameptr[3],
|
||||||
nameptr[4],nameptr[5],nameptr[6],nameptr[7]);
|
nameptr[4], nameptr[5], nameptr[6], nameptr[7]);
|
||||||
|
|
||||||
nameptr += 8;
|
nameptr += 8;
|
||||||
d -= 8;
|
d -= 8;
|
||||||
@ -589,10 +589,10 @@ static int dns_recv_response(int sd, FAR struct sockaddr *addr,
|
|||||||
ans->u.ipv4.s_addr = *(FAR uint32_t *)(nameptr + 10);
|
ans->u.ipv4.s_addr = *(FAR uint32_t *)(nameptr + 10);
|
||||||
|
|
||||||
nvdbg("IPv4 address: %d.%d.%d.%d\n",
|
nvdbg("IPv4 address: %d.%d.%d.%d\n",
|
||||||
(ans->u.ipv4.s_addr ) & 0xff,
|
(ans->u.ipv4.s_addr ) & 0xff,
|
||||||
(ans->u.ipv4.s_addr >> 8 ) & 0xff,
|
(ans->u.ipv4.s_addr >> 8 ) & 0xff,
|
||||||
(ans->u.ipv4.s_addr >> 16 ) & 0xff,
|
(ans->u.ipv4.s_addr >> 16) & 0xff,
|
||||||
(ans->u.ipv4.s_addr >> 24 ) & 0xff);
|
(ans->u.ipv4.s_addr >> 24) & 0xff);
|
||||||
|
|
||||||
if (*addrlen >= sizeof(struct sockaddr_in))
|
if (*addrlen >= sizeof(struct sockaddr_in))
|
||||||
{
|
{
|
||||||
|
@ -191,36 +191,32 @@ static int lib_localhost(FAR const void *addr, socklen_t len, int type,
|
|||||||
return -ERANGE;
|
return -ERANGE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
info = (FAR struct hostent_info_s *)buf;
|
||||||
|
dest = info->hi_data;
|
||||||
|
buflen -= (sizeof(struct hostent_info_s) - 1);
|
||||||
|
|
||||||
info = (FAR struct hostent_info_s *)buf;
|
memset(host, 0, sizeof(struct hostent));
|
||||||
dest = info->hi_data;
|
memset(info, 0, sizeof(struct hostent_info_s));
|
||||||
buflen -= (sizeof(struct hostent_info_s) - 1);
|
memcpy(dest, src, addrlen);
|
||||||
|
|
||||||
memset(host, 0, sizeof(struct hostent));
|
info->hi_addrlist[0] = dest;
|
||||||
memset(info, 0, sizeof(struct hostent_info_s));
|
host->h_addr_list = info->hi_addrlist;
|
||||||
memcpy(dest, src, addrlen);
|
host->h_length = addrlen;
|
||||||
|
|
||||||
info->hi_addrlist[0] = dest;
|
dest += addrlen;
|
||||||
host->h_addr_list = info->hi_addrlist;
|
buflen -= addrlen;
|
||||||
host->h_length = addrlen;
|
|
||||||
|
|
||||||
dest += addrlen;
|
/* And copy localhost host name */
|
||||||
buflen -= addrlen;
|
|
||||||
|
|
||||||
/* And copy localhost host name */
|
namelen = strlen(g_lo_hostname);
|
||||||
|
if (addrlen + namelen + 1 > buflen)
|
||||||
namelen = strlen(g_lo_hostname);
|
{
|
||||||
if (addrlen + namelen + 1 > buflen)
|
herrnocode = ERANGE;
|
||||||
{
|
goto errorout_with_herrnocode;
|
||||||
herrnocode = ERANGE;
|
|
||||||
goto errorout_with_herrnocode;
|
|
||||||
}
|
|
||||||
|
|
||||||
strncpy(dest, g_lo_hostname, buflen);
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 1;
|
strncpy(dest, g_lo_hostname, buflen);
|
||||||
|
return 0;
|
||||||
|
|
||||||
errorout_with_herrnocode:
|
errorout_with_herrnocode:
|
||||||
if (h_errnop)
|
if (h_errnop)
|
||||||
|
@ -61,7 +61,7 @@
|
|||||||
/* Check if character is any kind of white space (except for newline) */
|
/* Check if character is any kind of white space (except for newline) */
|
||||||
|
|
||||||
#define lib_isspace(c) \
|
#define lib_isspace(c) \
|
||||||
((c) == ' ' || (c) == '\t' || (c) == '\r' || (c) == '\f' || c== '\v')
|
((c) == ' ' || (c) == '\t' || (c) == '\r' || (c) == '\f' || c == '\v')
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Private Type Definitions
|
* Private Type Definitions
|
||||||
|
@ -66,7 +66,7 @@ void sq_rem(FAR sq_entry_t *node, sq_queue_t *queue)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
FAR sq_entry_t *prev;
|
FAR sq_entry_t *prev;
|
||||||
for (prev = (FAR sq_entry_t*)queue->head;
|
for (prev = (FAR sq_entry_t *)queue->head;
|
||||||
prev && prev->flink != node;
|
prev && prev->flink != node;
|
||||||
prev = prev->flink);
|
prev = prev->flink);
|
||||||
|
|
||||||
|
@ -427,7 +427,10 @@ static Bigint *pow5mult(Bigint * b, int k)
|
|||||||
{
|
{
|
||||||
Bigint *b1, *p5, *p51;
|
Bigint *b1, *p5, *p51;
|
||||||
int i;
|
int i;
|
||||||
static int p05[3] = { 5, 25, 125 };
|
static int p05[3] =
|
||||||
|
{
|
||||||
|
5, 25, 125
|
||||||
|
};
|
||||||
|
|
||||||
if ((i = k & 3))
|
if ((i = k & 3))
|
||||||
b = multadd(b, p05[i - 1], 0);
|
b = multadd(b, p05[i - 1], 0);
|
||||||
@ -444,7 +447,7 @@ static Bigint *pow5mult(Bigint * b, int k)
|
|||||||
p5->next = 0;
|
p5->next = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
if (k & 1)
|
if (k & 1)
|
||||||
{
|
{
|
||||||
@ -574,7 +577,8 @@ static int cmp(Bigint * a, Bigint * b)
|
|||||||
xa = xa0 + j;
|
xa = xa0 + j;
|
||||||
xb0 = b->x;
|
xb0 = b->x;
|
||||||
xb = xb0 + j;
|
xb = xb0 + j;
|
||||||
for (;;)
|
|
||||||
|
for (; ; )
|
||||||
{
|
{
|
||||||
if (*--xa != *--xb)
|
if (*--xa != *--xb)
|
||||||
{
|
{
|
||||||
@ -807,13 +811,27 @@ static const double tens[] =
|
|||||||
};
|
};
|
||||||
|
|
||||||
#ifdef IEEE_Arith
|
#ifdef IEEE_Arith
|
||||||
static const double bigtens[] = { 1e16, 1e32, 1e64, 1e128, 1e256 };
|
static const double bigtens[] =
|
||||||
static const double tinytens[] = { 1e-16, 1e-32, 1e-64, 1e-128, 1e-256 };
|
{
|
||||||
|
1e16, 1e32, 1e64, 1e128, 1e256
|
||||||
|
};
|
||||||
|
|
||||||
|
static const double tinytens[] =
|
||||||
|
{
|
||||||
|
1e-16, 1e-32, 1e-64, 1e-128, 1e-256
|
||||||
|
};
|
||||||
|
|
||||||
# define n_bigtens 5
|
# define n_bigtens 5
|
||||||
#else
|
#else
|
||||||
static const double bigtens[] = { 1e16, 1e32 };
|
static const double bigtens[] =
|
||||||
static const double tinytens[] = { 1e-16, 1e-32 };
|
{
|
||||||
|
1e16, 1e32
|
||||||
|
};
|
||||||
|
|
||||||
|
static const double tinytens[] =
|
||||||
|
{
|
||||||
|
1e-16, 1e-32
|
||||||
|
};
|
||||||
|
|
||||||
# define n_bigtens 2
|
# define n_bigtens 2
|
||||||
#endif
|
#endif
|
||||||
@ -1284,7 +1302,7 @@ char *__dtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve)
|
|||||||
/* Use Steele & White method of only generating digits needed. */
|
/* Use Steele & White method of only generating digits needed. */
|
||||||
|
|
||||||
eps = 0.5 / tens[ilim - 1] - eps;
|
eps = 0.5 / tens[ilim - 1] - eps;
|
||||||
for (i = 0;;)
|
for (i = 0; ; )
|
||||||
{
|
{
|
||||||
L = (int)d;
|
L = (int)d;
|
||||||
d -= L;
|
d -= L;
|
||||||
@ -1314,7 +1332,7 @@ char *__dtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve)
|
|||||||
/* Generate ilim digits, then fix them up. */
|
/* Generate ilim digits, then fix them up. */
|
||||||
|
|
||||||
eps *= tens[ilim - 1];
|
eps *= tens[ilim - 1];
|
||||||
for (i = 1;; i++, d *= 10.)
|
for (i = 1; ; i++, d *= 10.)
|
||||||
{
|
{
|
||||||
L = (int)d;
|
L = (int)d;
|
||||||
d -= L;
|
d -= L;
|
||||||
@ -1363,7 +1381,7 @@ char *__dtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve)
|
|||||||
goto one_digit;
|
goto one_digit;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 1;; i++)
|
for (i = 1; ; i++)
|
||||||
{
|
{
|
||||||
L = (int)(d / ds);
|
L = (int)(d / ds);
|
||||||
d -= L * ds;
|
d -= L * ds;
|
||||||
@ -1586,7 +1604,7 @@ char *__dtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve)
|
|||||||
mhi = lshift(mhi, Log2P);
|
mhi = lshift(mhi, Log2P);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 1;; i++)
|
for (i = 1; ; i++)
|
||||||
{
|
{
|
||||||
dig = quorem(b, S) + '0';
|
dig = quorem(b, S) + '0';
|
||||||
/* Do we yet have the shortest decimal string that will round to d? */
|
/* Do we yet have the shortest decimal string that will round to d? */
|
||||||
@ -1634,8 +1652,10 @@ char *__dtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve)
|
|||||||
if (j_1 > 0)
|
if (j_1 > 0)
|
||||||
{
|
{
|
||||||
if (dig == '9')
|
if (dig == '9')
|
||||||
{ /* possible if i == 1 */
|
{
|
||||||
round_9_up:
|
/* possible if i == 1 */
|
||||||
|
|
||||||
|
round_9_up:
|
||||||
*s++ = '9';
|
*s++ = '9';
|
||||||
goto roundoff;
|
goto roundoff;
|
||||||
}
|
}
|
||||||
@ -1664,7 +1684,7 @@ char *__dtoa(double d, int mode, int ndigits, int *decpt, int *sign, char **rve)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for (i = 1;; i++)
|
for (i = 1; ; i++)
|
||||||
{
|
{
|
||||||
*s++ = dig = quorem(b, S) + '0';
|
*s++ = dig = quorem(b, S) + '0';
|
||||||
if (i >= ilim)
|
if (i >= ilim)
|
||||||
@ -1713,7 +1733,9 @@ ret:
|
|||||||
ret1:
|
ret1:
|
||||||
Bfree(b);
|
Bfree(b);
|
||||||
if (s == s0)
|
if (s == s0)
|
||||||
{ /* Don't return empty string */
|
{
|
||||||
|
/* Don't return empty string */
|
||||||
|
|
||||||
*s++ = '0';
|
*s++ = '0';
|
||||||
k = 0;
|
k = 0;
|
||||||
}
|
}
|
||||||
|
@ -137,7 +137,7 @@ static int lib_mode2oflags(FAR const char *mode)
|
|||||||
{
|
{
|
||||||
/* Write to the end of the file */
|
/* Write to the end of the file */
|
||||||
|
|
||||||
oflags = O_WROK|O_CREAT|O_APPEND;
|
oflags = O_WROK | O_CREAT | O_APPEND;
|
||||||
state = MODE_A;
|
state = MODE_A;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -121,11 +121,11 @@ ssize_t lib_fflush(FAR FILE *stream, bool bforce)
|
|||||||
|
|
||||||
if (stream->fs_bufpos != stream->fs_bufstart)
|
if (stream->fs_bufpos != stream->fs_bufstart)
|
||||||
{
|
{
|
||||||
/* Make sure that the buffer holds buffered write data. We do not
|
/* Make sure that the buffer holds buffered write data. We do not
|
||||||
* support concurrent read/write buffer usage.
|
* support concurrent read/write buffer usage.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (stream->fs_bufread != stream->fs_bufstart)
|
if (stream->fs_bufread != stream->fs_bufstart)
|
||||||
{
|
{
|
||||||
/* The buffer holds read data... just return zero meaning "no bytes
|
/* The buffer holds read data... just return zero meaning "no bytes
|
||||||
* remaining in the buffer."
|
* remaining in the buffer."
|
||||||
|
@ -177,7 +177,7 @@ FAR char *lib_fgets(FAR char *buf, size_t buflen, FILE *stream,
|
|||||||
* the next character and one for the null terminator.
|
* the next character and one for the null terminator.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
/* Get the next character */
|
/* Get the next character */
|
||||||
|
|
||||||
|
@ -97,38 +97,38 @@ int lib_flushall(FAR struct streamlist *list)
|
|||||||
|
|
||||||
if (list)
|
if (list)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/* Process each stream in the thread's stream list */
|
/* Process each stream in the thread's stream list */
|
||||||
|
|
||||||
stream_semtake(list);
|
stream_semtake(list);
|
||||||
for (i = 0; i < CONFIG_NFILE_STREAMS; i++)
|
for (i = 0; i < CONFIG_NFILE_STREAMS; i++)
|
||||||
{
|
{
|
||||||
FILE *stream = &list->sl_streams[i];
|
FILE *stream = &list->sl_streams[i];
|
||||||
|
|
||||||
/* If the stream is open (i.e., assigned a non-negative file
|
/* If the stream is open (i.e., assigned a non-negative file
|
||||||
* descriptor) and opened for writing, then flush all of the pending
|
* descriptor) and opened for writing, then flush all of the pending
|
||||||
* write data in the stream.
|
* write data in the stream.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (stream->fs_fd >= 0 && (stream->fs_oflags & O_WROK) != 0)
|
if (stream->fs_fd >= 0 && (stream->fs_oflags & O_WROK) != 0)
|
||||||
{
|
{
|
||||||
/* Flush the writable FILE */
|
/* Flush the writable FILE */
|
||||||
|
|
||||||
ret = lib_fflush(stream, true);
|
ret = lib_fflush(stream, true);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
{
|
{
|
||||||
/* An error occurred during the flush AND/OR we were unable
|
/* An error occurred during the flush AND/OR we were unable
|
||||||
* to flush all of the buffered write data. Remember the
|
* to flush all of the buffered write data. Remember the
|
||||||
* last errcode.
|
* last errcode.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
lasterrno = ret;
|
lasterrno = ret;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
stream_semgive(list);
|
stream_semgive(list);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* If any flush failed, return the errorcode of the last failed flush */
|
/* If any flush failed, return the errorcode of the last failed flush */
|
||||||
|
@ -86,10 +86,10 @@
|
|||||||
|
|
||||||
ssize_t lib_fread(FAR void *ptr, size_t count, FAR FILE *stream)
|
ssize_t lib_fread(FAR void *ptr, size_t count, FAR FILE *stream)
|
||||||
{
|
{
|
||||||
unsigned char *dest = (unsigned char*)ptr;
|
FAR unsigned char *dest = (FAR unsigned char*)ptr;
|
||||||
ssize_t bytes_read;
|
ssize_t bytes_read;
|
||||||
#if CONFIG_STDIO_BUFFER_SIZE > 0
|
#if CONFIG_STDIO_BUFFER_SIZE > 0
|
||||||
int ret;
|
int ret;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Make sure that reading from this stream is allowed */
|
/* Make sure that reading from this stream is allowed */
|
||||||
@ -288,7 +288,7 @@ ssize_t lib_fread(FAR void *ptr, size_t count, FAR FILE *stream)
|
|||||||
#if CONFIG_STDIO_BUFFER_SIZE > 0
|
#if CONFIG_STDIO_BUFFER_SIZE > 0
|
||||||
shortread:
|
shortread:
|
||||||
#endif
|
#endif
|
||||||
bytes_read = dest - (unsigned char*)ptr;
|
bytes_read = dest - (FAR unsigned char *)ptr;
|
||||||
|
|
||||||
/* Set or clear the EOF indicator. If we get here because of a
|
/* Set or clear the EOF indicator. If we get here because of a
|
||||||
* short read and the total number of* bytes read is zero, then
|
* short read and the total number of* bytes read is zero, then
|
||||||
|
@ -1291,7 +1291,7 @@ int lib_vsprintf(FAR struct lib_outstream_s *obj, FAR const char *src, va_list a
|
|||||||
/* Accumulate the field width integer. */
|
/* Accumulate the field width integer. */
|
||||||
|
|
||||||
int n = ((int)(FMT_CHAR)) - (int)'0';
|
int n = ((int)(FMT_CHAR)) - (int)'0';
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
FMT_NEXT;
|
FMT_NEXT;
|
||||||
if (FMT_CHAR >= '0' && FMT_CHAR <= '9')
|
if (FMT_CHAR >= '0' && FMT_CHAR <= '9')
|
||||||
@ -1363,10 +1363,10 @@ int lib_vsprintf(FAR struct lib_outstream_s *obj, FAR const char *src, va_list a
|
|||||||
#endif
|
#endif
|
||||||
/* Get the string to output */
|
/* Get the string to output */
|
||||||
|
|
||||||
ptmp = va_arg(ap, char *);
|
ptmp = va_arg(ap, FAR char *);
|
||||||
if (!ptmp)
|
if (!ptmp)
|
||||||
{
|
{
|
||||||
ptmp = (char*)g_nullstring;
|
ptmp = (FAR char *)g_nullstring;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get the width of the string and perform right-justification
|
/* Get the width of the string and perform right-justification
|
||||||
|
@ -168,7 +168,7 @@ int sscanf(FAR const char *buf, FAR const char *fmt, ...)
|
|||||||
int count;
|
int count;
|
||||||
|
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
count = vsscanf((FAR const char*)buf, fmt, ap);
|
count = vsscanf((FAR const char *)buf, fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
return count;
|
return count;
|
||||||
}
|
}
|
||||||
@ -274,7 +274,7 @@ int vsscanf(FAR const char *buf, FAR const char *fmt, va_list ap)
|
|||||||
tv = NULL; /* To avoid warnings about begin uninitialized */
|
tv = NULL; /* To avoid warnings about begin uninitialized */
|
||||||
if (!noassign)
|
if (!noassign)
|
||||||
{
|
{
|
||||||
tv = va_arg(ap, char*);
|
tv = va_arg(ap, FAR char *);
|
||||||
tv[0] = '\0';
|
tv[0] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -330,7 +330,7 @@ int vsscanf(FAR const char *buf, FAR const char *fmt, va_list ap)
|
|||||||
tv = NULL; /* To avoid warnings about beign uninitialized */
|
tv = NULL; /* To avoid warnings about beign uninitialized */
|
||||||
if (!noassign)
|
if (!noassign)
|
||||||
{
|
{
|
||||||
tv = va_arg(ap, char*);
|
tv = va_arg(ap, FAR char *);
|
||||||
tv[0] = '\0';
|
tv[0] = '\0';
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -389,12 +389,12 @@ int vsscanf(FAR const char *buf, FAR const char *fmt, va_list ap)
|
|||||||
|
|
||||||
if (lflag)
|
if (lflag)
|
||||||
{
|
{
|
||||||
plong = va_arg(ap, long*);
|
plong = va_arg(ap, FAR long *);
|
||||||
*plong = 0;
|
*plong = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
pint = va_arg(ap, int*);
|
pint = va_arg(ap, FAR int *);
|
||||||
*pint = 0;
|
*pint = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -540,13 +540,13 @@ int vsscanf(FAR const char *buf, FAR const char *fmt, va_list ap)
|
|||||||
#ifdef CONFIG_HAVE_DOUBLE
|
#ifdef CONFIG_HAVE_DOUBLE
|
||||||
if (lflag)
|
if (lflag)
|
||||||
{
|
{
|
||||||
pd = va_arg(ap, double_t*);
|
pd = va_arg(ap, FAR double_t *);
|
||||||
*pd = 0.0;
|
*pd = 0.0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
pf = va_arg(ap, float*);
|
pf = va_arg(ap, FAR float *);
|
||||||
*pf = 0.0;
|
*pf = 0.0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -644,12 +644,12 @@ int vsscanf(FAR const char *buf, FAR const char *fmt, va_list ap)
|
|||||||
|
|
||||||
if (lflag)
|
if (lflag)
|
||||||
{
|
{
|
||||||
FAR long *plong = va_arg(ap, long*);
|
FAR long *plong = va_arg(ap, FAR long *);
|
||||||
*plong = (long)nchars;
|
*plong = (long)nchars;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
FAR int *pint = va_arg(ap, int*);
|
FAR int *pint = va_arg(ap, FAR int *);
|
||||||
*pint = (int)nchars;
|
*pint = (int)nchars;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -115,8 +115,8 @@ static inline FAR char *med3(FAR char *a, FAR char *b, FAR char *c,
|
|||||||
FAR const void *))
|
FAR const void *))
|
||||||
{
|
{
|
||||||
return compar(a, b) < 0 ?
|
return compar(a, b) < 0 ?
|
||||||
(compar(b, c) < 0 ? b : (compar(a, c) < 0 ? c : a ))
|
(compar(b, c) < 0 ? b : (compar(a, c) < 0 ? c : a)) :
|
||||||
:(compar(b, c) > 0 ? b : (compar(a, c) < 0 ? a : c ));
|
(compar(b, c) > 0 ? b : (compar(a, c) < 0 ? a : c));
|
||||||
}
|
}
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@ -218,7 +218,7 @@ loop:
|
|||||||
pa = pb = (FAR char *)base + width;
|
pa = pb = (FAR char *)base + width;
|
||||||
|
|
||||||
pc = pd = (FAR char *)base + (nel - 1) * width;
|
pc = pd = (FAR char *)base + (nel - 1) * width;
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
while (pb <= pc && (r = compar(pb, base)) <= 0)
|
while (pb <= pc && (r = compar(pb, base)) <= 0)
|
||||||
{
|
{
|
||||||
|
@ -168,7 +168,7 @@ double_t strtod(const char *str, char **endptr)
|
|||||||
/* Handle optional sign */
|
/* Handle optional sign */
|
||||||
|
|
||||||
negative = 0;
|
negative = 0;
|
||||||
switch(*++p)
|
switch (*++p)
|
||||||
{
|
{
|
||||||
case '-':
|
case '-':
|
||||||
negative = 1; /* Fall through to increment pos */
|
negative = 1; /* Fall through to increment pos */
|
||||||
|
@ -68,8 +68,8 @@
|
|||||||
|
|
||||||
FAR void *memccpy(FAR void *s1, FAR const void *s2, int c, size_t n)
|
FAR void *memccpy(FAR void *s1, FAR const void *s2, int c, size_t n)
|
||||||
{
|
{
|
||||||
FAR unsigned char *pout = (FAR unsigned char*)s1;
|
FAR unsigned char *pout = (FAR unsigned char *)s1;
|
||||||
FAR unsigned char *pin = (FAR unsigned char*)s2;
|
FAR unsigned char *pin = (FAR unsigned char *)s2;
|
||||||
|
|
||||||
/* Copy at most n bytes */
|
/* Copy at most n bytes */
|
||||||
|
|
||||||
|
@ -56,8 +56,8 @@
|
|||||||
#ifndef CONFIG_ARCH_MEMCPY
|
#ifndef CONFIG_ARCH_MEMCPY
|
||||||
FAR void *memcpy(FAR void *dest, FAR const void *src, size_t n)
|
FAR void *memcpy(FAR void *dest, FAR const void *src, size_t n)
|
||||||
{
|
{
|
||||||
FAR unsigned char *pout = (FAR unsigned char*)dest;
|
FAR unsigned char *pout = (FAR unsigned char *)dest;
|
||||||
FAR unsigned char *pin = (FAR unsigned char*)src;
|
FAR unsigned char *pin = (FAR unsigned char *)src;
|
||||||
while (n-- > 0) *pout++ = *pin++;
|
while (n-- > 0) *pout++ = *pin++;
|
||||||
return dest;
|
return dest;
|
||||||
}
|
}
|
||||||
|
@ -52,11 +52,14 @@
|
|||||||
#ifndef CONFIG_ARCH_MEMMOVE
|
#ifndef CONFIG_ARCH_MEMMOVE
|
||||||
FAR void *memmove(FAR void *dest, FAR const void *src, size_t count)
|
FAR void *memmove(FAR void *dest, FAR const void *src, size_t count)
|
||||||
{
|
{
|
||||||
char *tmp, *s;
|
FAR char *tmp;
|
||||||
|
FAR char *s;
|
||||||
|
|
||||||
if (dest <= src)
|
if (dest <= src)
|
||||||
{
|
{
|
||||||
tmp = (char*) dest;
|
tmp = (FAR char *) dest;
|
||||||
s = (char*) src;
|
s = (FAR char *) src;
|
||||||
|
|
||||||
while (count--)
|
while (count--)
|
||||||
{
|
{
|
||||||
*tmp++ = *s++;
|
*tmp++ = *s++;
|
||||||
@ -64,8 +67,9 @@ FAR void *memmove(FAR void *dest, FAR const void *src, size_t count)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tmp = (char*) dest + count;
|
tmp = (FAR char *) dest + count;
|
||||||
s = (char*) src + count;
|
s = (FAR char *) src + count;
|
||||||
|
|
||||||
while (count--)
|
while (count--)
|
||||||
{
|
{
|
||||||
*--tmp = *--s;
|
*--tmp = *--s;
|
||||||
|
@ -64,7 +64,7 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef CONFIG_ARCH_MEMSET
|
#ifndef CONFIG_ARCH_MEMSET
|
||||||
void *memset(void *s, int c, size_t n)
|
FAR void *memset(FAR void *s, int c, size_t n)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_MEMSET_OPTSPEED
|
#ifdef CONFIG_MEMSET_OPTSPEED
|
||||||
/* This version is optimized for speed (you could do better
|
/* This version is optimized for speed (you could do better
|
||||||
@ -87,7 +87,7 @@ void *memset(void *s, int c, size_t n)
|
|||||||
|
|
||||||
if ((addr & 1) != 0)
|
if ((addr & 1) != 0)
|
||||||
{
|
{
|
||||||
*(uint8_t*)addr = (uint8_t)c;
|
*(FAR uint8_t *)addr = (uint8_t)c;
|
||||||
addr += 1;
|
addr += 1;
|
||||||
n -= 1;
|
n -= 1;
|
||||||
}
|
}
|
||||||
@ -102,7 +102,7 @@ void *memset(void *s, int c, size_t n)
|
|||||||
|
|
||||||
if ((addr & 3) != 0)
|
if ((addr & 3) != 0)
|
||||||
{
|
{
|
||||||
*(uint16_t*)addr = val16;
|
*(FAR uint16_t *)addr = val16;
|
||||||
addr += 2;
|
addr += 2;
|
||||||
n -= 2;
|
n -= 2;
|
||||||
}
|
}
|
||||||
@ -112,7 +112,7 @@ void *memset(void *s, int c, size_t n)
|
|||||||
|
|
||||||
while (n >= 4)
|
while (n >= 4)
|
||||||
{
|
{
|
||||||
*(uint32_t*)addr = val32;
|
*(FAR uint32_t *)addr = val32;
|
||||||
addr += 4;
|
addr += 4;
|
||||||
n -= 4;
|
n -= 4;
|
||||||
}
|
}
|
||||||
@ -127,7 +127,7 @@ void *memset(void *s, int c, size_t n)
|
|||||||
|
|
||||||
if ((addr & 7) != 0)
|
if ((addr & 7) != 0)
|
||||||
{
|
{
|
||||||
*(uint32_t*)addr = val32;
|
*(FAR uint32_t *)addr = val32;
|
||||||
addr += 4;
|
addr += 4;
|
||||||
n -= 4;
|
n -= 4;
|
||||||
}
|
}
|
||||||
@ -136,7 +136,7 @@ void *memset(void *s, int c, size_t n)
|
|||||||
|
|
||||||
while (n >= 8)
|
while (n >= 8)
|
||||||
{
|
{
|
||||||
*(uint64_t*)addr = val64;
|
*(FAR uint64_t *)addr = val64;
|
||||||
addr += 8;
|
addr += 8;
|
||||||
n -= 8;
|
n -= 8;
|
||||||
}
|
}
|
||||||
@ -151,7 +151,7 @@ void *memset(void *s, int c, size_t n)
|
|||||||
|
|
||||||
if (n >= 4)
|
if (n >= 4)
|
||||||
{
|
{
|
||||||
*(uint32_t*)addr = val32;
|
*(FAR uint32_t *)addr = val32;
|
||||||
addr += 4;
|
addr += 4;
|
||||||
n -= 4;
|
n -= 4;
|
||||||
}
|
}
|
||||||
@ -167,20 +167,20 @@ void *memset(void *s, int c, size_t n)
|
|||||||
|
|
||||||
if (n >= 2)
|
if (n >= 2)
|
||||||
{
|
{
|
||||||
*(uint16_t*)addr = val16;
|
*(FAR uint16_t *)addr = val16;
|
||||||
addr += 2;
|
addr += 2;
|
||||||
n -= 2;
|
n -= 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (n >= 1)
|
if (n >= 1)
|
||||||
{
|
{
|
||||||
*(uint8_t*)addr = (uint8_t)c;
|
*(FAR uint8_t *)addr = (uint8_t)c;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
/* This version is optimized for size */
|
/* This version is optimized for size */
|
||||||
|
|
||||||
unsigned char *p = (unsigned char*)s;
|
FAR unsigned char *p = (FAR unsigned char*)s;
|
||||||
while (n-- > 0) *p++ = c;
|
while (n-- > 0) *p++ = c;
|
||||||
#endif
|
#endif
|
||||||
return s;
|
return s;
|
||||||
|
@ -47,10 +47,10 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef CONFIG_ARCH_STRCMP
|
#ifndef CONFIG_ARCH_STRCMP
|
||||||
int strcasecmp(const char *cs, const char *ct)
|
int strcasecmp(FAR const char *cs, FAR const char *ct)
|
||||||
{
|
{
|
||||||
int result;
|
int result;
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
if ((result = (int)toupper(*cs) - (int)toupper(*ct)) != 0 || !*cs)
|
if ((result = (int)toupper(*cs) - (int)toupper(*ct)) != 0 || !*cs)
|
||||||
{
|
{
|
||||||
|
@ -57,7 +57,7 @@ static FAR char *strcasechr(FAR const char *s, int uc)
|
|||||||
ch = *s;
|
ch = *s;
|
||||||
if (toupper(ch) == uc)
|
if (toupper(ch) == uc)
|
||||||
{
|
{
|
||||||
return (FAR char*)s;
|
return (FAR char *)s;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -71,9 +71,9 @@ static FAR char *strcasechr(FAR const char *s, int uc)
|
|||||||
|
|
||||||
FAR char *strcasestr(FAR const char *str, FAR const char *substr)
|
FAR char *strcasestr(FAR const char *str, FAR const char *substr)
|
||||||
{
|
{
|
||||||
const char *candidate; /* Candidate in str with matching start character */
|
FAR const char *candidate; /* Candidate in str with matching start character */
|
||||||
char ch; /* First character of the substring */
|
char ch; /* First character of the substring */
|
||||||
int len; /* The length of the substring */
|
int len; /* The length of the substring */
|
||||||
|
|
||||||
/* Special case the empty substring */
|
/* Special case the empty substring */
|
||||||
|
|
||||||
@ -86,7 +86,7 @@ FAR char *strcasestr(FAR const char *str, FAR const char *substr)
|
|||||||
* the string
|
* the string
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return (char*)str;
|
return (FAR char *)str;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Search for the substring */
|
/* Search for the substring */
|
||||||
@ -94,7 +94,7 @@ FAR char *strcasestr(FAR const char *str, FAR const char *substr)
|
|||||||
candidate = str;
|
candidate = str;
|
||||||
ch = toupper(ch);
|
ch = toupper(ch);
|
||||||
|
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
/* strcasechr() will return a pointer to the next occurrence of the
|
/* strcasechr() will return a pointer to the next occurrence of the
|
||||||
* character ch in the string (ignoring case)
|
* character ch in the string (ignoring case)
|
||||||
@ -103,23 +103,23 @@ FAR char *strcasestr(FAR const char *str, FAR const char *substr)
|
|||||||
candidate = strcasechr(candidate, ch);
|
candidate = strcasechr(candidate, ch);
|
||||||
if (!candidate || strlen(candidate) < len)
|
if (!candidate || strlen(candidate) < len)
|
||||||
{
|
{
|
||||||
/* First character of the substring does not appear in the string
|
/* First character of the substring does not appear in the string
|
||||||
* or the remainder of the string is not long enough to contain the
|
* or the remainder of the string is not long enough to contain the
|
||||||
* substring.
|
* substring.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if this is the beginning of a matching substring (ignoring case) */
|
/* Check if this is the beginning of a matching substring (ignoring case) */
|
||||||
|
|
||||||
if (strncasecmp(candidate, substr, len) == 0)
|
if (strncasecmp(candidate, substr, len) == 0)
|
||||||
{
|
{
|
||||||
/* Yes.. return the pointer to the first occurrence of the matching
|
/* Yes.. return the pointer to the first occurrence of the matching
|
||||||
* substring.
|
* substring.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return (char*)candidate;
|
return (FAR char *)candidate;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* No, find the next candidate after this one */
|
/* No, find the next candidate after this one */
|
||||||
|
@ -46,10 +46,10 @@
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
#ifndef CONFIG_ARCH_STRCMP
|
#ifndef CONFIG_ARCH_STRCMP
|
||||||
int strcmp(const char *cs, const char *ct)
|
int strcmp(FAR const char *cs, FAR const char *ct)
|
||||||
{
|
{
|
||||||
register signed char result;
|
register signed char result;
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
if ((result = *cs - *ct++) != 0 || !*cs++)
|
if ((result = *cs - *ct++) != 0 || !*cs++)
|
||||||
break;
|
break;
|
||||||
|
@ -47,12 +47,12 @@
|
|||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
FAR char *strdup(const char *s)
|
FAR char *strdup(FAR const char *s)
|
||||||
{
|
{
|
||||||
FAR char *news = NULL;
|
FAR char *news = NULL;
|
||||||
if (s)
|
if (s)
|
||||||
{
|
{
|
||||||
news = (FAR char*)lib_malloc(strlen(s) + 1);
|
news = (FAR char *)lib_malloc(strlen(s) + 1);
|
||||||
if (news)
|
if (news)
|
||||||
{
|
{
|
||||||
strcpy(news, s);
|
strcpy(news, s);
|
||||||
|
@ -74,7 +74,7 @@ FAR char *strndup(FAR const char *s, size_t size)
|
|||||||
|
|
||||||
/* Allocate the new string, adding 1 for the NUL terminator */
|
/* Allocate the new string, adding 1 for the NUL terminator */
|
||||||
|
|
||||||
news = (FAR char*)lib_malloc(allocsize + 1);
|
news = (FAR char *)lib_malloc(allocsize + 1);
|
||||||
if (news)
|
if (news)
|
||||||
{
|
{
|
||||||
/* Copy the string into the allocated memory and add a NUL
|
/* Copy the string into the allocated memory and add a NUL
|
||||||
|
@ -45,7 +45,7 @@
|
|||||||
* Public Functions
|
* Public Functions
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
char *strpbrk(const char *str, const char *charset)
|
FAR char *strpbrk(FAR const char *str, FAR const char *charset)
|
||||||
{
|
{
|
||||||
/* Sanity checking */
|
/* Sanity checking */
|
||||||
|
|
||||||
@ -66,7 +66,7 @@ char *strpbrk(const char *str, const char *charset)
|
|||||||
{
|
{
|
||||||
/* Yes, then this position must be the first occurrence in string */
|
/* Yes, then this position must be the first occurrence in string */
|
||||||
|
|
||||||
return (char*)str;
|
return (FAR char *)str;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This character from the strings matches none of those in the charset.
|
/* This character from the strings matches none of those in the charset.
|
||||||
|
@ -49,7 +49,7 @@
|
|||||||
* occurrence of the character c in the string s.
|
* occurrence of the character c in the string s.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
char *strrchr(const char *s, int c)
|
FAR char *strrchr(FAR const char *s, int c)
|
||||||
{
|
{
|
||||||
if (s)
|
if (s)
|
||||||
{
|
{
|
||||||
@ -58,7 +58,7 @@ char *strrchr(const char *s, int c)
|
|||||||
{
|
{
|
||||||
if (*p == c)
|
if (*p == c)
|
||||||
{
|
{
|
||||||
return (char*)p;
|
return (FAR char *)p;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -62,13 +62,13 @@ FAR char *strstr(FAR const char *str, FAR const char *substr)
|
|||||||
* the string
|
* the string
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return (char*)str;
|
return (FAR char *)str;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Search for the substring */
|
/* Search for the substring */
|
||||||
|
|
||||||
candidate = str;
|
candidate = str;
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
/* strchr() will return a pointer to the next occurrence of the
|
/* strchr() will return a pointer to the next occurrence of the
|
||||||
* character ch in the string
|
* character ch in the string
|
||||||
@ -77,19 +77,19 @@ FAR char *strstr(FAR const char *str, FAR const char *substr)
|
|||||||
candidate = strchr(candidate, ch);
|
candidate = strchr(candidate, ch);
|
||||||
if (!candidate || strlen(candidate) < len)
|
if (!candidate || strlen(candidate) < len)
|
||||||
{
|
{
|
||||||
/* First character of the substring does not appear in the string
|
/* First character of the substring does not appear in the string
|
||||||
* or the remainder of the string is not long enough to contain the
|
* or the remainder of the string is not long enough to contain the
|
||||||
* substring.
|
* substring.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Check if this is the beginning of a matching substring */
|
/* Check if this is the beginning of a matching substring */
|
||||||
|
|
||||||
if (strncmp(candidate, substr, len) == 0)
|
if (strncmp(candidate, substr, len) == 0)
|
||||||
{
|
{
|
||||||
return (char*)candidate;
|
return (FAR char *)candidate;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* No, find the next candidate after this one */
|
/* No, find the next candidate after this one */
|
||||||
|
@ -310,10 +310,10 @@ typedef uint32_t UIntN;
|
|||||||
*
|
*
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
void *memcpy(void *dest, const void *src, size_t count)
|
FAR void *memcpy(FAR void *dest, FAR const void *src, size_t count)
|
||||||
{
|
{
|
||||||
uint8_t *dst8 = (uint8_t*)dest;
|
FAR uint8_t *dst8 = (FAR uint8_t *)dest;
|
||||||
uint8_t *src8 = (uint8_t*)src;
|
FAR uint8_t *src8 = (FAR uint8_t *)src;
|
||||||
|
|
||||||
if (count < 8)
|
if (count < 8)
|
||||||
{
|
{
|
||||||
|
@ -104,6 +104,7 @@ int clock_dayoftheweek(int mday, int month, int year)
|
|||||||
}
|
}
|
||||||
|
|
||||||
month -= 2;
|
month -= 2;
|
||||||
return (mday + year + year/4 - year/100 + year/400 + ( 31 * month) / 12) % 7;
|
return (mday + year + year / 4 - year / 100 + year / 400 +
|
||||||
|
(31 * month) / 12) % 7;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_TIME_EXTENDED */
|
#endif /* CONFIG_TIME_EXTENDED */
|
||||||
|
@ -169,7 +169,8 @@ static void clock_utc2julian(time_t jd, int *year, int *month, int *day)
|
|||||||
|
|
||||||
/* Only handles dates since Jan 1, 1970 */
|
/* Only handles dates since Jan 1, 1970 */
|
||||||
|
|
||||||
static void clock_utc2calendar(time_t days, int *year, int *month, int *day)
|
static void clock_utc2calendar(time_t days, FAR int *year, FAR int *month,
|
||||||
|
FAR int *day)
|
||||||
{
|
{
|
||||||
int value;
|
int value;
|
||||||
int min;
|
int min;
|
||||||
@ -181,13 +182,13 @@ static void clock_utc2calendar(time_t days, int *year, int *month, int *day)
|
|||||||
* following:
|
* following:
|
||||||
*/
|
*/
|
||||||
|
|
||||||
value = days / (4*365 + 1); /* Number of 4-years periods since the epoch*/
|
value = days / (4 * 365 + 1); /* Number of 4-years periods since the epoch */
|
||||||
days -= value * (4*365 + 1); /* Remaining days */
|
days -= value * (4 * 365 + 1); /* Remaining days */
|
||||||
value <<= 2; /* Years since the epoch */
|
value <<= 2; /* Years since the epoch */
|
||||||
|
|
||||||
/* Then we will brute force the next 0-3 years */
|
/* Then we will brute force the next 0-3 years */
|
||||||
|
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
/* Is this year a leap year (we'll need this later too) */
|
/* Is this year a leap year (we'll need this later too) */
|
||||||
|
|
||||||
@ -231,7 +232,7 @@ static void clock_utc2calendar(time_t days, int *year, int *month, int *day)
|
|||||||
|
|
||||||
/* Get the number of days that occurred before the beginning of the month
|
/* Get the number of days that occurred before the beginning of the month
|
||||||
* following the midpoint.
|
* following the midpoint.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
tmp = clock_daysbeforemonth(value + 1, leapyear);
|
tmp = clock_daysbeforemonth(value + 1, leapyear);
|
||||||
|
|
||||||
|
@ -437,10 +437,10 @@ static void settzname(void)
|
|||||||
FAR struct state_s *const sp = lclptr;
|
FAR struct state_s *const sp = lclptr;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
tzname[0] = tzname[1] = (FAR char*)g_wildabbr;
|
tzname[0] = tzname[1] = (FAR char *)g_wildabbr;
|
||||||
if (sp == NULL)
|
if (sp == NULL)
|
||||||
{
|
{
|
||||||
tzname[0] = tzname[1] = (FAR char*)GMT;
|
tzname[0] = tzname[1] = (FAR char *)GMT;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -528,6 +528,7 @@ static int tzload(FAR const char *name,
|
|||||||
struct state_s st;
|
struct state_s st;
|
||||||
} u;
|
} u;
|
||||||
};
|
};
|
||||||
|
|
||||||
char *fullname;
|
char *fullname;
|
||||||
u_t *up;
|
u_t *up;
|
||||||
int doaccess;
|
int doaccess;
|
||||||
@ -1158,7 +1159,7 @@ static FAR const char *getrule(FAR const char *strp,
|
|||||||
return strp;
|
return strp;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*Given a year, a rule, and the offset from UT at the time that rule takes
|
/* Given a year, a rule, and the offset from UT at the time that rule takes
|
||||||
* effect, calculate the year-relative time that rule takes effect.
|
* effect, calculate the year-relative time that rule takes effect.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -2122,7 +2123,7 @@ static time_t time2sub(struct tm *const tmp,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
i = g_mon_lengths[isleap(y)][yourtm.tm_mon];
|
i = g_mon_lengths[isleap(y)][yourtm.tm_mon];
|
||||||
if (yourtm.tm_mday <= i)
|
if (yourtm.tm_mday <= i)
|
||||||
@ -2198,7 +2199,7 @@ static time_t time2sub(struct tm *const tmp,
|
|||||||
hi = -(lo + 1);
|
hi = -(lo + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
t = lo / 2 + hi / 2;
|
t = lo / 2 + hi / 2;
|
||||||
if (t < lo)
|
if (t < lo)
|
||||||
|
@ -187,82 +187,82 @@ int getopt(int argc, FAR char *const argv[], FAR const char *optstring)
|
|||||||
g_optptr++;
|
g_optptr++;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Special case handling of "-" and "-:" */
|
/* Special case handling of "-" and "-:" */
|
||||||
|
|
||||||
if (!*g_optptr)
|
if (!*g_optptr)
|
||||||
{
|
{
|
||||||
optopt = '\0'; /* We'll fix up g_optptr the next time we are called */
|
optopt = '\0'; /* We'll fix up g_optptr the next time we are called */
|
||||||
return '?';
|
return '?';
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Handle the case of "-:" */
|
/* Handle the case of "-:" */
|
||||||
|
|
||||||
if (*g_optptr == ':')
|
if (*g_optptr == ':')
|
||||||
{
|
{
|
||||||
optopt = ':';
|
optopt = ':';
|
||||||
g_optptr++;
|
g_optptr++;
|
||||||
return '?';
|
return '?';
|
||||||
}
|
}
|
||||||
|
|
||||||
/* g_optptr now points at the next option and it is not something crazy.
|
/* g_optptr now points at the next option and it is not something crazy.
|
||||||
* check if the option is in the list of valid options.
|
* check if the option is in the list of valid options.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
optchar = strchr(optstring, *g_optptr);
|
optchar = strchr(optstring, *g_optptr);
|
||||||
if (!optchar)
|
if (!optchar)
|
||||||
{
|
{
|
||||||
/* No this character is not in the list of valid options */
|
/* No this character is not in the list of valid options */
|
||||||
|
|
||||||
optopt = *g_optptr;
|
optopt = *g_optptr;
|
||||||
g_optptr++;
|
g_optptr++;
|
||||||
return '?';
|
return '?';
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Yes, the character is in the list of valid options. Does it have an
|
/* Yes, the character is in the list of valid options. Does it have an
|
||||||
* required argument?
|
* required argument?
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (optchar[1] != ':')
|
if (optchar[1] != ':')
|
||||||
{
|
{
|
||||||
/* No, no arguments. Just return the character that we found */
|
/* No, no arguments. Just return the character that we found */
|
||||||
|
|
||||||
g_optptr++;
|
g_optptr++;
|
||||||
return *optchar;
|
return *optchar;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Yes, it has a required argument. Is the required argument
|
/* Yes, it has a required argument. Is the required argument
|
||||||
* immediately after the command in this same argument?
|
* immediately after the command in this same argument?
|
||||||
*/
|
*/
|
||||||
|
|
||||||
if (g_optptr[1] != '\0')
|
if (g_optptr[1] != '\0')
|
||||||
{
|
{
|
||||||
/* Yes, return a pointer into the current argument */
|
/* Yes, return a pointer into the current argument */
|
||||||
|
|
||||||
optarg = &g_optptr[1];
|
optarg = &g_optptr[1];
|
||||||
optind++;
|
optind++;
|
||||||
g_optptr = NULL;
|
g_optptr = NULL;
|
||||||
return *optchar;
|
return *optchar;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* No.. is the optional argument the next argument in argv[] ? */
|
/* No.. is the optional argument the next argument in argv[] ? */
|
||||||
|
|
||||||
if (argv[optind+1] && *argv[optind+1] != '-')
|
if (argv[optind+1] && *argv[optind+1] != '-')
|
||||||
{
|
{
|
||||||
/* Yes.. return that */
|
/* Yes.. return that */
|
||||||
|
|
||||||
optarg = argv[optind+1];
|
optarg = argv[optind+1];
|
||||||
optind += 2;
|
optind += 2;
|
||||||
g_optptr = NULL;
|
g_optptr = NULL;
|
||||||
return *optchar;
|
return *optchar;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* No argument was supplied */
|
/* No argument was supplied */
|
||||||
|
|
||||||
g_optptr = NULL;
|
g_optptr = NULL;
|
||||||
optarg = NULL;
|
optarg = NULL;
|
||||||
optopt = *optchar;
|
optopt = *optchar;
|
||||||
optind++;
|
optind++;
|
||||||
return noarg_ret;
|
return noarg_ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Restore the initial, uninitialized state */
|
/* Restore the initial, uninitialized state */
|
||||||
|
@ -114,7 +114,7 @@
|
|||||||
*
|
*
|
||||||
* nanosleep(), setitimer(), timer_create(), timer_delete(), timer_getoverrun(),
|
* nanosleep(), setitimer(), timer_create(), timer_delete(), timer_getoverrun(),
|
||||||
* timer_gettime(), timer_settime(), ualarm(), sleep()
|
* timer_gettime(), timer_settime(), ualarm(), sleep()
|
||||||
|
*
|
||||||
* Parameters:
|
* Parameters:
|
||||||
* usec - the number of microseconds to wait.
|
* usec - the number of microseconds to wait.
|
||||||
*
|
*
|
||||||
|
@ -112,7 +112,7 @@ static int work_qcancel(FAR struct usr_wqueue_s *wqueue, FAR struct work_s *work
|
|||||||
|
|
||||||
DEBUGASSERT(work->dq.flink != NULL ||
|
DEBUGASSERT(work->dq.flink != NULL ||
|
||||||
(FAR dq_entry_t *)work == wqueue->q.tail);
|
(FAR dq_entry_t *)work == wqueue->q.tail);
|
||||||
DEBUGASSERT(work->dq.blink != NULL ||i
|
DEBUGASSERT(work->dq.blink != NULL ||
|
||||||
(FAR dq_entry_t *)work == wqueue->q.head);
|
(FAR dq_entry_t *)work == wqueue->q.head);
|
||||||
|
|
||||||
/* Remove the entry from the work queue and make sure that it is
|
/* Remove the entry from the work queue and make sure that it is
|
||||||
|
@ -304,7 +304,7 @@ static pthread_addr_t work_usrthread(pthread_addr_t arg)
|
|||||||
{
|
{
|
||||||
/* Loop forever */
|
/* Loop forever */
|
||||||
|
|
||||||
for (;;)
|
for (; ; )
|
||||||
{
|
{
|
||||||
/* Then process queued work. We need to keep the work queue locked
|
/* Then process queued work. We need to keep the work queue locked
|
||||||
* while we process items in the work list.
|
* while we process items in the work list.
|
||||||
|
Loading…
Reference in New Issue
Block a user