tin  2.6.1
About: TIN is a threaded NNTP and spool based UseNet newsreader.
  Fossies Dox: tin-2.6.1.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

bool.h
Go to the documentation of this file.
1/*
2 * Project : tin - a Usenet reader
3 * Module : bool.h
4 * Author : Urs Janssen <urs@tin.org>
5 * Created :
6 * Updated : 2013-01-09
7 * Notes :
8 *
9 * Copyright (c) 1997-2022 Urs Janssen <urs@tin.org>
10 * All rights reserved.
11 *
12 * Redistribution and use in source and binary forms, with or without
13 * modification, are permitted provided that the following conditions
14 * are met:
15 *
16 * 1. Redistributions of source code must retain the above copyright notice,
17 * this list of conditions and the following disclaimer.
18 *
19 * 2. Redistributions in binary form must reproduce the above copyright
20 * notice, this list of conditions and the following disclaimer in the
21 * documentation and/or other materials provided with the distribution.
22 *
23 * 3. Neither the name of the copyright holder nor the names of its
24 * contributors may be used to endorse or promote products derived from
25 * this software without specific prior written permission.
26 *
27 * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
28 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
31 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
32 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
33 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
34 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
35 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
36 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
37 * POSSIBILITY OF SUCH DAMAGE.
38 */
39
40
41#ifndef BOOL_H
42# define BOOL_H 1
43
44# if 0
45/*
46 * This is the correct way, but causes problems on some systems
47 * e.g. SuSE-7.3 (IA-32)
48 */
49# ifndef __cplusplus
50# ifdef HAVE_STDBOOL_H
51# include <stdbool.h>
52# ifdef _Bool
53 typefdef _Bool t_bool;
54# endif /* _Bool */
55# endif /* HAVE_STDBOOL_H */
56# endif /* __cplusplus */
57# ifndef FALSE
58# define FALSE 0
59# endif /* !FALSE */
60# ifndef TRUE
61# define TRUE (!FALSE)
62# endif /* !TRUE */
63# ifndef t_bool
64 typedef unsigned t_bool; /* don't make this a char or short! */
65# endif /* t_bool */
66
67# else
68
69# ifndef FALSE
70# define FALSE 0
71# endif /* !FALSE */
72
73# ifndef TRUE
74# define TRUE (!FALSE)
75# endif /* !TRUE */
76
77 typedef unsigned t_bool; /* don't make this a char or short! */
78
79# endif /* 0 */
80
81# define bool_not(b) ((b) ? FALSE : TRUE)
82# define bool_equal(a,b) ((a) ? (b) : (bool_not(b)))
83# define bool_unparse(b) ((b) ? "TRUE" : "FALSE")
84
85#endif /* !BOOL_H */
unsigned t_bool
Definition: bool.h:77