[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Cvs-cvs] Changes to ccvs/src/main.c
From: |
Mark D . Baushke |
Subject: |
[Cvs-cvs] Changes to ccvs/src/main.c |
Date: |
Thu, 29 Sep 2005 12:22:24 -0400 |
Index: ccvs/src/main.c
diff -u ccvs/src/main.c:1.258 ccvs/src/main.c:1.259
--- ccvs/src/main.c:1.258 Wed Sep 28 23:59:02 2005
+++ ccvs/src/main.c Thu Sep 29 16:22:22 2005
@@ -460,7 +460,7 @@
enum {RANDOM_BYTES = 8};
-enum {N = (sizeof(time_t) + RANDOM_BYTES)};
+enum {COMMITID_RAW_SIZE = (sizeof(time_t) + RANDOM_BYTES)};
static char const alphabet[62] =
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
@@ -469,11 +469,11 @@
quotient. BUF[0] is the most significant part of BUF.
D must not exceed UINT_MAX >> CHAR_BIT. */
static unsigned int
-divide_by (unsigned char buf[N], unsigned int d)
+divide_by (unsigned char buf[COMMITID_RAW_SIZE], unsigned int d)
{
unsigned int carry = 0;
int i;
- for (i = 0; i < N; i++)
+ for (i = 0; i < COMMITID_RAW_SIZE; i++)
{
unsigned int byte = buf[i];
unsigned int dividend = (carry << CHAR_BIT) + byte;
@@ -484,13 +484,13 @@
}
static void
-convert (char const input[N], char *output)
+convert (char const input[COMMITID_RAW_SIZE], char *output)
{
- static char const zero[N] = { 0, };
- unsigned char buf[N];
+ static char const zero[COMMITID_RAW_SIZE] = { 0, };
+ unsigned char buf[COMMITID_RAW_SIZE];
size_t o = 0;
- memcpy (buf, input, N);
- while (memcmp (buf, zero, N) != 0)
+ memcpy (buf, input, COMMITID_RAW_SIZE);
+ while (memcmp (buf, zero, COMMITID_RAW_SIZE) != 0)
output[o++] = alphabet[divide_by (buf, sizeof alphabet)];
if (! o)
output[o++] = '0';
@@ -774,8 +774,8 @@
/* Calculate the cvs global session ID */
{
- char buf[N] = { 0, };
- char out[N*2];
+ char buf[COMMITID_RAW_SIZE] = { 0, };
+ char out[COMMITID_RAW_SIZE * 2];
ssize_t len = 0;
time_t rightnow = time (NULL);
unsigned char *p = (unsigned char *) (buf + sizeof (time_t));
@@ -784,16 +784,26 @@
len = read (fd, buf + sizeof (time_t), RANDOM_BYTES);
close (fd);
}
- if (len > 0 && rightnow >= 0) {
- while (rightnow != 0) {
+ if (len > 0) {
+ while (rightnow > 0) {
*--p = rightnow % (UCHAR_MAX + 1);
rightnow /= UCHAR_MAX + 1;
}
- convert(buf, out);
- global_session_id = strdup (out);
- } else
- global_session_id = Xasprintf ("%x%08lx%04x", (int)getpid(),
- (long)time (NULL), rand()&0xFFFF);
+ } else {
+ long int pid = (long int)getpid ();
+ p = (unsigned char *) (buf + sizeof (buf));
+ while (rightnow > 0) {
+ *--p = rightnow % (UCHAR_MAX + 1);
+ rightnow /= UCHAR_MAX + 1;
+ }
+ p = (unsigned char *) (buf + sizeof (buf) - sizeof (time_t));
+ while (pid > 0) {
+ *--p = pid % (UCHAR_MAX + 1);
+ pid /= UCHAR_MAX + 1;
+ }
+ }
+ convert(buf, out);
+ global_session_id = strdup (out);
}
- [Cvs-cvs] Changes to ccvs/src/main.c, (continued)
- [Cvs-cvs] Changes to ccvs/src/main.c, Derek Robert Price, 2005/09/04
- [Cvs-cvs] Changes to ccvs/src/main.c, Derek Robert Price, 2005/09/04
- [Cvs-cvs] Changes to ccvs/src/main.c, Derek Robert Price, 2005/09/05
- [Cvs-cvs] Changes to ccvs/src/main.c, Derek Robert Price, 2005/09/05
- [Cvs-cvs] Changes to ccvs/src/main.c, Derek Robert Price, 2005/09/06
- [Cvs-cvs] Changes to ccvs/src/main.c, Derek Robert Price, 2005/09/11
- [Cvs-cvs] Changes to ccvs/src/main.c, Derek Robert Price, 2005/09/20
- [Cvs-cvs] Changes to ccvs/src/main.c, Derek Robert Price, 2005/09/25
- [Cvs-cvs] Changes to ccvs/src/main.c, Derek Robert Price, 2005/09/25
- [Cvs-cvs] Changes to ccvs/src/main.c, Mark D . Baushke, 2005/09/28
- [Cvs-cvs] Changes to ccvs/src/main.c,
Mark D . Baushke <=
- [Cvs-cvs] Changes to ccvs/src/main.c, Derek Robert Price, 2005/09/29
- [Cvs-cvs] Changes to ccvs/src/main.c, Mark D . Baushke, 2005/09/29
- [Cvs-cvs] Changes to ccvs/src/main.c, Mark D . Baushke, 2005/09/29