2 * Copyright 1993 by David Wexelblat <dwex@goblin.org>
4 * Permission to use, copy, modify, distribute, and sell this software and its
5 * documentation for any purpose is hereby granted without fee, provided that
6 * the above copyright notice appear in all copies and that both that
7 * copyright notice and this permission notice appear in supporting
8 * documentation, and that the name of David Wexelblat not be used in
9 * advertising or publicity pertaining to distribution of the software without
10 * specific, written prior permission. David Wexelblat makes no representations
11 * about the suitability of this software for any purpose. It is provided
12 * "as is" without express or implied warranty.
14 * DAVID WEXELBLAT DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
16 * EVENT SHALL DAVID WEXELBLAT BE LIABLE FOR ANY SPECIAL, INDIRECT OR
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20 * PERFORMANCE OF THIS SOFTWARE.
25 * This file is for utility functions that will be shared by other pieces
26 * of the system. Putting things here ensure that all the linking order
27 * dependencies are dealt with, as this library will be linked in last.
30 #ifdef HAVE_XORG_CONFIG_H
31 #include <xorg-config.h>
36 /* To prevent empty source file warnings */
40 /* For use only with gcc */
46 debug_alloca(char *file
, int line
, int size
)
51 ErrorF("Alloc: %s line %d; ptr = 0x%x, length = %d\n", file
, line
,
57 debug_dealloca(char *file
, int line
, char *ptr
)
59 ErrorF("Dealloc: %s line %d; ptr = 0x%x\n", file
, line
, ptr
);
65 #if defined(ISC) || defined(Lynx)
69 /* Needed for apm_driver.c */
70 /* These functions are modeled after the functions inside gnu's libc */
73 copysign(double x
, double y
)
76 return y
< 0 ? - x
: x
;
83 const double one
= 1.0;
84 const static double L
= 4503599627370496.0E0
;
88 if (copysign(x
,one
) >= L
)