}
for (i = 0; i < len; ) {
size_t wanted = len - i;
- ssize_t ret = read(fd, buf + i, wanted);
+ ssize_t ret = read(fd, (char*)buf + i, wanted);
if (ret == -1) {
if (errno == EAGAIN || errno == EINTR)
#endif
SHA512_Final(results, &ctx);
- memcpy(buf + i, results, min(sizeof(results), len - i));
+ memcpy((char*)buf + i, results, min(sizeof(results), len - i));
i += min(sizeof(results), len - i);
}
memset(results, 0, sizeof results);
int getentropy(void *buf, size_t len);
-/* cannot reference main, or log_info for unbound, it
- gives portability problems */
+/* referencing functions in other link modules is not portable */
/*extern int main(int, char *argv[]);*/
static int gotdata(char *buf, size_t len);
static int getentropy_urandom(void *buf, size_t len);
}
for (i = 0; i < len; ) {
size_t wanted = len - i;
- ssize_t ret = read(fd, buf + i, wanted);
+ ssize_t ret = read(fd, (char*)buf + i, wanted);
if (ret == -1) {
if (errno == EAGAIN || errno == EINTR)
struct ipstat ipstat;
u_int64_t mach_time;
unsigned int idata;
- void * addr;
+ void *addr;
pid = getpid();
if (lastpid == pid) {
HX(sigprocmask(SIG_BLOCK, NULL, &sigset) == -1,
sigset);
- /* using log_info instead of main for unbound */
/*HF(main);*/ /* an addr in program */
HF(getentropy); /* an addr in this library */
HF(printf); /* an addr in libc */
}
SHA512_Final(results, &ctx);
- memcpy(buf + i, results, min(sizeof(results), len - i));
+ memcpy((char*)buf + i, results, min(sizeof(results), len - i));
i += min(sizeof(results), len - i);
}
memset(results, 0, sizeof results);
#define HR(x, l) (SHA512_Update(&ctx, (char *)(x), (l)))
#define HD(x) (SHA512_Update(&ctx, (char *)&(x), sizeof (x)))
-/* for functions. sun-cc cannot take sizeof a function pointer */
+/* (portability) some compilers cannot take sizeof a function pointer */
#define HF(x) (SHA512_Update(&ctx, (char *)&(x), sizeof (void*)))
int getentropy(void *buf, size_t len);
-/* cannot refernce main, or log_info for unbound, it gives
- portability problems. For solaris specifically, sun-cc and gcc
- have different link semantics (but it also fails on other platforms) */
+/* referencing functions in other link modules is not portable */
/* extern int main(int, char *argv[]); */
static int gotdata(char *buf, size_t len);
static int getentropy_urandom(void *buf, size_t len, const char *path,