shithub: 9pro

Download patch

ref: 123101f0a15381355138315c6215cf81e959784d
parent: dafd86d6327602cb4c66d80f4e64488c03cd01e8
author: Sigrid Solveig Haflínudóttir <[email protected]>
date: Tue Jun 28 11:57:51 EDT 2022

reformat, build with -O2

--- a/9gc.c
+++ b/9gc.c
@@ -16,7 +16,8 @@
 #include "c9.h"
 #include "parg.h"
 
-enum {
+enum
+{
 	Msize = 8192,
 
 	Rootfid = 0,
@@ -31,7 +32,8 @@
 typedef struct C9aux C9aux;
 typedef struct REntry REntry;
 
-struct C9aux {
+struct C9aux
+{
 	C9ctx c;
 	int f;
 	int flags;
@@ -56,9 +58,9 @@
 
 	a = ctx->aux;
 	*err = 0;
-	for (n = 0; n < size; n += r) {
-		if ((r = read(a->f, a->rdbuf+n, size-n)) <= 0) {
-			if (errno == EINTR)
+	for(n = 0; n < size; n += r){
+		if((r = read(a->f, a->rdbuf+n, size-n)) <= 0){
+			if(errno == EINTR)
 				continue;
 			a->flags |= Disconnected;
 			close(a->f);
@@ -75,11 +77,11 @@
 	uint32_t n;
 	int w;
 
-	for (n = 0; n < a->wroff; n += w) {
-		if ((w = write(a->f, a->wrbuf+n, a->wroff-n)) <= 0) {
-			if (errno == EINTR)
+	for(n = 0; n < a->wroff; n += w){
+		if((w = write(a->f, a->wrbuf+n, a->wroff-n)) <= 0){
+			if(errno == EINTR)
 				continue;
-			if (errno != EPIPE) /* remote end closed */
+			if(errno != EPIPE) /* remote end closed */
 				perror("write");
 			return -1;
 		}
@@ -96,8 +98,8 @@
 	C9aux *a;
 
 	a = ctx->aux;
-	if (a->wroff + size > sizeof(a->wrbuf)) {
-		if (wrsend(a) != 0 || a->wroff + size > sizeof(a->wrbuf))
+	if(a->wroff + size > sizeof(a->wrbuf)){
+		if(wrsend(a) != 0 || a->wroff + size > sizeof(a->wrbuf))
 			return NULL;
 	}
 	b = a->wrbuf + a->wroff;
@@ -116,39 +118,43 @@
 static int
 dial(char *s)
 {
-	struct addrinfo *r, *a, hint = {.ai_flags = AI_ADDRCONFIG, .ai_family = AF_UNSPEC, 0};
+	struct addrinfo hint = {
+		.ai_flags = AI_ADDRCONFIG,
+		.ai_family = AF_UNSPEC,
+		0
+	}, *r, *a;
 	char host[64], *port;
 	int e, f, yes;
 
-	if (strncmp(s, "udp!", 4) == 0) {
+	if(strncmp(s, "udp!", 4) == 0){
 		hint.ai_socktype = SOCK_DGRAM;
 		hint.ai_protocol = IPPROTO_UDP;
-	} else if (strncmp(s, "tcp!", 4) == 0) {
+	}else if(strncmp(s, "tcp!", 4) == 0){
 		hint.ai_socktype = SOCK_STREAM;
 		hint.ai_protocol = IPPROTO_TCP;
-	} else {
+	}else{
 		fprintf(stderr, "invalid dial string: %s\n", s);
 		return -1;
 	}
-	if ((port = strchr(s+4, '!')) == NULL) {
+	if((port = strchr(s+4, '!')) == NULL){
 		fprintf(stderr, "invalid dial string: %s\n", s);
 		return -1;
 	}
-	if (snprintf(host, sizeof(host), "%.*s", (int)(port-s-4), s+4) >= (int)sizeof(host)) {
+	if(snprintf(host, sizeof(host), "%.*s", (int)(port-s-4), s+4) >= (int)sizeof(host)){
 		fprintf(stderr, "host name too large: %s\n", s);
 		return -1;
 	}
 	port++;
-	if ((e = getaddrinfo(host, port, &hint, &r)) != 0){
+	if((e = getaddrinfo(host, port, &hint, &r)) != 0){
 		fprintf(stderr, "%s: %s\n", gai_strerror(e), s);
 		return -1;
 	}
 	f = -1;
 	yes = 1;
-	for (a = r; a != NULL; a = a->ai_next) {
-		if ((f = socket(a->ai_family, a->ai_socktype, a->ai_protocol)) < 0)
+	for(a = r; a != NULL; a = a->ai_next){
+		if((f = socket(a->ai_family, a->ai_socktype, a->ai_protocol)) < 0)
 			continue;
-		if (connect(f, a->ai_addr, a->ai_addrlen) == 0) {
+		if(connect(f, a->ai_addr, a->ai_addrlen) == 0){
 			setsockopt(f, SOL_TCP, TCP_NODELAY, &yes, sizeof(yes));
 			break;
 		}
@@ -165,9 +171,9 @@
 {
 	int i, j;
 
-	for (i = j = 0; i < sz; i++) {
+	for(i = j = 0; i < sz; i++){
 		d[j] = d[i];
-		if (d[j] > 31 || d[j] == '\t' || d[j] == '\n')
+		if(d[j] > 31 || d[j] == '\t' || d[j] == '\n')
 			j++;
 	}
 	write(1, d, j);
@@ -180,9 +186,10 @@
 	C9tag tag;
 	const char *path[2];
 	char buf[64];
+	int n;
 
 	a = ctx->aux;
-	switch (r->type) {
+	switch(r->type){
 	case Rversion:
 		c9attach(ctx, &tag, Rootfid, C9nofid, "none", NULL);
 		break;
@@ -199,13 +206,14 @@
 		break;
 
 	case Rread:
-		if (chatoff >= skipuntil)
+		if(chatoff >= skipuntil)
 			output(r->read.data, r->read.size);
 		chatoff += r->read.size;
 		/* fallthrough */
 	case Ropen:
-		if ((a->flags & Joined) == 0 && printjoin) {
-			c9write(ctx, &tag, Chatfid, 0, buf, snprintf(buf, sizeof(buf), "JOIN %s to chat\n", nick));
+		if((a->flags & Joined) == 0 && printjoin){
+			n = snprintf(buf, sizeof(buf), "JOIN %s to chat\n", nick);
+			c9write(ctx, &tag, Chatfid, 0, buf, n);
 			a->flags |= Joined;
 		}
 		c9read(ctx, &tag, Chatfid, chatoff, chatoff < skipuntil ? skipuntil-chatoff : Msize);
@@ -230,7 +238,7 @@
 	const char *path[2];
 
 	a = ctx->aux;
-	switch (r->type) {
+	switch(r->type){
 	case Rversion:
 		c9attach(ctx, &tag, Rootfid, C9nofid, "none", NULL);
 		break;
@@ -251,27 +259,27 @@
 
 	case Rread:
 		r->read.data[r->read.size] = 0;
-		for (s = (char*)r->read.data;;) {
-			if ((s = strstr(s, "chat")) == NULL)
+		for(s = (char*)r->read.data;;){
+			if((s = strstr(s, "chat")) == NULL)
 				break;
-			for (b = s; b != (char*)r->read.data && *b != '\n'; b--);
-			if (*b == '\n')
+			for(b = s; b != (char*)r->read.data && *b != '\n'; b--);
+			if(*b == '\n')
 				b++;
-			if ((s = strchr(s, '\n')) == NULL)
+			if((s = strchr(s, '\n')) == NULL)
 				s = (char*)&r->read.data[r->read.size];
 			else
 				*s++ = 0;
-			if (strstr(b, "tlssrv") == NULL && (e = strchr(b, ' ')) != NULL) {
+			if(strstr(b, "tlssrv") == NULL && (e = strchr(b, ' ')) != NULL){
 				*e = 0;
 fallback:
 				close(a->f);
-				if ((a->f = dial(b)) < 0)
+				if((a->f = dial(b)) < 0)
 					exit(1);
 				a->flags = 0;
 				ctx->r = ctxchatR;
 				a->wroff = 0;
 				c9version(ctx, &tag, Msize);
-				if (wrsend(a) != 0)
+				if(wrsend(a) != 0)
 					exit(1);
 				return;
 			}
@@ -289,7 +297,7 @@
 	}
 }
 
-__attribute__ ((format (printf, 1, 2)))
+__attribute__((format(printf, 1, 2)))
 static void
 ctxerror(const char *fmt, ...)
 {
@@ -307,9 +315,9 @@
 	C9aux *c;
 	int f;
 
-	if ((f = dial(s)) < 0)
+	if((f = dial(s)) < 0)
 		return NULL;
-	if ((c = calloc(1, sizeof(*c))) == NULL) {
+	if((c = calloc(1, sizeof(*c))) == NULL){
 		close(f);
 		return NULL;
 	}
@@ -330,26 +338,26 @@
 	C9tag tag;
 	int i;
 
-	for (i = 0; i < 10; i++) {
-//		if ((a = srv(regsrv)) == NULL) {
-			if ((a = srv(chatsrv)) != NULL) {
+	for(i = 0; i < 10; i++){
+//		if((a = srv(regsrv)) == NULL){
+			if((a = srv(chatsrv)) != NULL){
 				a->c.r = ctxchatR;
 				c9version(&a->c, &tag, Msize);
 				wrsend(a);
 				return a;
 			}
-//		} else {
+//		}else{
 //			break;
 //		}
 		sleep(10);
 	}
 
-	if (a == NULL)
+	if(a == NULL)
 		return NULL;
 	a->c.r = ctxregistryR;
 	c9version(&a->c, &tag, Msize);
 	wrsend(a);
-	while (c9proc(&a->c) == 0 && a->c.r == ctxregistryR)
+	while(c9proc(&a->c) == 0 && a->c.r == ctxregistryR)
 		wrsend(a);
 
 	return a;
@@ -373,10 +381,10 @@
 	FD_SET(0, &e);
 	memset(&t, 0, sizeof(t));
 	t.tv_sec = 10;
-	for (;;) {
+	for(;;){
 		errno = 0;
-		if (select(a->f + 1, &r, NULL, &e, &t) < 0 || FD_ISSET(a->f, &e) || FD_ISSET(0, &e)) {
-			if (errno == EINTR)
+		if(select(a->f + 1, &r, NULL, &e, &t) < 0 || FD_ISSET(a->f, &e) || FD_ISSET(0, &e)){
+			if(errno == EINTR)
 				continue;
 			return -1;
 		}
@@ -384,25 +392,25 @@
 	}
 
 	ctx = &a->c;
-	if (FD_ISSET(a->f, &r)) {
+	if(FD_ISSET(a->f, &r)){
 		c9proc(ctx);
-	} else if (FD_ISSET(0, &r)) {
+	}else if(FD_ISSET(0, &r)){
 		s = (char*)a->rdbuf;
 		sz = sz0 = sprintf(s, "%s → ", nick);
-		for (;;) {
-			if ((n = read(0, s+sz, sizeof(a->rdbuf)-sz)) > 0)
+		for(;;){
+			if((n = read(0, s+sz, sizeof(a->rdbuf)-sz)) > 0)
 				sz += n;
 			else
 				exit(0);
-			if (s[sz-1] != '\n'){
+			if(s[sz-1] != '\n'){
 				s[sz-1] = '\n';
-			} else {
-				if (s[sz0] != '\n')
+			}else{
+				if(s[sz0] != '\n')
 					c9write(ctx, &tag, Chatfid, 0, s, sz);
 				break;
 			}
 		}
-	} else {
+	}else{
 		const char *path[] = {NULL};
 		c9walk(ctx, &tag, Rootfid, Rootfid, path);
 	}
@@ -420,10 +428,10 @@
 
 	parg_init(&ps);
 	noecho = 0;
-	while ((c = parg_getopt(&ps, argc, argv, "hjedc:")) >= 0) {
-		switch (c) {
+	while((c = parg_getopt(&ps, argc, argv, "hjedc:")) >= 0){
+		switch(c){
 		case 1:
-			if (nick != NULL) {
+			if(nick != NULL){
 				fprintf(stderr, "only one nickname can be specified\n");
 				return 1;
 			}
@@ -453,26 +461,26 @@
 		}
 	}
 
-	if (nick == NULL) {
+	if(nick == NULL){
 		fprintf(stderr, "no nickname specified\n");
 		return 1;
 	}
 
-	if (noecho && tcgetattr(0, &t) == 0) {
+	if(noecho && tcgetattr(0, &t) == 0){
 		t.c_lflag &= ~ECHO;
 		tcsetattr(STDIN_FILENO, TCSANOW, &t);
 	}
 
-	for (;;) {
-		if ((a = registry()) == NULL)
+	for(;;){
+		if((a = registry()) == NULL)
 			return 1;
 		while (chatrw(a) == 0 && wrsend(a) == 0);
-		if (a->flags & (Disconnected|Error)) {
+		if(a->flags & (Disconnected|Error)){
 			a->flags &= ~(Disconnected|Error);
 			skipuntil = chatoff;
 			chatoff = 0;
 			free(a);
-		} else {
+		}else{
 			printf("exiting\n");
 			exit(1);
 		}
--- a/9pex.c
+++ b/9pex.c
@@ -33,6 +33,10 @@
 
 uint32_t crc32(const void *data, int len);
 
+typedef struct Fid Fid;
+typedef struct Id Id;
+typedef struct Tag Tag;
+
 enum
 {
 	Canrd = 1<<0,
@@ -39,7 +43,7 @@
 	Canwr = 1<<1,
 };
 
-typedef struct
+struct Fid
 {
 	char *path; /* full path */
 	char *name; /* base name */
@@ -53,20 +57,21 @@
 	uint32_t iounit;
 
 	int fd; /* set when it's an opened file */
-}Fid;
+};
 
-typedef struct
+struct Tag
 {
 	C9tag tag;
-}Tag;
+};
 
-typedef struct
+struct Id
 {
 	char *name;
 	uint32_t id;
-}Id;
+};
 
-static char *t2s[] = {
+static char *t2s[] =
+{
 	[Tversion-Tversion] = "Tversion",
 	[Tauth-Tversion] = "Tauth",
 	[Tattach-Tversion] = "Tattach",
@@ -82,7 +87,8 @@
 	[Twstat-Tversion] = "Twstat",
 };
 
-static char *modes[] = {
+static char *modes[] =
+{
 	"read", "write", "rdwr", "exec",
 };
 
@@ -117,13 +123,13 @@
 static Id *uids, *gids;
 static int numuids, numgids;
 
-__attribute__ ((format (printf, 1, 2)))
+__attribute__((format(printf, 1, 2)))
 static void
 trace(const char *fmt, ...)
 {
 	va_list ap;
 
-	if (debug == 0)
+	if(debug == 0)
 		return;
 
 	va_start(ap, fmt);
@@ -141,7 +147,7 @@
 	FD_ZERO(&r);
 	FD_SET(in, &r);
 	FD_ZERO(&w);
-	if (rdonly == 0)
+	if(rdonly == 0)
 		FD_SET(out, &w);
 	FD_ZERO(&e);
 	FD_SET(in, &e);
@@ -148,10 +154,11 @@
 	FD_SET(out, &e);
 	memset(&t, 0, sizeof(t));
 	t.tv_usec = 1000;
-	for (;;) {
+	for(;;){
 		errno = 0;
-		if (select(max(in, out) + 1, &r, &w, &e, block ? NULL : &t) < 0 || FD_ISSET(in, &e) || FD_ISSET(out, &e)) {
-			if (errno == EINTR)
+		if(select(max(in, out) + 1, &r, &w, &e, block ? NULL : &t) < 0 ||
+		   FD_ISSET(in, &e) || FD_ISSET(out, &e)){
+			if(errno == EINTR)
 				continue;
 			return -1;
 		}
@@ -159,9 +166,9 @@
 	}
 
 	fl = 0;
-	if (FD_ISSET(in, &r))
+	if(FD_ISSET(in, &r))
 		fl |= Canrd;
-	if (FD_ISSET(out, &w))
+	if(FD_ISSET(out, &w))
 		fl |= Canwr;
 
 	return fl;
@@ -173,19 +180,19 @@
 	uint32_t n;
 	int w;
 
-	if (wrend == 0)
+	if(wrend == 0)
 		return 0;
-	for (n = 0; n < wrend; n += w) {
+	for(n = 0; n < wrend; n += w){
 		errno = 0;
-		if ((w = write(out, wrbuf+n, wrend-n)) <= 0) {
-			if (errno == EINTR)
+		if((w = write(out, wrbuf+n, wrend-n)) <= 0){
+			if(errno == EINTR)
 				continue;
-			if (errno != EPIPE) /* remote end closed */
+			if(errno != EPIPE) /* remote end closed */
 				perror("write");
 			return -1;
 		}
 	}
-	if (debug >= 2)
+	if(debug >= 2)
 		trace("<- %d bytes, %d left\n", wrend, wroff-wrend);
 	memmove(wrbuf, wrbuf+wrend, wroff-wrend);
 	wroff = wroff - wrend;
@@ -198,8 +205,8 @@
 {
 	int i;
 
-	for (i = 0; i < numtags; i++) {
-		if (tags[i] != NULL && tags[i]->tag == tag)
+	for(i = 0; i < numtags; i++){
+		if(tags[i] != NULL && tags[i]->tag == tag)
 			return 1;
 	}
 
@@ -209,16 +216,16 @@
 static int
 statpath(char *path, struct stat *st, char **err)
 {
-	if (stat(path, st) == 0)
+	if(stat(path, st) == 0)
 		return 0;
 
-	if (errno == EACCES)
+	if(errno == EACCES)
 		*err = Eperm;
-	else if (errno == ENOMEM)
+	else if(errno == ENOMEM)
 		*err = Enomem;
-	else if (errno == ENOTDIR)
+	else if(errno == ENOTDIR)
 		*err = Ewalknodir;
-	else if (errno == ENOENT)
+	else if(errno == ENOENT)
 		*err = Enotfound;
 	else
 		*err = strerror(errno);
@@ -235,11 +242,12 @@
 	qid->version = crc32(&st->st_ctim, sizeof(st->st_ctim));
 	qid->type = C9qtfile;
 	fmt = st->st_mode & S_IFMT;
-	if (fmt == S_IFDIR)
+	if(fmt == S_IFDIR)
 		qid->type |= C9qtdir;
-	if ((st->st_mode & 0222) != 0 && (fmt == S_IFCHR || fmt == S_IFCHR || fmt == S_IFSOCK || fmt == S_IFIFO))
+	if((st->st_mode & 0222) != 0 &&
+	   (fmt == S_IFCHR || fmt == S_IFCHR || fmt == S_IFSOCK || fmt == S_IFIFO))
 		qid->type |= C9qtappend;
-	if (iounit != NULL)
+	if(iounit != NULL)
 		*iounit = st->st_blksize;
 }
 
@@ -250,19 +258,19 @@
 	struct stat st;
 	int i;
 
-	for (i = 0; i < numfids; i++) {
-		if (fids[i] != NULL && fids[i]->fid == fid) {
+	for(i = 0; i < numfids; i++){
+		if(fids[i] != NULL && fids[i]->fid == fid){
 			*err = Edupfid;
 			return NULL;
 		}
 	}
 
-	if (statpath(path, &st, err) != 0)
+	if(statpath(path, &st, err) != 0)
 		return NULL;
 
-	if ((f = calloc(1, sizeof(*f))) == NULL || (f->path = strdup(path)) == NULL) {
+	if((f = calloc(1, sizeof(*f))) == NULL || (f->path = strdup(path)) == NULL){
 nomem:
-		if (f != NULL) {
+		if(f != NULL){
 			free(f->path);
 			free(f);
 		}
@@ -271,21 +279,21 @@
 	}
 	f->fd = -1;
 	f->name = strrchr(f->path, '/');
-	if (f->name == NULL)
+	if(f->name == NULL)
 		f->name = f->path;
 	else
 		f->name++;
-	if (f->name[0] == 0)
+	if(f->name[0] == 0)
 		fprintf(stderr, "%s -> empty file name\n", f->path);
 
-	for (i = 0; i < numfids; i++) {
-		if (fids[i] == NULL) {
+	for(i = 0; i < numfids; i++){
+		if(fids[i] == NULL){
 			fids[i] = f;
 			break;
 		}
 	}
-	if (i >= numfids) {
-		if ((newfids = realloc(fids, (numfids+1)*sizeof(*fids))) == NULL)
+	if(i >= numfids){
+		if((newfids = realloc(fids, (numfids+1)*sizeof(*fids))) == NULL)
 			goto nomem;
 		fids = newfids;
 		fids[numfids++] = f;
@@ -302,8 +310,8 @@
 {
 	int i;
 
-	for (i = 0; i < numfids; i++) {
-		if (fids[i] != NULL && fids[i]->fid == fid) {
+	for(i = 0; i < numfids; i++){
+		if(fids[i] != NULL && fids[i]->fid == fid){
 			return fids[i];
 		}
 	}
@@ -319,12 +327,12 @@
 	Fid *f;
 	int i;
 
-	for (i = 0; i < numfids; i++) {
+	for(i = 0; i < numfids; i++){
 		f = fids[i];
-		if (f != NULL && f->fid == fid) {
-			if (f->dir != NULL)
+		if(f != NULL && f->fid == fid){
+			if(f->dir != NULL)
 				closedir(f->dir);
-			else if (f->fd >= 0)
+			else if(f->fd >= 0)
 				close(f->fd);
 			free(f->path);
 			free(f);
@@ -346,14 +354,14 @@
 	m = mode & 0xf;
 	stm = st->st_mode & 0777;
 	*err = Eperm;
-	if (((stm & 0111) == 0 || (stm & 0444) == 0) && m == C9exec) /* executing needs rx */
+	if(((stm & 0111) == 0 || (stm & 0444) == 0) && m == C9exec) /* executing needs rx */
 		return 0;
-	if ((stm & 0222) == 0 && (m == C9write || m == C9rdwr)) /* writing needs w */
+	if((stm & 0222) == 0 && (m == C9write || m == C9rdwr)) /* writing needs w */
 		return 0;
-	if ((stm & 0444) == 0 && m != C9write) /* reading needs r */
+	if((stm & 0444) == 0 && m != C9write) /* reading needs r */
 		return 0;
 	fmt = st->st_mode & S_IFMT;
-	if (fmt == S_IFDIR && ((stm & 0111) == 0 || (stm & 0444) == 0)) /* dirs need rx */
+	if(fmt == S_IFDIR && ((stm & 0111) == 0 || (stm & 0444) == 0)) /* dirs need rx */
 		return 0;
 	*err = NULL;
 
@@ -368,17 +376,17 @@
 	struct stat st;
 	int i, plen, ellen;
 
-	if ((f = findfid(fid, err)) == NULL)
+	if((f = findfid(fid, err)) == NULL)
 		return NULL;
 
-	if (el[0] == NULL) { /* nwname = 0 */
+	if(el[0] == NULL){ /* nwname = 0 */
 		qids[0] = NULL;
-		if (fid == nfid)
+		if(fid == nfid)
 			return f;
 		return newfid(nfid, f->path, err);
 	}
 
-	if ((f->qid.type & C9qtdir) == 0) { /* has to be a dir */
+	if((f->qid.type & C9qtdir) == 0){ /* has to be a dir */
 		*err = Ewalknodir;
 		return NULL;
 	}
@@ -385,7 +393,7 @@
 
 	p = strdup(f->path);
 	f = NULL;
-	for (i = 0; el[i] != NULL; i++) {
+	for(i = 0; el[i] != NULL; i++){
 		plen = strlen(p);
 		ellen = strlen(el[i]);
 		path = malloc(plen + 1 + ellen + 1);
@@ -394,16 +402,16 @@
 		memmove(path+plen+1, el[i], ellen);
 		path[plen+1+ellen] = 0;
 
-		if (!rootescape) {
+		if(!rootescape){
 			real = realpath(path, NULL);
 			free(path);
-			if (real == NULL)
+			if(real == NULL)
 				break;
-			if (strlen(real) < rootlen) { /* don't escape root */
+			if(strlen(real) < rootlen){ /* don't escape root */
 				free(real);
 				real = strdup(rootpath);
 			}
-		} else {
+		}else{
 			real = path;
 		}
 
@@ -410,9 +418,9 @@
 		free(p);
 		p = real;
 
-		if (statpath(p, &st, err) != 0)
+		if(statpath(p, &st, err) != 0)
 			break;
-		if (el[i+1] != NULL && !hasperm(&st, C9read, err))
+		if(el[i+1] != NULL && !hasperm(&st, C9read, err))
 			break;
 
 		qids[i] = &walkqids[i];
@@ -420,11 +428,11 @@
 	}
 
 	qids[i] = NULL;
-	if (el[i] == NULL) { /* could walk all the way */
+	if(el[i] == NULL){ /* could walk all the way */
 		f = newfid(nfid, p, err);
-		if (f != NULL && f->name[0] == '/' && f->name[1] == 0) /* root */
+		if(f != NULL && f->name[0] == '/' && f->name[1] == 0) /* root */
 			f->name = "/";
-	} else if (i != 0) { /* didn't fail on the first one */
+	}else if(i != 0){ /* didn't fail on the first one */
 		*err = NULL;
 	}
 	free(p);
@@ -438,19 +446,19 @@
 	int omode;
 
 	omode = O_NOFOLLOW;
-	if ((mode & 3) == C9read)
+	if((mode & 3) == C9read)
 		omode |= O_RDONLY;
-	else if ((mode & 3) == C9write)
+	else if((mode & 3) == C9write)
 		omode |= O_WRONLY;
-	else if ((mode & 3) == C9rdwr)
+	else if((mode & 3) == C9rdwr)
 		omode |= O_RDWR;
-	if (mode & C9trunc)
+	if(mode & C9trunc)
 		omode |= O_TRUNC;
 #ifdef __linux__
-	if (mode & C9rclose)
+	if(mode & C9rclose)
 		omode |= O_TMPFILE;
 #endif
-	if ((qidtype & C9qtappend) != 0)
+	if((qidtype & C9qtappend) != 0)
 		omode |= O_APPEND;
 
 	return omode;
@@ -462,33 +470,33 @@
 	struct stat st;
 	int omode;
 
-	if (stat(f->path, &st) != 0 || !hasperm(&st, mode, err))
+	if(stat(f->path, &st) != 0 || !hasperm(&st, mode, err))
 		goto error;
 	stat2qid(&st, &f->qid, &f->iounit);
 
-	if ((f->qid.type & C9qtdir) != 0) {
-		if ((f->dir = opendir(f->path)) == NULL) {
+	if((f->qid.type & C9qtdir) != 0){
+		if((f->dir = opendir(f->path)) == NULL){
 			*err = strerror(errno);
 			return -1;
 		}
 		f->fd = dirfd(f->dir);
-	} else {
+	}else{
 		omode = mode2unix(mode, f->qid.type);
 		f->fd = open(f->path, omode);
 	}
 
-	if (f->fd < 0)
+	if(f->fd < 0)
 		goto error;
 	f->mode = mode;
 
 	return 0;
 error:
-	if (*err == NULL)
+	if(*err == NULL)
 		*err = strerror(errno);
 
-	if (f->dir != NULL)
+	if(f->dir != NULL)
 		closedir(f->dir);
-	else if (f->fd >= 0)
+	else if(f->fd >= 0)
 		close(f->fd);
 
 	f->dir = NULL;
@@ -503,15 +511,15 @@
 	Id *newuids;
 	int i;
 
-	for (i = 0; i < numuids; i++) {
-		if (uids[i].id == uid)
+	for(i = 0; i < numuids; i++){
+		if(uids[i].id == uid)
 			return uids[i].name;
 	}
-	if ((p = getpwuid(uid)) == NULL) {
+	if((p = getpwuid(uid)) == NULL){
 		*err = strerror(errno);
 		return NULL;
 	}
-	if ((newuids = realloc(uids, sizeof(*uids)*(numuids+1))) == NULL) {
+	if((newuids = realloc(uids, sizeof(*uids)*(numuids+1))) == NULL){
 		*err = Enomem;
 		return NULL;
 	}
@@ -529,15 +537,15 @@
 	Id *newgids;
 	int i;
 
-	for (i = 0; i < numgids; i++) {
-		if (gids[i].id == gid)
+	for(i = 0; i < numgids; i++){
+		if(gids[i].id == gid)
 			return gids[i].name;
 	}
-	if ((g = getgrgid(gid)) == NULL) {
+	if((g = getgrgid(gid)) == NULL){
 		*err = strerror(errno);
 		return NULL;
 	}
-	if ((newgids = realloc(gids, sizeof(*gids)*(numgids+1))) == NULL) {
+	if((newgids = realloc(gids, sizeof(*gids)*(numgids+1))) == NULL){
 		*err = Enomem;
 		return NULL;
 	}
@@ -561,14 +569,14 @@
 	stout->mtime = st->st_ctim.tv_sec;
 
 	fmt = st->st_mode & S_IFMT;
-	if (fmt == S_IFDIR)
+	if(fmt == S_IFDIR)
 		stout->mode |= C9stdir;
-	if (fmt == S_IFCHR || fmt == S_IFCHR || fmt == S_IFSOCK || fmt == S_IFIFO)
+	if(fmt == S_IFCHR || fmt == S_IFCHR || fmt == S_IFSOCK || fmt == S_IFIFO)
 		stout->mode |= C9stappend;
 	stout->mode |= st->st_mode & 0x1ff;
-	if ((stout->uid = uid2str(st->st_uid, err)) == NULL)
+	if((stout->uid = uid2str(st->st_uid, err)) == NULL)
 		return -1;
-	if ((stout->gid = gid2str(st->st_gid, err)) == NULL)
+	if((stout->gid = gid2str(st->st_gid, err)) == NULL)
 		return -1;
 
 	return 0;
@@ -580,11 +588,11 @@
 	struct stat st;
 	int r;
 
-	if (f->fd >= 0)
+	if(f->fd >= 0)
 		r = fstat(f->fd, &st);
 	else
 		r = stat(f->path, &st);
-	if (r != 0) {
+	if(r != 0){
 		*err = strerror(errno);
 		return -1;
 	}
@@ -600,14 +608,14 @@
 
 	used(c);
 	*err = 0;
-	for (n = 0; n < size; n += r) {
+	for(n = 0; n < size; n += r){
 		errno = 0;
-		if ((r = read(in, rdbuf+n, size-n)) <= 0) {
-			if (r == EINTR)
+		if((r = read(in, rdbuf+n, size-n)) <= 0){
+			if(r == EINTR)
 				continue;
-			if (r == 0) {
+			if(r == 0){
 				eof = 1;
-			} else {
+			}else{
 				*err = 1;
 				perror("ctxread");
 			}
@@ -624,8 +632,8 @@
 	uint8_t *b;
 
 	used(c);
-	if (wroff + size > wrbufsz) {
-		if (wrsend() != 0 || wroff + size > wrbufsz)
+	if(wroff + size > wrbufsz){
+		if(wrsend() != 0 || wroff + size > wrbufsz)
 			return NULL;
 	}
 	b = wrbuf + wroff;
@@ -642,7 +650,7 @@
 	return 0;
 }
 
-__attribute__ ((format (printf, 1, 2)))
+__attribute__((format(printf, 1, 2)))
 static void
 ctxerror(const char *fmt, ...)
 {
@@ -657,12 +665,12 @@
 static int
 s9do(C9error e, char **err)
 {
-	if (e == 0) {
+	if(e == 0){
 		*err = NULL;
 		return 0;
 	}
 
-	switch (e) {
+	switch(e){
 	case C9Einit: *err = "c9: initialization failed"; break;
 	case C9Ever: *err = "c9: protocol version doesn't match"; break;
 	case C9Epkt: *err = "c9: incoming packet error"; break;
@@ -689,15 +697,15 @@
 	long dirpos[16];
 	int i, num, res;
 
-	if (size > c->msize - 12) /* make sure it fits */
+	if(size > c->msize - 12) /* make sure it fits */
 		size = c->msize - 12;
 
-	if (f->dir == NULL) { /* a file */
-		if ((p = malloc(size)) == NULL) {
+	if(f->dir == NULL){ /* a file */
+		if((p = malloc(size)) == NULL){
 			*err = Enomem;
 			return -1;
 		}
-		if ((n = pread(f->fd, p, size, offset)) < 0) {
+		if((n = pread(f->fd, p, size, offset)) < 0){
 			*err = strerror(errno);
 			free(p);
 			return -1;
@@ -704,7 +712,7 @@
 		}
 		res = s9do(s9read(c, tag, p, n), err);
 		free(p);
-		if (res != 0)
+		if(res != 0)
 			return -1;
 		trace("<- Rread tag=%d count=%zd data=...\n", tag, n);
 		return 0;
@@ -711,11 +719,11 @@
 	}
 
 	/* dir */
-	if (offset != f->diroffset) {
-		if (offset == 0) {
+	if(offset != f->diroffset){
+		if(offset == 0){
 			rewinddir(f->dir);
 			f->diroffset = 0;
-		} else {
+		}else{
 			*err = Ebadoffset;
 			return -1;
 		}
@@ -723,28 +731,31 @@
 
 	res = 0;
 	num = 0;
-	for (i = 0; i < nelem(c9st); i++) {
-		dirpos[i] = telldir(f->dir); /* so we can rewind in case another stat doesn't fit */
+	for(i = 0; i < nelem(c9st); i++){
+		/* so we can rewind in case another stat doesn't fit */
+		dirpos[i] = telldir(f->dir);
 
 		errno = 0;
-		if ((e = readdir(f->dir)) == NULL && errno != 0) {
+		if((e = readdir(f->dir)) == NULL && errno != 0){
 			*err = strerror(errno);
 			res = -1;
 			goto done;
 		}
-		if (e == NULL) /* eof */
+		if(e == NULL) /* eof */
 			break;
-		if (e->d_name[0] == '.' && (e->d_name[1] == 0 || ((e->d_name[1] == '.' && e->d_name[2] == 0))))
+		if(e->d_name[0] == '.' &&
+		   (e->d_name[1] == 0 || ((e->d_name[1] == '.' && e->d_name[2] == 0))))
 			continue;
 
-		if (fstatat(f->fd, e->d_name, &st, 0) != 0) {
+		if(fstatat(f->fd, e->d_name, &st, 0) != 0){
 			*err = strerror(errno);
-			if (fstatat(f->fd, e->d_name, &st, AT_SYMLINK_NOFOLLOW) != 0) { /* broken symlink, try to stat the link itself */
+			if(fstatat(f->fd, e->d_name, &st, AT_SYMLINK_NOFOLLOW) != 0){
+				/* broken symlink, try to stat the link itself */
 				res = -1;
 				goto done;
 			}
 		}
-		if (stat2c9stat(e->d_name, &st, &c9st[i], err) != 0) {
+		if(stat2c9stat(e->d_name, &st, &c9st[i], err) != 0){
 			res = -1;
 			goto done;
 		}
@@ -753,16 +764,16 @@
 	}
 
 	i = num;
-	if (s9do(s9readdir(c, tag, c9stp, &num, &f->diroffset, size), err) != 0) {
+	if(s9do(s9readdir(c, tag, c9stp, &num, &f->diroffset, size), err) != 0){
 		res = -1;
 		goto done;
 	}
 	trace("<- Rread tag=%d count=%"PRIu64" data=...\n", tag, f->diroffset - offset);
-	if (i != num)
+	if(i != num)
 		seekdir(f->dir, dirpos[num]);
 
 done:
-	for (i = 0; i < num; i++)
+	for(i = 0; i < num; i++)
 		free(c9stp[i]->name);
 	return res;
 }
@@ -779,26 +790,28 @@
 	trace("-> %s tag=%d", t2s[t->type-Tversion], t->tag);
 
 	err = NULL;
-	if (hastag(t->tag)) {
+	if(hastag(t->tag)){
 		err = Eduptag;
-	} else {
-		switch (t->type){
+	}else{
+		switch(t->type){
 		case Tversion:
 			trace("\n");
-			if (s9do(s9version(c), &err) == 0)
+			if(s9do(s9version(c), &err) == 0)
 				trace("<- Rversion\n");
 			break;
 		case Tauth:
-			trace(" afid=%d uname=\"%s\" aname=\"%s\"\n", t->auth.afid, t->auth.uname, t->auth.aname);
+			trace(" afid=%d uname=\"%s\" aname=\"%s\"\n",
+			      t->auth.afid, t->auth.uname, t->auth.aname);
 			err = Enoauth;
 			break;
 		case Tattach:
-			trace(" afid=%d fid=%d uname=\"%s\" aname=\"%s\"\n", t->attach.afid, t->fid, t->attach.uname, t->attach.aname);
-			if (t->attach.afid != C9nofid) {
+			trace(" afid=%d fid=%d uname=\"%s\" aname=\"%s\"\n",
+			      t->attach.afid, t->fid, t->attach.uname, t->attach.aname);
+			if(t->attach.afid != C9nofid){
 				err = Eunknownfid;
-			} else if ((f = newfid(t->fid, rootpath, &err)) != NULL) {
+			}else if((f = newfid(t->fid, rootpath, &err)) != NULL){
 				f->name = "/";
-				if (s9do(s9attach(c, t->tag, &f->qid), &err) == 0)
+				if(s9do(s9attach(c, t->tag, &f->qid), &err) == 0)
 					trace("<- Rattach\n");
 			}
 			break;
@@ -805,33 +818,37 @@
 		case Tflush:
 			trace(" oldtag=%d\n", t->flush.oldtag);
 			/* FIXME flush it for realz */
-			if (s9do(s9flush(c, t->tag), &err) == 0)
+			if(s9do(s9flush(c, t->tag), &err) == 0)
 				trace("<- Rflush tag=%d\n", t->tag);
 			break;
 		case Twalk:
 			trace(" fid=%d newfid=%d", t->fid, t->walk.newfid);
-			for (i = 0; t->walk.wname[i] != NULL; i++)
+			for(i = 0; t->walk.wname[i] != NULL; i++)
 				trace(" \"%s\"", t->walk.wname[i]);
 			trace("\n");
 			walk(t->fid, t->walk.newfid, t->walk.wname, qids, &err);
-			if (err == NULL && s9do(s9walk(c, t->tag, qids), &err) == 0) {
+			if(err == NULL && s9do(s9walk(c, t->tag, qids), &err) == 0){
 				trace("<- Rwalk tag=%d ", t->tag);
-				for (i = 0; qids[i] != NULL; i++)
-					trace("qid=[path=%"PRIu64" type=0x%02x version=%"PRIu32"] ", qids[i]->path, qids[i]->type, qids[i]->version);
+				for(i = 0; qids[i] != NULL; i++)
+					trace("qid=[path=%"PRIu64" type=0x%02x version=%"PRIu32"] ",
+					      qids[i]->path, qids[i]->type, qids[i]->version);
 				trace("\n");
 			}
 			break;
 		case Topen:
 			trace(" fid=%d mode=0x%02x\n", t->fid, t->open.mode);
-			if ((f = findfid(t->fid, &err)) != NULL) {
-				if (f->fd >= 0)
+			if((f = findfid(t->fid, &err)) != NULL){
+				if(f->fd >= 0)
 					err = Ebotch;
-				else if (t->open.mode != C9read && t->open.mode != C9exec)
+				else if(t->open.mode != C9read && t->open.mode != C9exec)
 					err = Eperm;
-				else if (t->open.mode != C9read && (f->qid.type & C9qtdir) != 0)
+				else if(t->open.mode != C9read && (f->qid.type & C9qtdir) != 0)
 					err = Eisdir;
-				else if (openfid(f, t->open.mode, &err) == 0 && s9do(s9open(c, t->tag, &f->qid, f->iounit), &err) == 0)
-					trace("<- Ropen tag=%d qid=[path=%"PRIu64" type=0x%02x version=%"PRIu32"] iounit=%d\n", t->tag, f->qid.path, f->qid.type, f->qid.version, f->iounit);
+				else if(openfid(f, t->open.mode, &err) == 0 &&
+				        s9do(s9open(c, t->tag, &f->qid, f->iounit), &err) == 0){
+					trace("<- Ropen tag=%d qid=[path=%"PRIu64" type=0x%02x version=%"PRIu32"] iounit=%d\n",
+					      t->tag, f->qid.path, f->qid.type, f->qid.version, f->iounit);
+				}
 			}
 			break;
 		case Tcreate:
@@ -840,10 +857,10 @@
 			break;
 		case Tread:
 			trace(" fid=%d offset=%"PRIu64" count=%"PRIu32"\n", t->fid, t->read.offset, t->read.size);
-			if ((f = findfid(t->fid, &err)) != NULL) {
-				if ((f->dir == NULL && f->fd < 0) || (f->mode & 0xf) == C9write)
+			if((f = findfid(t->fid, &err)) != NULL){
+				if((f->dir == NULL && f->fd < 0) || (f->mode & 0xf) == C9write)
 					err = Ebotch;
-				else if (readf(c, t->tag, f, t->read.offset, t->read.size, &err) != 0)
+				else if(readf(c, t->tag, f, t->read.offset, t->read.size, &err) != 0)
 					trace("readf failed\n");
 			}
 			break;
@@ -853,7 +870,7 @@
 			break;
 		case Tclunk:
 			trace(" fid=%d\n", t->fid);
-			if (delfid(t->fid, &err) == 0 && s9do(s9clunk(c, t->tag), &err) == 0)
+			if(delfid(t->fid, &err) == 0 && s9do(s9clunk(c, t->tag), &err) == 0)
 				trace("<- Rclunk tag=%d\n", t->tag);
 			break;
 		case Tremove:
@@ -862,8 +879,11 @@
 			break;
 		case Tstat:
 			trace(" fid=%d\n", t->fid);
-			if ((f = findfid(t->fid, &err)) != NULL && statfid(f, &st, &err) == 0 && s9do(s9stat(c, t->tag, &st), &err) == 0)
+			if((f = findfid(t->fid, &err)) != NULL &&
+			   statfid(f, &st, &err) == 0 &&\
+			   s9do(s9stat(c, t->tag, &st), &err) == 0){
 				trace("<- Rstat tag=%d ...\n", t->tag);
+			}
 			break;
 		case Twstat:
 			trace("...\n");
@@ -872,8 +892,8 @@
 		}
 	}
 
-	if (err != NULL) {
-		if (s9do(s9error(c, t->tag, err), &err2) == 0)
+	if(err != NULL){
+		if(s9do(s9error(c, t->tag, err), &err2) == 0)
 			trace("<- Rerror tag=%d \"%s\"\n", t->tag, err);
 		else
 			fprintf(stderr, "s9error: %s\n", err2);
@@ -888,19 +908,27 @@
 
 	used(s);
 	n = 0;
-	for (i = 0; i < numfids; i++) {
+	for(i = 0; i < numfids; i++){
 		f = fids[i];
-		if (f == NULL)
+		if(f == NULL)
 			continue;
 
 		fprintf(stderr, "fid %u ", f->fid);
 
-		if (f->dir != NULL)
+		if(f->dir != NULL)
 			fprintf(stderr, "open mode=dir ");
-		else if (f->fd >= 0)
-			fprintf(stderr, "open mode=%s%s%s ", modes[(f->mode & 0xf)], (f->mode & C9trunc) ? ",trunc" : "", (f->mode & C9rclose) ? ",rclose" : "");
+		else if(f->fd >= 0){
+			fprintf(stderr, "open mode=%s%s%s ",
+			        modes[(f->mode & 0xf)],
+			        (f->mode & C9trunc) ? ",trunc" : "",
+			        (f->mode & C9rclose) ? ",rclose" : "");
+		}
 
-		fprintf(stderr, "qid=[path=%"PRIu64" type=0x%02x version=%"PRIu32"] iounit=%d ", f->qid.path, f->qid.type, f->qid.version, f->iounit);
+		fprintf(stderr, "qid=[path=%"PRIu64" type=0x%02x version=%"PRIu32"] iounit=%d ",
+		        f->qid.path,
+		        f->qid.type,
+		        f->qid.version,
+		        f->iounit);
 		fprintf(stderr, " %s %s\n", f->path, f->name);
 		n++;
 	}
@@ -925,10 +953,10 @@
 
 	debug = 0;
 	dir = NULL;
-	while ((c = parg_getopt(&ps, argc, argv, "deh")) >= 0) {
-		switch (c) {
+	while((c = parg_getopt(&ps, argc, argv, "deh")) >= 0){
+		switch(c){
 		case 1:
-			if (dir != NULL) {
+			if(dir != NULL){
 				fprintf(stderr, "only one dir can be specified\n");
 				return 1;
 			}
@@ -955,12 +983,12 @@
 		}
 	}
 
-	if (dir == NULL) {
+	if(dir == NULL){
 		fprintf(stderr, "no dir specified\n");
 		return 1;
 	}
 
-	if ((rootpath = realpath(dir, NULL)) == NULL) {
+	if((rootpath = realpath(dir, NULL)) == NULL){
 		trace("%s: %s\n", dir, strerror(errno));
 		return 1;
 	}
@@ -1004,22 +1032,22 @@
 
 	err = NULL;
 	rdonly = block = 1; /* at first we wait until the client sends in data */
-	for (; !eof;) {
-		if ((can = canrw(rdonly, block)) < 0)
+	for(; !eof;){
+		if((can = canrw(rdonly, block)) < 0)
 			break;
-		if ((can & Canrd) != 0) { /* if there is data, process it */
-			if (s9do(s9proc(&ctx), &err) != 0)
+		if((can & Canrd) != 0){ /* if there is data, process it */
+			if(s9do(s9proc(&ctx), &err) != 0)
 				break;
 			/* give it a chance to receive all the data first */
 			rdonly = 1;
 			block = 0;
-		} else if (block == 0) { /* got all the data */
-			if (rdonly != 0) { /* wait until we can send OR we get more data */
+		}else if(block == 0){ /* got all the data */
+			if(rdonly != 0){ /* wait until we can send OR we get more data */
 				rdonly = 0;
 				block = 1;
 			}
-		} else if (rdonly == 0 && (can & Canwr) != 0) { /* can send */
-			if (wrsend() != 0) /* send all the data */
+		}else if(rdonly == 0 && (can & Canwr) != 0){ /* can send */
+			if(wrsend() != 0) /* send all the data */
 				break;
 			rdonly = 1; /* and go back to reading */
 			block = 1;
@@ -1026,14 +1054,14 @@
 		}
 	}
 
-	if (err != NULL)
+	if(err != NULL)
 		trace("s9proc: %s\n", err);
 
-	for (i = 0; i < numfids; i++) {
-		if ((f = fids[i]) != NULL) {
-			if (f->dir != NULL)
+	for(i = 0; i < numfids; i++){
+		if((f = fids[i]) != NULL){
+			if(f->dir != NULL)
 				closedir(f->dir);
-			else if (f->fd >= 0)
+			else if(f->fd >= 0)
 				close(f->fd);
 			free(f->path);
 			free(f);
@@ -1040,10 +1068,10 @@
 		}
 	}
 
-	for (i = 0; i < numuids; i++)
+	for(i = 0; i < numuids; i++)
 		free(uids[i].name);
 	free(uids);
-	for (i = 0; i < numgids; i++)
+	for(i = 0; i < numgids; i++)
 		free(gids[i].name);
 	free(gids);
 
--- a/build.sh
+++ b/build.sh
@@ -1,5 +1,5 @@
 #!/bin/sh
 set -e
 set -x
-${CC:-gcc} -std=c99 -DC9_NO_SERVER -O0 -g -Wall -Wextra -Wshadow $CFLAGS c9/*.c parg/*.c -Ic9 -Iparg 9gc.c -o 9gc || rm -f 9gc
-${CC:-gcc} -std=c99 -DC9_NO_CLIENT -O0 -g -Wall -Wextra -Wshadow $CFLAGS c9/*.c parg/*.c -Ic9 -Iparg 9pex.c crc32.c -o 9pex || rm -f 9pex
+${CC:-gcc} -std=c99 -DC9_NO_SERVER -O2 -g -Wall -Wextra -Wshadow $CFLAGS c9/*.c parg/*.c -Ic9 -Iparg 9gc.c -o 9gc || rm -f 9gc
+${CC:-gcc} -std=c99 -DC9_NO_CLIENT -O2 -g -Wall -Wextra -Wshadow $CFLAGS c9/*.c parg/*.c -Ic9 -Iparg 9pex.c crc32.c -o 9pex || rm -f 9pex
--- a/c9/c9.h
+++ b/c9/c9.h
@@ -151,12 +151,12 @@
  */
 struct C9stat
 {
+	C9qid qid;   /* Same as qid[0]. */
 	uint64_t size; /* Size of the file (in bytes). */
 	char *name;  /* Name of the file. */
 	char *uid;   /* Owner of the file. */
 	char *gid;   /* Group of the file. */
 	char *muid;  /* The user who modified the file last. */
-	C9qid qid;   /* Same as qid[0]. */
 	uint32_t mode;   /* Permissions. See C9st* and C9perm. */
 	uint32_t atime;  /* Last access time. */
 	uint32_t mtime;  /* Last modification time. */
--- a/crc32.c
+++ b/crc32.c
@@ -1,7 +1,8 @@
 #define _DEFAULT_SOURCE
 #include <stdint.h>
 
-static uint32_t table[256] = {
+static uint32_t table[256] =
+{
 	0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f, 0xe963a535, 0x9e6495a3,
 	0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988, 0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91,
 	0x1db71064, 0x6ab020f2, 0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
@@ -45,7 +46,7 @@
 
 	d = data;
 	c = 0xffffffff;
-	for (i = 0; i < len; i++)
+	for(i = 0; i < len; i++)
 		c = table[(c & 0xff) ^ d[i]] ^ (c >> 8);
 
 	return ~c;