Skip to content

Commit

Permalink
remove all trailing whitespace, not just first occurrence. :)
Browse files Browse the repository at this point in the history
git-svn-id: http://code.sixapart.com/svn/memcached/trunk/server@329 b0b603af-a30f-0410-a34e-baf09ae79d0b
  • Loading branch information
bradfitz committed Sep 4, 2006
1 parent 93c6642 commit 1ea89bd
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 518 deletions.
31 changes: 3 additions & 28 deletions assoc.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,13 @@
* The hash function used here is by Bob Jenkins, 1996:
* <http://burtleburtle.net/bob/hash/doobs.html>
* "By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net.
* You may use this code any way you wish, private, educational,
* You may use this code any way you wish, private, educational,
* or commercial. It's free."
*
* The rest of the file is licensed under the BSD license. See LICENSE.
*
* $Id$
*/

#include <sys/types.h>
#include <sys/stat.h>
#include <sys/time.h>
Expand All @@ -28,18 +27,13 @@
#include <errno.h>
#include <event.h>
#include <assert.h>

#include "memcached.h"

typedef unsigned long int ub4; /* unsigned 4-byte quantities */
typedef unsigned char ub1; /* unsigned 1-byte quantities */

/* hard-code one million buckets, for now (2**20 == 4MB hash) */
#define HASHPOWER 20

#define hashsize(n) ((ub4)1<<(n))
#define hashmask(n) (hashsize(n)-1)

#define mix(a,b,c) \
{ \
a -= b; a -= c; a ^= (c>>13); \
Expand All @@ -52,7 +46,6 @@ typedef unsigned char ub1; /* unsigned 1-byte quantities */
b -= c; b -= a; b ^= (a<<10); \
c -= a; c -= b; c ^= (b>>15); \
}

/*
--------------------------------------------------------------------
hash() -- hash a variable-length key into a 32-bit value
Expand All @@ -62,37 +55,30 @@ hash() -- hash a variable-length key into a 32-bit value
Returns a 32-bit value. Every bit of the key affects every bit of
the return value. Every 1-bit and 2-bit delta achieves avalanche.
About 6*len+35 instructions.
The best hash table sizes are powers of 2. There is no need to do
mod a prime (mod is sooo slow!). If you need less than 32 bits,
use a bitmask. For example, if you need only 10 bits, do
h = (h & hashmask(10));
In which case, the hash table should have hashsize(10) elements.
If you are hashing n strings (ub1 **)k, do it like this:
for (i=0, h=0; i<n; ++i) h = hash( k[i], len[i], h);
By Bob Jenkins, 1996. bob_jenkins@burtleburtle.net. You may use this
code any way you wish, private, educational, or commercial. It's free.
See http://burtleburtle.net/bob/hash/evahash.html
Use for hash table lookup, or anything where one collision in 2^^32 is
acceptable. Do NOT use for cryptographic purposes.
--------------------------------------------------------------------
*/

ub4 hash( k, length, initval)
register ub1 *k; /* the key */
register ub4 length; /* the length of the key */
register ub4 initval; /* the previous hash, or an arbitrary value */
{
register ub4 a,b,c,len;

/* Set up the internal state */
len = length;
a = b = 0x9e3779b9; /* the golden ratio; an arbitrary value */
c = initval; /* the previous hash value */

/*---------------------------------------- handle most of the key */
while (len >= 12)
{
Expand All @@ -102,7 +88,6 @@ ub4 hash( k, length, initval)
mix(a,b,c);
k += 12; len -= 12;
}

/*------------------------------------- handle the last 11 bytes */
c += length;
switch(len) /* all the case statements fall through */
Expand All @@ -125,9 +110,7 @@ ub4 hash( k, length, initval)
/*-------------------------------------------- report the result */
return c;
}

static item** hashtable = 0;

void assoc_init(void) {
unsigned int hash_size = hashsize(HASHPOWER) * sizeof(void*);
hashtable = malloc(hash_size);
Expand All @@ -137,40 +120,33 @@ void assoc_init(void) {
}
memset(hashtable, 0, hash_size);
}

item *assoc_find(char *key) {
ub4 hv = hash(key, strlen(key), 0) & hashmask(HASHPOWER);
item *it = hashtable[hv];

while (it) {
if (strcmp(key, ITEM_key(it)) == 0)
return it;
it = it->h_next;
}
return 0;
}

/* returns the address of the item pointer before the key. if *item == 0,
the item wasn't found */

static item** _hashitem_before (char *key) {
ub4 hv = hash(key, strlen(key), 0) & hashmask(HASHPOWER);
item **pos = &hashtable[hv];

while (*pos && strcmp(key, ITEM_key(*pos))) {
pos = &(*pos)->h_next;
}
return pos;
}

/* Note: this isn't an assoc_update. The key must not already exist to call this */
int assoc_insert(char *key, item *it) {
ub4 hv = hash(key, strlen(key), 0) & hashmask(HASHPOWER);
it->h_next = hashtable[hv];
hashtable[hv] = it;
return 1;
}

void assoc_delete(char *key) {
item **before = _hashitem_before(key);
if (*before) {
Expand All @@ -179,8 +155,7 @@ void assoc_delete(char *key) {
*before = nxt;
return;
}
/* Note: we never actually get here. the callers don't delete things
/* Note: we never actually get here. the callers don't delete things
they can't find. */
assert(*before != 0);
}

}
9 changes: 1 addition & 8 deletions daemon.c
Original file line number Diff line number Diff line change
Expand Up @@ -28,22 +28,18 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/

#if defined __SUNPRO_C || defined __DECC || defined __HP_cc
# pragma ident "@(#)$Header: /cvsroot/wikipedia/willow/src/bin/willow/daemon.c,v 1.1 2005/05/02 19:15:21 kateturner Exp $"
# pragma ident "$NetBSD: daemon.c,v 1.9 2003/08/07 16:42:46 agc Exp $"
#endif

#include <fcntl.h>
#include <stdlib.h>
#include <unistd.h>

int
daemon(nochdir, noclose)
int nochdir, noclose;
{
int fd;

switch (fork()) {
case -1:
return (-1);
Expand All @@ -52,13 +48,10 @@ daemon(nochdir, noclose)
default:
_exit(0);
}

if (setsid() == -1)
return (-1);

if (!nochdir)
(void)chdir("/");

if (!noclose && (fd = open("/dev/null", O_RDWR, 0)) != -1) {
(void)dup2(fd, STDIN_FILENO);
(void)dup2(fd, STDOUT_FILENO);
Expand All @@ -67,4 +60,4 @@ daemon(nochdir, noclose)
(void)close(fd);
}
return (0);
}
}
2 changes: 1 addition & 1 deletion devtools/clean-whitespace.pl
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
close ($fh);
my $after = $before;
$after =~ s/\t/ /g;
$after =~ s/\s+$//m;
$after =~ s/\s+$//mg;
next if $after eq $before;
open(my $fh, ">$f") or die;
print $fh $after;
Expand Down
Loading

0 comments on commit 1ea89bd

Please sign in to comment.