diff -ruN memcached/assoc.c memcached1/assoc.c --- memcached/assoc.c 2006-11-23 12:37:36.843750000 -0600 +++ memcached1/assoc.c 2006-11-24 09:14:37.203125000 -0600 @@ -12,20 +12,20 @@ * * $Id: assoc.c 412 2006-10-13 22:16:21Z sgrimm $ */ -#include "config.h" #include #include +#include "config.h" #include #include #include #include #include -#include -#include -#include #include #include #include +#include +#include +#include #include #include @@ -518,3 +518,4 @@ they can't find. */ assert(*before != 0); } + diff -ruN memcached/items.c memcached1/items.c --- memcached/items.c 2006-11-23 12:37:36.937500000 -0600 +++ memcached1/items.c 2006-11-24 09:18:13.421875000 -0600 @@ -7,12 +7,12 @@ #include #include #include -#include -#include -#include #include #include #include +#include +#include +#include #include #include #include @@ -276,7 +276,7 @@ for (i=0; itime); } strcpy(bufcurr, "END"); diff -ruN memcached/memcached.c memcached1/memcached.c --- memcached/memcached.c 2006-11-23 12:37:36.828125000 -0600 +++ memcached1/memcached.c 2006-11-24 09:26:30.390625000 -0600 @@ -15,9 +15,9 @@ * * $Id: memcached.c 436 2006-11-20 21:16:56Z sgrimm $ */ -#include "config.h" #include #include +#include "config.h" #include #include #include @@ -37,14 +37,14 @@ #include #include #include -#include -#include -#include #include #include #include #include #include +#include +#include +#include #include #include #include @@ -110,7 +110,7 @@ void settings_init(void) { settings.port = 11211; settings.udpport = 0; - settings.interface.s_addr = htonl(INADDR_ANY); + settings.interf.s_addr = htonl(INADDR_ANY); settings.maxbytes = 64*1024*1024; /* default is 64MB */ settings.maxconns = 1024; /* to limit connections-related memory to about 5MB */ settings.verbose = 0; @@ -472,7 +472,6 @@ int add_iov(conn *c, const void *buf, int len) { struct msghdr *m; - int i; int leftover; int limit_to_mtu; @@ -550,7 +549,7 @@ *hdr++ = c->msgused % 256; *hdr++ = 0; *hdr++ = 0; - assert((void*) hdr == (void*) c->msglist[i].msg_iov[0].iov_base + UDP_HEADER_SIZE); + assert((void*) hdr == (void*) ((char*)c->msglist[i].msg_iov[0].iov_base + UDP_HEADER_SIZE)); } return 0; @@ -647,8 +646,8 @@ char temp[1024]; pid_t pid = getpid(); char *pos = temp; - struct rusage usage; + struct rusage usage; getrusage(RUSAGE_SELF, &usage); pos += sprintf(pos, "STAT pid %u\r\n", pid); @@ -670,7 +669,7 @@ pos += sprintf(pos, "STAT get_misses %llu\r\n", stats.get_misses); pos += sprintf(pos, "STAT bytes_read %llu\r\n", stats.bytes_read); pos += sprintf(pos, "STAT bytes_written %llu\r\n", stats.bytes_written); - pos += sprintf(pos, "STAT limit_maxbytes %llu\r\n", (unsigned long long) settings.maxbytes); + pos += sprintf(pos, "STAT limit_maxbytes %llu\r\n", (uint64_t) settings.maxbytes); pos += sprintf(pos, "END"); out_string(c, temp); return; @@ -838,10 +837,12 @@ char key[251]; int flags; time_t expire; + long _expire = 0; int len, res; item *it; - res = sscanf(command, "%*s %250s %u %ld %d\n", key, &flags, &expire, &len); + res = sscanf(command, "%*s %250s %u %ld %d\n", key, &flags, &_expire, &len); + expire = _expire; if (res!=4 || strlen(key)==0 ) { out_string(c, "CLIENT_ERROR bad command line format"); return; @@ -1031,6 +1032,7 @@ item *it; int res; time_t exptime = 0; + long _exptime = 0; if (settings.managed) { int bucket = c->bucket; @@ -1044,7 +1046,8 @@ return; } } - res = sscanf(command, "%*s %250s %ld", key, &exptime); + res = sscanf(command, "%*s %250s %ld", key, &_exptime); + exptime = _exptime; it = get_item(key); if (!it) { out_string(c, "NOT_FOUND"); @@ -1151,6 +1154,7 @@ if (strncmp(command, "flush_all", 9) == 0) { time_t exptime = 0; + long _exptime = 0; int res; set_current_time(); @@ -1161,7 +1165,8 @@ return; } - res = sscanf(command, "%*s %ld", &exptime); + res = sscanf(command, "%*s %ld", &_exptime); + exptime = _exptime; if (res != 1) { out_string(c, "ERROR"); return; @@ -1667,7 +1672,7 @@ int old_size; /* Start with the default size. */ - if (getsockopt(sfd, SOL_SOCKET, SO_SNDBUF, &old_size, &intsize)) { + if (getsockopt(sfd, SOL_SOCKET, SO_SNDBUF, (void *)&old_size, &intsize)) { if (settings.verbose > 0) perror("getsockopt(SO_SNDBUF)"); return; @@ -1679,7 +1684,7 @@ while (min <= max) { avg = ((unsigned int) min + max) / 2; - if (setsockopt(sfd, SOL_SOCKET, SO_SNDBUF, &avg, intsize) == 0) { + if (setsockopt(sfd, SOL_SOCKET, SO_SNDBUF, (void *)&avg, intsize) == 0) { last_good = avg; min = avg + 1; } else { @@ -1702,13 +1707,13 @@ return -1; } - setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, &flags, sizeof(flags)); + setsockopt(sfd, SOL_SOCKET, SO_REUSEADDR, (void *)&flags, sizeof(flags)); if (is_udp) { maximize_sndbuf(sfd); } else { - setsockopt(sfd, SOL_SOCKET, SO_KEEPALIVE, &flags, sizeof(flags)); - setsockopt(sfd, SOL_SOCKET, SO_LINGER, &ling, sizeof(ling)); - setsockopt(sfd, IPPROTO_TCP, TCP_NODELAY, &flags, sizeof(flags)); + setsockopt(sfd, SOL_SOCKET, SO_KEEPALIVE, (void *)&flags, sizeof(flags)); + setsockopt(sfd, SOL_SOCKET, SO_LINGER, (void *)&ling, sizeof(ling)); + setsockopt(sfd, IPPROTO_TCP, TCP_NODELAY, (void *)&flags, sizeof(flags)); } /* @@ -1719,7 +1724,7 @@ addr.sin_family = AF_INET; addr.sin_port = htons(port); - addr.sin_addr = settings.interface; + addr.sin_addr = settings.interf; if (bind(sfd, (struct sockaddr *) &addr, sizeof(addr)) == -1) { perror("bind()"); close(sfd); @@ -2019,10 +2024,10 @@ int daemonize = 0; int maxcore = 0; char *username = 0; + char *pid_file = NULL; struct passwd *pw; struct sigaction sa; struct rlimit rlim; - char *pid_file = NULL; /* handle SIGINT */ signal(SIGINT, sig_handler); @@ -2074,7 +2079,7 @@ fprintf(stderr, "Illegal address: %s\n", optarg); return 1; } else { - settings.interface = addr; + settings.interf = addr; } break; case 'd': @@ -2283,3 +2288,4 @@ remove_pidfile(pid_file); return 0; } + diff -ruN memcached/memcached.h memcached1/memcached.h --- memcached/memcached.h 2006-11-23 12:37:36.875000000 -0600 +++ memcached1/memcached.h 2006-11-24 09:20:53.906250000 -0600 @@ -27,17 +27,17 @@ struct stats { unsigned int curr_items; unsigned int total_items; - unsigned long long curr_bytes; + uint64_t curr_bytes; unsigned int curr_conns; unsigned int total_conns; unsigned int conn_structs; - unsigned long long get_cmds; - unsigned long long set_cmds; - unsigned long long get_hits; - unsigned long long get_misses; + uint64_t get_cmds; + uint64_t set_cmds; + uint64_t get_hits; + uint64_t get_misses; time_t started; /* when the process was started */ - unsigned long long bytes_read; - unsigned long long bytes_written; + uint64_t bytes_read; + uint64_t bytes_written; }; struct settings { @@ -45,7 +45,7 @@ int maxconns; int port; int udpport; - struct in_addr interface; + struct in_addr interf; int verbose; rel_time_t oldest_live; /* ignore existing items older than this */ int managed; /* if 1, a tracker manages virtual buckets */ diff -ruN memcached/slabs.c memcached1/slabs.c --- memcached/slabs.c 2006-09-10 10:31:06.640625000 -0500 +++ memcached1/slabs.c 2006-11-24 09:19:18.843750000 -0600 @@ -16,12 +16,12 @@ #include #include #include -#include -#include -#include #include #include #include +#include +#include +#include #include #include @@ -211,7 +211,7 @@ if (p->end_page_ptr) { void *ptr = p->end_page_ptr; if (--p->end_page_free) { - p->end_page_ptr += p->size; + (char*)(p->end_page_ptr) += p->size; } else { p->end_page_ptr = 0; } @@ -316,9 +316,9 @@ if (p->killing == 0) p->killing = 1; slab = p->slab_list[p->killing-1]; - slab_end = slab + POWER_BLOCK; + slab_end = (char*)slab + POWER_BLOCK; - for (iter=slab; itersize) { + for (iter=slab; itersize) { item *it = (item *) iter; if (it->slabs_clsid) { if (it->refcount) was_busy = 1; @@ -348,7 +348,7 @@ dp->end_page_free = dp->perslab; /* this isn't too critical, but other parts of the code do asserts to make sure this field is always 0. */ - for (iter=slab; itersize) { + for (iter=slab; itersize) { ((item *)iter)->slabs_clsid = 0; } return 1;