|
|
1.1 root 1: /* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2: *
3: * The contents of this file are subject to the Netscape Public
4: * License Version 1.1 (the "License"); you may not use this file
5: * except in compliance with the License. You may obtain a copy of
6: * the License at http://www.mozilla.org/NPL/
7: *
8: * Software distributed under the License is distributed on an "AS
9: * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
10: * implied. See the License for the specific language governing
11: * rights and limitations under the License.
12: *
13: * The Original Code is Mozilla Communicator client code, released
14: * March 31, 1998.
15: *
16: * The Initial Developer of the Original Code is Netscape Communications
17: * Corporation. Portions created by Netscape are
18: * Copyright (C) 1998 Netscape Communications Corporation. All
19: * Rights Reserved.
20: *
21: * Contributor(s):
22: *
23: * Alternatively, the contents of this file may be used under the
24: * terms of the GNU Public License (the "GPL"), in which case the
25: * provisions of the GPL are applicable instead of those above.
26: * If you wish to allow use of your version of this file only
27: * under the terms of the GPL and not to allow others to use your
28: * version of this file under the NPL, indicate your decision by
29: * deleting the provisions above and replace them with the notice
30: * and other provisions required by the GPL. If you do not delete
31: * the provisions above, a recipient may use your version of this
32: * file under either the NPL or the GPL.
33: */
34:
35: /*
36: * stddef inclusion here to first declare ptrdif as a signed long instead of a
37: * signed int.
38: */
39:
40: #ifdef _WINDOWS
41: # ifndef XP_WIN
42: # define XP_WIN
43: # endif
44: #if defined(_WIN32) || defined(WIN32)
45: # ifndef XP_WIN32
46: # define XP_WIN32
47: # endif
48: #else
49: # ifndef XP_WIN16
50: # define XP_WIN16
51: # endif
52: #endif
53: #endif
54:
55: #ifdef XP_WIN16
56: #ifndef _PTRDIFF_T_DEFINED
57: typedef long ptrdiff_t;
58:
59: /*
60: * The Win16 compiler treats pointer differences as 16-bit signed values.
61: * This macro allows us to treat them as 17-bit signed values, stored in
62: * a 32-bit type.
63: */
64: #define PTRDIFF(p1, p2, type) \
65: ((((unsigned long)(p1)) - ((unsigned long)(p2))) / sizeof(type))
66:
67: #define _PTRDIFF_T_DEFINED
68: #endif /*_PTRDIFF_T_DEFINED*/
69: #else /*WIN16*/
70:
71: #define PTRDIFF(p1, p2, type) \
72: ((p1) - (p2))
73:
74: #endif
75:
76: #include <stddef.h>
77:
78:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.