diff options
author | Guillaume Delacour <gui@iroqwa.org> | 2015-12-07 00:53:14 +0100 |
---|---|---|
committer | dormando <dormando@rydia.net> | 2016-05-28 21:53:28 -0700 |
commit | 61269bbd499f430b081a04ff2173bbb2e6e57cd7 (patch) | |
tree | 17e0b167ecd6c1ac7ac4181ab1f08fb64724ac34 | |
parent | adb6a664a62989e5fd4585bb48be5df34a18bf31 (diff) | |
download | memcached-61269bbd499f430b081a04ff2173bbb2e6e57cd7.tar.gz |
Define IOV_MAX for GNU and replace PATH_MAX by dynamic alloc
-rw-r--r-- | memcached.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/memcached.c b/memcached.c index ff1af50..0bdaf3c 100644 --- a/memcached.c +++ b/memcached.c @@ -50,7 +50,7 @@ /* FreeBSD 4.x doesn't have IOV_MAX exposed. */ #ifndef IOV_MAX -#if defined(__FreeBSD__) || defined(__APPLE__) +#if defined(__FreeBSD__) || defined(__APPLE__) || defined(__GNU__) # define IOV_MAX 1024 #endif #endif @@ -5712,12 +5712,15 @@ int main (int argc, char **argv) { /* create the listening socket, bind it, and init */ if (settings.socketpath == NULL) { const char *portnumber_filename = getenv("MEMCACHED_PORT_FILENAME"); - char temp_portnumber_filename[PATH_MAX]; + char *temp_portnumber_filename = NULL; + size_t len; FILE *portnumber_file = NULL; if (portnumber_filename != NULL) { + len = strlen(portnumber_filename)+4+1; + temp_portnumber_filename = malloc(len); snprintf(temp_portnumber_filename, - sizeof(temp_portnumber_filename), + len, "%s.lck", portnumber_filename); portnumber_file = fopen(temp_portnumber_filename, "a"); @@ -5752,6 +5755,7 @@ int main (int argc, char **argv) { if (portnumber_file) { fclose(portnumber_file); rename(temp_portnumber_filename, portnumber_filename); + free(temp_portnumber_filename); } } |