Artifact
8a812f0b7cdffc06d5b3bf1ec9f55247a4fd2778:
0000: 0a 0a 0a 54 52 41 4d 50 4f 4c 49 4e 45 28 33 29 ...TRAMPOLINE(3)
0010: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0020: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0030: 20 20 20 20 20 20 20 54 52 41 4d 50 4f 4c 49 4e TRAMPOLIN
0040: 45 28 33 29 0a 0a 0a 4e 08 4e 41 08 41 4d 08 4d E(3)...N.NA.AM.M
0050: 45 08 45 0a 20 20 20 20 20 20 20 74 72 61 6d 70 E.E. tramp
0060: 6f 6c 69 6e 65 20 2d 20 63 6c 6f 73 75 72 65 73 oline - closures
0070: 20 61 73 20 66 69 72 73 74 2d 63 6c 61 73 73 20 as first-class
0080: 43 20 66 75 6e 63 74 69 6f 6e 73 0a 0a 53 08 53 C functions..S.S
0090: 59 08 59 4e 08 4e 4f 08 4f 50 08 50 53 08 53 49 Y.YN.NO.OP.PS.SI
00a0: 08 49 53 08 53 0a 20 20 20 20 20 20 20 23 08 23 .IS.S. #.#
00b0: 69 08 69 6e 08 6e 63 08 63 6c 08 6c 75 08 75 64 i.in.nc.cl.lu.ud
00c0: 08 64 65 08 65 20 3c 08 3c 74 08 74 72 08 72 61 .de.e <.<t.tr.ra
00d0: 08 61 6d 08 6d 70 08 70 6f 08 6f 6c 08 6c 69 08 .am.mp.po.ol.li.
00e0: 69 6e 08 6e 65 08 65 2e 08 2e 68 08 68 3e 08 3e in.ne.e...h.h>.>
00f0: 0a 0a 20 20 20 20 20 20 20 66 08 66 75 08 75 6e .. f.fu.un
0100: 08 6e 63 08 63 74 08 74 69 08 69 6f 08 6f 6e 08 .nc.ct.ti.io.on.
0110: 6e 20 3d 08 3d 20 61 08 61 6c 08 6c 6c 08 6c 6f n =.= a.al.ll.lo
0120: 08 6f 63 08 63 5f 08 5f 74 08 74 72 08 72 61 08 .oc.c_._t.tr.ra.
0130: 61 6d 08 6d 70 08 70 6f 08 6f 6c 08 6c 69 08 69 am.mp.po.ol.li.i
0140: 6e 08 6e 65 08 65 28 08 28 61 08 61 64 08 64 64 n.ne.e(.(a.ad.dd
0150: 08 64 72 08 72 65 08 65 73 08 73 73 08 73 2c 08 .dr.re.es.ss.s,.
0160: 2c 20 76 08 76 61 08 61 72 08 72 69 08 69 61 08 , v.va.ar.ri.ia.
0170: 61 62 08 62 6c 08 6c 65 08 65 2c 08 2c 20 64 08 ab.bl.le.e,., d.
0180: 64 61 08 61 74 08 74 61 08 61 29 08 29 3b 08 3b da.at.ta.a).);.;
0190: 0a 0a 20 20 20 20 20 20 20 66 08 66 72 08 72 65 .. f.fr.re
01a0: 08 65 65 08 65 5f 08 5f 74 08 74 72 08 72 61 08 .ee.e_._t.tr.ra.
01b0: 61 6d 08 6d 70 08 70 6f 08 6f 6c 08 6c 69 08 69 am.mp.po.ol.li.i
01c0: 6e 08 6e 65 08 65 28 08 28 66 08 66 75 08 75 6e n.ne.e(.(f.fu.un
01d0: 08 6e 63 08 63 74 08 74 69 08 69 6f 08 6f 6e 08 .nc.ct.ti.io.on.
01e0: 6e 29 08 29 3b 08 3b 0a 0a 20 20 20 20 20 20 20 n).);.;..
01f0: 69 08 69 73 08 73 5f 08 5f 74 08 74 72 08 72 61 i.is.s_._t.tr.ra
0200: 08 61 6d 08 6d 70 08 70 6f 08 6f 6c 08 6c 69 08 .am.mp.po.ol.li.
0210: 69 6e 08 6e 65 08 65 28 08 28 66 08 66 75 08 75 in.ne.e(.(f.fu.u
0220: 6e 08 6e 63 08 63 74 08 74 69 08 69 6f 08 6f 6e n.nc.ct.ti.io.on
0230: 08 6e 29 08 29 0a 20 20 20 20 20 20 20 74 08 74 .n).). t.t
0240: 72 08 72 61 08 61 6d 08 6d 70 08 70 6f 08 6f 6c r.ra.am.mp.po.ol
0250: 08 6c 69 08 69 6e 08 6e 65 08 65 5f 08 5f 61 08 .li.in.ne.e_._a.
0260: 61 64 08 64 64 08 64 72 08 72 65 08 65 73 08 73 ad.dd.dr.re.es.s
0270: 73 08 73 28 08 28 66 08 66 75 08 75 6e 08 6e 63 s.s(.(f.fu.un.nc
0280: 08 63 74 08 74 69 08 69 6f 08 6f 6e 08 6e 29 08 .ct.ti.io.on.n).
0290: 29 0a 20 20 20 20 20 20 20 74 08 74 72 08 72 61 ). t.tr.ra
02a0: 08 61 6d 08 6d 70 08 70 6f 08 6f 6c 08 6c 69 08 .am.mp.po.ol.li.
02b0: 69 6e 08 6e 65 08 65 5f 08 5f 76 08 76 61 08 61 in.ne.e_._v.va.a
02c0: 72 08 72 69 08 69 61 08 61 62 08 62 6c 08 6c 65 r.ri.ia.ab.bl.le
02d0: 08 65 28 08 28 66 08 66 75 08 75 6e 08 6e 63 08 .e(.(f.fu.un.nc.
02e0: 63 74 08 74 69 08 69 6f 08 6f 6e 08 6e 29 08 29 ct.ti.io.on.n).)
02f0: 0a 20 20 20 20 20 20 20 74 08 74 72 08 72 61 08 . t.tr.ra.
0300: 61 6d 08 6d 70 08 70 6f 08 6f 6c 08 6c 69 08 69 am.mp.po.ol.li.i
0310: 6e 08 6e 65 08 65 5f 08 5f 64 08 64 61 08 61 74 n.ne.e_._d.da.at
0320: 08 74 61 08 61 28 08 28 66 08 66 75 08 75 6e 08 .ta.a(.(f.fu.un.
0330: 6e 63 08 63 74 08 74 69 08 69 6f 08 6f 6e 08 6e nc.ct.ti.io.on.n
0340: 29 08 29 0a 0a 44 08 44 45 08 45 53 08 53 43 08 ).)..D.DE.ES.SC.
0350: 43 52 08 52 49 08 49 50 08 50 54 08 54 49 08 49 CR.RI.IP.PT.TI.I
0360: 4f 08 4f 4e 08 4e 0a 20 20 20 20 20 20 20 54 68 O.ON.N. Th
0370: 65 73 65 20 20 66 75 6e 63 74 69 6f 6e 73 20 69 ese functions i
0380: 6d 70 6c 65 6d 65 6e 74 20 5f 08 63 5f 08 6c 5f mplement _.c_.l_
0390: 08 6f 5f 08 73 5f 08 75 5f 08 72 5f 08 65 5f 08 .o_.s_.u_.r_.e_.
03a0: 73 20 61 73 20 66 69 72 73 74 2d 63 6c 61 73 73 s as first-class
03b0: 20 43 20 66 75 6e 63 2d 0a 20 20 20 20 20 20 20 C func-.
03c0: 74 69 6f 6e 73 2e 20 20 41 20 63 6c 6f 73 75 72 tions. A closur
03d0: 65 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 61 20 e consists of a
03e0: 72 65 67 75 6c 61 72 20 43 20 66 75 6e 63 74 69 regular C functi
03f0: 6f 6e 20 20 61 6e 64 20 20 61 0a 20 20 20 20 20 on and a.
0400: 20 20 70 69 65 63 65 20 6f 66 20 64 61 74 61 20 piece of data
0410: 77 68 69 63 68 20 67 65 74 73 20 70 61 73 73 65 which gets passe
0420: 64 20 74 6f 20 74 68 65 20 43 20 66 75 6e 63 74 d to the C funct
0430: 69 6f 6e 20 77 68 65 6e 20 74 68 65 0a 20 20 20 ion when the.
0440: 20 20 20 20 63 6c 6f 73 75 72 65 20 69 73 20 63 closure is c
0450: 61 6c 6c 65 64 2e 0a 0a 20 20 20 20 20 20 20 43 alled... C
0460: 6c 6f 73 75 72 65 73 20 61 73 20 5f 08 66 5f 08 losures as _.f_.
0470: 69 5f 08 72 5f 08 73 5f 08 74 5f 08 2d 5f 08 63 i_.r_.s_.t_.-_.c
0480: 5f 08 6c 5f 08 61 5f 08 73 5f 08 73 20 5f 08 43 _.l_.a_.s_.s _.C
0490: 20 5f 08 66 5f 08 75 5f 08 6e 5f 08 63 5f 08 74 _.f_.u_.n_.c_.t
04a0: 5f 08 69 5f 08 6f 5f 08 6e 5f 08 73 20 6d 65 61 _.i_.o_.n_.s mea
04b0: 6e 73 20 20 74 68 61 74 20 20 74 68 65 79 20 20 ns that they
04c0: 66 69 74 0a 20 20 20 20 20 20 20 69 6e 74 6f 20 fit. into
04d0: 61 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 a function point
04e0: 65 72 20 61 6e 64 20 63 61 6e 20 62 65 20 63 61 er and can be ca
04f0: 6c 6c 65 64 20 65 78 61 63 74 6c 79 20 6c 69 6b lled exactly lik
0500: 65 20 61 6e 79 0a 20 20 20 20 20 20 20 6f 74 68 e any. oth
0510: 65 72 20 43 20 66 75 6e 63 74 69 6f 6e 2e 20 20 er C function.
0520: 20 5f 08 66 5f 08 75 5f 08 6e 5f 08 63 5f 08 74 _.f_.u_.n_.c_.t
0530: 5f 08 69 5f 08 6f 5f 08 6e 20 20 3d 08 3d 20 20 _.i_.o_.n =.=
0540: 61 08 61 6c 08 6c 6c 08 6c 6f 08 6f 63 08 63 5f a.al.ll.lo.oc.c_
0550: 08 5f 74 08 74 72 08 72 61 08 61 6d 08 6d 70 08 ._t.tr.ra.am.mp.
0560: 70 6f 08 6f 6c 08 6c 69 08 69 6e 08 6e 65 08 65 po.ol.li.in.ne.e
0570: 28 08 28 5f 08 61 5f 08 64 5f 08 64 5f 08 72 5f (.(_.a_.d_.d_.r_
0580: 08 65 5f 08 73 5f 08 73 2c 08 2c 0a 20 20 20 20 .e_.s_.s,.,.
0590: 20 20 20 5f 08 76 5f 08 61 5f 08 72 5f 08 69 5f _.v_.a_.r_.i_
05a0: 08 61 5f 08 62 5f 08 6c 5f 08 65 2c 08 2c 20 20 .a_.b_.l_.e,.,
05b0: 5f 08 64 5f 08 61 5f 08 74 5f 08 61 29 08 29 20 _.d_.a_.t_.a).)
05c0: 20 61 6c 6c 6f 63 61 74 65 73 20 20 61 20 63 6c allocates a cl
05d0: 6f 73 75 72 65 2e 20 57 68 65 6e 20 5f 08 66 5f osure. When _.f_
05e0: 08 75 5f 08 6e 5f 08 63 5f 08 74 5f 08 69 5f 08 .u_.n_.c_.t_.i_.
05f0: 6f 5f 08 6e 20 67 65 74 73 0a 20 20 20 20 20 20 o_.n gets.
0600: 20 63 61 6c 6c 65 64 2c 20 69 74 20 73 74 6f 72 called, it stor
0610: 65 73 20 5f 08 64 5f 08 61 5f 08 74 5f 08 61 20 es _.d_.a_.t_.a
0620: 69 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 in the variable
0630: 5f 08 76 5f 08 61 5f 08 72 5f 08 69 5f 08 61 5f _.v_.a_.r_.i_.a_
0640: 08 62 5f 08 6c 5f 08 65 20 61 6e 64 20 20 63 61 .b_.l_.e and ca
0650: 6c 6c 73 0a 20 20 20 20 20 20 20 74 68 65 20 20 lls. the
0660: 43 20 20 66 75 6e 63 74 69 6f 6e 20 20 61 74 20 C function at
0670: 20 5f 08 61 5f 08 64 5f 08 64 5f 08 72 5f 08 65 _.a_.d_.d_.r_.e
0680: 5f 08 73 5f 08 73 2e 20 20 54 68 65 20 66 75 6e _.s_.s. The fun
0690: 63 74 69 6f 6e 20 61 74 20 5f 08 61 5f 08 64 5f ction at _.a_.d_
06a0: 08 64 5f 08 72 5f 08 65 5f 08 73 5f 08 73 20 69 .d_.r_.e_.s_.s i
06b0: 73 0a 20 20 20 20 20 20 20 72 65 73 70 6f 6e 73 s. respons
06c0: 69 62 6c 65 20 66 6f 72 20 66 65 74 63 68 69 6e ible for fetchin
06d0: 67 20 5f 08 64 5f 08 61 5f 08 74 5f 08 61 20 6f g _.d_.a_.t_.a o
06e0: 75 74 20 6f 66 20 5f 08 76 5f 08 61 5f 08 72 5f ut of _.v_.a_.r_
06f0: 08 69 5f 08 61 5f 08 62 5f 08 6c 5f 08 65 20 69 .i_.a_.b_.l_.e i
0700: 6d 6d 65 64 69 61 74 65 6c 79 2c 0a 20 20 20 20 mmediately,.
0710: 20 20 20 62 65 66 6f 72 65 20 65 78 65 63 75 74 before execut
0720: 69 6f 6e 20 6f 66 20 61 6e 79 20 6f 74 68 65 72 ion of any other
0730: 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e 0a function call..
0740: 0a 20 20 20 20 20 20 20 54 68 69 73 20 20 69 73 . This is
0750: 20 20 6d 75 63 68 20 6c 69 6b 65 20 67 08 67 63 much like g.gc
0760: 08 63 63 08 63 27 73 20 6c 6f 63 61 6c 20 66 75 .cc.c's local fu
0770: 6e 63 74 69 6f 6e 73 2c 20 65 78 63 65 70 74 20 nctions, except
0780: 74 68 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 that the.
0790: 47 4e 55 20 43 20 6c 6f 63 61 6c 20 66 75 6e 63 GNU C local func
07a0: 74 69 6f 6e 73 20 68 61 76 65 20 64 79 6e 61 6d tions have dynam
07b0: 69 63 20 65 78 74 65 6e 74 20 28 69 2e 65 2e 20 ic extent (i.e.
07c0: 61 72 65 20 20 64 65 61 6c 2d 0a 20 20 20 20 20 are deal-.
07d0: 20 20 6c 6f 63 61 74 65 64 20 77 68 65 6e 20 74 located when t
07e0: 68 65 20 63 72 65 61 74 69 6e 67 20 66 75 6e 63 he creating func
07f0: 74 69 6f 6e 20 72 65 74 75 72 6e 73 29 2c 20 77 tion returns), w
0800: 68 69 6c 65 20 5f 08 74 5f 08 72 5f 08 61 5f 08 hile _.t_.r_.a_.
0810: 6d 5f 08 70 5f 08 6f 5f 08 2d 0a 20 20 20 20 20 m_.p_.o_.-.
0820: 20 20 5f 08 6c 5f 08 69 5f 08 6e 5f 08 65 20 70 _.l_.i_.n_.e p
0830: 72 6f 76 69 64 65 73 20 66 75 6e 63 74 69 6f 6e rovides function
0840: 73 20 77 69 74 68 20 69 6e 64 65 66 69 6e 69 74 s with indefinit
0850: 65 20 20 65 78 74 65 6e 74 3a 20 20 5f 08 66 5f e extent: _.f_
0860: 08 75 5f 08 6e 5f 08 63 5f 08 74 5f 08 69 5f 08 .u_.n_.c_.t_.i_.
0870: 6f 5f 08 6e 0a 20 20 20 20 20 20 20 69 73 20 20 o_.n. is
0880: 6f 6e 6c 79 20 20 64 65 61 6c 6c 6f 63 61 74 65 only deallocate
0890: 64 20 20 77 68 65 6e 20 20 66 08 66 72 08 72 65 d when f.fr.re
08a0: 08 65 65 08 65 5f 08 5f 74 08 74 72 08 72 61 08 .ee.e_._t.tr.ra.
08b0: 61 6d 08 6d 70 08 70 6f 08 6f 6c 08 6c 69 08 69 am.mp.po.ol.li.i
08c0: 6e 08 6e 65 08 65 28 08 28 5f 08 66 5f 08 75 5f n.ne.e(.(_.f_.u_
08d0: 08 6e 5f 08 63 5f 08 74 5f 08 69 5f 08 6f 5f 08 .n_.c_.t_.i_.o_.
08e0: 6e 29 08 29 20 20 69 73 0a 20 20 20 20 20 20 20 n).) is.
08f0: 63 61 6c 6c 65 64 2e 0a 0a 20 20 20 20 20 20 20 called...
0900: 69 08 69 73 08 73 5f 08 5f 74 08 74 72 08 72 61 i.is.s_._t.tr.ra
0910: 08 61 6d 08 6d 70 08 70 6f 08 6f 6c 08 6c 69 08 .am.mp.po.ol.li.
0920: 69 6e 08 6e 65 08 65 28 08 28 5f 08 66 5f 08 75 in.ne.e(.(_.f_.u
0930: 5f 08 6e 5f 08 63 5f 08 74 5f 08 69 5f 08 6f 5f _.n_.c_.t_.i_.o_
0940: 08 6e 29 08 29 20 20 63 68 65 63 6b 73 20 20 77 .n).) checks w
0950: 68 65 74 68 65 72 20 20 74 68 65 20 20 43 20 20 hether the C
0960: 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 function.
0970: 5f 08 66 5f 08 75 5f 08 6e 5f 08 63 5f 08 74 5f _.f_.u_.n_.c_.t_
0980: 08 69 5f 08 6f 5f 08 6e 20 20 77 61 73 20 20 70 .i_.o_.n was p
0990: 72 6f 64 75 63 65 64 20 62 79 20 61 20 63 61 6c roduced by a cal
09a0: 6c 20 74 6f 20 5f 08 61 5f 08 6c 5f 08 6c 5f 08 l to _.a_.l_.l_.
09b0: 6f 5f 08 63 5f 08 5f 5f 08 74 5f 08 72 5f 08 61 o_.c_.__.t_.r_.a
09c0: 5f 08 6d 5f 08 70 5f 08 6f 5f 08 6c 5f 08 69 5f _.m_.p_.o_.l_.i_
09d0: 08 6e 5f 08 65 2e 20 20 49 66 0a 20 20 20 20 20 .n_.e. If.
09e0: 20 20 74 68 69 73 20 72 65 74 75 72 6e 73 20 74 this returns t
09f0: 72 75 65 2c 20 74 68 65 20 61 72 67 75 6d 65 6e rue, the argumen
0a00: 74 73 20 67 69 76 65 6e 20 74 6f 20 5f 08 61 5f ts given to _.a_
0a10: 08 6c 5f 08 6c 5f 08 6f 5f 08 63 5f 08 5f 5f 08 .l_.l_.o_.c_.__.
0a20: 74 5f 08 72 5f 08 61 5f 08 6d 5f 08 70 5f 08 6f t_.r_.a_.m_.p_.o
0a30: 5f 08 6c 5f 08 69 5f 08 6e 5f 08 65 0a 20 20 20 _.l_.i_.n_.e.
0a40: 20 20 20 20 63 61 6e 20 62 65 20 72 65 74 72 69 can be retri
0a50: 65 76 65 64 3a 0a 0a 20 20 20 20 20 20 20 20 20 eved:..
0a60: 20 20 74 08 74 72 08 72 61 08 61 6d 08 6d 70 08 t.tr.ra.am.mp.
0a70: 70 6f 08 6f 6c 08 6c 69 08 69 6e 08 6e 65 08 65 po.ol.li.in.ne.e
0a80: 5f 08 5f 61 08 61 64 08 64 64 08 64 72 08 72 65 _._a.ad.dd.dr.re
0a90: 08 65 73 08 73 73 08 73 28 08 28 5f 08 66 5f 08 .es.ss.s(.(_.f_.
0aa0: 75 5f 08 6e 5f 08 63 5f 08 74 5f 08 69 5f 08 6f u_.n_.c_.t_.i_.o
0ab0: 5f 08 6e 29 08 29 20 72 65 74 75 72 6e 73 20 5f _.n).) returns _
0ac0: 08 61 5f 08 64 5f 08 64 5f 08 72 5f 08 65 5f 08 .a_.d_.d_.r_.e_.
0ad0: 73 5f 08 73 2c 0a 0a 20 20 20 20 20 20 20 20 20 s_.s,..
0ae0: 20 20 74 08 74 72 08 72 61 08 61 6d 08 6d 70 08 t.tr.ra.am.mp.
0af0: 70 6f 08 6f 6c 08 6c 69 08 69 6e 08 6e 65 08 65 po.ol.li.in.ne.e
0b00: 5f 08 5f 76 08 76 61 08 61 72 08 72 69 08 69 61 _._v.va.ar.ri.ia
0b10: 08 61 62 08 62 6c 08 6c 65 08 65 28 08 28 5f 08 .ab.bl.le.e(.(_.
0b20: 66 5f 08 75 5f 08 6e 5f 08 63 5f 08 74 5f 08 69 f_.u_.n_.c_.t_.i
0b30: 5f 08 6f 5f 08 6e 29 08 29 20 72 65 74 75 72 6e _.o_.n).) return
0b40: 73 20 5f 08 76 5f 08 61 5f 08 72 5f 08 69 5f 08 s _.v_.a_.r_.i_.
0b50: 61 5f 08 62 5f 08 6c 5f 08 65 2c 0a 0a 20 20 20 a_.b_.l_.e,..
0b60: 20 20 20 20 20 20 20 20 74 08 74 72 08 72 61 08 t.tr.ra.
0b70: 61 6d 08 6d 70 08 70 6f 08 6f 6c 08 6c 69 08 69 am.mp.po.ol.li.i
0b80: 6e 08 6e 65 08 65 5f 08 5f 64 08 64 61 08 61 74 n.ne.e_._d.da.at
0b90: 08 74 61 08 61 28 08 28 5f 08 66 5f 08 75 5f 08 .ta.a(.(_.f_.u_.
0ba0: 6e 5f 08 63 5f 08 74 5f 08 69 5f 08 6f 5f 08 6e n_.c_.t_.i_.o_.n
0bb0: 29 08 29 20 72 65 74 75 72 6e 73 20 5f 08 64 5f ).) returns _.d_
0bc0: 08 61 5f 08 74 5f 08 61 2e 0a 0a 0a 53 08 53 45 .a_.t_.a....S.SE
0bd0: 08 45 45 08 45 20 41 08 41 4c 08 4c 53 08 53 4f .EE.E A.AL.LS.SO
0be0: 08 4f 0a 20 20 20 20 20 20 20 67 08 67 63 08 63 .O. g.gc.c
0bf0: 63 08 63 28 31 29 2c 20 76 08 76 61 08 61 72 08 c.c(1), v.va.ar.
0c00: 72 61 08 61 72 08 72 67 08 67 73 08 73 28 33 29 ra.ar.rg.gs.s(3)
0c10: 2c 20 63 08 63 61 08 61 6c 08 6c 6c 08 6c 62 08 , c.ca.al.ll.lb.
0c20: 62 61 08 61 63 08 63 6b 08 6b 28 33 29 0a 0a 0a ba.ac.ck.k(3)...
0c30: 0a 0a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....
0c40: 20 20 20 20 20 20 20 20 20 20 20 20 20 32 35 20 25
0c50: 4f 63 74 6f 62 65 72 20 31 39 39 37 20 20 20 20 October 1997
0c60: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0c70: 20 20 20 20 31 0a 0a 0a 0a 0a 0a 54 52 41 4d 50 1......TRAMP
0c80: 4f 4c 49 4e 45 28 33 29 20 20 20 20 20 20 20 20 OLINE(3)
0c90: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0ca0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 T
0cb0: 52 41 4d 50 4f 4c 49 4e 45 28 33 29 0a 0a 0a 42 RAMPOLINE(3)...B
0cc0: 08 42 55 08 55 47 08 47 53 08 53 0a 20 20 20 20 .BU.UG.GS.S.
0cd0: 20 20 20 50 61 73 73 69 6e 67 20 20 74 68 65 20 Passing the
0ce0: 20 64 61 74 61 20 20 74 68 72 6f 75 67 68 20 61 data through a
0cf0: 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 global variable
0d00: 20 69 73 20 6e 6f 74 20 72 65 65 6e 2d 0a 20 20 is not reen-.
0d10: 20 20 20 20 20 74 72 61 6e 74 2e 20 44 6f 6e 27 trant. Don'
0d20: 74 20 63 61 6c 6c 20 74 72 61 6d 70 6f 6c 69 6e t call trampolin
0d30: 65 20 66 75 6e 63 74 69 6f 6e 73 20 66 72 6f 6d e functions from
0d40: 20 77 69 74 68 69 6e 20 20 73 69 67 6e 61 6c 0a within signal.
0d50: 20 20 20 20 20 20 20 68 61 6e 64 6c 65 72 73 2e handlers.
0d60: 20 54 68 69 73 20 69 73 20 66 69 78 65 64 20 69 This is fixed i
0d70: 6e 20 74 68 65 20 63 08 63 61 08 61 6c 08 6c 6c n the c.ca.al.ll
0d80: 08 6c 62 08 62 61 08 61 63 08 63 6b 08 6b 28 33 .lb.ba.ac.ck.k(3
0d90: 29 20 70 61 63 6b 61 67 65 2e 0a 0a 0a 50 08 50 ) package....P.P
0da0: 4f 08 4f 52 08 52 54 08 54 49 08 49 4e 08 4e 47 O.OR.RT.TI.IN.NG
0db0: 08 47 0a 20 20 20 20 20 20 20 54 68 65 20 77 61 .G. The wa
0dc0: 79 20 67 08 67 63 08 63 63 08 63 20 62 75 69 6c y g.gc.cc.c buil
0dd0: 64 73 20 6c 6f 63 61 6c 20 66 75 6e 63 74 69 6f ds local functio
0de0: 6e 73 20 69 73 20 64 65 73 63 72 69 62 65 64 20 ns is described
0df0: 69 6e 20 74 68 65 20 67 63 63 0a 20 20 20 20 20 in the gcc.
0e00: 20 20 73 6f 75 72 63 65 2c 20 66 69 6c 65 20 67 source, file g
0e10: 63 63 2d 32 2e 36 2e 33 2f 63 6f 6e 66 69 67 2f cc-2.6.3/config/
0e20: 5f 08 63 5f 08 70 5f 08 75 2f 5f 08 63 5f 08 70 _.c_.p_.u/_.c_.p
0e30: 5f 08 75 2e 68 2e 0a 0a 0a 41 08 41 55 08 55 54 _.u.h....A.AU.UT
0e40: 08 54 48 08 48 4f 08 4f 52 08 52 0a 20 20 20 20 .TH.HO.OR.R.
0e50: 20 20 20 42 72 75 6e 6f 20 48 61 69 62 6c 65 20 Bruno Haible
0e60: 3c 62 72 75 6e 6f 40 63 6c 69 73 70 2e 6f 72 67 <bruno@clisp.org
0e70: 3e 0a 0a 0a 41 08 41 43 08 43 4b 08 4b 4e 08 4e >...A.AC.CK.KN.N
0e80: 4f 08 4f 57 08 57 4c 08 4c 45 08 45 44 08 44 47 O.OW.WL.LE.ED.DG
0e90: 08 47 45 08 45 4d 08 4d 45 08 45 4e 08 4e 54 08 .GE.EM.ME.EN.NT.
0ea0: 54 53 08 53 0a 20 20 20 20 20 20 20 4d 61 6e 79 TS.S. Many
0eb0: 20 69 64 65 61 73 20 77 65 72 65 20 63 72 69 62 ideas were crib
0ec0: 62 65 64 20 66 72 6f 6d 20 74 68 65 20 67 63 63 bed from the gcc
0ed0: 20 73 6f 75 72 63 65 2e 0a 0a 0a 0a 0a 0a 0a 0a source.........
0ee0: 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ................
0ef0: 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a 0a ................
0f00: 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .
0f10: 20 20 20 20 20 20 20 20 20 20 32 35 20 4f 63 74 25 Oct
0f20: 6f 62 65 72 20 31 39 39 37 20 20 20 20 20 20 20 ober 1997
0f30: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0f40: 20 32 0a 0a 0a 2...