mirror of
https://github.com/samba-team/samba.git
synced 2025-01-12 09:18:10 +03:00
r14473: Modern splint has no problems with immediate structures.
This commit is contained in:
parent
7713a5333e
commit
6046dd8220
@ -22,37 +22,19 @@
|
||||
#ifndef _NT_STATUS_H
|
||||
#define _NT_STATUS_H
|
||||
|
||||
/* The Splint code analysis tool doesn't like immediate structures. */
|
||||
|
||||
#ifdef _SPLINT_ /* http://www.splint.org */
|
||||
#undef HAVE_IMMEDIATE_STRUCTURES
|
||||
#endif
|
||||
|
||||
/* the following rather strange looking definitions of NTSTATUS and WERROR
|
||||
and there in order to catch common coding errors where different error types
|
||||
are mixed up. This is especially important as we slowly convert Samba
|
||||
from using BOOL for internal functions
|
||||
*/
|
||||
|
||||
#if defined(HAVE_IMMEDIATE_STRUCTURES)
|
||||
typedef struct {uint32_t v;} NTSTATUS;
|
||||
#define NT_STATUS(x) ((NTSTATUS) { x })
|
||||
#define NT_STATUS_V(x) ((x).v)
|
||||
#else
|
||||
typedef uint32_t NTSTATUS;
|
||||
#define NT_STATUS(x) (x)
|
||||
#define NT_STATUS_V(x) (x)
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_IMMEDIATE_STRUCTURES)
|
||||
typedef struct {uint32_t v;} WERROR;
|
||||
#define W_ERROR(x) ((WERROR) { x })
|
||||
#define W_ERROR_V(x) ((x).v)
|
||||
#else
|
||||
typedef uint32_t WERROR;
|
||||
#define W_ERROR(x) (x)
|
||||
#define W_ERROR_V(x) (x)
|
||||
#endif
|
||||
|
||||
#define NT_STATUS_IS_OK(x) (NT_STATUS_V(x) == 0)
|
||||
#define NT_STATUS_IS_ERR(x) ((NT_STATUS_V(x) & 0xc0000000) == 0xc0000000)
|
||||
|
Loading…
Reference in New Issue
Block a user