[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 17:36:12 -0400 |
Index: ccvs/src/main.c
diff -u ccvs/src/main.c:1.260 ccvs/src/main.c:1.261
--- ccvs/src/main.c:1.260 Thu Sep 29 20:33:02 2005
+++ ccvs/src/main.c Thu Sep 29 21:36:11 2005
@@ -778,18 +778,31 @@
char out[COMMITID_RAW_SIZE * 2];
ssize_t len = 0;
time_t rightnow = time (NULL);
- unsigned char *p = (unsigned char *) (buf + sizeof (time_t));
- int fd = open ("/dev/urandom", O_RDONLY, O_NOCTTY);
+ char *startrand = buf + sizeof (time_t);
+ unsigned char *p = (unsigned char *) startrand;
+ size_t randbytes = RANDOM_BYTES;
+ int flags = O_RDONLY;
+ int fd;
+#ifdef O_NOCTTY
+ flags |= O_NOCTTY;
+#endif
+ if (rightnow != (time_t)-1) {
+ /* try to use more random data */
+ randbytes = COMMITID_RAW_SIZE;
+ startrand = buf;
+ }
+ fd = open ("/dev/urandom", flags);
if (fd >= 0) {
- len = read (fd, buf + sizeof (time_t), RANDOM_BYTES);
+ len = read (fd, startrand, randbytes);
close (fd);
}
- /* time_t can be unsigned */
- if (len > 0 && rightnow != (time_t)-1) {
- while (rightnow > 0) {
- *--p = rightnow % (UCHAR_MAX + 1);
- rightnow /= UCHAR_MAX + 1;
- }
+ if (len > 0) {
+ /* time_t can be unsigned */
+ if (rightnow != (time_t)-1)
+ while (rightnow > 0) {
+ *--p = rightnow % (UCHAR_MAX + 1);
+ rightnow /= UCHAR_MAX + 1;
+ }
} else {
long int pid = (long int)getpid ();
p = (unsigned char *) (buf + sizeof (buf));
- [Cvs-cvs] Changes to ccvs/src/main.c, (continued)
- [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, 2005/09/29
- [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 <=
- [Cvs-cvs] Changes to ccvs/src/main.c, Mark D . Baushke, 2005/09/29