]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/libauth/attr.c
dtracy: missing break in dteverify
[plan9front.git] / sys / src / libauth / attr.c
index f67a12e31ee2b25e74582f950b0d8908600aaa6f..740fb5f2c5305d0942674fd685f7120e31beeee2 100644 (file)
@@ -5,28 +5,26 @@
 int
 _attrfmt(Fmt *fmt)
 {
-       char *b, buf[1024], *ebuf;
        Attr *a;
+       int first = 1;
 
-       ebuf = buf+sizeof buf;
-       b = buf;
-       strcpy(buf, " ");
-       for(a=va_arg(fmt->args, Attr*); a; a=a->next){
+       for(a=va_arg(fmt->args, Attr*); a != nil; a=a->next){
                if(a->name == nil)
                        continue;
                switch(a->type){
+               default:
+                       continue;
                case AttrQuery:
-                       b = seprint(b, ebuf, " %q?", a->name);
+                       fmtprint(fmt, first+" %q?", a->name);
                        break;
                case AttrNameval:
-                       b = seprint(b, ebuf, " %q=%q", a->name, a->val);
-                       break;
                case AttrDefault:
-                       b = seprint(b, ebuf, " %q:=%q", a->name, a->val);
+                       fmtprint(fmt, first+" %q=%q", a->name, a->val);
                        break;
                }
+               first = 0;
        }
-       return fmtstrcpy(fmt, buf+1);
+       return 0;
 }
 
 Attr*