]> jfr.im git - irc/quakenet/newserv.git/blobdiff - lib/flags.c
merge
[irc/quakenet/newserv.git] / lib / flags.c
index 18d314b36af525908e2c867da636c10f504f11a4..e5103c5c6b6a9f09cec0933ff54f6accf7a4e1f7 100644 (file)
@@ -87,6 +87,29 @@ char *printflags(flag_t inflags, const flag *flaglist) {
   return buf;
 }
 
+/*
+ * printflagsornone:
+ *  Prints out which flags are currently set in a flag block, or return "none"
+ */
+char *printflagsornone(flag_t inflags, const flag *flaglist) {
+  static char buf[18];
+  int i;
+  char *ch=buf;
+  
+  *ch++='+';
+  
+  for (i=0;flaglist[i].flagchar!='\0' && i<16;i++) {
+    if (inflags&flaglist[i].flagbit) {
+      *ch++=flaglist[i].flagchar;
+    }
+  }
+  
+  *ch='\0';
+  if (ch==(buf+1)) /* No flags set */
+    return "none";
+    
+  return buf;
+}
 /* ugh */
 
 char *printflags_noprefix(flag_t inflags, const flag *flaglist) {