]>
git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blob - db/fprint.c
2 * Copyright (c) 2000-2002 Silicon Graphics, Inc. All Rights Reserved.
4 * This program is free software; you can redistribute it and/or modify it
5 * under the terms of version 2 of the GNU General Public License as
6 * published by the Free Software Foundation.
8 * This program is distributed in the hope that it would be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
12 * Further, this software is distributed without any warranty that it is
13 * free of the rightful claim of any third person regarding infringement
14 * or the like. Any license provided herein, whether implied or
15 * otherwise, applies only to this software file. Patent licenses, if
16 * any, provided herein do not apply to combinations of this program with
17 * other software, or any other product whatsoever.
19 * You should have received a copy of the GNU General Public License along
20 * with this program; if not, write the Free Software Foundation, Inc., 59
21 * Temple Place - Suite 330, Boston MA 02111-1307, USA.
23 * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
24 * Mountain View, CA 94043, or:
28 * For further information regarding this notice, see:
30 * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
62 ASSERT(bitoffs(bit
) == 0);
63 ASSERT(size
== bitsz(char));
65 for (i
= 0, p
= (char *)obj
+ byteize(bit
);
66 i
< count
&& !seenint();
68 if (*p
== '\\' || *p
== '\'' || *p
== '"' || *p
== '\?')
70 else if (isgraph((int)*p
) || *p
== ' ')
72 else if (*p
== '\a' || *p
== '\b' || *p
== '\f' || *p
== '\n' ||
73 *p
== '\r' || *p
== '\t' || *p
== '\v')
74 dbprintf("\\%c", *p
+ ('a' - '\a'));
76 dbprintf("\\%03o", *p
& 0xff);
98 for (i
= 0, bitpos
= bit
;
99 i
< count
&& !seenint();
100 i
++, bitpos
+= size
) {
101 val
= getbitval(obj
, bitpos
, size
,
102 (arg
& FTARG_SIGNED
) ? BVSIGNED
: BVUNSIGNED
);
103 if ((arg
& FTARG_SKIPZERO
) && val
== 0)
105 isnull
= (arg
& FTARG_SIGNED
) || size
== 64 ?
106 val
== -1LL : val
== ((1LL << size
) - 1LL);
107 if ((arg
& FTARG_SKIPNULL
) && isnull
)
110 dbprintf("%d:", i
+ base
);
111 if ((arg
& FTARG_DONULL
) && isnull
)
114 dbprintf(fmtstr
, val
);
116 dbprintf(fmtstr
, (__int32_t
)val
);
135 print_sarray(obj
, bit
, count
, size
, base
, array
,
136 (const field_t
*)fmtstr
, (arg
& FTARG_SKIPNMS
) != 0);
157 ASSERT(bitoffs(bit
) == 0);
158 for (i
= 0, bitpos
= bit
;
159 i
< count
&& !seenint();
160 i
++, bitpos
+= size
) {
162 dbprintf("%d:", i
+ base
);
163 t
=(time_t)getbitval((char *)obj
+ byteize(bitpos
), 0, sizeof(int32_t)*8, 0);
165 dbprintf("%24.24s", c
);
184 char bp
[40]; /* UUID string is 36 chars + trailing '\0' */
188 ASSERT(bitoffs(bit
) == 0);
189 for (p
= (uuid_t
*)((char *)obj
+ byteize(bit
)), i
= 0;
190 i
< count
&& !seenint();
193 dbprintf("%d:", i
+ base
);
194 uuid_unparse(*p
, bp
);