Last change
on this file since 3505 was 3320, checked in by Bruno Cornec, 10 years ago |
- Re-add (thanks git BTW) the 2.2.9 branch which had been destroyed in
the move to 3.0
|
-
Property svn:eol-style
set to
native
|
File size:
799 bytes
|
Rev | Line | |
---|
[3320] | 1 | /* vi: set sw=4 ts=4: */
|
---|
| 2 | /* Print string that matches bit masked flags
|
---|
| 3 | *
|
---|
| 4 | * Copyright (C) 2008 Natanael Copa <natanael.copa@gmail.com>
|
---|
| 5 | *
|
---|
| 6 | * Licensed under GPLv2 or later, see file LICENSE in this source tree.
|
---|
| 7 | */
|
---|
| 8 | #include "libbb.h"
|
---|
| 9 |
|
---|
| 10 | /* returns a set with the flags not printed */
|
---|
| 11 | int FAST_FUNC print_flags_separated(const int *masks, const char *labels, int flags, const char *separator)
|
---|
| 12 | {
|
---|
| 13 | const char *need_separator = NULL;
|
---|
| 14 | while (*labels) {
|
---|
| 15 | if (flags & *masks) {
|
---|
| 16 | printf("%s%s",
|
---|
| 17 | need_separator ? need_separator : "",
|
---|
| 18 | labels);
|
---|
| 19 | need_separator = separator;
|
---|
| 20 | flags &= ~ *masks;
|
---|
| 21 | }
|
---|
| 22 | masks++;
|
---|
| 23 | labels += strlen(labels) + 1;
|
---|
| 24 | }
|
---|
| 25 | return flags;
|
---|
| 26 | }
|
---|
| 27 |
|
---|
| 28 | int FAST_FUNC print_flags(const masks_labels_t *ml, int flags)
|
---|
| 29 | {
|
---|
| 30 | return print_flags_separated(ml->masks, ml->labels, flags, NULL);
|
---|
| 31 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.