|
|
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.