wmii

git clone git://oldgit.suckless.org/wmii/
Log | Files | Refs | README | LICENSE

commit a0c911a329b9451ab351f022988bb07a71dab069
parent 8f99b2f59934ddfdbd3c619d4f1fcabaa1a77c35
Author: Anselm R. Garbe <arg@10kloc.org>
Date:   Mon, 16 Oct 2006 15:16:36 +0200

C compliance fixes

Diffstat:
fs.c | 129+++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------------
1 file changed, 86 insertions(+), 43 deletions(-)

diff --git a/fs.c b/fs.c @@ -558,7 +558,8 @@ fs_walk(P9Req *r) { f=f->next; free_file(nf); } - return respond(r, Enofile); + respond(r, Enofile); + return; } /* Remove refs for r->fid if no new fid */ /* If Fids were ref counted, this could be @@ -639,46 +640,58 @@ fs_read(P9Req *r) { free_file(f); } r->ofcall.count = r->ifcall.count - size; - return respond(r, NULL); + respond(r, NULL); + return; } else{ switch(f->tab.type) { case FsFprops: write_buf(r, (void *)f->client->props, strlen(f->client->props)); - return respond(r, NULL); + respond(r, NULL); + return; case FsFColRules: case FsFTagRules: write_buf(r, (void *)f->rule->string, f->rule->size); - return respond(r, NULL); + respond(r, NULL); + return; case FsFKeys: write_buf(r, (void *)def.keys, def.keyssz); - return respond(r, NULL); + respond(r, NULL); + return; case FsFCtags: write_buf(r, (void *)f->client->tags, strlen(f->client->tags)); - return respond(r, NULL); + respond(r, NULL); + return; case FsFTctl: write_buf(r, (void *)f->view->name, strlen(f->view->name)); - return respond(r, NULL); + respond(r, NULL); + return; case FsFBar: write_buf(r, (void *)f->bar->buf, strlen(f->bar->buf)); - return respond(r, NULL); + respond(r, NULL); + return; case FsFRctl: buf = read_root_ctl(); write_buf(r, buf, strlen(buf)); - return respond(r, NULL); + respond(r, NULL); + return; case FsFCctl: - if(r->ifcall.offset) - return respond(r, NULL); + if(r->ifcall.offset) { + respond(r, NULL); + return; + } r->ofcall.data = ixp_emallocz(16); n = snprintf(r->ofcall.data, 16, "%d", f->index); assert(n >= 0); r->ofcall.count = n; - return respond(r, NULL); + respond(r, NULL); + return; case FsFTindex: buf = (char *)view_index(f->view); n = strlen(buf); write_buf(r, (void *)buf, n); - return respond(r, NULL); + respond(r, NULL); + return; case FsFEvent: respond_event(r); return; @@ -696,41 +709,53 @@ fs_write(P9Req *r) { char *errstr = NULL; unsigned int i; - if(r->ifcall.count == 0) - return respond(r, NULL); + if(r->ifcall.count == 0) { + respond(r, NULL); + return; + } f = r->fid->aux; switch(f->tab.type) { case FsFColRules: case FsFTagRules: write_to_buf(r, &f->rule->string, &f->rule->size, 0); - return respond(r, NULL); + respond(r, NULL); + return; case FsFKeys: write_to_buf(r, &def.keys, &def.keyssz, 0); - return respond(r, NULL); + respond(r, NULL); + return; case FsFCtags: data_to_cstring(r); i=strlen(f->client->tags); write_to_buf(r, &f->client->tags, &i, 255); r->ofcall.count = i- r->ifcall.offset; - return respond(r, NULL); + respond(r, NULL); + return; case FsFBar: /* XXX: This should validate after each write */ i = strlen(f->bar->buf); write_to_buf(r, &f->bar->buf, &i, 279); r->ofcall.count = i - r->ifcall.offset; - return respond(r, NULL); + respond(r, NULL); + return; case FsFCctl: data_to_cstring(r); - if((errstr = message_client(f->client, r->ifcall.data))) - return respond(r, errstr); + if((errstr = message_client(f->client, r->ifcall.data))) { + respond(r, errstr); + return; + } r->ofcall.count = r->ifcall.count; - return respond(r, NULL); + respond(r, NULL); + return; case FsFTctl: data_to_cstring(r); - if((errstr = message_view(f->view, r->ifcall.data))) - return respond(r, errstr); + if((errstr = message_view(f->view, r->ifcall.data))) { + respond(r, errstr); + return; + } r->ofcall.count = r->ifcall.count; - return respond(r, NULL); + respond(r, NULL); + return; case FsFRctl: data_to_cstring(r); { unsigned int n; @@ -743,17 +768,21 @@ fs_write(P9Req *r) { errstr = message_root(toks[i]); } } - if(errstr) - return respond(r, errstr); + if(errstr) { + respond(r, errstr); + return; + } r->ofcall.count = r->ifcall.count; - return respond(r, NULL); + respond(r, NULL); + return; case FsFEvent: if(r->ifcall.data[r->ifcall.count-1] == '\n') write_event("%.*s", r->ifcall.count, r->ifcall.data); else write_event("%.*s\n", r->ifcall.count, r->ifcall.data); r->ofcall.count = r->ifcall.count; - return respond(r, NULL); + respond(r, NULL); + return; } /* This is an assert because it should this should not be called if * the file is not open for writing. */ @@ -773,14 +802,22 @@ fs_open(P9Req *r) { pending_event_fids = fl; break; } - if((r->ifcall.mode&3) == P9OEXEC) - return respond(r, Enoperm); - if((r->ifcall.mode&3) != P9OREAD && !(f->tab.perm & 0200)) - return respond(r, Enoperm); - if((r->ifcall.mode&3) != P9OWRITE && !(f->tab.perm & 0400)) - return respond(r, Enoperm); - if((r->ifcall.mode&~(3|P9OAPPEND|P9OTRUNC))) - return respond(r, Enoperm); + if((r->ifcall.mode&3) == P9OEXEC) { + respond(r, Enoperm); + return; + } + if((r->ifcall.mode&3) != P9OREAD && !(f->tab.perm & 0200)) { + respond(r, Enoperm); + return; + } + if((r->ifcall.mode&3) != P9OWRITE && !(f->tab.perm & 0400)) { + respond(r, Enoperm); + return; + } + if((r->ifcall.mode&~(3|P9OAPPEND|P9OTRUNC))) { + respond(r, Enoperm); + return; + } respond(r, NULL); } @@ -791,14 +828,19 @@ fs_create(P9Req *r) { switch(f->tab.type) { default: /* XXX: This should be taken care of by the library */ - return respond(r, Enoperm); + respond(r, Enoperm); + return; case FsDBars: - if(!strlen(r->ifcall.name)) - return respond(r, Ebadvalue); + if(!strlen(r->ifcall.name)) { + respond(r, Ebadvalue); + return; + } create_bar(f->bar_p, r->ifcall.name); f = lookup_file(f, r->ifcall.name); - if(!f) - return respond(r, Enofile); + if(!f) { + respond(r, Enofile); + return; + } r->ofcall.qid.type = f->tab.qtype; r->ofcall.qid.path = QID(f->tab.type, f->id); f->next = r->fid->aux; @@ -815,7 +857,8 @@ fs_remove(P9Req *r) { switch(f->tab.type) { default: /* XXX: This should be taken care of by the library */ - return respond(r, Enoperm); + respond(r, Enoperm); + return; case FsFBar: destroy_bar(f->next->bar_p, f->bar); draw_bar(screen);