diff options
author | Nick Mathewson <nickm@torproject.org> | 2008-02-21 21:15:31 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2008-02-21 21:15:31 +0000 |
commit | daefbfe691fdc1856fd7ff91e50cd3600140359b (patch) | |
tree | 2daf6085e1b86c80f138fef4ef8df244448d5b8e | |
parent | e790dbe779de620bdb0b2f52d4d04ce84bb7c5a8 (diff) | |
download | tor-daefbfe691fdc1856fd7ff91e50cd3600140359b.tar.gz tor-daefbfe691fdc1856fd7ff91e50cd3600140359b.zip |
r14371@tombo: nickm | 2008-02-21 16:13:18 -0500
Fix all -Wshorten-64-to-32 warnings that appear on my macbook.
svn:r13662
-rw-r--r-- | src/common/compat.c | 14 | ||||
-rw-r--r-- | src/common/compat.h | 11 | ||||
-rw-r--r-- | src/or/buffers.c | 4 | ||||
-rw-r--r-- | src/or/eventdns.c | 10 | ||||
-rw-r--r-- | src/or/rephist.c | 5 |
5 files changed, 27 insertions, 17 deletions
diff --git a/src/common/compat.c b/src/common/compat.c index f789b8310d..378ba06232 100644 --- a/src/common/compat.c +++ b/src/common/compat.c @@ -754,10 +754,6 @@ tor_socketpair(int family, int type, int protocol, int fd[2]) #define ULIMIT_BUFFER 32 /* keep 32 extra fd's beyond _ConnLimit */ -#if defined(HAVE_GETRLIMIT) && !defined(HAVE_RLIM_T) -typedef unsigned long rlim_t; -#endif - /** Learn the maximum allowed number of file descriptors. (Some systems * have a low soft limit. * @@ -767,7 +763,7 @@ typedef unsigned long rlim_t; * * Otherwise, return 0 and store the maximum we found inside <b>max_out</b>.*/ int -set_max_file_descriptors(unsigned long limit, int *max_out) +set_max_file_descriptors(rlim_t limit, int *max_out) { #define DEFAULT_MAX_CONNECTIONS 15000 #define CYGWIN_MAX_CONNECTIONS 3200 @@ -819,10 +815,10 @@ set_max_file_descriptors(unsigned long limit, int *max_out) return -1; } - if ((unsigned long)rlim.rlim_max < limit) { + if (rlim.rlim_max < limit) { log_warn(LD_CONFIG,"We need %lu file descriptors available, and we're " "limited to %lu. Please change your ulimit -n.", - limit, (unsigned long)rlim.rlim_max); + (unsigned long)limit, (unsigned long)rlim.rlim_max); return -1; } @@ -843,7 +839,7 @@ set_max_file_descriptors(unsigned long limit, int *max_out) if (rlim.rlim_cur < (rlim_t)limit) { log_warn(LD_CONFIG, "We are limited to %lu file descriptors by " "OPEN_MAX, and ConnLimit is %lu. Changing ConnLimit; sorry.", - (unsigned long)OPEN_MAX, limit); + (unsigned long)OPEN_MAX, (unsigned long)limit); } else { log_info(LD_CONFIG, "Dropped connection limit to OPEN_MAX (%lu); " "Apparently, %lu was too high and rlimit lied to us.", @@ -869,7 +865,7 @@ set_max_file_descriptors(unsigned long limit, int *max_out) return -1; } if (limit > INT_MAX) - limit = INT_MAX; + limit = INT_MAX; tor_assert(max_out); *max_out = (int)limit - ULIMIT_BUFFER; return 0; diff --git a/src/common/compat.h b/src/common/compat.h index 3ac38d7dac..75b6e5420f 100644 --- a/src/common/compat.h +++ b/src/common/compat.h @@ -37,9 +37,15 @@ #include <ctype.h> #endif #include <stdarg.h> +#ifdef HAVE_SYS_RESOURCE_H +#include <sys/resource.h> +#endif #ifdef HAVE_SYS_SOCKET_H #include <sys/socket.h> #endif +#ifdef HAVE_SYS_TYPES_H +#include <sys/types.h> +#endif #ifdef HAVE_NETINET_IN_H #include <netinet/in.h> #endif @@ -443,7 +449,10 @@ uint32_t get_uint32(const char *cp) ATTR_PURE ATTR_NONNULL((1)); void set_uint16(char *cp, uint16_t v) ATTR_NONNULL((1)); void set_uint32(char *cp, uint32_t v) ATTR_NONNULL((1)); -int set_max_file_descriptors(unsigned long limit, int *max); +#if !defined(HAVE_RLIM_T) +typedef unsigned long rlim_t; +#endif +int set_max_file_descriptors(rlim_t limit, int *max); int switch_id(const char *user, const char *group); #ifdef HAVE_PWD_H char *get_user_homedir(const char *username); diff --git a/src/or/buffers.c b/src/or/buffers.c index 7a5fa6e946..a5732253be 100644 --- a/src/or/buffers.c +++ b/src/or/buffers.c @@ -998,7 +998,7 @@ move_buf_to_buf(buf_t *buf_out, buf_t *buf_in, size_t *buf_flushlen) /** Internal structure: represents a position in a buffer. */ typedef struct buf_pos_t { const chunk_t *chunk; /**< Which chunk are we pointing to? */ - off_t pos;/**< Which character inside the chunk's data are we pointing to? */ + int pos;/**< Which character inside the chunk's data are we pointing to? */ size_t chunk_pos; /**< Total length of all previous chunks. */ } buf_pos_t; @@ -1037,7 +1037,7 @@ buf_find_pos_of_char(char ch, buf_pos_t *out) } pos = out->pos; for (chunk = out->chunk; chunk; chunk = chunk->next) { - char *cp = memchr(chunk->data+pos, ch, chunk->datalen-pos); + char *cp = memchr(chunk->data+pos, ch, chunk->datalen - pos); if (cp) { out->chunk = chunk; out->pos = cp - chunk->data; diff --git a/src/or/eventdns.c b/src/or/eventdns.c index 239bf9f801..75d1467d47 100644 --- a/src/or/eventdns.c +++ b/src/or/eventdns.c @@ -1298,8 +1298,12 @@ dnslabel_table_get_pos(const struct dnslabel_table *table, const char *label) { int i; for (i = 0; i < table->n_labels; ++i) { - if (!strcmp(label, table->labels[i].v)) - return table->labels[i].pos; + if (!strcmp(label, table->labels[i].v)) { + off_t pos = table->labels[i].pos; + if (pos > 65535) + return -1; + return (int)pos; + } } return -1; } @@ -1682,7 +1686,7 @@ overflow: buf[3] |= 0x02; /* set the truncated bit. */ } - req->response_len = j; + req->response_len = (size_t)j; if (!(req->response = malloc(req->response_len))) { server_request_free_answers(req); diff --git a/src/or/rephist.c b/src/or/rephist.c index f431c81228..c7d44743e0 100644 --- a/src/or/rephist.c +++ b/src/or/rephist.c @@ -361,8 +361,9 @@ rep_hist_downrate_old_runs(time_t now) (unsigned long)(hist->weighted_run_length * alpha); hist->total_run_weights *= alpha; - hist->weighted_uptime *= alpha; - hist->total_weighted_time *= alpha; + hist->weighted_uptime = (unsigned long)(hist->weighted_uptime * alpha); + hist->total_weighted_time = (unsigned long) + (hist->total_weighted_time * alpha); } return stability_last_downrated + STABILITY_INTERVAL; |