mirror of
https://github.com/NixOS/nix
synced 2025-07-07 01:51:47 +02:00
* Use ATerm 2.5.
This commit is contained in:
parent
5ccb6f64f4
commit
7db2831d3a
4 changed files with 147 additions and 12 deletions
77
externals/max-long.patch
vendored
Normal file
77
externals/max-long.patch
vendored
Normal file
|
@ -0,0 +1,77 @@
|
|||
diff -rc aterm-2.8-orig/aterm/hash.c aterm-2.8/aterm/hash.c
|
||||
*** aterm-2.8-orig/aterm/hash.c 2008-11-10 13:54:22.000000000 +0100
|
||||
--- aterm-2.8/aterm/hash.c 2009-01-27 18:14:14.000000000 +0100
|
||||
***************
|
||||
*** 93,146 ****
|
||||
}
|
||||
|
||||
/*}}} */
|
||||
- /*{{{ static long calc_long_max() */
|
||||
- static long calc_long_max()
|
||||
- {
|
||||
- long try_long_max;
|
||||
- long long_max;
|
||||
- long delta;
|
||||
-
|
||||
- try_long_max = 1;
|
||||
- do {
|
||||
- long_max = try_long_max;
|
||||
- try_long_max = long_max * 2;
|
||||
- } while (try_long_max > 0);
|
||||
-
|
||||
- delta = long_max;
|
||||
- while (delta > 1) {
|
||||
- while (long_max + delta < 0) {
|
||||
- delta /= 2;
|
||||
- }
|
||||
- long_max += delta;
|
||||
- }
|
||||
-
|
||||
- return long_max;
|
||||
-
|
||||
- }
|
||||
- /*}}} */
|
||||
/*{{{ static long calculateNewSize(sizeMinus1, nrdel, nrentries) */
|
||||
|
||||
static long calculateNewSize
|
||||
(long sizeMinus1, long nr_deletions, long nr_entries)
|
||||
{
|
||||
-
|
||||
- /* Hack: LONG_MAX (limits.h) is often unreliable, we need to find
|
||||
- * out the maximum possible value of a signed long dynamically.
|
||||
- */
|
||||
- static long st_long_max = 0;
|
||||
-
|
||||
- /* the resulting length has the form 2^k-1 */
|
||||
-
|
||||
if (nr_deletions >= nr_entries/2) {
|
||||
return sizeMinus1;
|
||||
}
|
||||
|
||||
! if (st_long_max == 0) {
|
||||
! st_long_max = calc_long_max();
|
||||
! }
|
||||
!
|
||||
! if (sizeMinus1 > st_long_max / 2) {
|
||||
! return st_long_max-1;
|
||||
}
|
||||
|
||||
return (2*sizeMinus1)+1;
|
||||
--- 93,109 ----
|
||||
}
|
||||
|
||||
/*}}} */
|
||||
/*{{{ static long calculateNewSize(sizeMinus1, nrdel, nrentries) */
|
||||
|
||||
static long calculateNewSize
|
||||
(long sizeMinus1, long nr_deletions, long nr_entries)
|
||||
{
|
||||
if (nr_deletions >= nr_entries/2) {
|
||||
return sizeMinus1;
|
||||
}
|
||||
|
||||
! if (sizeMinus1 > LONG_MAX / 2) {
|
||||
! return LONG_MAX-1;
|
||||
}
|
||||
|
||||
return (2*sizeMinus1)+1;
|
Loading…
Add table
Add a link
Reference in a new issue