mirror of
https://github.com/moparisthebest/wget
synced 2024-07-03 16:38:41 -04:00
[svn] Rename long_to_string to number_to_string, and make it return a useful
value.
This commit is contained in:
parent
997a87548c
commit
943f657aa7
@ -1,3 +1,9 @@
|
|||||||
|
2001-12-10 Hrvoje Niksic <hniksic@arsdigita.com>
|
||||||
|
|
||||||
|
* utils.c (long_to_string): Return a pointer after where the
|
||||||
|
number ends.
|
||||||
|
(long_to_string): Rename to number_to_string.
|
||||||
|
|
||||||
2001-12-10 Hrvoje Niksic <hniksic@arsdigita.com>
|
2001-12-10 Hrvoje Niksic <hniksic@arsdigita.com>
|
||||||
|
|
||||||
* utils.c (path_simplify): Correctly handle the unlikely case that
|
* utils.c (path_simplify): Correctly handle the unlikely case that
|
||||||
|
@ -121,7 +121,7 @@ delete_cookie (struct cookie *cookie)
|
|||||||
result = alloca (HP_len + 1 + numdigit (port) + 1); \
|
result = alloca (HP_len + 1 + numdigit (port) + 1); \
|
||||||
memcpy (result, host, HP_len); \
|
memcpy (result, host, HP_len); \
|
||||||
result[HP_len] = ':'; \
|
result[HP_len] = ':'; \
|
||||||
long_to_string (result + HP_len + 1, port); \
|
number_to_string (result + HP_len + 1, port); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* Find cookie chain that corresponds to DOMAIN (exact) and PORT. */
|
/* Find cookie chain that corresponds to DOMAIN (exact) and PORT. */
|
||||||
|
@ -426,9 +426,9 @@ ftp_rest (struct rbuf *rbuf, long offset)
|
|||||||
char *request, *respline;
|
char *request, *respline;
|
||||||
int nwritten;
|
int nwritten;
|
||||||
uerr_t err;
|
uerr_t err;
|
||||||
static char numbuf[20]; /* Buffer for the number */
|
static char numbuf[24]; /* Buffer for the number */
|
||||||
|
|
||||||
long_to_string (numbuf, offset);
|
number_to_string (numbuf, offset);
|
||||||
request = ftp_request ("REST", numbuf);
|
request = ftp_request ("REST", numbuf);
|
||||||
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
|
nwritten = iwrite (RBUF_FD (rbuf), request, strlen (request));
|
||||||
if (nwritten < 0)
|
if (nwritten < 0)
|
||||||
|
@ -478,7 +478,7 @@ static struct hash_table *registered_specs;
|
|||||||
result = alloca (HP_len + 1 + numdigit (port) + 1); \
|
result = alloca (HP_len + 1 + numdigit (port) + 1); \
|
||||||
memcpy (result, host, HP_len); \
|
memcpy (result, host, HP_len); \
|
||||||
result[HP_len] = ':'; \
|
result[HP_len] = ':'; \
|
||||||
long_to_string (result + HP_len + 1, port); \
|
number_to_string (result + HP_len + 1, port); \
|
||||||
} while (0)
|
} while (0)
|
||||||
|
|
||||||
/* Register RES specs that below to server on HOST:PORT. They will
|
/* Register RES specs that below to server on HOST:PORT. They will
|
||||||
|
@ -1206,7 +1206,7 @@ mkstruct (const struct url *u)
|
|||||||
{
|
{
|
||||||
int len = strlen (dirpref);
|
int len = strlen (dirpref);
|
||||||
dirpref[len] = ':';
|
dirpref[len] = ':';
|
||||||
long_to_string (dirpref + len + 1, u->port);
|
number_to_string (dirpref + len + 1, u->port);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else /* not add_hostdir */
|
else /* not add_hostdir */
|
||||||
@ -1654,8 +1654,7 @@ url_string (const struct url *url, int hide_password)
|
|||||||
if (url->port != scheme_port)
|
if (url->port != scheme_port)
|
||||||
{
|
{
|
||||||
*p++ = ':';
|
*p++ = ':';
|
||||||
long_to_string (p, url->port);
|
p = number_to_string (p, url->port);
|
||||||
p += strlen (p);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
full_path_write (url, p);
|
full_path_write (url, p);
|
||||||
|
42
src/utils.c
42
src/utils.c
@ -1343,7 +1343,7 @@ legible (long l)
|
|||||||
{
|
{
|
||||||
char inbuf[24];
|
char inbuf[24];
|
||||||
/* Print the number into the buffer. */
|
/* Print the number into the buffer. */
|
||||||
long_to_string (inbuf, l);
|
number_to_string (inbuf, l);
|
||||||
return legible_1 (inbuf);
|
return legible_1 (inbuf);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1399,17 +1399,17 @@ legible_very_long (VERY_LONG_TYPE l)
|
|||||||
|
|
||||||
/* Count the digits in a (long) integer. */
|
/* Count the digits in a (long) integer. */
|
||||||
int
|
int
|
||||||
numdigit (long a)
|
numdigit (long number)
|
||||||
{
|
{
|
||||||
int res = 1;
|
int cnt = 1;
|
||||||
if (a < 0)
|
if (number < 0)
|
||||||
{
|
{
|
||||||
a = -a;
|
number = -number;
|
||||||
++res;
|
++cnt;
|
||||||
}
|
}
|
||||||
while ((a /= 10) != 0)
|
while ((number /= 10) > 0)
|
||||||
++res;
|
++cnt;
|
||||||
return res;
|
return cnt;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define ONE_DIGIT(figure) *p++ = n / (figure) + '0'
|
#define ONE_DIGIT(figure) *p++ = n / (figure) + '0'
|
||||||
@ -1438,21 +1438,26 @@ numdigit (long a)
|
|||||||
#define DIGITS_18(figure) ONE_DIGIT_ADVANCE (figure); DIGITS_17 ((figure) / 10)
|
#define DIGITS_18(figure) ONE_DIGIT_ADVANCE (figure); DIGITS_17 ((figure) / 10)
|
||||||
#define DIGITS_19(figure) ONE_DIGIT_ADVANCE (figure); DIGITS_18 ((figure) / 10)
|
#define DIGITS_19(figure) ONE_DIGIT_ADVANCE (figure); DIGITS_18 ((figure) / 10)
|
||||||
|
|
||||||
/* Print NUMBER to BUFFER in base 10. This is completely equivalent
|
/* Print NUMBER to BUFFER in base 10. This should be completely
|
||||||
to `sprintf(buffer, "%ld", number)', only much faster.
|
equivalent to `sprintf(buffer, "%ld", number)', only much faster.
|
||||||
|
|
||||||
The speedup may make a difference in programs that frequently
|
The speedup may make a difference in programs that frequently
|
||||||
convert numbers to strings. Some implementations of sprintf,
|
convert numbers to strings. Some implementations of sprintf,
|
||||||
particularly the one in GNU libc, have been known to be extremely
|
particularly the one in GNU libc, have been known to be extremely
|
||||||
slow compared to this function.
|
slow compared to this function.
|
||||||
|
|
||||||
BUFFER should accept as many bytes as you expect the number to take
|
Return the pointer to the location where the terminating zero was
|
||||||
up. On machines with 64-bit longs the maximum needed size is 24
|
printed. (Equivalent to calling buffer+strlen(buffer) after the
|
||||||
bytes. That includes the worst-case digits, the optional `-' sign,
|
function is done.)
|
||||||
and the trailing \0. */
|
|
||||||
|
|
||||||
void
|
BUFFER should be big enough to accept as many bytes as you expect
|
||||||
long_to_string (char *buffer, long number)
|
the number to take up. On machines with 64-bit longs the maximum
|
||||||
|
needed size is 24 bytes. That includes the digits needed for the
|
||||||
|
largest 64-bit number, the `-' sign in case it's negative, and the
|
||||||
|
terminating '\0'. */
|
||||||
|
|
||||||
|
char *
|
||||||
|
number_to_string (char *buffer, long number)
|
||||||
{
|
{
|
||||||
char *p = buffer;
|
char *p = buffer;
|
||||||
long n = number;
|
long n = number;
|
||||||
@ -1461,6 +1466,7 @@ long_to_string (char *buffer, long number)
|
|||||||
/* We are running in a strange or misconfigured environment. Let
|
/* We are running in a strange or misconfigured environment. Let
|
||||||
sprintf cope with it. */
|
sprintf cope with it. */
|
||||||
sprintf (buffer, "%ld", n);
|
sprintf (buffer, "%ld", n);
|
||||||
|
p += strlen (buffer);
|
||||||
#else /* (SIZEOF_LONG == 4) || (SIZEOF_LONG == 8) */
|
#else /* (SIZEOF_LONG == 4) || (SIZEOF_LONG == 8) */
|
||||||
|
|
||||||
if (n < 0)
|
if (n < 0)
|
||||||
@ -1496,6 +1502,8 @@ long_to_string (char *buffer, long number)
|
|||||||
|
|
||||||
*p = '\0';
|
*p = '\0';
|
||||||
#endif /* (SIZEOF_LONG == 4) || (SIZEOF_LONG == 8) */
|
#endif /* (SIZEOF_LONG == 4) || (SIZEOF_LONG == 8) */
|
||||||
|
|
||||||
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
#undef ONE_DIGIT
|
#undef ONE_DIGIT
|
||||||
|
@ -91,7 +91,7 @@ void free_keys_and_values PARAMS ((struct hash_table *));
|
|||||||
char *legible PARAMS ((long));
|
char *legible PARAMS ((long));
|
||||||
char *legible_very_long PARAMS ((VERY_LONG_TYPE));
|
char *legible_very_long PARAMS ((VERY_LONG_TYPE));
|
||||||
int numdigit PARAMS ((long));
|
int numdigit PARAMS ((long));
|
||||||
void long_to_string PARAMS ((char *, long));
|
char *number_to_string PARAMS ((char *, long));
|
||||||
|
|
||||||
struct wget_timer *wtimer_allocate PARAMS ((void));
|
struct wget_timer *wtimer_allocate PARAMS ((void));
|
||||||
struct wget_timer *wtimer_new PARAMS ((void));
|
struct wget_timer *wtimer_new PARAMS ((void));
|
||||||
|
Loading…
Reference in New Issue
Block a user