File: xsdynload.patch

package info (click to toggle)
xlispstat 3.52.14-1
  • links: PTS
  • area: main
  • in suites: potato
  • size: 7,560 kB
  • ctags: 12,676
  • sloc: ansic: 91,357; lisp: 21,759; sh: 1,525; makefile: 521; csh: 1
file content (32 lines) | stat: -rw-r--r-- 950 bytes parent folder | download | duplicates (4)
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
*** xsdynload.c.orig	Sun Oct 29 10:46:48 1989
--- xsdynload.c	Fri Jan 19 14:18:12 1990
***************
*** 106,112 ****
--- 106,119 ----
    for (i = 0, data = x; i < a.size; i++) {
      elem = getnextelement(&data, i);
      if (a.type == IN) ((int *) a.addr)[i] = getfixnum(elem);
+ #if !(defined(ibm032) && defined(__HIGHC__))
      else ((double *) a.addr)[i] = makedouble(elem);
+ #else /* avoid bug in hc 2.1n C compiler on IBM RT running AOS 4.3 */
+     else {
+       double *dbl = &((double *)a.addr)[i] ;
+       *dbl = makedouble(elem) ;
+     }
+ #endif
    }
    
    xlpop();
***************
*** 364,371 ****
--- 371,380 ----
  
  #ifdef STDBSD
  #define SYMVALUE(sym) ((char *) ((sym).n_value))
+ #ifndef SYM_IS_GLOBAL_FUNCTION
  #define SYM_IS_GLOBAL_FUNCTION(ldptr,symbol) \
    (((symbol).n_type & N_TYPE) == N_TEXT  && ((symbol).n_type & N_EXT))
+ #endif /* SYM_IS_GLOBAL_FUNCTION */
  #endif STDBSD
  
  /* DYN-LOAD function */