blob: 465808a116e448a6343d8bf736b18858db69e980 (
plain)
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
|
// Copyright 2014 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
#ifndef _FWL_ERROR_H
#define _FWL_ERROR_H
typedef int32_t FWL_ERR;
#define FWL_ERR_Succeeded 0
#define FWL_ERR_Indefinite -1
#define FWL_ERR_Parameter_Invalid -100
#define FWL_ERR_Property_Invalid -200
#define FWL_ERR_Intermediate_Value__Invalid -300
#define FWL_ERR_Method_Not_Supported -400
#define FWL_ERR_Out_Of_Memory -500
#if defined (__WIN32__) || defined (_WIN32)
#define _FWL_ALARM_IF_FAIL(arg, alarm) { if (!(arg)) ::OutputDebugString(alarm); }
#elif defined (__linux) || defined (linux) || defined (__APPLE__) || defined (__MACOSX__)
#define _FWL_ALARM_IF_FAIL(arg, alarm) { if (!(arg)) printf(alarm); }
#else
#endif
#define _FWL_RETURN_IF_FAIL(arg) { if (!(arg)) return; }
#define _FWL_RETURN_VALUE_IF_FAIL(arg, val) { if (!(arg)) return val; }
#define _FWL_GOTO_POSITION_IF_FAIL(arg, pos) { if (!(arg)) goto pos; }
#if defined (__WIN32__) || defined (_WIN32)
#define \
_FWL_ERR_CHECK_ALARM_IF_FAIL(arg) \
{ \
if ((arg) != FWL_ERR_Succeeded) \
{ \
char buf[36]; \
memset(buf, 0, sizeof(buf)); \
FXSYS_snprintf(buf, sizeof(buf) - 1, "Error code is %d\n", arg); \
::OutputDebugString(buf); \
} \
}
#elif defined (__linux) || defined (linux) || defined (__APPLE__) || defined (__MACOSX__)
#define \
_FWL_ERR_CHECK_ALARM_IF_FAIL(arg) \
{ \
if ((arg) != FWL_ERR_Succeeded) \
printf("%d\n", arg); \
}
#else
#endif
#define _FWL_ERR_CHECK_RETURN_IF_FAIL(arg) { if ((arg) != FWL_ERR_Succeeded) return; }
#define _FWL_ERR_CHECK_RETURN_VALUE_IF_FAIL(arg, val) { if ((arg) != FWL_ERR_Succeeded) return val; }
#define _FWL_ERR_CHECK_GOTO_POSITION_IF_FAIL(arg, pos) { if ((arg) != FWL_ERR_Succeeded) goto pos; }
#endif
|