File: bitset.c

package info (click to toggle)
389-ds-base 2.3.1%2Bdfsg1-1%2Bdeb12u1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 37,536 kB
  • sloc: ansic: 306,972; python: 96,937; cpp: 10,257; perl: 2,854; makefile: 2,046; sh: 925; yacc: 806; xml: 379; lex: 366; javascript: 148; java: 50
file content (55 lines) | stat: -rw-r--r-- 1,182 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/** BEGIN COPYRIGHT BLOCK
 * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission.
 * Copyright (C) 2005 Red Hat, Inc.
 * All rights reserved.
 *
 * License: GPL (version 3 or any later version).
 * See LICENSE for details.
 * END COPYRIGHT BLOCK **/

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif


unsigned char
slapi_setbit_uchar(unsigned char f, unsigned char bitnum)
{
    return (f | ((unsigned char)1 << bitnum));
}

unsigned char
slapi_unsetbit_uchar(unsigned char f, unsigned char bitnum)
{
    /* TEMPORARY WORKAROUND FOR x86 compiler problem on solaris
 *   return (f & (~((unsigned char)1 << bitnum)));
 */
    unsigned char t;
    t = f & (~((unsigned char)1 << bitnum));
    return (t);
}

int
slapi_isbitset_uchar(unsigned char f, unsigned char bitnum)
{
    return (f & ((unsigned char)1 << bitnum));
}


unsigned int
slapi_setbit_int(unsigned int f, unsigned int bitnum)
{
    return (f | ((unsigned int)1 << bitnum));
}

unsigned int
slapi_unsetbit_int(unsigned int f, unsigned int bitnum)
{
    return (f & (~((unsigned int)1 << bitnum)));
}

int
slapi_isbitset_int(unsigned int f, unsigned int bitnum)
{
    return (f & ((unsigned int)1 << bitnum));
}