cscope 15 /mounts/choi/disks/0/localhome/criswell/llvm/test/Programs/MultiSource/Benchmarks/MallocBench/perl 0000935393 @EXTERN.h 14 #undeà EXT 15  #EXT ) 17 #undeà INIT 18  #INIT ( x ) ) 20 #undeà DOINIT @INTERN.h 14 #undeà EXT 15  #EXT ) 17 #undeà INIT 18  #INIT ( x èð ) x 20  #DOINIT ) @arg.h 14  #O_NULL 0 ) 15  #O_RCAT 1 ) 16  #O_ITEM 2 ) 17  #O_SCALAR 3 ) 18  #O_ITEM2 4 ) 19  #O_ITEM3 5 ) 20  #O_CONCAT 6 ) 21  #O_REPEAT 7 ) 22  #O_MATCH 8 ) 23  #O_NMATCH 9 ) 24  #O_SUBST 10 ) 25  #O_NSUBST 11 ) 26  #O_ASSIGN 12 ) 27  #O_LOCAL 13 ) 28  #O_AASSIGN 14 ) 29  #O_SASSIGN 15 ) 30  #O_CHOP 16 ) 31  #O_DEFINED 17 ) 32  #O_UNDEF 18 ) 33  #O_STUDY 19 ) 34  #O_POW 20 ) 35  #O_MULTIPLY 21 ) 36  #O_DIVIDE 22 ) 37  #O_MODULO 23 ) 38  #O_ADD 24 ) 39  #O_SUBTRACT 25 ) 40  #O_LEFT_SHIFT 26 ) 41  #O_RIGHT_SHIFT 27 ) 42  #O_LT 28 ) 43  #O_GT 29 ) 44  #O_LE 30 ) 45  #O_GE 31 ) 46  #O_EQ 32 ) 47  #O_NE 33 ) 48  #O_NCMP 34 ) 49  #O_BIT_AND 35 ) 50  #O_XOR 36 ) 51  #O_BIT_OR 37 ) 52  #O_AND 38 ) 53  #O_OR 39 ) 54  #O_COND_EXPR 40 ) 55  #O_COMMA 41 ) 56  #O_NEGATE 42 ) 57  #O_NOT 43 ) 58  #O_COMPLEMENT 44 ) 59  #O_SELECT 45 ) 60  #O_WRITE 46 ) 61  #O_DBMOPEN 47 ) 62  #O_DBMCLOSE 48 ) 63  #O_OPEN 49 ) 64  #O_TRANS 50 ) 65  #O_NTRANS 51 ) 66  #O_CLOSE 52 ) 67  #O_EACH 53 ) 68  #O_VALUES 54 ) 69  #O_KEYS 55 ) 70  #O_LARRAY 56 ) 71  #O_ARRAY 57 ) 72  #O_AELEM 58 ) 73  #O_DELETE 59 ) 74  #O_LHASH 60 ) 75  #O_HASH 61 ) 76  #O_HELEM 62 ) 77  #O_LAELEM 63 ) 78  #O_LHELEM 64 ) 79  #O_LSLICE 65 ) 80  #O_ASLICE 66 ) 81  #O_HSLICE 67 ) 82  #O_LASLICE 68 ) 83  #O_LHSLICE 69 ) 84  #O_SPLICE 70 ) 85  #O_PUSH 71 ) 86  #O_POP 72 ) 87  #O_SHIFT 73 ) 88  #O_UNPACK 74 ) 89  #O_SPLIT 75 ) 90  #O_LENGTH 76 ) 91  #O_SPRINTF 77 ) 92  #O_SUBSTR 78 ) 93  #O_PACK 79 ) 94  #O_GREP 80 ) 95  #O_JOIN 81 ) 96  #O_SLT 82 ) 97  #O_SGT 83 ) 98  #O_SLE 84 ) 99  #O_SGE 85 ) 100  #O_SEQ 86 ) 101  #O_SNE 87 ) 102  #O_SCMP 88 ) 103  #O_SUBR 89 ) 104  #O_DBSUBR 90 ) 105  #O_CALLER 91 ) 106  #O_SORT 92 ) 107  #O_REVERSE 93 ) 108  #O_WARN 94 ) 109  #O_DIE 95 ) 110  #O_PRTF 96 ) 111  #O_PRINT 97 ) 112  #O_CHDIR 98 ) 113  #O_EXIT 99 ) 114  #O_RESET 100 ) 115  #O_LIST 101 ) 116  #O_EOF 102 ) 117  #O_GETC 103 ) 118  #O_TELL 104 ) 119  #O_RECV 105 ) 120  #O_READ 106 ) 121  #O_SYSREAD 107 ) 122  #O_SYSWRITE 108 ) 123  #O_SEND 109 ) 124  #O_SEEK 110 ) 125  #O_RETURN 111 ) 126  #O_REDO 112 ) 127  #O_NEXT 113 ) 128  #O_LAST 114 ) 129  #O_DUMP 115 ) 130  #O_GOTO 116 ) 131  #O_INDEX 117 ) 132  #O_RINDEX 118 ) 133  #O_TIME 119 ) 134  #O_TMS 120 ) 135  #O_LOCALTIME 121 ) 136  #O_GMTIME 122 ) 137  #O_TRUNCATE 123 ) 138  #O_LSTAT 124 ) 139  #O_STAT 125 ) 140  #O_CRYPT 126 ) 141  #O_ATAN2 127 ) 142  #O_SIN 128 ) 143  #O_COS 129 ) 144  #O_RAND 130 ) 145  #O_SRAND 131 ) 146  #O_EXP 132 ) 147  #O_LOG 133 ) 148  #O_SQRT 134 ) 149  #O_INT 135 ) 150  #O_ORD 136 ) 151  #O_ALARM 137 ) 152  #O_SLEEP 138 ) 153  #O_RANGE 139 ) 154  #O_F_OR_R 140 ) 155  #O_FLIP 141 ) 156  #O_FLOP 142 ) 157  #O_FORK 143 ) 158  #O_WAIT 144 ) 159  #O_WAITPID 145 ) 160  #O_SYSTEM 146 ) 161  #O_EXEC_OP 147 ) 162  #O_HEX 148 ) 163  #O_OCT 149 ) 164  #O_CHOWN 150 ) 165  #O_KILL 151 ) 166  #O_UNLINK 152 ) 167  #O_CHMOD 153 ) 168  #O_UTIME 154 ) 169  #O_UMASK 155 ) 170  #O_MSGGET 156 ) 171  #O_SHMGET 157 ) 172  #O_SEMGET 158 ) 173  #O_MSGCTL 159 ) 174  #O_SHMCTL 160 ) 175  #O_SEMCTL 161 ) 176  #O_MSGSND 162 ) 177  #O_MSGRCV 163 ) 178  #O_SEMOP 164 ) 179  #O_SHMREAD 165 ) 180  #O_SHMWRITE 166 ) 181  #O_RENAME 167 ) 182  #O_LINK 168 ) 183  #O_MKDIR 169 ) 184  #O_RMDIR 170 ) 185  #O_GETPPID 171 ) 186  #O_GETPGRP 172 ) 187  #O_SETPGRP 173 ) 188  #O_GETPRIORITY 174 ) 189  #O_SETPRIORITY 175 ) 190  #O_CHROOT 176 ) 191  #O_FCNTL 177 ) 192  #O_IOCTL 178 ) 193  #O_FLOCK 179 ) 194  #O_UNSHIFT 180 ) 195  #O_REQUIRE 181 ) 196  #O_DOFILE 182 ) 197  #O_EVAL 183 ) 198  #O_FTRREAD 184 ) 199  #O_FTRWRITE 185 ) 200  #O_FTREXEC 186 ) 201  #O_FTEREAD 187 ) 202  #O_FTEWRITE 188 ) 203  #O_FTEEXEC 189 ) 204  #O_FTIS 190 ) 205  #O_FTEOWNED 191 ) 206  #O_FTROWNED 192 ) 207  #O_FTZERO 193 ) 208  #O_FTSIZE 194 ) 209  #O_FTMTIME 195 ) 210  #O_FTATIME 196 ) 211  #O_FTCTIME 197 ) 212  #O_FTSOCK 198 ) 213  #O_FTCHR 199 ) 214  #O_FTBLK 200 ) 215  #O_FTFILE 201 ) 216  #O_FTDIR 202 ) 217  #O_FTPIPE 203 ) 218  #O_FTLINK 204 ) 219  #O_SYMLINK 205 ) 220  #O_READLINK 206 ) 221  #O_FTSUID 207 ) 222  #O_FTSGID 208 ) 223  #O_FTSVTX 209 ) 224  #O_FTTTY 210 ) 225  #O_FTTEXT 211 ) 226  #O_FTBINARY 212 ) 227  #O_SOCKET 213 ) 228  #O_BIND 214 ) 229  #O_CONNECT 215 ) 230  #O_LISTEN 216 ) 231  #O_ACCEPT 217 ) 232  #O_GHBYNAME 218 ) 233  #O_GHBYADDR 219 ) 234  #O_GHOSTENT 220 ) 235  #O_GNBYNAME 221 ) 236  #O_GNBYADDR 222 ) 237  #O_GNETENT 223 ) 238  #O_GPBYNAME 224 ) 239  #O_GPBYNUMBER 225 ) 240  #O_GPROTOENT 226 ) 241  #O_GSBYNAME 227 ) 242  #O_GSBYPORT 228 ) 243  #O_GSERVENT 229 ) 244  #O_SHOSTENT 230 ) 245  #O_SNETENT 231 ) 246  #O_SPROTOENT 232 ) 247  #O_SSERVENT 233 ) 248  #O_EHOSTENT 234 ) 249  #O_ENETENT 235 ) 250  #O_EPROTOENT 236 ) 251  #O_ESERVENT 237 ) 252  #O_SOCKPAIR 238 ) 253  #O_SHUTDOWN 239 ) 254  #O_GSOCKOPT 240 ) 255  #O_SSOCKOPT 241 ) 256  #O_GETSOCKNAME 242 ) 257  #O_GETPEERNAME 243 ) 258  #O_SSELECT 244 ) 259  #O_FILENO 245 ) 260  #O_BINMODE 246 ) 261  #O_VEC 247 ) 262  #O_GPWNAM 248 ) 263  #O_GPWUID 249 ) 264  #O_GPWENT 250 ) 265  #O_SPWENT 251 ) 266  #O_EPWENT 252 ) 267  #O_GGRNAM 253 ) 268  #O_GGRGID 254 ) 269  #O_GGRENT 255 ) 270  #O_SGRENT 256 ) 271  #O_EGRENT 257 ) 272  #O_GETLOGIN 258 ) 273  #O_OPENDIR 259 ) 274  #O_READDIR 260 ) 275  #O_TELLDIR 261 ) 276  #O_SEEKDIR 262 ) 277  #O_REWINDDIR 263 ) 278  #O_CLOSEDIR 264 ) 279  #O_SYSCALL 265 ) 280  #O_PIPE 266 ) 281  #MAXO 267 ) 283 #iâdeà DOINIT 284 * ÝÇme []; 286 * gÝÇme [] = { 558  #A_NULL 0 ) 559  #A_EXPR 1 ) 560  #A_CMD 2 ) 561  #A_STAB 3 ) 562  #A_LVAL 4 ) 563  #A_SINGLE 5 ) 564  #A_DOUBLE 6 ) 565  #A_BACKTICK 7 ) 566  #A_READ 8 ) 567  #A_SPAT 9 ) 568  #A_LEXPR 10 ) 569  #A_ARYLEN 11 ) 570  #A_ARYSTAB 12 ) 571  #A_LARYLEN 13 ) 572  #A_GLOB 14 ) 573  #A_WORD 15 ) 574  #A_INDREAD 16 ) 575  #A_LARYSTAB 17 ) 576  #A_STAR 18 ) 577  #A_LSTAR 19 ) 578  #A_WANTARRAY 20 ) 580  #A_MASK 31 ) 581  #A_DONT 32 ) 583 #iâdeà DOINIT 584 * ¬gÇme []; 586 * g¬gÇme [] = { 612 #iâdeà DOINIT 613 boÞ hoi¡abË []; 615 boÞ ghoi¡abË [] = 641  u¬g±r { 642 ARG * m¬g_¬g ; 643 * m¬g_cv® ; 644 STAB * m¬g_¡ab ; 645 SPAT * m¬g_¥© ; 646 CMD * m¬g_cmd ; 647 STR * m¬g_¡r ; 648 HASH * m¬g_hash ; 651  s¬g { 652  ¬g±r m¬g_±r ; 653  m¬g_Ën ; 654  m¬g_ty³ ; 655  m¬g_æags ; 658  #AF_ARYOK 1 ) 659  #AF_POST 2 ) 660  #AF_PRE 4 ) 661  #AF_UP 8 ) 662  #AF_COMMON 16 ) 663  #AF_DEPR 32 ) 664  #AF_LISTISH 64 ) 665  #AF_LOCAL 128 ) 677  #Nuάg `NuÎ ( ARG *) ) 679 #iâdeà DOINIT 680 EXT  gݬgs [ MAXO +1]; 682  #A ( e1 , e2 , e3 èÓ1+Ó2<<2)+Ó3<<4)) ) 683  #A5 ( e1 , e2 , e3 , e4 , e5 èÓ1+Ó2<<2)+Ó3<<4)+Ó4<<6)+Ó5<<8)) ) 684  gݬgs [ MAXO +1] = { 685 A (0,0,0), 686 A (1,1,0), 687 A (1,0,0), 688 A (1,0,0), 689 A (0,0,0), 690 A (0,0,0), 691 A (1,1,0), 692 A (3,1,0), 693 A (1,0,0), 694 A (1,0,0), 695 A (1,0,0), 696 A (1,0,0), 697 A (1,1,0), 698 A (1,0,0), 699 A (3,3,0), 700 A (0,0,0), 701 A (3,0,0), 702 A (1,0,0), 703 A (1,0,0), 704 A (1,0,0), 705 A (1,1,0), 706 A (1,1,0), 707 A (1,1,0), 708 A (1,1,0), 709 A (1,1,0), 710 A (1,1,0), 711 A (1,1,0), 712 A (1,1,0), 713 A (1,1,0), 714 A (1,1,0), 715 A (1,1,0), 716 A (1,1,0), 717 A (1,1,0), 718 A (1,1,0), 719 A (1,1,0), 720 A (1,1,0), 721 A (1,1,0), 722 A (1,1,0), 723 A (1,0,0), 724 A (1,0,0), 725 A (1,0,0), 726 A (1,1,0), 727 A (1,0,0), 728 A (1,0,0), 729 A (1,0,0), 730 A (1,0,0), 731 A (1,0,0), 732 A (1,1,1), 733 A (1,0,0), 734 A (1,1,0), 735 A (1,0,0), 736 A (1,0,0), 737 A (1,0,0), 738 A (0,0,0), 739 A (0,0,0), 740 A (0,0,0), 741 A (0,0,0), 742 A (0,0,0), 743 A (0,1,0), 744 A (0,1,0), 745 A (0,0,0), 746 A (0,0,0), 747 A (0,1,0), 748 A (0,1,0), 749 A (0,1,0), 750 A (0,3,3), 751 A (0,3,0), 752 A (0,3,0), 753 A (0,3,0), 754 A (0,3,0), 755 A (0,3,1), 756 A (0,3,0), 757 A (0,0,0), 758 A (0,0,0), 759 A (1,1,0), 760 A (1,0,1), 761 A (1,0,0), 762 A (3,0,0), 763 A (1,1,1), 764 A (1,3,0), 765 A (0,3,0), 766 A (1,3,0), 767 A (1,1,0), 768 A (1,1,0), 769 A (1,1,0), 770 A (1,1,0), 771 A (1,1,0), 772 A (1,1,0), 773 A (1,1,0), 774 A (0,3,0), 775 A (0,3,0), 776 A (1,0,0), 777 A (1,3,0), 778 A (0,3,0), 779 A (0,3,0), 780 A (0,3,0), 781 A (1,3,0), 782 A (1,3,0), 783 A (1,0,0), 784 A (1,0,0), 785 A (1,0,0), 786 A (3,0,0), 787 A (1,0,0), 788 A (1,0,0), 789 A (1,0,0), 790 A5 (1,1,1,1,0), 791 A (1,1,3), 792 A (1,1,3), 793 A (1,1,3), 794 A (1,1,3), 795 A (1,1,1), 796 A (0,3,0), 797 A (0,0,0), 798 A (0,0,0), 799 A (0,0,0), 800 A (0,0,0), 801 A (0,0,0), 802 A (1,1,1), 803 A (1,1,1), 804 A (0,0,0), 805 A (0,0,0), 806 A (1,0,0), 807 A (1,0,0), 808 A (1,1,0), 809 A (1,0,0), 810 A (1,0,0), 811 A (1,1,0), 812 A (1,1,0), 813 A (1,0,0), 814 A (1,0,0), 815 A (1,0,0), 816 A (1,0,0), 817 A (1,0,0), 818 A (1,0,0), 819 A (1,0,0), 820 A (1,0,0), 821 A (1,0,0), 822 A (1,0,0), 823 A (1,0,0), 824 A (1,1,0), 825 A (1,0,0), 826 A (1,0,0), 827 A (0,1,0), 828 A (0,0,0), 829 A (0,0,0), 830 A (1,1,0), 831 A (1,3,0), 832 A (1,3,0), 833 A (1,0,0), 834 A (1,0,0), 835 A (0,3,0), 836 A (0,3,0), 837 A (0,3,0), 838 A (0,3,0), 839 A (0,3,0), 840 A (1,0,0), 841 A (1,1,0), 842 A (1,1,1), 843 A (1,1,1), 844 A (1,1,1), 845 A (1,1,1), 846 A5 (1,1,1,1,0), 847 A (1,1,1), 848 A5 (1,1,1,1,1), 849 A (1,1,1), 850 A5 (1,1,1,1,0), 851 A5 (1,1,1,1,0), 852 A (1,1,0), 853 A (1,1,0), 854 A (1,1,0), 855 A (1,0,0), 856 A (0,0,0), 857 A (1,0,0), 858 A (1,1,0), 859 A (1,1,0), 860 A (1,1,1), 861 A (1,0,0), 862 A (1,1,1), 863 A (1,1,1), 864 A (1,1,0), 865 A (0,3,0), 866 A (1,0,0), 867 A (1,0,0), 868 A (1,0,0), 869 A (1,0,0), 870 A (1,0,0), 871 A (1,0,0), 872 A (1,0,0), 873 A (1,0,0), 874 A (1,0,0), 875 A (1,0,0), 876 A (1,0,0), 877 A (1,0,0), 878 A (1,0,0), 879 A (1,0,0), 880 A (1,0,0), 881 A (1,0,0), 882 A (1,0,0), 883 A (1,0,0), 884 A (1,0,0), 885 A (1,0,0), 886 A (1,0,0), 887 A (1,0,0), 888 A (1,0,0), 889 A (1,0,0), 890 A (1,1,0), 891 A (1,0,0), 892 A (1,0,0), 893 A (1,0,0), 894 A (1,0,0), 895 A (1,0,0), 896 A (1,0,0), 897 A (1,0,0), 898 A5 (1,1,1,1,0), 899 A (1,1,0), 900 A (1,1,0), 901 A (1,1,0), 902 A (1,1,0), 903 A (1,0,0), 904 A (1,1,0), 905 A (0,0,0), 906 A (1,0,0), 907 A (1,1,0), 908 A (0,0,0), 909 A (1,0,0), 910 A (1,0,0), 911 A (0,0,0), 912 A (1,1,0), 913 A (1,1,0), 914 A (0,0,0), 915 A (1,0,0), 916 A (1,0,0), 917 A (1,0,0), 918 A (1,0,0), 919 A (0,0,0), 920 A (0,0,0), 921 A (0,0,0), 922 A (0,0,0), 923 A5 (1,1,1,1,1), 924 A (1,1,0), 925 A (1,1,1), 926 A5 (1,1,1,1,0), 927 A (1,0,0), 928 A (1,0,0), 929 A5 (1,1,1,1,0), 930 A (1,0,0), 931 A (1,0,0), 932 A (1,1,1), 933 A (1,0,0), 934 A (1,0,0), 935 A (0,0,0), 936 A (0,0,0), 937 A (0,0,0), 938 A (1,0,0), 939 A (1,0,0), 940 A (0,0,0), 941 A (0,0,0), 942 A (0,0,0), 943 A (0,0,0), 944 A (1,1,0), 945 A (1,0,0), 946 A (1,0,0), 947 A (1,1,0), 948 A (1,0,0), 949 A (1,0,0), 950 A (1,3,0), 951 A (1,1,0), 954 #undeà A 955 #undeà A5 958  do_Œªs (); 959  do_¥l™ (); 960 boÞ do_eof (); 961  do_‹Î (); 962 boÞ do_£ek (); 963  do_tms (); 964  do_time (); 965  do_¡© (); 966 STR * do_push (); 967 FILE * Ãx�rgv (); 968 STR * do_á‹xt (); 969  do_¦iû (); @array.c 14  ~"EXTERN.h " 15  ~"³¾.h " 17 STR * 18 $aãtch ( ¬ , key , lv® ) 19  ARRAY * ¬ ; 20  key ; 21  lv® ; 23 STR * ¡r ; 25 ià( key < 0 || key > ¬ -> ¬y_fžl ) { 26 ià( lv® && key >= 0) { 27 ià( ¬ -> ¬y_æags & ARF_REAL ) 28 ¡r = `SŒ_Ãw (5,0); 30 ¡r = `¡r_mÜ�l (& ¡r_undef ); 31 () `a¡Üe ( ¬ , key , ¡r ); 32  ¡r ; 35  & ¡r_undef ; 37 ià(! ¬ -> ¬y_¬¿y [ key ]) { 38 ià( lv® ) { 39 ¡r = `SŒ_Ãw (6,0); 40 () `a¡Üe ( ¬ , key , ¡r ); 41  ¡r ; 43  & ¡r_undef ; 45  ¬ -> ¬y_¬¿y [ key ]; 46 } } 48 boÞ 49 $a¡Üe ( ¬ , key , v® ) 50  ARRAY * ¬ ; 51  key ; 52 STR * v® ; 54  »tv® ; 56 ià( key < 0) 57  FALSE ; 58 ià( key > ¬ -> ¬y_max ) { 59  Ãwmax ; 61 ià( ¬ -> ¬y_®loc !ð¬-> ¬y_¬¿y ) { 62 »tv® = ¬ -> ¬y_¬¿y -‡r-> ¬y_®loc ; 63 `CÝy ( ¬ -> ¬y_¬¿y ,‡r-> ¬y_®loc ,‡r-> ¬y_max +1, STR *); 64 `Z”o ( ¬ -> ¬y_®loc +¬-> ¬y_max +1, »tv® , STR *); 65 ¬ -> ¬y_max +ð »tv® ; 66 ¬ -> ¬y_¬¿y -ð »tv® ; 67 ià( key > ¬ -> ¬y_max - 10) { 68 Ãwmax = key + ¬ -> ¬y_max ; 69  »size ; 73 ià( ¬ -> ¬y_®loc ) { 74 Ãwmax = key + ¬ -> ¬y_max / 5; 75 »size : 76 `R’ew ( ¬ -> ¬y_®loc , Ãwmax +1, STR *); 77 `Z”o (& ¬ -> ¬y_®loc [¬-> ¬y_max +1], Ãwmax -‡r->¬y_max, STR *); 80 Ãwmax = key < 4 ? 4 : key; 81 `Newz (2, ¬ -> ¬y_®loc , Ãwmax +1, STR *); 83 ¬ -> ¬y_¬¿y =‡r-> ¬y_®loc ; 84 ¬ -> ¬y_max = Ãwmax ; 87 ià(( ¬ -> ¬y_æags & ARF_REAL è&&‡r-> ¬y_fžl < key ) { 88 ++ ¬ -> ¬y_fžl < key ) { 89 ià( ¬ -> ¬y_¬¿y [¬-> ¬y_fžl ] !ð NuΡr ) { 90 `¡r_ä“ ( ¬ -> ¬y_¬¿y [¬-> ¬y_fžl ]); 91 ¬ -> ¬y_¬¿y [¬-> ¬y_fžl ] = NuΡr ; 95 »tv® = ( ¬ -> ¬y_¬¿y [ key ] !ð NuΡr ); 96 ià( »tv® && ( ¬ -> ¬y_æags & ARF_REAL )) 97 `¡r_ä“ ( ¬ -> ¬y_¬¿y [ key ]); 98 ¬ -> ¬y_¬¿y [ key ] = v® ; 99  »tv® ; 100 } } 102 ARRAY * 103 $ªew ( ¡ab ) 104 STAB * ¡ab ; 106  ARRAY * ¬ ; 108 `New (1, ¬ ,1, ARRAY ); 109 ¬ -> ¬y_magic = `SŒ_Ãw (7,0); 110 ¬ -> ¬y_®loc =‡r-> ¬y_¬¿y = 0; 111 `¡r_magic ( ¬ -> ¬y_magic , ¡ab , '#', NuÎch , 0); 112 ¬ -> ¬y_max =‡r-> ¬y_fžl = -1; 113 ¬ -> ¬y_æags = ARF_REAL ; 114  ¬ ; 115 } } 117 ARRAY * 118 $açke ( ¡ab , size , ¡½ ) 119 STAB * ¡ab ; 120  size ; 121  STR ** ¡½ ; 123  ARRAY * ¬ ; 125 `New (3, ¬ ,1, ARRAY ); 126 `New (4, ¬ -> ¬y_®loc , size +1, STR *); 127 `CÝy ( ¡½ , ¬ -> ¬y_®loc , size , STR *); 128 ¬ -> ¬y_¬¿y =‡r-> ¬y_®loc ; 129 ¬ -> ¬y_magic = `SŒ_Ãw (8,0); 130 `¡r_magic ( ¬ -> ¬y_magic , ¡ab , '#', NuÎch , 0); 131 ¬ -> ¬y_fžl = size - 1; 132 ¬ -> ¬y_max = size - 1; 133 ¬ -> ¬y_æags = 0; 134  size --) { 135 (* ¡½ ++)-> ¡r_pok &ð~ SP_TEMP ; 137  ¬ ; 138 } } 141 $aþ—r ( ¬ ) 142  ARRAY * ¬ ; 144  key ; 146 ià(! ¬ || !×r-> ¬y_æags & ARF_REAL è||‡r-> ¬y_max < 0) 148 ià( key = ¬ -> ¬y_¬¿y -‡r-> ¬y_®loc ) { 149 ¬ -> ¬y_max +ð key ; 150 ¬ -> ¬y_¬¿y -ð key ; 152  key = 0; key <ð ¬ -> ¬y_max ; key++) 153 `¡r_ä“ ( ¬ -> ¬y_¬¿y [ key ]); 154 ¬ -> ¬y_fžl = -1; 155 `Z”o ( ¬ -> ¬y_¬¿y ,‡r-> ¬y_max +1, STR *); 156 } } 159 $aä“ ( ¬ ) 160  ARRAY * ¬ ; 162  key ; 164 ià(! ¬ ) 166 ià( key = ¬ -> ¬y_¬¿y -‡r-> ¬y_®loc ) { 167 ¬ -> ¬y_max +ð key ; 168 ¬ -> ¬y_¬¿y -ð key ; 170 ià( ¬ -> ¬y_æags & ARF_REAL ) { 171  key = 0; key <ð ¬ -> ¬y_max ; key++) 172 `¡r_ä“ ( ¬ -> ¬y_¬¿y [ key ]); 174 `¡r_ä“ ( ¬ -> ¬y_magic ); 175 `Saãä“ ( ¬ -> ¬y_®loc ); 176 `Saãä“ ( ¬ ); 177 } } 179 boÞ 180 $­ush ( ¬ , v® ) 181  ARRAY * ¬ ; 182 STR * v® ; 184  `a¡Üe ( ¬ ,++×r-> ¬y_fžl ), v® ); 185 } } 187 STR * 188 $­Ý ( ¬ ) 189  ARRAY * ¬ ; 191 STR * »tv® ; 193 ià( ¬ -> ¬y_fžl < 0) 194  NuΡr ; 195 »tv® = ¬ -> ¬y_¬¿y [¬-> ¬y_fžl ]; 196 ¬ -> ¬y_¬¿y [¬-> ¬y_fžl --] = NuΡr ; 197  »tv® ; 198 } } 200 $aunshiá ( ¬ , num ) 201  ARRAY * ¬ ; 202  num ; 204  i ; 205  STR ** s¡r ,** d¡r ; 207 ià( num <= 0) 209 ià( ¬ -> ¬y_¬¿y -‡r-> ¬y_®loc >ð num ) { 210 ¬ -> ¬y_max +ð num ; 211 ¬ -> ¬y_fžl +ð num ; 212  num --) 213 *-- ¬ -> ¬y_¬¿y = NuΡr ; 216 () `a¡Üe ( ¬ ,¬-> ¬y_fžl + num ,( STR *)0); 217 d¡r = ¬ -> ¬y_¬¿y +‡r-> ¬y_fžl ; 218 s¡r = d¡r - num ; 219 #ifdeà BUGGY_MSC5 220 #´agm¨ `loÝ_Ýt ( off ) 222  i = ¬ -> ¬y_fžl ; i >= 0; i--) { 223 * d¡r -- = * s¡r --; 224 #ifdeà BUGGY_MSC5 225 #´agm¨ `loÝ_Ýt () 228 `Z”o ( ¬ -> ¬y_¬¿y , num , STR *); 230 } } 232 STR * 233 $ashiá ( ¬ ) 234  ARRAY * ¬ ; 236 STR * »tv® ; 238 ià( ¬ -> ¬y_fžl < 0) 239  NuΡr ; 240 »tv® = * ¬ -> ¬y_¬¿y ; 241 *( ¬ -> ¬y_¬¿y ++èð NuΡr ; 242 ¬ -> ¬y_max --; 243 ¬ -> ¬y_fžl --; 244  »tv® ; 245 } } 248 $®’ ( ¬ ) 249  ARRAY * ¬ ; 251  ¬ -> ¬y_fžl ; 252 } } 254 $afžl ( ¬ , fžl ) 255  ARRAY * ¬ ; 256  fžl ; 258 ià( fžl < 0) 259 fžl = -1; 260 ià( fžl <ð ¬ -> ¬y_max ) 261 ¬ -> ¬y_fžl = fžl ; 263 () `a¡Üe ( ¬ , fžl , NuΡr ); 264 } } @array.h 14  s©bl { 15 STR ** m¬y_¬¿y ; 16 STR ** m¬y_®loc ; 17 STR * m¬y_magic ; 18  m¬y_max ; 19  m¬y_fžl ; 20  m¬y_æags ; 23  #ARF_REAL 1 ) 25 STR * aãtch (); 26 boÞ a¡Üe (); 27 STR * ­Ý (); 28 STR * ashiá (); 29  aä“ (); 30  aþ—r (); 31 boÞ ­ush (); 32  ®’ (); 33 ARRAY * ªew (); 34 ARRAY * açke (); @cmd.c 17  ~"EXTERN.h " 18  ~"³¾.h " 20 #ifdeà I_VARARGS 21  ~ 24  STR g¡r_chÝ ; 26  grow_dËv– (); 30 #ià defšed ( üay è|| defšed( __STDC__ ) 31  #JMPCLOBBER ) 40 $cmd_exec ( cmd·rm , gimme , ¥ ) 41 CMD * VOLATILE cmd·rm ; 42 VOLATILE  gimme ; 43 VOLATILE  ¥ ; 45  CMD * cmd = cmd·rm ; 46 SPAT * VOLATILE Þd¥© ; 47 VOLATILE  fœ¡§ve = §ve¡ack -> ¬y_fžl ; 48 VOLATILE  Þd§ve ; 49 VOLATILE  ¬yÝt§ve ; 50 #ifdeà DEBUGGING 51 VOLATILE  ÞddËv– ; 52 VOLATILE  ’tdËv– ; 54  STR * »t¡r = & ¡r_undef ; 55 * tmps ; 56  cmdæags ; 57  m©ch ; 58 * go_to = gÙo_�rg ; 59  Ãw¥ = -2; 60  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 61 FILE * VOLATILE å ; 62 ARRAY * VOLATILE ¬ ; 64 Ï¡size = 0; 65 #ifdeà DEBUGGING 66 ’tdËv– = dËv– ; 68 �ž_»cursiÚ_’Œy : 69 #ifdeà DEBUGGING 70 dËv– = ’tdËv– ; 72 #ifdeà TAINT 73 �š‹d = 0; 75 ià( cmd =ð NuÎcmd ) { 76 ià( gimme =ð G_ARRAY && Ãw¥ > -2) 77  Ãw¥ ; 79 ¡ [++ ¥ ] = »t¡r ; 80  ¥ ; 83 cmdæags = cmd -> c_æags ; 84 ià( go_to ) { 85 ià( cmd -> c_Ïb– && `¡rEQ ( go_to ,cmd->c_label)) 86 gÙo_�rg = go_to = NuÎch ; 88  cmd -> c_ty³ ) { 89  C_IF : 90 Þd¥© = cur¥© ; 91 Þd§ve = §ve¡ack -> ¬y_fžl ; 92 #ifdeà DEBUGGING 93 ÞddËv– = dËv– ; 95 »t¡r = & ¡r_yes ; 96 Ãw¥ = -2; 97 ià( cmd -> ucmd . ccmd . cc_Œue ) { 98 #ifdeà DEBUGGING 99 ià( debug ) { 100 debÇme [ dËv– ] = 't'; 101 debd–im [ dËv– ] = '_'; 102 ià(++ dËv– >ð dlmax ) 103 `grow_dËv– (); 106 Ãw¥ = `cmd_exec ( cmd -> ucmd . ccmd . cc_Œue , gimme && ( cmdæags & CF_TERM ), ¥ ); 107 ¡ = ¡ack -> ¬y_¬¿y ; 108 »t¡r = ¡ [ Ãw¥ ]; 110 ià(! gÙo_�rg ) 111 go_to = NuÎch ; 112 cur¥© = Þd¥© ; 113 ià( §ve¡ack -> ¬y_fžl > Þd§ve ) 114 `»¡Ü–i¡ ( Þd§ve ); 115 #ifdeà DEBUGGING 116 dËv– = ÞddËv– ; 118 cmd = cmd-> ucmd . ccmd . cc_®t ; 119  �ž_»cursiÚ_’Œy ; 120  C_ELSE : 121 Þd¥© = cur¥© ; 122 Þd§ve = §ve¡ack -> ¬y_fžl ; 123 #ifdeà DEBUGGING 124 ÞddËv– = dËv– ; 126 »t¡r = & ¡r_undef ; 127 Ãw¥ = -2; 128 ià( cmd -> ucmd . ccmd . cc_Œue ) { 129 #ifdeà DEBUGGING 130 ià( debug ) { 131 debÇme [ dËv– ] = 'e'; 132 debd–im [ dËv– ] = '_'; 133 ià(++ dËv– >ð dlmax ) 134 `grow_dËv– (); 137 Ãw¥ = `cmd_exec ( cmd -> ucmd . ccmd . cc_Œue , gimme && ( cmdæags & CF_TERM ), ¥ ); 138 ¡ = ¡ack -> ¬y_¬¿y ; 139 »t¡r = ¡ [ Ãw¥ ]; 141 ià(! gÙo_�rg ) 142 go_to = NuÎch ; 143 cur¥© = Þd¥© ; 144 ià( §ve¡ack -> ¬y_fžl > Þd§ve ) 145 `»¡Ü–i¡ ( Þd§ve ); 146 #ifdeà DEBUGGING 147 dËv– = ÞddËv– ; 150  C_BLOCK : 151  C_WHILE : 152 ià(!( cmdæags & CF_ONCE )) { 153 cmdæags |ð CF_ONCE ; 154 ià(++ loÝ_±r >ð loÝ_max ) { 155 loÝ_max += 128; 156 `R’ew ( loÝ_¡ack , loÝ_max ,  loÝ ); 158 loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– = cmd -> c_Ïb– ; 159 loÝ_¡ack [ loÝ_±r ]. loÝ_¥ = ¥ ; 160 #ifdeà DEBUGGING 161 ià( debug & 4) { 162 `deb ("(Pushing†abel #%d %s)\n", 163 loÝ_±r , cmd -> c_Ïb– ? cmd->c_label : ""); 167 #ifdeà JMPCLOBBER 168 cmd·rm = cmd ; 170 m©ch = `£tjmp ( loÝ_¡ack [ loÝ_±r ]. loÝ_’v ); 171 ià( m©ch ) { 172 ¡ = ¡ack -> ¬y_¬¿y ; 173 #ifdeà JMPCLOBBER 174 cmd = cmd·rm ; 175 cmdæags = cmd -> c_æags | CF_ONCE ; 177 ià( §ve¡ack -> ¬y_fžl > Þd§ve ) 178 `»¡Ü–i¡ ( Þd§ve ); 179  m©ch ) { 181 `ç�l ("lÚgjm°»tuºed bad v®u�(%d)", m©ch ); 182  O_LAST : 183 go_to = NuÎch ; 184 ià( Ï¡»t¡r ) { 185 »t¡r = Ï¡»t¡r ; 186 Ãw¥ = -2; 189 Ãw¥ = ¥ + Ï¡size ; 190 »t¡r = ¡ [ Ãw¥ ]; 192 #ifdeà DEBUGGING 193 ÞddËv– = dËv– ; 195 cur¥© = Þd¥© ; 196  Ãxt_cmd ; 197  O_NEXT : 198 go_to = NuÎch ; 199 #ifdeà JMPCLOBBER 200 Ãw¥ = -2; 201 »t¡r = & ¡r_undef ; 203  Ãxt_™” ; 204  O_REDO : 205 go_to = NuÎch ; 206 #ifdeà JMPCLOBBER 207 Ãw¥ = -2; 208 »t¡r = & ¡r_undef ; 210  do™ ; 213 Þd¥© = cur¥© ; 214 Þd§ve = §ve¡ack -> ¬y_fžl ; 215 #ifdeà DEBUGGING 216 ÞddËv– = dËv– ; 218 ià( cmd -> ucmd . ccmd . cc_Œue ) { 219 #ifdeà DEBUGGING 220 ià( debug ) { 221 debÇme [ dËv– ] = 't'; 222 debd–im [ dËv– ] = '_'; 223 ià(++ dËv– >ð dlmax ) 224 `grow_dËv– (); 227 Ãw¥ = `cmd_exec ( cmd -> ucmd . ccmd . cc_Œue , gimme && ( cmdæags & CF_TERM ), ¥ ); 228 ¡ = ¡ack -> ¬y_¬¿y ; 229 »t¡r = ¡ [ Ãw¥ ]; 231 ià(! gÙo_�rg ) { 232 go_to = NuÎch ; 233  Ãxt_™” ; 235 #ifdeà DEBUGGING 236 dËv– = ÞddËv– ; 238 ià( cmd -> ucmd . ccmd . cc_®t ) { 239 #ifdeà DEBUGGING 240 ià( debug ) { 241 debÇme [ dËv– ] = 'a'; 242 debd–im [ dËv– ] = '_'; 243 ià(++ dËv– >ð dlmax ) 244 `grow_dËv– (); 247 Ãw¥ = `cmd_exec ( cmd -> ucmd . ccmd . cc_®t , gimme && ( cmdæags & CF_TERM ), ¥ ); 248 ¡ = ¡ack -> ¬y_¬¿y ; 249 »t¡r = ¡ [ Ãw¥ ]; 251 ià( gÙo_�rg ) 253 go_to = NuÎch ; 254  fšish_whže ; 256 cmd = cmd-> c_Ãxt ; 257 ià( cmd && cmd-> c_h—d == cmd) 259  ¥ ; 260 ià( cmdæags & CF_ONCE ) { 261 #ifdeà DEBUGGING 262 ià( debug & 4) { 263 tmps = loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ; 264 `deb ("(PÝpšg†ab– #%d %s)\n", loÝ_±r , 265 tmps ?�mps : "" ); 268 loÝ_±r --; 270  �ž_»cursiÚ_’Œy ; 274 uÁž_loÝ : 278 curcmd = cmd ; 280 #ifdeà DEBUGGING 281 ià( debug ) { 282 ià( debug & 2) { 283 `deb ("%s (%lx)„%lx�%lx‡%lx‚%lx cs%lx\n", 284 cmdÇme [ cmd -> c_ty³ ],cmd,cmd-> c_ex´ , 285 cmd -> ucmd . ccmd . cc_Œue ,cmd->ucmd.ccmd. cc_®t ,cmd-> c_Ãxt , 286 cur¥© ); 288 debÇme [ dËv– ] = cmdÇme [ cmd -> c_ty³ ][0]; 289 debd–im [ dËv– ] = '!'; 290 ià(++ dËv– >ð dlmax ) 291 `grow_dËv– (); 297 ià( cmdæags & CF_COND ) { 298  cmdæags & CF_OPTIMIZE ) { 300  CFT_FALSE : 301 »t¡r = cmd -> c_shÜt ; 302 Ãw¥ = -2; 303 m©ch = FALSE ; 304 ià( cmdæags & CF_NESURE ) 305  maybe ; 307  CFT_TRUE : 308 »t¡r = cmd -> c_shÜt ; 309 Ãw¥ = -2; 310 m©ch = TRUE ; 311 ià( cmdæags & CF_EQSURE ) 312  æ�maybe ; 315  CFT_REG : 316 »t¡r = `STAB_STR ( cmd -> c_¡ab ); 317 Ãw¥ = -2; 318 m©ch = `¡r_Œue ( »t¡r ); 319 ià( cmdæags & ( m©ch ? CF_EQSURE : CF_NESURE )) 320  æ�maybe ; 323  CFT_ANCHOR : 324 ià( muÉžše ) { 325 ià(* cmd -> c_shÜt -> ¡r_±r && !( cmdæags & CF_EQSURE )) 326  sÿ” ; 331  CFT_STROP : 332 »t¡r = `STAB_STR ( cmd -> c_¡ab ); 333 Ãw¥ = -2; 334 #iâdeà I286 335 ià(* cmd -> c_shÜt -> ¡r_±r =ð* `¡r_g‘ ( »t¡r ) && 336 `bcmp ( cmd -> c_shÜt -> ¡r_±r , `¡r_g‘ ( »t¡r ), 337 cmd -> c_¦’ ) == 0 ) { 338 ià( cmdæags & CF_EQSURE ) { 339 ià( §wam³r§nd && ( cmdæags & CF_OPTIMIZE è!ð CFT_STROP ) { 340 cur¥© = NuÎ¥© ; 341 ià( Ëá¡ab ) 342 `¡r_n£t ( `¡ab_v® ( Ëá¡ab ),"",0); 343 ià( am³r¡ab ) 344 `¡r_s£t ( `¡ab_v® ( am³r¡ab ), cmd -> c_shÜt ); 345 ià( right¡ab ) 346 `¡r_n£t ( `¡ab_v® ( right¡ab ), 347 »t¡r -> ¡r_±r + cmd -> c_¦’ , 348 »t¡r -> ¡r_cur - cmd -> c_¦’ ); 350 ià( cmd -> c_¥© ) 351 Ï¡¥© = cmd -> c_¥© ; 352 m©ch = !( cmdæags & CF_FIRSTNEG ); 353 »t¡r = & ¡r_yes ; 354  æ�maybe ; 357 ià( cmdæags & CF_NESURE ) { 358 m©ch = cmdæags & CF_FIRSTNEG ; 359 »t¡r = & ¡r_no ; 360  æ�maybe ; 364 * z­1 , * z­2 , z­1c , z­2c ; 365  z­Ën ; 367 z­1 = cmd -> c_shÜt -> ¡r_±r ; 368 z­2 = `¡r_g‘ ( »t¡r ); 369 z­1c = * z­1 ; 370 z­2c = * z­2 ; 371 z­Ën = cmd -> c_¦’ ; 372 ià(( z­1c =ð z­2c è&& ( `bcmp ( z­1 , z­2 , z­Ën ) == 0)) { 373 ià( cmdæags & CF_EQSURE ) { 374 ià( §wam³r§nd && 375 ( cmdæags & CF_OPTIMIZE è!ð CFT_STROP ) { 376 cur¥© = NuÎ¥© ; 377 ià( Ëá¡ab ) 378 `¡r_n£t ( `¡ab_v® ( Ëá¡ab ),"",0); 379 ià( am³r¡ab ) 380 `¡r_s£t ( `¡ab_v® ( am³r¡ab ), cmd -> c_shÜt ); 381 ià( right¡ab ) 382 `¡r_n£t ( `¡ab_v® ( right¡ab ), 383 »t¡r -> ¡r_±r + cmd -> c_¦’ , 384 »t¡r -> ¡r_cur - cmd -> c_¦’ ); 386 ià( cmd -> c_¥© ) 387 Ï¡¥© = cmd -> c_¥© ; 388 m©ch = !( cmdæags & CF_FIRSTNEG ); 389 »t¡r = & ¡r_yes ; 390  æ�maybe ; 393 ià( cmdæags & CF_NESURE ) { 394 m©ch = cmdæags & CF_FIRSTNEG ; 395 »t¡r = & ¡r_no ; 396  æ�maybe ; 402  CFT_SCAN : 403 sÿ” : 404 »t¡r = `STAB_STR ( cmd -> c_¡ab ); 405 Ãw¥ = -2; 406 ià( »t¡r -> ¡r_pok & SP_STUDIED ) 407 ià( sü—mfœ¡ [ cmd -> c_shÜt -> ¡r_¿» ] >= 0) 408 tmps = `sü—mš¡r ( »t¡r , cmd -> c_shÜt ); 410 tmps = NuÎch ; 412 tmps = `¡r_g‘ ( »t¡r ); 413 #iâdeà lšt 414 tmps = `fbmš¡r ((*)tmps, 415 (*) tmps + »t¡r -> ¡r_cur , cmd -> c_shÜt ); 418 ià( tmps ) { 419 ià( cmdæags & CF_EQSURE ) { 420 ++ cmd -> c_shÜt -> ¡r_u . ¡r_u£ful ; 421 ià( §wam³r§nd ) { 422 cur¥© = NuÎ¥© ; 423 ià( Ëá¡ab ) 424 `¡r_n£t ( `¡ab_v® ( Ëá¡ab ), »t¡r -> ¡r_±r , 425 tmps - »t¡r -> ¡r_±r ); 426 ià( am³r¡ab ) 427 `¡r_n£t ( `¡ab_v® ( am³r¡ab ), 428 tmps , cmd -> c_shÜt -> ¡r_cur ); 429 ià( right¡ab ) 430 `¡r_n£t ( `¡ab_v® ( right¡ab ), 431 tmps + cmd -> c_shÜt -> ¡r_cur , 432 »t¡r -> ¡r_cur - ( tmps -„‘¡r-> ¡r_±r ) - 433 cmd -> c_shÜt -> ¡r_cur ); 435 Ï¡¥© = cmd -> c_¥© ; 436 m©ch = !( cmdæags & CF_FIRSTNEG ); 437 »t¡r = & ¡r_yes ; 438  æ�maybe ; 441 hšt = tmps ; 444 ià( cmdæags & CF_NESURE ) { 445 ++ cmd -> c_shÜt -> ¡r_u . ¡r_u£ful ; 446 m©ch = cmdæags & CF_FIRSTNEG ; 447 »t¡r = & ¡r_no ; 448  æ�maybe ; 451 ià(-- cmd -> c_shÜt -> ¡r_u . ¡r_u£ful < 0) { 452 cmdæags &ð~ CF_OPTIMIZE ; 453 cmdæags |ð CFT_EVAL ; 454 cmd -> c_æags = ( cmdæags & ~ CF_ONCE ); 458  CFT_NUMOP : 459 »t¡r = `STAB_STR ( cmd -> c_¡ab ); 460 Ãw¥ = -2; 461  cmd -> c_¦’ ) { 462  O_EQ : 463 ià( dow¬n ) { 464 ià((! »t¡r -> ¡r_nok && ! `looks_like_numb” (retstr))) 465 `w¬n ("Possible use of == on string value"); 467 m©ch = ( `¡r_gnum ( »t¡r è=ð cmd -> c_shÜt -> ¡r_u . ¡r_nv® ); 469  O_NE : 470 m©ch = ( `¡r_gnum ( »t¡r è!ð cmd -> c_shÜt -> ¡r_u . ¡r_nv® ); 472  O_LT : 473 m©ch = ( `¡r_gnum ( »t¡r è< cmd -> c_shÜt -> ¡r_u . ¡r_nv® ); 475  O_LE : 476 m©ch = ( `¡r_gnum ( »t¡r è<ð cmd -> c_shÜt -> ¡r_u . ¡r_nv® ); 478  O_GT : 479 m©ch = ( `¡r_gnum ( »t¡r è> cmd -> c_shÜt -> ¡r_u . ¡r_nv® ); 481  O_GE : 482 m©ch = ( `¡r_gnum ( »t¡r è>ð cmd -> c_shÜt -> ¡r_u . ¡r_nv® ); 485 ià( m©ch ) { 486 ià( cmdæags & CF_EQSURE ) { 487 »t¡r = & ¡r_yes ; 488  æ�maybe ; 491 ià( cmdæags & CF_NESURE ) { 492 »t¡r = & ¡r_no ; 493  æ�maybe ; 497  CFT_INDGETS : 498 Ï¡_š_¡ab = `¡ab’t ( `¡r_g‘ ( `STAB_STR ( cmd -> c_¡ab )), TRUE ); 499 ià(! `¡ab_io ( Ï¡_š_¡ab )) 500 `¡ab_io ( Ï¡_š_¡ab èð `¡io_Ãw (); 501  dog‘s ; 502  CFT_GETS : 503 Ï¡_š_¡ab = cmd -> c_¡ab ; 504 dog‘s : 505 å = `¡ab_io ( Ï¡_š_¡ab )-> iå ; 506 »t¡r = `¡ab_v® ( def¡ab ); 507 Ãw¥ = -2; 508 k“pgošg : 509 ià( å && `¡r_g‘s ( »t¡r , fp, 0)) { 510 ià(* »t¡r -> ¡r_±r =ð'0' &&„‘¡r-> ¡r_cur == 1) 511 m©ch = FALSE ; 513 m©ch = TRUE ; 514 `¡ab_io ( Ï¡_š_¡ab )-> lšes ++; 516 ià( `¡ab_io ( Ï¡_š_¡ab )-> æags & IOF_ARGV ) { 517 ià(! å ) 518  dÛv® ; 519 å = `Ãx�rgv ( Ï¡_š_¡ab ); 520 ià( å ) 521  k“pgošg ; 522 () `do_þo£ ( Ï¡_š_¡ab , FALSE ); 523 `¡ab_io ( Ï¡_š_¡ab )-> æags |ð IOF_START ; 524 »t¡r = & ¡r_undef ; 525 m©ch = FALSE ; 528 »t¡r = & ¡r_undef ; 529 m©ch = FALSE ; 531  æ�maybe ; 532  CFT_EVAL : 534  CFT_UNFLIP : 535  tmps_max > tmps_ba£ ) { 536 `¡r_ä“ ( tmps_li¡ [ tmps_max ]); 537 tmps_li¡ [ tmps_max --] = NuΡr ; 539 Ãw¥ = `ev® ( cmd -> c_ex´ , gimme && ( cmdæags & CF_TERM ), ¥ ); 540 ¡ = ¡ack -> ¬y_¬¿y ; 541 »t¡r = ¡ [ Ãw¥ ]; 542 m©ch = `¡r_Œue ( »t¡r ); 543 ià( cmd -> c_ex´ -> ¬g_ty³ =ð O_FLIP ) 544 cmdæags = `cÝyÝt ( cmd ,cmd-> c_ex´ [3]. ¬g_±r . ¬g_cmd ); 545  maybe ; 546  CFT_CHOP : 547 »t¡r = `¡ab_v® ( cmd -> c_¡ab ); 548 Ãw¥ = -2; 549 m©ch = ( »t¡r -> ¡r_cur != 0); 550 tmps = `¡r_g‘ ( »t¡r ); 551 tmps +ð »t¡r -> ¡r_cur - m©ch ; 552 `¡r_n£t (& ¡r_chÝ , tmps , m©ch ); 553 * tmps = '\0'; 554 »t¡r -> ¡r_nok = 0; 555 »t¡r -> ¡r_cur = tmps -„‘¡r-> ¡r_±r ; 556 `STABSET ( »t¡r ); 557 »t¡r = & ¡r_chÝ ; 558  æ�maybe ; 559  CFT_ARRAY : 560 m©ch = cmd -> c_shÜt -> ¡r_u . ¡r_u£ful ; 562 ià( m©ch < 0) { 563 ¬ = `¡ab_¬¿y ( cmd -> c_ex´ [1]. ¬g_±r . ¬g_¡ab ); 564 ¬yÝt§ve = §ve¡ack -> ¬y_fžl ; 565 `§ve¥Œ (& `¡ab_v® ( cmd -> c_¡ab )); 566 `§v–Úg (& cmd -> c_shÜt -> ¡r_u . ¡r_u£ful ); 569 ¬ = `¡ab_x¬¿y ( cmd -> c_ex´ [1]. ¬g_±r . ¬g_¡ab ); 570 ià( cmd -> c_ty³ !ð C_WHILE && §ve¡ack -> ¬y_fžl > fœ¡§ve ) 571 `»¡Ü–i¡ ( fœ¡§ve ); 574 ià( m©ch >ð ¬ -> ¬y_fžl ) { 575 »t¡r = & ¡r_undef ; 576 cmd -> c_shÜt -> ¡r_u . ¡r_u£ful = -1; 577 m©ch = FALSE ; 580 m©ch ++; 581 ià(!( »t¡r = ¬ -> ¬y_¬¿y [ m©ch ])) 582 »t¡r = `aãtch ( ¬ , m©ch , TRUE ); 583 `¡ab_v® ( cmd -> c_¡ab èð »t¡r ; 584 cmd -> c_shÜt -> ¡r_u . ¡r_u£ful = m©ch ; 585 m©ch = TRUE ; 587 Ãw¥ = -2; 588  maybe ; 589  CFT_D1 : 591  CFT_D0 : 592 ià( DBsšgË -> ¡r_u . ¡r_nv® != 0) 594 ià( DBsigÇl -> ¡r_u . ¡r_nv® != 0) 596 ià( DBŒaû -> ¡r_u . ¡r_nv® != 0) 598  Ãxt_cmd ; 603 dÛv® : 604 ià( gimme =ð G_ARRAY ) { 605 Ï¡»t¡r = NuΡr ; 606 Ï¡¥ba£ = ¥ ; 607 Ï¡size = Ãw¥ - ¥ ; 608 ià( Ï¡size < 0) 609 Ï¡size = 0; 612 Ï¡»t¡r = »t¡r ; 613  tmps_max > tmps_ba£ ) { 614 `¡r_ä“ ( tmps_li¡ [ tmps_max ]); 615 tmps_li¡ [ tmps_max --] = NuΡr ; 617 Ãw¥ = `ev® ( cmd -> c_ex´ , 618 gimme && ( cmdæags & CF_TERM è&& cmd -> c_ty³ =ð C_EXPR && 619 ! cmd -> ucmd . acmd . ac_ex´ , 620 ¥ ); 621 ¡ = ¡ack -> ¬y_¬¿y ; 622 »t¡r = ¡ [ Ãw¥ ]; 623 ià( Ãw¥ > ¥ && »t¡r ) 624 m©ch = `¡r_Œue ( »t¡r ); 626 m©ch = FALSE ; 627  maybe ; 631 æ�maybe : 632 ià( m©ch && cmdæags & CF_FLIP ) { 633  tmps_max > tmps_ba£ ) { 634 `¡r_ä“ ( tmps_li¡ [ tmps_max ]); 635 tmps_li¡ [ tmps_max --] = NuΡr ; 637 ià( cmd -> c_ex´ -> ¬g_ty³ =ð O_FLOP ) { 638 Ãw¥ = `ev® ( cmd -> c_ex´ , G_SCALAR , ¥ ); 639 cmdæags = `cÝyÝt ( cmd ,cmd-> c_ex´ [3]. ¬g_±r . ¬g_cmd ); 642 Ãw¥ = `ev® ( cmd -> c_ex´ , G_SCALAR , ¥ ); 643 ià( cmd -> c_ex´ -> ¬g_ty³ =ð O_FLOP ) 644 cmdæags = `cÝyÝt ( cmd ,cmd-> c_ex´ [4]. ¬g_±r . ¬g_cmd ); 647 ià( cmdæags & CF_FLIP ) { 648 ià( cmd -> c_ex´ -> ¬g_ty³ =ð O_FLOP ) { 649 m©ch = TRUE ; 655 maybe : 656 ià( cmdæags & CF_INVERT ) 657 m©ch = !match; 658 ià(! m©ch ) 659  Ãxt_cmd ; 661 #ifdeà TAINT 662 �š‹d = 0; 667  cmd -> c_ty³ ) { 668  C_NULL : 669 `ç�l ("panic: cmd_exec"); 670  C_EXPR : 671 ià( cmd -> ucmd . acmd . ac_ex´ ) { 672 ià( gimme =ð G_ARRAY ) { 673 Ï¡»t¡r = NuΡr ; 674 Ï¡¥ba£ = ¥ ; 675 Ï¡size = Ãw¥ - ¥ ; 676 ià( Ï¡size < 0) 677 Ï¡size = 0; 680 Ï¡»t¡r = »t¡r ; 681  tmps_max > tmps_ba£ ) { 682 `¡r_ä“ ( tmps_li¡ [ tmps_max ]); 683 tmps_li¡ [ tmps_max --] = NuΡr ; 685 Ãw¥ = `ev® ( cmd -> ucmd . acmd . ac_ex´ , gimme && ( cmdæags & CF_TERM ), ¥ ); 686 ¡ = ¡ack -> ¬y_¬¿y ; 687 »t¡r = ¡ [ Ãw¥ ]; 690  C_NSWITCH : 692  v®ue = `¡r_gnum ( `STAB_STR ( cmd -> c_¡ab )); 694 m©ch = () v®ue ; 695 ià( v®ue < 0.0) { 696 ià((() m©ch è> v®ue ) 697 -- m©ch ; 700  dosw™ch ; 701  C_CSWITCH : 702 m©ch = *( `¡r_g‘ ( `STAB_STR ( cmd -> c_¡ab ))) & 255; 703 dosw™ch : 704 m©ch -ð cmd -> ucmd . scmd . sc_off£t ; 705 ià( m©ch < 0) 706 m©ch = 0; 707 ià( m©ch > cmd -> ucmd . scmd . sc_max ) 708 m©ch = cmd -> ucmd . scmd . sc_max ; 709 cmd = cmd-> ucmd . scmd . sc_Ãxt [ m©ch ]; 710  �ž_»cursiÚ_’Œy ; 711  C_NEXT : 712 cmd = cmd-> ucmd . ccmd . cc_®t ; 713  �ž_»cursiÚ_’Œy ; 714  C_ELSIF : 715 `ç�l ("panic: ELSIF"); 716  C_IF : 717 Þd¥© = cur¥© ; 718 Þd§ve = §ve¡ack -> ¬y_fžl ; 719 #ifdeà DEBUGGING 720 ÞddËv– = dËv– ; 722 »t¡r = & ¡r_yes ; 723 Ãw¥ = -2; 724 ià( cmd -> ucmd . ccmd . cc_Œue ) { 725 #ifdeà DEBUGGING 726 ià( debug ) { 727 debÇme [ dËv– ] = 't'; 728 debd–im [ dËv– ] = '_'; 729 ià(++ dËv– >ð dlmax ) 730 `grow_dËv– (); 733 Ãw¥ = `cmd_exec ( cmd -> ucmd . ccmd . cc_Œue , gimme && ( cmdæags & CF_TERM ), ¥ ); 734 ¡ = ¡ack -> ¬y_¬¿y ; 735 »t¡r = ¡ [ Ãw¥ ]; 737 cur¥© = Þd¥© ; 738 ià( §ve¡ack -> ¬y_fžl > Þd§ve ) 739 `»¡Ü–i¡ ( Þd§ve ); 740 #ifdeà DEBUGGING 741 dËv– = ÞddËv– ; 743 cmd = cmd-> ucmd . ccmd . cc_®t ; 744  �ž_»cursiÚ_’Œy ; 745  C_ELSE : 746 Þd¥© = cur¥© ; 747 Þd§ve = §ve¡ack -> ¬y_fžl ; 748 #ifdeà DEBUGGING 749 ÞddËv– = dËv– ; 751 »t¡r = & ¡r_undef ; 752 Ãw¥ = -2; 753 ià( cmd -> ucmd . ccmd . cc_Œue ) { 754 #ifdeà DEBUGGING 755 ià( debug ) { 756 debÇme [ dËv– ] = 'e'; 757 debd–im [ dËv– ] = '_'; 758 ià(++ dËv– >ð dlmax ) 759 `grow_dËv– (); 762 Ãw¥ = `cmd_exec ( cmd -> ucmd . ccmd . cc_Œue , gimme && ( cmdæags & CF_TERM ), ¥ ); 763 ¡ = ¡ack -> ¬y_¬¿y ; 764 »t¡r = ¡ [ Ãw¥ ]; 766 cur¥© = Þd¥© ; 767 ià( §ve¡ack -> ¬y_fžl > Þd§ve ) 768 `»¡Ü–i¡ ( Þd§ve ); 769 #ifdeà DEBUGGING 770 dËv– = ÞddËv– ; 773  C_BLOCK : 774  C_WHILE : 775 ià(!( cmdæags & CF_ONCE )) { 776 cmdæags |ð CF_ONCE ; 777 ià(++ loÝ_±r >ð loÝ_max ) { 778 loÝ_max += 128; 779 `R’ew ( loÝ_¡ack , loÝ_max ,  loÝ ); 781 loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– = cmd -> c_Ïb– ; 782 loÝ_¡ack [ loÝ_±r ]. loÝ_¥ = ¥ ; 783 #ifdeà DEBUGGING 784 ià( debug & 4) { 785 `deb ("(Pushing†abel #%d %s)\n", 786 loÝ_±r , cmd -> c_Ïb– ? cmd->c_label : ""); 790 #ifdeà JMPCLOBBER 791 cmd·rm = cmd ; 793 m©ch = `£tjmp ( loÝ_¡ack [ loÝ_±r ]. loÝ_’v ); 794 ià( m©ch ) { 795 ¡ = ¡ack -> ¬y_¬¿y ; 796 #ifdeà JMPCLOBBER 797 cmd = cmd·rm ; 798 cmdæags = cmd -> c_æags | CF_ONCE ; 799 go_to = gÙo_�rg ; 801 ià( §ve¡ack -> ¬y_fžl > Þd§ve ) 802 `»¡Ü–i¡ ( Þd§ve ); 803  m©ch ) { 805 `ç�l ("lÚgjm°»tuºed bad v®u�(%d)", m©ch ); 806  O_LAST : 807 ià( Ï¡»t¡r ) { 808 »t¡r = Ï¡»t¡r ; 809 Ãw¥ = -2; 812 Ãw¥ = ¥ + Ï¡size ; 813 »t¡r = ¡ [ Ãw¥ ]; 815 cur¥© = Þd¥© ; 816  Ãxt_cmd ; 817  O_NEXT : 818 #ifdeà JMPCLOBBER 819 Ãw¥ = -2; 820 »t¡r = & ¡r_undef ; 822  Ãxt_™” ; 823  O_REDO : 824 #ifdeà DEBUGGING 825 dËv– = ÞddËv– ; 827 #ifdeà JMPCLOBBER 828 Ãw¥ = -2; 829 »t¡r = & ¡r_undef ; 831  do™ ; 834 Þd¥© = cur¥© ; 835 Þd§ve = §ve¡ack -> ¬y_fžl ; 836 #ifdeà DEBUGGING 837 ÞddËv– = dËv– ; 839 do™ : 840 ià( cmd -> ucmd . ccmd . cc_Œue ) { 841 #ifdeà DEBUGGING 842 ià( debug ) { 843 debÇme [ dËv– ] = 't'; 844 debd–im [ dËv– ] = '_'; 845 ià(++ dËv– >ð dlmax ) 846 `grow_dËv– (); 849 Ãw¥ = `cmd_exec ( cmd -> ucmd . ccmd . cc_Œue , gimme && ( cmdæags & CF_TERM ), ¥ ); 850 ¡ = ¡ack -> ¬y_¬¿y ; 851 »t¡r = ¡ [ Ãw¥ ]; 856 Ãxt_™” : 857 #ifdeà DEBUGGING 858 dËv– = ÞddËv– ; 860 ià( cmd -> ucmd . ccmd . cc_®t ) { 861 #ifdeà DEBUGGING 862 ià( debug ) { 863 debÇme [ dËv– ] = 'a'; 864 debd–im [ dËv– ] = '_'; 865 ià(++ dËv– >ð dlmax ) 866 `grow_dËv– (); 869 Ãw¥ = `cmd_exec ( cmd -> ucmd . ccmd . cc_®t , gimme && ( cmdæags & CF_TERM ), ¥ ); 870 ¡ = ¡ack -> ¬y_¬¿y ; 871 »t¡r = ¡ [ Ãw¥ ]; 873 fšish_whže : 874 cur¥© = Þd¥© ; 875 ià( §ve¡ack -> ¬y_fžl > Þd§ve ) { 876 ià( cmdæags & CF_TERM ) { 877  m©ch = ¥ + 1; m©ch <ð Ãw¥ ; match++) 878 ¡ [ m©ch ] = `¡r_mÜ�l (st[match]); 879 »t¡r = ¡ [ Ãw¥ ]; 881 `»¡Ü–i¡ ( Þd§ve ); 883 #ifdeà DEBUGGING 884 dËv– = ÞddËv– - 1; 886 ià( cmd -> c_ty³ !ð C_BLOCK ) 887  uÁž_loÝ ; 889 ià( cmdæags & CF_LOOP ) { 890 cmdæags |ð CF_COND ; 891 #ifdeà DEBUGGING 892 dËv– = ’tdËv– ; 894  uÁž_loÝ ; 896 Ãxt_cmd : 897 ià( cmdæags & CF_ONCE ) { 898 #ifdeà DEBUGGING 899 ià( debug & 4) { 900 tmps = loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ; 901 `deb ("(PÝpšg†ab– #%d %s)\n", loÝ_±r , tmps ?�mps : ""); 904 loÝ_±r --; 905 ià(( cmdæags & CF_OPTIMIZE è=ð CFT_ARRAY && 906 §ve¡ack -> ¬y_fžl > ¬yÝt§ve ) 907 `»¡Ü–i¡ ( ¬yÝt§ve ); 909 cmd = cmd-> c_Ãxt ; 910  �ž_»cursiÚ_’Œy ; 911 } } 913 #ifdeà DEBUGGING 914 #iâdeà I_VARARGS 916 $deb ( ·t , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 ) 917 * ·t ; 919  i ; 921 `årštf ( ¡d”r ,"%-4ld",() curcmd -> c_lše ); 922  i =0; i< dËv– ; i++) 923 `årštf ( ¡d”r ,"%c%ø", debÇme [ i ], debd–im [i]); 924 `årštf ( ¡d”r , ·t , a1 , a2 , a3 , a4 , a5 , a6 , a7 , a8 ); 925 } } 928 $deb ( va_®i¡ ) 929 va_dþ 931 va_li¡ ¬gs ; 932 * ·t ; 933  i ; 935 `va_¡¬t ( ¬gs ); 936 `årštf ( ¡d”r ,"%-4ld",() curcmd -> c_lše ); 937  i =0; i< dËv– ; i++) 938 `årštf ( ¡d”r ,"%c%ø", debÇme [ i ], debd–im [i]); 940 ·t = `va_¬g ( ¬gs , *); 941 (è `vårštf ( ¡d”r , ·t , ¬gs ); 942 `va_’d Ð ¬gs ); 943 } } 947 $cÝyÝt ( cmd , which ) 948  CMD * cmd ; 949  CMD * which ; 951 cmd -> c_æags &ð CF_ONCE | CF_COND | CF_LOOP ; 952 cmd -> c_æags |ð which ->c_flags; 953 cmd -> c_shÜt = which ->c_short; 954 cmd -> c_¦’ = which ->c_slen; 955 cmd -> c_¡ab = which ->c_stab; 956  cmd -> c_æags ; 957 } } 959 ARRAY * 960 $§v—ry ( ¡ab ) 961 STAB * ¡ab ; 963  STR * ¡r ; 965 ¡r = `SŒ_Ãw (10,0); 966 ¡r -> ¡r_¡©e = SS_SARY ; 967 ¡r -> ¡r_u . ¡r_¡ab = ¡ab ; 968 ià( ¡r -> ¡r_±r ) { 969 `Saãä“ ( ¡r -> ¡r_±r ); 970 ¡r -> ¡r_±r = NuÎch ; 971 ¡r -> ¡r_Ën = 0; 973 ¡r -> ¡r_±r = (*) `¡ab_¬¿y ( ¡ab ); 974 () `­ush ( §ve¡ack , ¡r ); 975 `¡ab_x¬¿y ( ¡ab èð `NuÎ ( ARRAY *); 976  `¡ab_x¬¿y ( `¯dd ( ¡ab )); 977 } } 979 HASH * 980 $§vehash ( ¡ab ) 981 STAB * ¡ab ; 983  STR * ¡r ; 985 ¡r = `SŒ_Ãw (11,0); 986 ¡r -> ¡r_¡©e = SS_SHASH ; 987 ¡r -> ¡r_u . ¡r_¡ab = ¡ab ; 988 ià( ¡r -> ¡r_±r ) { 989 `Saãä“ ( ¡r -> ¡r_±r ); 990 ¡r -> ¡r_±r = NuÎch ; 991 ¡r -> ¡r_Ën = 0; 993 ¡r -> ¡r_±r = (*) `¡ab_hash ( ¡ab ); 994 () `­ush ( §ve¡ack , ¡r ); 995 `¡ab_xhash ( ¡ab èð `NuÎ ( HASH *); 996  `¡ab_xhash ( `hadd ( ¡ab )); 997 } } 1000 $§ve™em ( ™em ) 1001  STR * ™em ; 1003  STR * ¡r ; 1005 () `­ush ( §ve¡ack , ™em ); 1006 ¡r = `SŒ_Ãw (12,0); 1007 `¡r_s£t ( ¡r , ™em ); 1008 () `­ush ( §ve¡ack , ¡r ); 1009 } } 1012 $§vešt ( š� ) 1013 * š� ; 1015  STR * ¡r ; 1017 ¡r = `SŒ_Ãw (13,0); 1018 ¡r -> ¡r_¡©e = SS_SINT ; 1019 ¡r -> ¡r_u . ¡r_u£ful = ()* š� ; 1020 ià( ¡r -> ¡r_±r ) { 1021 `Saãä“ ( ¡r -> ¡r_±r ); 1022 ¡r -> ¡r_Ën = 0; 1024 ¡r -> ¡r_±r = (*) š� ; 1025 () `­ush ( §ve¡ack , ¡r ); 1026 } } 1029 $§v–Úg ( lÚgp ) 1030 * lÚgp ; 1032  STR * ¡r ; 1034 ¡r = `SŒ_Ãw (14,0); 1035 ¡r -> ¡r_¡©e = SS_SLONG ; 1036 ¡r -> ¡r_u . ¡r_u£ful = * lÚgp ; 1037 ià( ¡r -> ¡r_±r ) { 1038 `Saãä“ ( ¡r -> ¡r_±r ); 1039 ¡r -> ¡r_Ën = 0; 1041 ¡r -> ¡r_±r = (*) lÚgp ; 1042 () `­ush ( §ve¡ack , ¡r ); 1043 } } 1046 $§ve¥Œ ( ¥Œ ) 1047 STR ** ¥Œ ; 1049  STR * ¡r ; 1051 ¡r = `SŒ_Ãw (15,0); 1052 ¡r -> ¡r_¡©e = SS_SSTRP ; 1053 ¡r -> ¡r_magic = * ¥Œ ; 1054 ià( ¡r -> ¡r_±r ) { 1055 `Saãä“ ( ¡r -> ¡r_±r ); 1056 ¡r -> ¡r_Ën = 0; 1058 ¡r -> ¡r_±r = (*) ¥Œ ; 1059 () `­ush ( §ve¡ack , ¡r ); 1060 } } 1063 $§v’o¡ab ( ¡ab ) 1064 STAB * ¡ab ; 1066  STR * ¡r ; 1068 ¡r = `SŒ_Ãw (16,0); 1069 ¡r -> ¡r_¡©e = SS_SNSTAB ; 1070 ¡r -> ¡r_magic = ( STR *) ¡ab ; 1071 () `­ush ( §ve¡ack , ¡r ); 1072 } } 1075 $§veh±r ( h±r ) 1076 HASH ** h±r ; 1078  STR * ¡r ; 1080 ¡r = `SŒ_Ãw (17,0); 1081 ¡r -> ¡r_¡©e = SS_SHPTR ; 1082 ¡r -> ¡r_u . ¡r_hash = * h±r ; 1083 ià( ¡r -> ¡r_±r ) { 1084 `Saãä“ ( ¡r -> ¡r_±r ); 1085 ¡r -> ¡r_Ën = 0; 1087 ¡r -> ¡r_±r = (*) h±r ; 1088 () `­ush ( §ve¡ack , ¡r ); 1089 } } 1092 $§v—±r ( ­Œ ) 1093 ARRAY ** ­Œ ; 1095  STR * ¡r ; 1097 ¡r = `SŒ_Ãw (17,0); 1098 ¡r -> ¡r_¡©e = SS_SAPTR ; 1099 ¡r -> ¡r_u . ¡r_¬¿y = * ­Œ ; 1100 ià( ¡r -> ¡r_±r ) { 1101 `Saãä“ ( ¡r -> ¡r_±r ); 1102 ¡r -> ¡r_Ën = 0; 1104 ¡r -> ¡r_±r = (*) ­Œ ; 1105 () `­ush ( §ve¡ack , ¡r ); 1106 } } 1109 $§v–i¡ ( §rg , max§rg ) 1110  STR ** §rg ; 1111  max§rg ; 1113  STR * ¡r ; 1114  i ; 1116  i = 1; i <ð max§rg ; i++) { 1117 () `­ush ( §ve¡ack , §rg [ i ]); 1118 ¡r = `SŒ_Ãw (18,0); 1119 `¡r_s£t ( ¡r , §rg [ i ]); 1120 () `­ush ( §ve¡ack , ¡r ); 1121 §rg [ i ]-> ¡r_u . ¡r_u£ful = -1; 1123 } } 1126 $»¡Ü–i¡ ( ba£ ) 1127  ba£ ; 1129  STR * ¡r ; 1130  STR * v®ue ; 1131  STAB * ¡ab ; 1133 ià( ba£ < -1) 1134 `ç�l ("panic: corrupt saved stack index"); 1135  §ve¡ack -> ¬y_fžl > ba£ ) { 1136 v®ue = `­Ý ( §ve¡ack ); 1137  v®ue -> ¡r_¡©e ) { 1138  SS_NORM : 1139  SS_INCR : 1140 ¡r = `­Ý ( §ve¡ack ); 1141 `¡r_»¶aû ( ¡r , v®ue ); 1142 `STABSET ( ¡r ); 1144  SS_SARY : 1145 ¡ab = v®ue -> ¡r_u . ¡r_¡ab ; 1146 `aä“ ( `¡ab_x¬¿y ( ¡ab )); 1147 `¡ab_x¬¿y ( ¡ab èð( ARRAY *) v®ue -> ¡r_±r ; 1148 v®ue -> ¡r_±r = NuÎch ; 1149 `¡r_ä“ ( v®ue ); 1151  SS_SHASH : 1152 ¡ab = v®ue -> ¡r_u . ¡r_¡ab ; 1153 () `hä“ ( `¡ab_xhash ( ¡ab ), FALSE ); 1154 `¡ab_xhash ( ¡ab èð( HASH *) v®ue -> ¡r_±r ; 1155 v®ue -> ¡r_±r = NuÎch ; 1156 `¡r_ä“ ( v®ue ); 1158  SS_SINT : 1159 *((*) v®ue -> ¡r_±r èð()v®ue-> ¡r_u . ¡r_u£ful ; 1160 v®ue -> ¡r_±r = NuÎch ; 1161 `¡r_ä“ ( v®ue ); 1163  SS_SLONG : 1164 *((*) v®ue -> ¡r_±r èðv®ue-> ¡r_u . ¡r_u£ful ; 1165 v®ue -> ¡r_±r = NuÎch ; 1166 `¡r_ä“ ( v®ue ); 1168  SS_SSTRP : 1169 *(( STR **) v®ue -> ¡r_±r èðv®ue-> ¡r_magic ; 1170 v®ue -> ¡r_magic = NuΡr ; 1171 v®ue -> ¡r_±r = NuÎch ; 1172 `¡r_ä“ ( v®ue ); 1174  SS_SHPTR : 1175 *(( HASH **) v®ue -> ¡r_±r èðv®ue-> ¡r_u . ¡r_hash ; 1176 v®ue -> ¡r_±r = NuÎch ; 1177 `¡r_ä“ ( v®ue ); 1179  SS_SAPTR : 1180 *(( ARRAY **) v®ue -> ¡r_±r èðv®ue-> ¡r_u . ¡r_¬¿y ; 1181 v®ue -> ¡r_±r = NuÎch ; 1182 `¡r_ä“ ( v®ue ); 1184  SS_SNSTAB : 1185 ¡ab = ( STAB *) v®ue -> ¡r_magic ; 1186 v®ue -> ¡r_magic = NuΡr ; 1187 () `¡ab_þ—r ( ¡ab ); 1188 `¡r_ä“ ( v®ue ); 1190  SS_SCSV : 1192 CSV * csv = (CSV*è v®ue -> ¡r_±r ; 1194 curcmd = csv ->curcmd; 1195 curcsv = csv ->curcsv; 1196 csv -> sub -> d•th = csv->depth; 1197 ià( csv -> ha§rgs ) { 1198 `aä“ ( csv -> ¬g¬¿y ); 1199 `¡ab_x¬¿y ( def¡ab èð csv -> §v—¼ay ; 1201 `¡r_ä“ ( v®ue ); 1205 `ç�l ("panic:„estorelist inconsistency"); 1208 } } 1210 #ifdeà DEBUGGING 1212 $grow_dËv– () 1214 dlmax += 128; 1215 `R’ew ( debÇme , dlmax , ); 1216 `R’ew ( debd–im , dlmax , ); 1217 } } @cmd.h 14  #C_NULL 0 ) 15  #C_IF 1 ) 16  #C_ELSE 2 ) 17  #C_WHILE 3 ) 18  #C_BLOCK 4 ) 19  #C_EXPR 5 ) 20  #C_NEXT 6 ) 21  #C_ELSIF 7 ) 22  #C_CSWITCH 8 ) 23  #C_NSWITCH 9 ) 25 #ifdeà DEBUGGING 26 #iâdeà DOINIT 27 * cmdÇme []; 29 * gcmdÇme [] = { 45  #CF_OPTIMIZE 077 ) 46  #CF_FIRSTNEG 0100 ) 47  #CF_NESURE 0200 ) 48  #CF_EQSURE 0400 ) 49  #CF_COND 01000 ) 51  #CF_LOOP 02000 ) 52  #CF_INVERT 04000 ) 53  #CF_ONCE 010000 ) 54  #CF_FLIP 020000 ) 55  #CF_TERM 040000 ) 56  #CF_DBSUB 0100000 ) 58  #CFT_FALSE 0 ) 59  #CFT_TRUE 1 ) 60  #CFT_REG 2 ) 61  #CFT_ANCHOR 3 ) 62  #CFT_STROP 4 ) 63  #CFT_SCAN 5 ) 64  #CFT_GETS 6 ) 65  #CFT_EVAL 7 ) 66  #CFT_UNFLIP 8 ) 67  #CFT_CHOP 9 ) 68  #CFT_ARRAY 10 ) 69  #CFT_INDGETS 11 ) 70  #CFT_NUMOP 12 ) 71  #CFT_CCLASS 13 ) 72  #CFT_D0 14 ) 73  #CFT_D1 15 ) 75 #ifdeà DEBUGGING 76 #iâdeà DOINIT 77 * cmdÝt []; 79 * gcmdÝt [] = { 99  sacmd { 100 STAB * mac_¡ab ; 101 ARG * mac_ex´ ; 104  sccmd { 105 CMD * mcc_Œue ; 106 CMD * mcc_®t ; 109  sscmd { 110 CMD ** msc_Ãxt ; 111  msc_off£t ; 112  msc_max ; 115  scmd { 116 CMD * mc_Ãxt ; 117 ARG * mc_ex´ ; 118 CMD * mc_h—d ; 119 STR * mc_shÜt ; 120 STAB * mc_¡ab ; 121 SPAT * mc_¥© ; 122 * mc_Ïb– ; 123  uucmd { 124  acmd macmd ; 125  ccmd mccmd ; 126  scmd mscmd ; 127 } mucmd ; 128  mc_¦’ ; 129 VOLATILE  mc_æags ; 130 HASH * mc_¡ash ; 131 STAB * mc_fže¡ab ; 132 lše_t mc_lše ; 133  mc_ty³ ; 136  #NuÎcmd `NuÎ ( CMD *) ) 137  #NuÎcsv `NuÎ ( CSV *) ) 139 EXT CMD * VOLATILE maš_roÙ INIT ( NuÎcmd ); 140 EXT CMD * VOLATILE ev®_roÙ INIT ( NuÎcmd ); 142 EXT CMD gcompžšg ; 143 EXT CMD * VOLATILE curcmd INIT (& compžšg ); 144 EXT CSV * VOLATILE curcsv INIT ( NuÎcsv ); 146  sÿΧve { 147 SUBR * msub ; 148 STAB * m¡ab ; 149 CSV * mcurcsv ; 150 CMD * mcurcmd ; 151 ARRAY * m§v—¼ay ; 152 ARRAY * m¬g¬¿y ; 153  md•th ; 154  mwª�¼ay ; 155  mha§rgs ; 158  scompcmd { 159 CMD * mcomp_Œue ; 160 CMD * mcomp_®t ; 163  Ýt_¬g (); 164  ev®¡©ic (); 165  cmd_exec (); @config.h 1 #iâdeà cÚfig_h 2  #cÚfig_h ) 32  #ALIGNBYTES 8 ) 39  #BIN "/u¤/loÿl/bš" ) 45  #BYTEORDER 0x4321 ) 58  #CPPSTDIN "/u¤/loÿl/lib/gcc-ýp" ) 59  #CPPMINUS "" ) 66  #HAS_BCMP ) 72  #HAS_BCOPY ) 79  #HAS_BZERO ) 92  #CASTNEGFLOAT ) 93  #CASTFLAGS 0 ) 101  #CHARSPRINTF ) 113  #HAS_CRYPT ) 140  #HAS_DUP2 ) 146  #HAS_FCHMOD ) 152  #HAS_FCHOWN ) 158  #HAS_FCNTL ) 164  #FLEXFILENAMES ) 170  #HAS_FLOCK ) 177  #HAS_GETGROUPS ) 189  #HAS_GETPGRP ) 201  #HAS_GETPRIORITY ) 219  #HAS_HTONS ) 220  #HAS_HTONL ) 221  #HAS_NTOHS ) 222  #HAS_NTOHL ) 240  #HAS_KILLPG ) 246  #HAS_LSTAT ) 252  #HAS_MEMCMP ) 259  #HAS_MEMCPY ) 266  #HAS_MKDIR ) 272  #HAS_MSG ) 278  #HAS_MSGCTL ) 284  #HAS_MSGGET ) 290  #HAS_MSGRCV ) 296  #HAS_MSGSND ) 314  #HAS_OPEN3 ) 320  #HAS_READDIR ) 327  #HAS_RENAME ) 334  #HAS_RMDIR ) 340  #HAS_SELECT ) 346  #HAS_SEM ) 352  #HAS_SEMCTL ) 358  #HAS_SEMGET ) 364  #HAS_SEMOP ) 370  #HAS_SETEGID ) 376  #HAS_SETEUID ) 382  #HAS_SETPGRP ) 394  #HAS_SETPRIORITY ) 405  #HAS_SETREGID ) 417  #HAS_SETREUID ) 436  #HAS_SHM ) 442  #HAS_SHMAT ) 448  #HAS_SHMCTL ) 454  #HAS_SHMDT ) 460  #HAS_SHMGET ) 474  #HAS_SOCKET ) 476  #HAS_SOCKETPAIR ) 484  #STATBLOCKS ) 497  #STRUCTCOPY ) 509  #HAS_SYMLINK ) 515  #HAS_SYSCALL ) 521  #HAS_TRUNCATE ) 526  #HAS_VFORK ) 540  #VOIDSIG ) 541  #TO_SIGNAL  ) 547  #HASVOLATILE ) 560  #HAS_VPRINTF ) 561  #CHARVSPRINTF ) 571  #HAS_WAITPID ) 577  #GIDTYPE gid_t ) 583  #GROUPSTYPE  ) 600  #I_GRP ) 610  #I_NETINET_IN ) 641  #I_PWD ) 652  #I_SYS_FILE ) 658  #I_SYSIOCTL ) 673  #I_TIME ) 674  #I_SYS_TIME ) 682  #I_UTIME ) 700  #INTSIZE 4 ) 727  #I_DIRENT ) 737  #MALLOCPTRTYPE  ) 744  #RANDBITS 31 ) 751  #SCRIPTDIR "/u¤/loÿl/bš" ) 756  #SIG_NAME "ZERO","HUP","INT","QUIT","ILL","TRAP","ABRT","EMT","FPE","KILL","BUS","SEGV","SYS","PIPE","ALRM","TERM","URG","STOP","TSTP","CONT","CLD","TTIN","TTOU","IO","XCPU","XFSZ","VTALRM","PROF","WINCH","LOST","USR1","USR2" ) 762  #STDCHAR  ) 768  #UIDTYPE uid_t ) 801 #iâdeà VOIDWANT 802  #VOIDWANT 7 ) 804  #VOIDHAVE 7 ) 805 #ià( VOIDHAVE & VOIDWANT ) != VOIDWANT 806  ) 807  #VOID ) 808  #VOIDP (*) ) 809  #M_VOID ) 811  #VOID  ) 812  #VOIDP (*) ) 821  #PRIVLIB "/u¤/loÿl/lib/³¾" ) @cons.c 14  ~"EXTERN.h " 15  ~"³¾.h " 16  ~"³¾y.h " 18 * tok’ame []; 19  yych¬ ; 21  cmd_to§ve (); 22  ¬g_to§ve (); 23  ¥©_to§ve (); 25  boÞ g§w_»tuº ; 27 SUBR * 28 $make_sub ( Çme , cmd ) 29 * Çme ; 30 CMD * cmd ; 32  SUBR * sub ; 33 STAB * ¡ab = `¡ab’t ( Çme , TRUE ); 35 `Newz (101, sub ,1, SUBR ); 36 ià( `¡ab_sub ( ¡ab )) { 37 ià( dow¬n ) { 38 CMD * Þdcurcmd = curcmd ; 40 ià( cmd ) 41 curcmd = cmd ; 42 `w¬n ("Subroutš�% »defšed", Çme ); 43 curcmd = Þdcurcmd ; 45 ià( `¡ab_sub ( ¡ab )-> cmd ) { 46 `cmd_ä“ ( `¡ab_sub ( ¡ab )-> cmd ); 47 `¡ab_sub ( ¡ab )-> cmd = NuÎcmd ; 48 `aä“ ( `¡ab_sub ( ¡ab )-> to§ve ); 50 `Saãä“ ( `¡ab_sub ( ¡ab )); 52 `¡ab_sub ( ¡ab èð sub ; 53 sub -> fže¡ab = curcmd -> c_fže¡ab ; 54 §w_»tuº = FALSE ; 55 to§ve = `ªew ( NuΡab ); 56 to§ve -> ¬y_fžl = 0; 57 () `cmd_to§ve ( cmd , FALSE ); 58 sub -> to§ve =�osave; 59 ià( §w_»tuº ) { 60  compcmd mycompblock ; 62 mycompblock . comp_Œue = cmd ; 63 mycompblock . comp_®t = NuÎcmd ; 64 cmd = `add_Ïb– ( `§ve¡r ("_SUB_"), `make_ccmd ( C_BLOCK , Nuάg , mycompblock )); 65 §w_»tuº = FALSE ; 66 cmd -> c_æags |ð CF_TERM ; 68 sub -> cmd = cmd; 69 ià( ³¾db ) { 70 STR * ¡r ; 71 STR * tmp¡r = `¡r_mÜ�l (& ¡r_undef ); 73 `¥rštf ( buf ,"%s:%ld", `¡ab_v® ( curcmd -> c_fže¡ab )-> ¡r_±r , 74 () sublše ); 75 ¡r = `¡r_make ( buf ,0); 76 `¡r_ÿt ( ¡r ,"-"); 77 `¥rštf ( buf ,"%ld",() curcmd -> c_lše ); 78 `¡r_ÿt ( ¡r , buf ); 79 Çme = `¡r_g‘ ( subÇme ); 80 `¡ab_fuÎÇme ( tmp¡r , ¡ab ); 81 `h¡Üe ( `¡ab_xhash ( DBsub ), tmp¡r -> ¡r_±r ,�mp¡r-> ¡r_cur , ¡r , 0); 82 `¡r_£t ( subÇme ,"main"); 84 sublše = 0; 85  sub ; 86 } } 88 SUBR * 89 $make_usub ( Çme , ix , subaddr , fž’ame ) 90 * Çme ; 91  ix ; 92 (* subaddr )(); 93 * fž’ame ; 95  SUBR * sub ; 96 STAB * ¡ab = `¡ab’t ( Çme , ®l¡abs ); 98 ià(! ¡ab ) 99  `NuÎ ( SUBR *); 100 `Newz (101, sub ,1, SUBR ); 101 ià( `¡ab_sub ( ¡ab )) { 102 ià( dow¬n ) 103 `w¬n ("Subroutš�% »defšed", Çme ); 104 ià( `¡ab_sub ( ¡ab )-> cmd ) { 105 `cmd_ä“ ( `¡ab_sub ( ¡ab )-> cmd ); 106 `¡ab_sub ( ¡ab )-> cmd = NuÎcmd ; 107 `aä“ ( `¡ab_sub ( ¡ab )-> to§ve ); 109 `Saãä“ ( `¡ab_sub ( ¡ab )); 111 `¡ab_sub ( ¡ab èð sub ; 112 sub -> fže¡ab = `f¡ab ( fž’ame ); 113 sub -> u£rsub = subaddr ; 114 sub -> u£ršdex = ix ; 115  sub ; 116 } } 118 $make_fÜm ( ¡ab , fcmd ) 119 STAB * ¡ab ; 120 FCMD * fcmd ; 122 ià( `¡ab_fÜm ( ¡ab )) { 123 FCMD * tmpfcmd ; 124 FCMD * Ãxtfcmd ; 126  tmpfcmd = `¡ab_fÜm ( ¡ab );�mpfcmd;�mpfcmd = Ãxtfcmd ) { 127 Ãxtfcmd = tmpfcmd -> f_Ãxt ; 128 ià( tmpfcmd -> f_ex´ ) 129 `¬g_ä“ ( tmpfcmd -> f_ex´ ); 130 ià( tmpfcmd -> f_uŬ£d ) 131 `¡r_ä“ ( tmpfcmd -> f_uŬ£d ); 132 ià( tmpfcmd -> f_´e ) 133 `Saãä“ ( tmpfcmd -> f_´e ); 134 `Saãä“ ( tmpfcmd ); 137 `¡ab_fÜm ( ¡ab èð fcmd ; 138 } } 140 CMD * 141 $block_h—d ( �ž ) 142  CMD * �ž ; 144 CMD * h—d ; 145  Ýt ; 146  Ï¡_Ýt = 0; 147  STAB * Ï¡_¡ab = NuΡab ; 148  couÁ = 0; 149  CMD * sw™chbeg = NuÎcmd ; 151 ià( �ž =ð NuÎcmd ) { 152  �ž ; 154 h—d = �ž -> c_h—d ; 156  �ž = h—d ;�až;�až =�až-> c_Ãxt ) { 159 ià( �ž -> c_ty³ =ð C_IF ) { 160 ià(!( �ž -> ucmd . ccmd . cc_®t =�až->ucmd.ccmd.cc_®t-> c_Ãxt )) 161 �ž -> c_æags |ð CF_TERM ; 163 ià( �ž -> c_ty³ =ð C_EXPR ) { 164 ARG * ¬g ; 166 ià( �ž -> ucmd . acmd . ac_ex´ ) 167 ¬g = �ž -> ucmd . acmd . ac_ex´ ; 169 ¬g = �ž -> c_ex´ ; 170 ià( ¬g ) { 171 ià( ¬g -> ¬g_ty³ =ð O_RETURN ) 172 �ž -> c_æags |ð CF_TERM ; 173 ià( ¬g -> ¬g_ty³ =ð O_ITEM &&‡rg[1].¬g_ty³ =ð A_CMD ) 174 �ž -> c_æags |ð CF_TERM ; 177 ià(! �ž -> c_Ãxt ) 178 �ž -> c_æags |ð CF_TERM ; 180 ià( �ž -> c_ex´ && (�ž-> c_æags & CF_OPTIMIZE è=ð CFT_FALSE ) 181 `Ýt_¬g ( �ž ,1,�až-> c_ty³ =ð C_EXPR ); 184  �ž -> c_æags & ( CF_OPTIMIZE | CF_FIRSTNEG | CF_INVERT )) { 185  CFT_ANCHOR : 186 ià( `¡ab’t ("*", FALSE )) { 187 Ýt = 0; 191  CFT_STROP : 192 Ýt = ( �ž -> c_æags & CF_NESURE è? CFT_STROP : 0; 194  CFT_CCLASS : 195 Ýt = CFT_STROP ; 197  CFT_NUMOP : 198 Ýt = ( �ž -> c_¦’ =ð O_NE ? 0 : CFT_NUMOP ); 199 ià(( �ž -> c_æags &( CF_NESURE | CF_EQSURE )) != (CF_NESURE|CF_EQSURE)) 200 Ýt = 0; 203 Ýt = 0; 205 ià( Ýt && o± =ð Ï¡_Ýt && �ž -> c_¡ab =ð Ï¡_¡ab ) 206 couÁ ++; 208 ià( couÁ >= 3) { 209 ià( Ï¡_Ýt =ð CFT_NUMOP ) 210 `make_nsw™ch ( sw™chbeg , couÁ ); 212 `make_csw™ch ( sw™chbeg , couÁ ); 214 ià( Ýt ) { 215 couÁ = 1; 216 sw™chbeg = �ž ; 219 couÁ = 0; 221 Ï¡_Ýt = Ýt ; 222 Ï¡_¡ab = �ž -> c_¡ab ; 224 ià( couÁ >= 3) { 225 ià( Ï¡_Ýt =ð CFT_NUMOP ) 226 `make_nsw™ch ( sw™chbeg , couÁ ); 228 `make_csw™ch ( sw™chbeg , couÁ ); 230  h—d ; 231 } } 237 $make_csw™ch ( h—d , couÁ ) 238  CMD * h—d ; 239  couÁ ; 241  CMD * cur ; 242  CMD ** loc ; 243  i ; 244  mš = 255; 245  max = 0; 248 `New (102, cur , 1, CMD ); 249 #ifdeà STRUCTCOPY 250 * cur = * h—d ; 252 `CÝy ( h—d , cur ,1, CMD ); 254 `Z”o ( h—d ,1, CMD ); 255 h—d -> c_ty³ = C_CSWITCH ; 256 h—d -> c_Ãxt = cur ; 257 h—d -> c_¡ab = cur ->c_stab; 259 `Newz (103, loc ,258, CMD *); 260 loc ++; 261  couÁ --) { 262 ià(( cur -> c_æags & CF_OPTIMIZE è=ð CFT_CCLASS ) { 263  i = 0; i <= 255; i++) { 264 ià(! loc [ i ] && cur -> c_shÜt -> ¡r_±r [i>>3] & (1 << (i&7))) { 265 loc [ i ] = cur ; 266 ià( i < mš ) 267 mš = i ; 268 ià( i > max ) 269 max = i ; 274 i = * cur -> c_shÜt -> ¡r_±r & 255; 275 ià(! loc [ i ]) { 276 loc [ i ] = cur ; 277 ià( i < mš ) 278 mš = i ; 279 ià( i > max ) 280 max = i ; 283 cur = cur-> c_Ãxt ; 285 max ++; 286 ià( mš > 0) 287 `CÝy (& loc [ mš ],&loc[0], max - mš, CMD *); 288 loc --; 289 mš --; 290 max -ð mš ; 291  i = 0; i <ð max ; i++) 292 ià(! loc [ i ]) 293 loc [ i ] = cur ; 294 `R’ew ( loc , max +1, CMD *); 295 h—d -> ucmd . scmd . sc_off£t = mš ; 296 h—d -> ucmd . scmd . sc_max = max ; 297 h—d -> ucmd . scmd . sc_Ãxt = loc ; 298 } } 300 $make_nsw™ch ( h—d , couÁ ) 301  CMD * h—d ; 302  couÁ ; 304  CMD * cur = h—d ; 305  CMD ** loc ; 306  i ; 307  mš = 32767; 308  max = -32768; 309  ÜigcouÁ = couÁ ; 310  v®ue ; 311  chªged ; 313  couÁ --) { 314 i = () `¡r_gnum ( cur -> c_shÜt ); 315 v®ue = () i ; 316 ià( v®ue !ð cur -> c_shÜt -> ¡r_u . ¡r_nv® ) 318 chªged = i ; 319 ià( chªged !ð i ) 321 ià( cur -> c_¦’ =ð O_LE ) 322 i ++; 323 ià( cur -> c_¦’ =ð O_GE ) 324 i --; 325 ià( i < mš ) 326 mš = i ; 327 ià( i > max ) 328 max = i ; 329 cur = cur-> c_Ãxt ; 331 couÁ = ÜigcouÁ ; 332 ià( max - mš > couÁ * 2 + 10) 336 `New (104, cur , 1, CMD ); 337 #ifdeà STRUCTCOPY 338 * cur = * h—d ; 340 `CÝy ( h—d , cur ,1, CMD ); 342 `Z”o ( h—d ,1, CMD ); 343 h—d -> c_ty³ = C_NSWITCH ; 344 h—d -> c_Ãxt = cur ; 345 h—d -> c_¡ab = cur ->c_stab; 347 `Newz (105, loc , max - mš + 3, CMD *); 348 loc ++; 349 max -ð mš ; 350 max ++; 351  couÁ --) { 352 i = () `¡r_gnum ( cur -> c_shÜt ); 353 i -ð mš ; 354  cur -> c_¦’ ) { 355  O_LE : 356 i ++; 357  O_LT : 358  i --; i >= -1; i--) 359 ià(! loc [ i ]) 360 loc [ i ] = cur ; 362  O_GE : 363 i --; 364  O_GT : 365  i ++; i <ð max ; i++) 366 ià(! loc [ i ]) 367 loc [ i ] = cur ; 369  O_EQ : 370 ià(! loc [ i ]) 371 loc [ i ] = cur ; 374 cur = cur-> c_Ãxt ; 376 loc --; 377 mš --; 378 max ++; 379  i = 0; i <ð max ; i++) 380 ià(! loc [ i ]) 381 loc [ i ] = cur ; 382 h—d -> ucmd . scmd . sc_off£t = mš ; 383 h—d -> ucmd . scmd . sc_max = max ; 384 h—d -> ucmd . scmd . sc_Ãxt = loc ; 385 } } 387 CMD * 388 $­³nd_lše ( h—d , �ž ) 389  CMD * h—d ; 390  CMD * �ž ; 392 ià( �ž =ð NuÎcmd ) 393  h—d ; 394 ià(! �ž -> c_h—d ) 395 �ž -> c_h—d =�ail; 396 ià( h—d !ð NuÎcmd ) { 397 �ž =�až-> c_h—d ; 398 ià(! h—d -> c_h—d ) 399 h—d -> c_h—d = head; 400  h—d -> c_Ãxt ) { 401 h—d -> c_Ãxt -> c_h—d = head->c_head; 402 h—d = h—d-> c_Ãxt ; 404 h—d -> c_Ãxt = �ž ; 405 �ž -> c_h—d = h—d ->c_head; 407  �ž -> c_Ãxt ) { 408 �ž -> c_Ãxt -> c_h—d =�ail->c_head; 409 �ž =�až-> c_Ãxt ; 411  �ž ; 412 } } 414 CMD * 415 $dodb ( cur ) 416 CMD * cur ; 418  CMD * cmd ; 419  CMD * h—d = cur -> c_h—d ; 420 STR * ¡r ; 422 ià(! h—d ) 423 h—d = cur ; 424 ià(! h—d -> c_lše ) 425  cur ; 426 ¡r = `aãtch ( `¡ab_x¬¿y ( curcmd -> c_fže¡ab ),() h—d -> c_lše , FALSE ); 427 ià( ¡r =ð& ¡r_undef || sŒ-> ¡r_nok ) 428  cur ; 429 ¡r -> ¡r_u . ¡r_nv® = () h—d -> c_lše ; 430 ¡r -> ¡r_nok = 1; 431 `Newz (106, cmd ,1, CMD ); 432 `¡r_magic ( ¡r , curcmd -> c_fže¡ab , 0, NuÎch , 0); 433 ¡r -> ¡r_magic -> ¡r_u . ¡r_cmd = cmd ; 434 cmd -> c_ty³ = C_EXPR ; 435 cmd -> ucmd . acmd . ac_¡ab = NuΡab ; 436 cmd -> ucmd . acmd . ac_ex´ = Nuάg ; 437 cmd -> c_ex´ = `make_Ý ( O_SUBR , 2, 438 `¡ab2¬g ( A_WORD , DB¡ab ), 439 Nuάg , 440 Nuάg ); 441 cmd -> c_æags |ð CF_COND | CF_DBSUB | CFT_D0 ; 442 cmd -> c_lše = h—d ->c_line; 443 cmd -> c_Ïb– = h—d ->c_label; 444 cmd -> c_fže¡ab = curcmd ->c_filestab; 445 cmd -> c_¡ash = cur¡ash ; 446  `­³nd_lše ( cmd , cur ); 447 } } 449 CMD * 450 $make_acmd ( ty³ , ¡ab , cÚd , ¬g ) 451  ty³ ; 452 STAB * ¡ab ; 453 ARG * cÚd ; 454 ARG * ¬g ; 456  CMD * cmd ; 458 `Newz (107, cmd ,1, CMD ); 459 cmd -> c_ty³ = ty³ ; 460 cmd -> ucmd . acmd . ac_¡ab = ¡ab ; 461 cmd -> ucmd . acmd . ac_ex´ = ¬g ; 462 cmd -> c_ex´ = cÚd ; 463 ià( cÚd ) 464 cmd -> c_æags |ð CF_COND ; 465 ià( cmdlše =ð NOLINE ) 466 cmd -> c_lše = curcmd ->c_line; 468 cmd -> c_lše = cmdlše ; 469 cmdlše = NOLINE ; 471 cmd -> c_fže¡ab = curcmd ->c_filestab; 472 cmd -> c_¡ash = cur¡ash ; 473 ià( ³¾db ) 474 cmd = `dodb (cmd); 475  cmd ; 476 } } 478 CMD * 479 $make_ccmd ( ty³ , ¬g , cblock ) 480  ty³ ; 481 ARG * ¬g ; 482  compcmd cblock ; 484  CMD * cmd ; 486 `Newz (108, cmd , 1, CMD ); 487 cmd -> c_ty³ = ty³ ; 488 cmd -> c_ex´ = ¬g ; 489 cmd -> ucmd . ccmd . cc_Œue = cblock . comp_Œue ; 490 cmd -> ucmd . ccmd . cc_®t = cblock . comp_®t ; 491 ià( ¬g ) 492 cmd -> c_æags |ð CF_COND ; 493 ià( cmdlše =ð NOLINE ) 494 cmd -> c_lše = curcmd ->c_line; 496 cmd -> c_lše = cmdlše ; 497 cmdlše = NOLINE ; 499 cmd -> c_fže¡ab = curcmd ->c_filestab; 500 cmd -> c_¡ash = cur¡ash ; 501 ià( ³¾db ) 502 cmd = `dodb (cmd); 503  cmd ; 504 } } 506 CMD * 507 $make_icmd ( ty³ , ¬g , cblock ) 508  ty³ ; 509 ARG * ¬g ; 510  compcmd cblock ; 512  CMD * cmd ; 513  CMD * ®t ; 514  CMD * cur ; 515  CMD * h—d ; 516  compcmd ncblock ; 518 `Newz (109, cmd , 1, CMD ); 519 h—d = cmd ; 520 cmd -> c_ty³ = ty³ ; 521 cmd -> c_ex´ = ¬g ; 522 cmd -> ucmd . ccmd . cc_Œue = cblock . comp_Œue ; 523 cmd -> ucmd . ccmd . cc_®t = cblock . comp_®t ; 524 ià( ¬g ) 525 cmd -> c_æags |ð CF_COND ; 526 ià( cmdlše =ð NOLINE ) 527 cmd -> c_lše = curcmd ->c_line; 529 cmd -> c_lše = cmdlše ; 530 cmdlše = NOLINE ; 532 cmd -> c_fže¡ab = curcmd ->c_filestab; 533 cmd -> c_¡ash = cur¡ash ; 534 cur = cmd ; 535 ®t = cblock . comp_®t ; 536  ®t &&‡É-> c_ty³ =ð C_ELSIF ) { 537 cur = ®t ; 538 ®t =‡É-> ucmd . ccmd . cc_®t ; 540 ià( ®t ) { 541 ncblock . comp_Œue = ®t ; 542 ncblock . comp_®t = NuÎcmd ; 543 ®t = `­³nd_lše ( cur , `make_ccmd ( C_ELSE , Nuάg , ncblock )); 544 cur -> ucmd . ccmd . cc_®t = ®t ; 547 ®t = cur ; 549 cur = cmd ; 550  cmd ) { 551 cur = cmd ; 552 cmd = cur -> ucmd . ccmd . cc_®t ; 553 cur -> c_h—d = h—d ; 554 ià( cur -> c_ty³ =ð C_ELSIF ) 555 cur -> c_ty³ = C_IF ; 556 ià( cur -> c_ty³ =ð C_IF ) 557 cur -> ucmd . ccmd . cc_®t = ®t ; 558 ià( cur =ð ®t ) 560 cur -> c_Ãxt = cmd ; 562 ià( ³¾db ) 563 cur = `dodb (cur); 564  cur ; 565 } } 568 $Ýt_¬g ( cmd , æ�ÜæÝ , acmd ) 569  CMD * cmd ; 570  æ�ÜæÝ ; 571  acmd ; 573  ARG * ¬g ; 574  Ýt = CFT_EVAL ; 575  su» = 0; 576 ARG * ¬g2 ; 577  cÚ‹xt = 0; 578  æp = æ�ÜæÝ ; 580 ià(! cmd ) 582 ià(!( ¬g = cmd -> c_ex´ )) { 583 cmd -> c_æags &ð~ CF_COND ; 589 ià( acmd && ! cmd -> ucmd .acmd. ac_ex´ && !(cmd-> c_æags & CF_TERM ) && 590 ( ¬g -> ¬g_ty³ =ð O_AND ||‡rg->¬g_ty³ =ð O_OR ) ) { 591 `dehoi¡ ( ¬g ,1); 592 ¬g [2]. ¬g_ty³ &ð A_MASK ; 593 `dehoi¡ ( ¬g ,2); 594 cmd -> ucmd . acmd . ac_ex´ = ¬g [2]. ¬g_±r . ¬g_¬g ; 595 cmd -> c_ex´ = ¬g [1]. ¬g_±r . ¬g_¬g ; 596 ià( ¬g -> ¬g_ty³ =ð O_OR ) 597 cmd -> c_æags ^ð CF_INVERT ; 598 ¬g -> ¬g_Ën = 0; 599 `ä“_¬g ( ¬g ); 600 ¬g = cmd -> c_ex´ ; 605 ià(!( cmd -> c_æags & CF_TERM )) { 606  ¬g -> ¬g_ty³ =ð O_NOT ) { 607 `dehoi¡ ( ¬g ,1); 608 cmd -> c_æags ^ð CF_INVERT ; 609 cmd -> c_ex´ = ¬g [1]. ¬g_±r . ¬g_¬g ; 610 `ä“_¬g ( ¬g ); 611 ¬g = cmd -> c_ex´ ; 615 ià(! ¬g -> ¬g_Ën ) { 616 cmd -> c_æags |ð Ýt ; 622 ià( ¬g -> ¬g_ty³ =ð O_FLIP ) 623 cÚ‹xt |= 4; 627 mÜecÚ‹xt : 628 ià( ¬g -> ¬g_ty³ =ð O_AND ) 629 cÚ‹xt |= 1; 630 ià( ¬g -> ¬g_ty³ =ð O_OR ) 631 cÚ‹xt |= 2; 632 ià( cÚ‹xt && ( ¬g [ æp ]. ¬g_ty³ & A_MASK è=ð A_EXPR ) { 633 ¬g =‡rg[ æp ]. ¬g_±r . ¬g_¬g ; 634 æp = 1; 635 ià( ¬g -> ¬g_ty³ =ð O_AND ||‡rg->¬g_ty³ =ð O_OR ) 636  mÜecÚ‹xt ; 638 ià(( cÚ‹xt & 3) == 3) 641 ià( ¬g [ æp ]. ¬g_æags & ( AF_PRE | AF_POST )) { 642 cmd -> c_æags |ð Ýt ; 643 ià( acmd && ! cmd -> ucmd .acmd. ac_ex´ && !(cmd-> c_æags & CF_TERM ) 644 && cmd -> c_ex´ -> ¬g_ty³ =ð O_ITEM ) { 645 ¬g [ æp ]. ¬g_æags &ð~ AF_POST ; 646 ¬g [ æp ]. ¬g_æags |ð AF_PRE ; 651 ià( ¬g -> ¬g_ty³ =ð O_ITEM ||‡rg->¬g_ty³ =ð O_FLIP || 652 ¬g -> ¬g_ty³ =ð O_AND ||‡rg->¬g_ty³ =ð O_OR ) { 653 ià(( ¬g [ æp ]. ¬g_ty³ & A_MASK è=ð A_SINGLE ) { 654 Ýt = ( `¡r_Œue ( ¬g [ æp ]. ¬g_±r . ¬g_¡r è? CFT_TRUE : CFT_FALSE ); 655 cmd -> c_shÜt = `¡r_smake ( ¬g [ æp ]. ¬g_±r . ¬g_¡r ); 656  l™”® ; 658 ià(( ¬g [ æp ]. ¬g_ty³ & A_MASK è=ð A_STAB || 659 ( ¬g [ æp ]. ¬g_ty³ & A_MASK è=ð A_LVAL ) { 660 cmd -> c_¡ab = ¬g [ æp ]. ¬g_±r . ¬g_¡ab ; 661 ià(! cÚ‹xt ) 662 ¬g [ æp ]. ¬g_±r . ¬g_¡ab = NuΡab ; 663 Ýt = CFT_REG ; 664 l™”® : 665 ià(! cÚ‹xt ) { 666 `¬g_ä“ ( ¬g ); 667 cmd -> c_ex´ = Nuάg ; 669 ià(!( cÚ‹xt & 1)) 670 cmd -> c_æags |ð CF_EQSURE ; 671 ià(!( cÚ‹xt & 2)) 672 cmd -> c_æags |ð CF_NESURE ; 675 ià( ¬g -> ¬g_ty³ =ð O_MATCH ||‡rg->¬g_ty³ =ð O_SUBST || 676 ¬g -> ¬g_ty³ =ð O_NMATCH ||‡rg->¬g_ty³ =ð O_NSUBST ) { 677 ià(( ¬g [1]. ¬g_ty³ =ð A_STAB ||‡rg[1].¬g_ty³ =ð A_LVAL ) && 678 ( ¬g [2]. ¬g_ty³ & A_MASK è=ð A_SPAT && 679 ¬g [2]. ¬g_±r . ¬g_¥© -> ¥©_shÜt ) { 680 cmd -> c_¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 681 cmd -> c_shÜt = `¡r_smake ( ¬g [2]. ¬g_±r . ¬g_¥© -> ¥©_shÜt ); 682 cmd -> c_¦’ = ¬g [2]. ¬g_±r . ¬g_¥© -> ¥©_¦’ ; 683 ià( ¬g [2]. ¬g_±r . ¬g_¥© -> ¥©_æags & SPAT_ALL && 684 !( ¬g [2]. ¬g_±r . ¬g_¥© -> ¥©_æags & SPAT_ONCE ) && 685 ( ¬g -> ¬g_ty³ =ð O_MATCH ||‡rg->¬g_ty³ =ð O_NMATCH ) ) 686 su» |ð CF_EQSURE ; 688 ià( ¬g -> ¬g_ty³ !ð O_SUBST ) { 689 ¬g [2]. ¬g_±r . ¬g_¥© -> ¥©_shÜt = NuΡr ; 690 ¬g [2]. ¬g_±r . ¬g_¥© -> ¥©_¦’ = 0; 692 su» |ð CF_NESURE ; 693 ià( ¬g -> ¬g_ty³ =ð O_NMATCH ||‡rg->¬g_ty³ =ð O_NSUBST ) 694 cmd -> c_æags |ð CF_FIRSTNEG ; 695 ià( cÚ‹xt & 1) { 696 ià( cmd -> c_æags & CF_FIRSTNEG ) 697 su» &ð~ CF_NESURE ; 699 su» &ð~ CF_EQSURE ; 701 ià( cÚ‹xt & 2) { 702 ià( cmd -> c_æags & CF_FIRSTNEG ) 703 su» &ð~ CF_EQSURE ; 705 su» &ð~ CF_NESURE ; 707 ià( su» & ( CF_EQSURE | CF_NESURE )) { 708 ià( ¬g [2]. ¬g_±r . ¬g_¥© -> ¥©_æags & SPAT_SCANFIRST ) 709 Ýt = CFT_SCAN ; 711 Ýt = CFT_ANCHOR ; 712 ià( su» =ð( CF_EQSURE | CF_NESURE ) 713 && ¬g -> ¬g_ty³ =ð O_MATCH 714 && cÚ‹xt & 4 715 && æ�ÜæÝ == 1) { 716 `¥©_ä“ ( ¬g [2]. ¬g_±r . ¬g_¥© ); 717 ¬g [2]. ¬g_±r . ¬g_¥© = NuÎ¥© ; 720 cmd -> c_¥© = ¬g [2]. ¬g_±r . ¬g_¥© ; 721 cmd -> c_æags |ð su» ; 725 ià( ¬g -> ¬g_ty³ =ð O_SEQ ||‡rg->¬g_ty³ =ð O_SNE || 726 ¬g -> ¬g_ty³ =ð O_SLT ||‡rg->¬g_ty³ =ð O_SGT ) { 727 ià( ¬g [1]. ¬g_ty³ =ð A_STAB ||‡rg[1].¬g_ty³ =ð A_LVAL ) { 728 ià( ¬g [2]. ¬g_ty³ =ð A_SINGLE ) { 729 * junk = `¡r_g‘ ( ¬g [2]. ¬g_±r . ¬g_¡r ); 731 cmd -> c_¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 732 cmd -> c_shÜt = `¡r_smake ( ¬g [2]. ¬g_±r . ¬g_¡r ); 733 cmd -> c_¦’ = cmd-> c_shÜt -> ¡r_cur +1; 734  ¬g -> ¬g_ty³ ) { 735  O_SLT :  O_SGT : 736 su» |ð CF_EQSURE ; 737 cmd -> c_æags |ð CF_FIRSTNEG ; 739  O_SNE : 740 cmd -> c_æags |ð CF_FIRSTNEG ; 742  O_SEQ : 743 su» |ð CF_NESURE | CF_EQSURE ; 746 ià( cÚ‹xt & 1) { 747 ià( cmd -> c_æags & CF_FIRSTNEG ) 748 su» &ð~ CF_NESURE ; 750 su» &ð~ CF_EQSURE ; 752 ià( cÚ‹xt & 2) { 753 ià( cmd -> c_æags & CF_FIRSTNEG ) 754 su» &ð~ CF_EQSURE ; 756 su» &ð~ CF_NESURE ; 758 ià( su» & ( CF_EQSURE | CF_NESURE )) { 759 Ýt = CFT_STROP ; 760 cmd -> c_æags |ð su» ; 765 ià( ¬g -> ¬g_ty³ =ð O_EQ ||‡rg->¬g_ty³ =ð O_NE || 766 ¬g -> ¬g_ty³ =ð O_LE ||‡rg->¬g_ty³ =ð O_GE || 767 ¬g -> ¬g_ty³ =ð O_LT ||‡rg->¬g_ty³ =ð O_GT ) { 768 ià( ¬g [1]. ¬g_ty³ =ð A_STAB ||‡rg[1].¬g_ty³ =ð A_LVAL ) { 769 ià( ¬g [2]. ¬g_ty³ =ð A_SINGLE ) { 770 cmd -> c_¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 771 ià( dow¬n ) { 772 STR * ¡r = ¬g [2]. ¬g_±r . ¬g_¡r ; 774 ià((! ¡r -> ¡r_nok && ! `looks_like_numb” (str))) 775 `w¬n ("Possible use of == on string value"); 777 cmd -> c_shÜt = `¡r_nmake ( `¡r_gnum ( ¬g [2]. ¬g_±r . ¬g_¡r )); 778 cmd -> c_¦’ = ¬g -> ¬g_ty³ ; 779 su» |ð CF_NESURE | CF_EQSURE ; 780 ià( cÚ‹xt & 1) { 781 su» &ð~ CF_EQSURE ; 783 ià( cÚ‹xt & 2) { 784 su» &ð~ CF_NESURE ; 786 ià( su» & ( CF_EQSURE | CF_NESURE )) { 787 Ýt = CFT_NUMOP ; 788 cmd -> c_æags |ð su» ; 793 ià( ¬g -> ¬g_ty³ =ð O_ASSIGN && 794 ( ¬g [1]. ¬g_ty³ =ð A_STAB ||‡rg[1].¬g_ty³ =ð A_LVAL ) && 795 ¬g [1]. ¬g_±r . ¬g_¡ab =ð def¡ab && 796 ¬g [2]. ¬g_ty³ =ð A_EXPR ) { 797 ¬g2 = ¬g [2]. ¬g_±r . ¬g_¬g ; 798 ià( ¬g2 -> ¬g_ty³ =ð O_ITEM &&‡rg2[1].¬g_ty³ =ð A_READ ) { 799 Ýt = CFT_GETS ; 800 cmd -> c_¡ab = ¬g2 [1]. ¬g_±r . ¬g_¡ab ; 801 ià(!( `¡ab_io ( ¬g2 [1]. ¬g_±r . ¬g_¡ab )-> æags & IOF_ARGV )) { 802 `ä“_¬g ( ¬g2 ); 803 ¬g [2]. ¬g_±r . ¬g_¬g = Nuάg ; 804 `ä“_¬g ( ¬g ); 805 cmd -> c_ex´ = Nuάg ; 809 ià( ¬g -> ¬g_ty³ =ð O_CHOP && 810 ( ¬g [1]. ¬g_ty³ =ð A_STAB ||‡rg[1].¬g_ty³ =ð A_LVAL ) ) { 811 Ýt = CFT_CHOP ; 812 cmd -> c_¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 813 `ä“_¬g ( ¬g ); 814 cmd -> c_ex´ = Nuάg ; 816 ià( cÚ‹xt & 4) 817 Ýt |ð CF_FLIP ; 818 cmd -> c_æags |ð Ýt ; 820 ià( cmd -> c_æags & CF_FLIP ) { 821 ià( æ�ÜæÝ == 1) { 822 ¬g = cmd -> c_ex´ ; 823 `New (110, ¬g [3]. ¬g_±r . ¬g_cmd , 1, CMD ); 824 `CÝy ( cmd , ¬g [3]. ¬g_±r . ¬g_cmd , 1, CMD ); 825 `New (111, ¬g [4]. ¬g_±r . ¬g_cmd ,1, CMD ); 826 `CÝy ( cmd , ¬g [4]. ¬g_±r . ¬g_cmd , 1, CMD ); 827 `Ýt_¬g ( ¬g [4]. ¬g_±r . ¬g_cmd ,2, acmd ); 828 ¬g -> ¬g_Ën = 2; 831 ià(( Ýt & CF_OPTIMIZE è=ð CFT_EVAL ) 832 cmd -> c_æags = (cmd->c_æag & ~ CF_OPTIMIZE è| CFT_UNFLIP ; 835 } } 837 CMD * 838 $add_Ïb– ( lbl , cmd ) 839 * lbl ; 840  CMD * cmd ; 842 ià( cmd ) 843 cmd -> c_Ïb– = lbl ; 844  cmd ; 845 } } 847 CMD * 848 $addcÚd ( cmd , ¬g ) 849  CMD * cmd ; 850  ARG * ¬g ; 852 cmd -> c_ex´ = ¬g ; 853 cmd -> c_æags |ð CF_COND ; 854  cmd ; 855 } } 857 CMD * 858 $addloÝ ( cmd , ¬g ) 859  CMD * cmd ; 860  ARG * ¬g ; 862  `whže_io (); 864 cmd -> c_ex´ = ¬g ; 865 cmd -> c_æags |ð CF_COND | CF_LOOP ; 867 ià(!( cmd -> c_æags & CF_INVERT )) 868 `whže_io ( cmd ); 870 ià( cmd -> c_ty³ =ð C_BLOCK ) 871 cmd -> c_æags &ð~ CF_COND ; 873 ¬g = cmd -> ucmd . acmd . ac_ex´ ; 874 ià( ¬g &&‡rg-> ¬g_ty³ =ð O_ITEM &&‡rg[1].¬g_ty³ =ð A_CMD ) 875 cmd -> c_æags &ð~ CF_COND ; 876 ià( ¬g && (¬g-> ¬g_æags & AF_DEPR ) && 877 ( ¬g -> ¬g_ty³ =ð O_SUBR ||‡rg->¬g_ty³ =ð O_DBSUBR ) ) 878 cmd -> c_æags &ð~ CF_COND ; 880  cmd ; 881 } } 883 CMD * 884 $šv”t ( cmd ) 885 CMD * cmd ; 887  CMD * �rg = cmd ; 888 ià( �rg -> c_h—d ) 889 �rg =�¬g-> c_h—d ; 890 ià( �rg -> c_æags & CF_DBSUB ) 891 �rg =�¬g-> c_Ãxt ; 892 �rg -> c_æags ^ð CF_INVERT ; 893  cmd ; 894 } } 896 $yy”rÜ ( s ) 897 * s ; 899  tmpbuf [258]; 900  tmp2buf [258]; 901 * Šame = tmpbuf ; 903 ià( buåŒ > ÞdÞdbuåŒ && bufptr - oldoldbufptr < 200 && 904 ÞdÞdbuåŒ !ð ÞdbuåŒ && oldbuåŒ !ð buåŒ ) { 905  `is¥aû (* ÞdÞdbuåŒ )) 906 ÞdÞdbuåŒ ++; 907 `¡ºýy ( tmp2buf , ÞdÞdbuåŒ , buåŒ - oldoldbufptr); 908 tmp2buf [ buåŒ - ÞdÞdbuåŒ ] = '\0'; 909 `¥rštf ( Šame ,"Ãxˆ2�ok’ \"%s\"", tmp2buf ); 911 ià( buåŒ > ÞdbuåŒ && bufptr - oldbufptr < 200 && 912 ÞdbuåŒ !ð buåŒ ) { 913  `is¥aû (* ÞdbuåŒ )) 914 ÞdbuåŒ ++; 915 `¡ºýy ( tmp2buf , ÞdbuåŒ , buåŒ - oldbufptr); 916 tmp2buf [ buåŒ - ÞdbuåŒ ] = '\0'; 917 `¥rštf ( Šame ,"Ãxˆtok’ \"%s\"", tmp2buf ); 919 ià( yych¬ > 256) 920 Šame = "next�oken ???"; 921 ià(! yych¬ ) 922 () `¡rýy ( Šame ,"at EOF"); 923 ià( yych¬ < 32) 924 () `¥rštf ( Šame ,"Ãxˆch¬ ^%c", yych¬ +64); 925 ià( yych¬ == 127) 926 () `¡rýy ( Šame ,"at EOF"); 928 () `¥rštf ( Šame ,"Ãxˆch¬ %c", yych¬ ); 929 () `¥rštf ( buf , "%s in file %s‡t†ine %d, %s\n", 930 s , `¡ab_v® ( curcmd -> c_fže¡ab )-> ¡r_±r ,curcmd-> c_lše , Šame ); 931 ià( curcmd -> c_lše =ð muÉi_’d && muÉi_¡¬t < multi_end) 932 `¥rštf ( buf + `¡¾’ (buf), 934 muÉi_Ý’ , muÉi_þo£ , muÉi_¡¬t ); 935 ià( š_ev® ) 936 `¡r_ÿt ( `¡ab_v® ( `¡ab’t ("@", TRUE )), buf ); 938 `åuts ( buf , ¡d”r ); 939 ià(++ ”rÜ_couÁ >= 10) 940 `ç�l ("%s has�oo manyƒrrors.\n", 941 `¡ab_v® ( curcmd -> c_fže¡ab )-> ¡r_±r ); 942 } } 945 $whže_io ( cmd ) 946  CMD * cmd ; 948  ARG * ¬g = cmd -> c_ex´ ; 949 STAB * asgn¡ab ; 953 ià( ¬g &&‡rg-> ¬g_ty³ =ð O_ITEM &&‡rg[1].¬g_ty³ =ð A_READ ) { 954 cmd -> c_æags &ð~ CF_OPTIMIZE ; 955 cmd -> c_æags |ð CFT_GETS ; 956 cmd -> c_¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 957 ià( `¡ab_io ( ¬g [1]. ¬g_±r . ¬g_¡ab )-> æags & IOF_ARGV ) { 958 cmd -> c_ex´ = `l ( `make_Ý ( O_ASSIGN , 2, 959 `¡ab2¬g ( A_LVAL , def¡ab ), ¬g , Nuάg )); 962 `ä“_¬g ( ¬g ); 963 cmd -> c_ex´ = Nuάg ; 966 ià( ¬g &&‡rg-> ¬g_ty³ =ð O_ITEM &&‡rg[1].¬g_ty³ =ð A_INDREAD ) { 967 cmd -> c_æags &ð~ CF_OPTIMIZE ; 968 cmd -> c_æags |ð CFT_INDGETS ; 969 cmd -> c_¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 970 `ä“_¬g ( ¬g ); 971 cmd -> c_ex´ = Nuάg ; 973 ià( ¬g &&‡rg-> ¬g_ty³ =ð O_ITEM &&‡rg[1].¬g_ty³ =ð A_GLOB ) { 974 ià(( cmd -> c_æags & CF_OPTIMIZE è=ð CFT_ARRAY ) 975 asgn¡ab = cmd -> c_¡ab ; 977 asgn¡ab = def¡ab ; 978 cmd -> c_ex´ = `l ( `make_Ý ( O_ASSIGN , 2, 979 `¡ab2¬g ( A_LVAL , asgn¡ab ), ¬g , Nuάg )); 980 cmd -> c_æags &ð~ CF_OPTIMIZE ; 982 } } 984 CMD * 985 $wÝt ( cmd ) 986  CMD * cmd ; 988  CMD * �ž ; 989 CMD * Ãw�ž ; 990  i ; 992 ià( cmd -> c_ex´ && (cmd-> c_æags & CF_OPTIMIZE è=ð CFT_FALSE ) 993 `Ýt_¬g ( cmd ,1, cmd-> c_ty³ =ð C_EXPR ); 995 `whže_io ( cmd ); 999 �ž = cmd -> ucmd . ccmd . cc_Œue ; 1000 ià( �ž =ð NuÎcmd ) 1001  cmd ; 1002 `New (112, Ãw�ž , 1, CMD ); 1005 ià( �ž -> c_ty³ =ð C_EXPR && 1006 �ž -> ucmd . acmd . ac_ex´ && 1007 �ž -> ucmd . acmd . ac_ex´ -> ¬g_ty³ =ð O_NEXT && 1008 ( �ž -> ucmd . acmd . ac_ex´ -> ¬g_Ën == 0 || 1009 ( cmd -> c_Ïb– && 1010 `¡rEQ ( cmd -> c_Ïb– , 1011 �ž -> ucmd . acmd . ac_ex´ [1]. ¬g_±r . ¬g_¡r -> ¡r_±r ) ))) 1013 `¬g_ä“ ( �ž -> ucmd . acmd . ac_ex´ ); 1014 �ž -> ucmd . acmd . ac_ex´ = Nuάg ; 1015 �ž -> c_ty³ = C_NEXT ; 1016 ià( cmd -> ucmd . ccmd . cc_®t !ð NuÎcmd ) 1017 �ž -> ucmd . ccmd . cc_®t = cmd ->ucmd.ccmd.cc_alt; 1019 �ž -> ucmd . ccmd . cc_®t = Ãw�ž ; 1020 �ž -> ucmd . ccmd . cc_Œue = NuÎcmd ; 1022 ià( �ž -> c_ty³ =ð C_IF && !�ž-> ucmd . ccmd . cc_®t ) { 1023 ià( cmd -> ucmd . ccmd . cc_®t !ð NuÎcmd ) 1024 �ž -> ucmd . ccmd . cc_®t = cmd ->ucmd.ccmd.cc_alt; 1026 �ž -> ucmd . ccmd . cc_®t = Ãw�ž ; 1028 ià( �ž -> c_ty³ =ð C_CSWITCH ||�až->c_ty³ =ð C_NSWITCH ) { 1029 ià( cmd -> ucmd . ccmd . cc_®t !ð NuÎcmd ) { 1030  i = �ž -> ucmd . scmd . sc_max ; i >= 0; i--) 1031 ià(! �ž -> ucmd . scmd . sc_Ãxt [ i ]) 1032 �ž -> ucmd . scmd . sc_Ãxt [ i ] = cmd ->ucmd. ccmd . cc_®t ; 1035  i = �ž -> ucmd . scmd . sc_max ; i >= 0; i--) 1036 ià(! �ž -> ucmd . scmd . sc_Ãxt [ i ]) 1037 �ž -> ucmd . scmd . sc_Ãxt [ i ] = Ãw�ž ; 1041 ià(! �ž -> c_Ãxt ) 1043 �ž =�až-> c_Ãxt ; 1048 ià( cmd -> ucmd . ccmd . cc_®t !ð NuÎcmd ) { 1049 �ž -> c_Ãxt = cmd -> ucmd . ccmd . cc_®t ; 1050 �ž =�až-> c_Ãxt ; 1053 ià( �ž -> c_ty³ =ð C_EXPR && 1054 �ž -> ucmd . acmd . ac_ex´ && 1055 �ž -> ucmd . acmd . ac_ex´ -> ¬g_ty³ =ð O_NEXT && 1056 ( �ž -> ucmd . acmd . ac_ex´ -> ¬g_Ën == 0 || 1057 ( cmd -> c_Ïb– && 1058 `¡rEQ ( cmd -> c_Ïb– , 1059 �ž -> ucmd . acmd . ac_ex´ [1]. ¬g_±r . ¬g_¡r -> ¡r_±r ) ))) 1061 `¬g_ä“ ( �ž -> ucmd . acmd . ac_ex´ ); 1062 �ž -> ucmd . acmd . ac_ex´ = Nuάg ; 1063 �ž -> c_ty³ = C_NEXT ; 1064 �ž -> ucmd . ccmd . cc_®t = Ãw�ž ; 1065 �ž -> ucmd . ccmd . cc_Œue = NuÎcmd ; 1067 ià( �ž -> c_ty³ =ð C_IF && !�ž-> ucmd . ccmd . cc_®t ) { 1068 �ž -> ucmd . ccmd . cc_®t = Ãw�ž ; 1070 ià( �ž -> c_ty³ =ð C_CSWITCH ||�až->c_ty³ =ð C_NSWITCH ) { 1071  i = �ž -> ucmd . scmd . sc_max ; i >= 0; i--) 1072 ià(! �ž -> ucmd . scmd . sc_Ãxt [ i ]) 1073 �ž -> ucmd . scmd . sc_Ãxt [ i ] = Ãw�ž ; 1076 ià(! �ž -> c_Ãxt ) 1078 �ž =�až-> c_Ãxt ; 1080  ; �ž -> c_Ãxt ;�ail =�ail->c_next) ; 1089 �ž -> c_Ãxt = Ãw�ž ; 1090 �ž = Ãw�ž ; 1091 ià(! cmd -> ucmd . ccmd . cc_®t ) 1092 cmd -> ucmd . ccmd . cc_®t = �ž ; 1094 #iâdeà lšt 1095 () `bcÝy ((*) cmd , (*) �ž , ( CMD )); 1097 �ž -> c_ty³ = C_EXPR ; 1098 �ž -> c_æags ^ð CF_INVERT ; 1099 �ž -> c_Ãxt =�až-> ucmd . ccmd . cc_Œue ; 1100 �ž -> ucmd . acmd . ac_ex´ = `make_Ý ( O_LAST ,0, Nuάg ,Nullarg,Nullarg); 1101 �ž -> ucmd . acmd . ac_¡ab = NuΡab ; 1102  cmd ; 1103 } } 1105 CMD * 1106 $ov” ( —ch¡ab , cmd ) 1107 STAB * —ch¡ab ; 1108  CMD * cmd ; 1112 cmd -> c_æags &ð~ CF_OPTIMIZE ; 1113 cmd -> c_æags |ð CFT_ARRAY ; 1114 cmd -> c_¡ab = —ch¡ab ; 1115 cmd -> c_shÜt = `¡r_Ãw (0); 1116 cmd -> c_shÜt -> ¡r_u . ¡r_u£ful = -1; 1118  cmd ; 1119 } } 1121 $cmd_ä“ ( cmd ) 1122  CMD * cmd ; 1124  CMD * toä“ ; 1125  CMD * h—d = cmd ; 1127  cmd ) { 1128 ià( cmd -> c_ty³ !ð C_WHILE ) { 1129 ià( cmd -> c_Ïb– ) { 1130 `Saãä“ ( cmd -> c_Ïb– ); 1131 cmd -> c_Ïb– = NuÎch ; 1133 ià( cmd -> c_shÜt ) { 1134 `¡r_ä“ ( cmd -> c_shÜt ); 1135 cmd -> c_shÜt = NuΡr ; 1137 ià( cmd -> c_ex´ ) { 1138 `¬g_ä“ ( cmd -> c_ex´ ); 1139 cmd -> c_ex´ = Nuάg ; 1142  cmd -> c_ty³ ) { 1143  C_WHILE : 1144  C_BLOCK : 1145  C_ELSE : 1146  C_IF : 1147 ià( cmd -> ucmd . ccmd . cc_Œue ) { 1148 `cmd_ä“ ( cmd -> ucmd . ccmd . cc_Œue ); 1149 cmd -> ucmd . ccmd . cc_Œue = NuÎcmd ; 1152  C_EXPR : 1153 ià( cmd -> ucmd . acmd . ac_ex´ ) { 1154 `¬g_ä“ ( cmd -> ucmd . acmd . ac_ex´ ); 1155 cmd -> ucmd . acmd . ac_ex´ = Nuάg ; 1159 toä“ = cmd ; 1160 cmd = cmd-> c_Ãxt ; 1161 ià( toä“ !ð h—d ) 1162 `Saãä“ ( toä“ ); 1163 ià( cmd && cmd =ð h—d ) 1166 `Saãä“ ( h—d ); 1167 } } 1169 $¬g_ä“ ( ¬g ) 1170  ARG * ¬g ; 1172  i ; 1174  i = 1; i <ð ¬g -> ¬g_Ën ; i++) { 1175  ¬g [ i ]. ¬g_ty³ & A_MASK ) { 1176  A_NULL : 1177 ià( ¬g -> ¬g_ty³ =ð O_TRANS ) { 1178 `Saãä“ ( ¬g [ i ]. ¬g_±r . ¬g_cv® ); 1179 ¬g [ i ]. ¬g_±r . ¬g_cv® = NuÎch ; 1182  A_LEXPR : 1183 ià( ¬g -> ¬g_ty³ =ð O_AASSIGN && 1184 ¬g [ i ]. ¬g_±r . ¬g_¬g -> ¬g_ty³ =ð O_LARRAY ) { 1185 * Çme = 1186 `¡ab_Çme ( ¬g [ i ]. ¬g_±r . ¬g_¬g [1].¬g_±r. ¬g_¡ab ); 1188 ià( `¡ºEQ ("_GEN_", Çme , 5)) 1189 `hd–‘e ( def¡ash , Çme , `¡¾’ (name)); 1192  A_EXPR : 1193 `¬g_ä“ ( ¬g [ i ]. ¬g_±r . ¬g_¬g ); 1194 ¬g [ i ]. ¬g_±r . ¬g_¬g = Nuάg ; 1196  A_CMD : 1197 `cmd_ä“ ( ¬g [ i ]. ¬g_±r . ¬g_cmd ); 1198 ¬g [ i ]. ¬g_±r . ¬g_cmd = NuÎcmd ; 1200  A_WORD : 1201  A_STAB : 1202  A_LVAL : 1203  A_READ : 1204  A_GLOB : 1205  A_ARYLEN : 1206  A_LARYLEN : 1207  A_ARYSTAB : 1208  A_LARYSTAB : 1210  A_SINGLE : 1211  A_DOUBLE : 1212  A_BACKTICK : 1213 `¡r_ä“ ( ¬g [ i ]. ¬g_±r . ¬g_¡r ); 1214 ¬g [ i ]. ¬g_±r . ¬g_¡r = NuΡr ; 1216  A_SPAT : 1217 `¥©_ä“ ( ¬g [ i ]. ¬g_±r . ¬g_¥© ); 1218 ¬g [ i ]. ¬g_±r . ¬g_¥© = NuÎ¥© ; 1222 `ä“_¬g ( ¬g ); 1223 } } 1225 $¥©_ä“ ( ¥© ) 1226  SPAT * ¥© ; 1228  SPAT * ¥ ; 1229 HENT * ’Œy ; 1231 ià( ¥© -> ¥©_ruÁime ) { 1232 `¬g_ä“ ( ¥© -> ¥©_ruÁime ); 1233 ¥© -> ¥©_ruÁime = Nuάg ; 1235 ià( ¥© -> ¥©_»¶ ) { 1236 `¬g_ä“ ( ¥© -> ¥©_»¶ ); 1237 ¥© -> ¥©_»¶ = Nuάg ; 1239 ià( ¥© -> ¥©_shÜt ) { 1240 `¡r_ä“ ( ¥© -> ¥©_shÜt ); 1241 ¥© -> ¥©_shÜt = NuΡr ; 1243 ià( ¥© -> ¥©_»gexp ) { 1244 `»gä“ ( ¥© -> ¥©_»gexp ); 1245 ¥© -> ¥©_»gexp = `NuÎ ( REGEXP *); 1250  ’Œy = def¡ash -> tbl_¬¿y ['_'];ƒÁry;ƒÁry =ƒÁry-> h’t_Ãxt ) { 1251  HASH * ¡ash ; 1252 STAB * ¡ab = (STAB*) ’Œy -> h’t_v® ; 1254 ià(! ¡ab ) 1256 ¡ash = `¡ab_hash ( ¡ab ); 1257 ià(! ¡ash || s�sh-> tbl_¥©roÙ =ð `NuÎ ( SPAT *)) 1259 ià( ¡ash -> tbl_¥©roÙ =𠥩 ) 1260 ¡ash -> tbl_¥©roÙ = ¥© -> ¥©_Ãxt ; 1262  ¥ = ¡ash -> tbl_¥©roÙ ; 1263 ¥ && sp-> ¥©_Ãxt !𠥩 ; 1264 ¥ = sp-> ¥©_Ãxt ) 1266 ià( ¥ ) 1267 ¥ -> ¥©_Ãxt = ¥© ->spat_next; 1270 `Saãä“ ( ¥© ); 1271 } } 1278 $cmd_to§ve ( cmd , wžl§ve ) 1279  CMD * cmd ; 1280  wžl§ve ; 1282  CMD * h—d = cmd ; 1283  should§ve = FALSE ; 1284  tmp§ve ; 1285  CMD * Ï¡cmd = NuÎcmd ; 1287  cmd ) { 1288 ià( cmd -> c_ex´ ) 1289 should§ve |ð `¬g_to§ve ( cmd -> c_ex´ , wžl§ve ); 1290  cmd -> c_ty³ ) { 1291  C_WHILE : 1292 ià( cmd -> ucmd . ccmd . cc_Œue ) { 1293 tmp§ve = `cmd_to§ve ( cmd -> ucmd . ccmd . cc_Œue , wžl§ve ); 1298 ià( tmp§ve && ( cmd -> c_æags & CF_OPTIMIZE è=ð CFT_ARRAY ) { 1299 ià( Ï¡cmd && 1300 Ï¡cmd -> c_ty³ =ð C_EXPR && 1301 Ï¡cmd -> c_ex´ ) { 1302 ARG * ¬g = Ï¡cmd -> c_ex´ ; 1304 ià( ¬g -> ¬g_ty³ =ð O_ASSIGN && 1305 ¬g [1]. ¬g_ty³ =ð A_LEXPR && 1306 ¬g [1]. ¬g_±r . ¬g_¬g -> ¬g_ty³ =ð O_LARRAY && 1307 `¡ºEQ ("_GEN_", 1308 `¡ab_Çme ( 1309 ¬g [1]. ¬g_±r . ¬g_¬g [1].¬g_±r. ¬g_¡ab ), 1311 () `loÿlize ( ¬g ); 1317 () `­ush ( to§ve , cmd -> c_shÜt ); 1319 should§ve |ð tmp§ve ; 1322  C_BLOCK : 1323  C_ELSE : 1324  C_IF : 1325 ià( cmd -> ucmd . ccmd . cc_Œue ) 1326 should§ve |ð `cmd_to§ve ( cmd -> ucmd . ccmd . cc_Œue , wžl§ve ); 1328  C_EXPR : 1329 ià( cmd -> ucmd . acmd . ac_ex´ ) 1330 should§ve |ð `¬g_to§ve ( cmd -> ucmd . acmd . ac_ex´ , wžl§ve ); 1333 Ï¡cmd = cmd ; 1334 cmd = cmd-> c_Ãxt ; 1335 ià( cmd && cmd =ð h—d ) 1338  should§ve ; 1339 } } 1342 $¬g_to§ve ( ¬g , wžl§ve ) 1343  ARG * ¬g ; 1344  wžl§ve ; 1346  i ; 1347  should§ve = FALSE ; 1349  i = ¬g -> ¬g_Ën ; i >= 1; i--) { 1350  ¬g [ i ]. ¬g_ty³ & A_MASK ) { 1351  A_NULL : 1353  A_LEXPR : 1354  A_EXPR : 1355 should§ve |ð `¬g_to§ve ( ¬g [ i ]. ¬g_±r . ¬g_¬g ,shouldsave); 1357  A_CMD : 1358 should§ve |ð `cmd_to§ve ( ¬g [ i ]. ¬g_±r . ¬g_cmd ,shouldsave); 1360  A_WORD : 1361  A_STAB : 1362  A_LVAL : 1363  A_READ : 1364  A_GLOB : 1365  A_ARYLEN : 1366  A_SINGLE : 1367  A_DOUBLE : 1368  A_BACKTICK : 1370  A_SPAT : 1371 should§ve |ð `¥©_to§ve ( ¬g [ i ]. ¬g_±r . ¬g_¥© ); 1375  ¬g -> ¬g_ty³ ) { 1376  O_RETURN : 1377 §w_»tuº = TRUE ; 1379  O_EVAL : 1380  O_SUBR : 1381 should§ve = TRUE ; 1384 ià( wžl§ve ) 1385 () `­ush ( to§ve , ¬g -> ¬g_±r . ¬g_¡r ); 1386  should§ve ; 1387 } } 1390 $¥©_to§ve ( ¥© ) 1391  SPAT * ¥© ; 1393  should§ve = FALSE ; 1395 ià( ¥© -> ¥©_ruÁime ) 1396 should§ve |ð `¬g_to§ve ( ¥© -> ¥©_ruÁime , FALSE ); 1397 ià( ¥© -> ¥©_»¶ ) { 1398 should§ve |ð `¬g_to§ve ( ¥© -> ¥©_»¶ , FALSE ); 1401  should§ve ; 1402 } } @consarg.c 17  ~"EXTERN.h " 18  ~"³¾.h " 19  nÙhšg_š_commÚ (); 20  ¬g_commÚ (); 21  ¥©_commÚ (); 23 ARG * 24 $make_¥l™ ( ¡ab , ¬g , lim¬g ) 25  STAB * ¡ab ; 26  ARG * ¬g ; 27 ARG * lim¬g ; 29  SPAT * ¥© ; 31 ià( ¬g -> ¬g_ty³ !ð O_MATCH ) { 32 `Newz (201, ¥© ,1, SPAT ); 33 ¥© -> ¥©_Ãxt = cur¡ash -> tbl_¥©roÙ ; 34 cur¡ash -> tbl_¥©roÙ = ¥© ; 36 ¥© -> ¥©_ruÁime = ¬g ; 37 ¬g = `make_m©ch ( O_MATCH , `¡ab2¬g ( A_STAB , def¡ab ), ¥© ); 39 `R’ew ( ¬g ,4, ARG ); 40 ¬g -> ¬g_Ën = 3; 41 ià( lim¬g ) { 42 ià( lim¬g -> ¬g_ty³ =ð O_ITEM ) { 43 `CÝy ( lim¬g +1, ¬g +3,1, ARG ); 44 lim¬g [1]. ¬g_ty³ = A_NULL ; 45 `¬g_ä“ ( lim¬g ); 48 ¬g [3]. ¬g_æags = 0; 49 ¬g [3]. ¬g_ty³ = A_EXPR ; 50 ¬g [3]. ¬g_±r . ¬g_¬g = lim¬g ; 54 ¬g [3]. ¬g_ty³ = A_NULL ; 55 ¬g -> ¬g_ty³ = O_SPLIT ; 56 ¥© = ¬g [2]. ¬g_±r . ¬g_¥© ; 57 ¥© -> ¥©_»¶ = `¡ab2¬g ( A_STAB , `¯dd ( ¡ab )); 58 ià( ¥© -> ¥©_shÜt ) { 59 ià(!(( ¥© -> ¥©_æags & SPAT_SCANFIRST ) && 60 ( ¥© -> ¥©_æags & SPAT_ALL ) )) { 61 `¡r_ä“ ( ¥© -> ¥©_shÜt ); 62 ¥© -> ¥©_shÜt = NuΡr ; 65  ¬g ; 66 } } 68 ARG * 69 $mod_m©ch ( ty³ , Ëá , ·t ) 70  ARG * Ëá ; 71  ARG * ·t ; 74  SPAT * ¥© ; 75  ARG * Ãw¬g ; 77 ià(! ·t ) 78  Nuάg ; 80 ià(( ·t -> ¬g_ty³ =ð O_MATCH || 81 ·t -> ¬g_ty³ =ð O_SUBST || 82 ·t -> ¬g_ty³ =ð O_TRANS || 83 ·t -> ¬g_ty³ =ð O_SPLIT 85 ·t [1]. ¬g_±r . ¬g_¡ab =ð def¡ab ) { 86  ·t -> ¬g_ty³ ) { 87  O_MATCH : 88 Ãw¬g = `make_Ý ( ty³ =ð O_MATCH ? O_MATCH : O_NMATCH , 89 ·t -> ¬g_Ën , 90 Ëá , Nuάg ,Nullarg); 92  O_SUBST : 93 Ãw¬g = `l ( `make_Ý ( ty³ =ð O_MATCH ? O_SUBST : O_NSUBST , 94 ·t -> ¬g_Ën , 95 Ëá , Nuάg ,Nullarg)); 97  O_TRANS : 98 Ãw¬g = `l ( `make_Ý ( ty³ =ð O_MATCH ? O_TRANS : O_NTRANS , 99 ·t -> ¬g_Ën , 100 Ëá , Nuάg ,Nullarg)); 102  O_SPLIT : 103 Ãw¬g = `make_Ý ( ty³ =ð O_MATCH ? O_SPLIT : O_SPLIT, 104 ·t -> ¬g_Ën , 105 Ëá , Nuάg ,Nullarg); 108 ià( ·t -> ¬g_Ën >= 2) { 109 Ãw¬g [2]. ¬g_ty³ = ·t [2].arg_type; 110 Ãw¬g [2]. ¬g_±r = ·t [2].arg_ptr; 111 Ãw¬g [2]. ¬g_Ën = ·t [2].arg_len; 112 Ãw¬g [2]. ¬g_æags = ·t [2].arg_flags; 113 ià( ·t -> ¬g_Ën >= 3) { 114 Ãw¬g [3]. ¬g_ty³ = ·t [3].arg_type; 115 Ãw¬g [3]. ¬g_±r = ·t [3].arg_ptr; 116 Ãw¬g [3]. ¬g_Ën = ·t [3].arg_len; 117 Ãw¬g [3]. ¬g_æags = ·t [3].arg_flags; 120 `ä“_¬g ( ·t ); 123 `Newz (202, ¥© ,1, SPAT ); 124 ¥© -> ¥©_Ãxt = cur¡ash -> tbl_¥©roÙ ; 125 cur¡ash -> tbl_¥©roÙ = ¥© ; 127 ¥© -> ¥©_ruÁime = ·t ; 128 Ãw¬g = `make_Ý ( ty³ ,2, Ëá , Nuάg ,Nullarg); 129 Ãw¬g [2]. ¬g_ty³ = A_SPAT | A_DONT ; 130 Ãw¬g [2]. ¬g_±r . ¬g_¥© = ¥© ; 133  Ãw¬g ; 134 } } 136 ARG * 137 $make_Ý ( ty³ , ÃwËn , ¬g1 , ¬g2 , ¬g3 ) 138  ty³ ; 139  ÃwËn ; 140 ARG * ¬g1 ; 141 ARG * ¬g2 ; 142 ARG * ¬g3 ; 144  ARG * ¬g ; 145  ARG * chld ; 146  dßrg ; 147  i ; 148 ARG * ¬g4 ; 149 ARG * ¬g5 ; 151 ¬g = `Ý_Ãw ( ÃwËn ); 152 ¬g -> ¬g_ty³ = ty³ ; 153 ià( chld = ¬g1 ) { 154 ià( chld -> ¬g_ty³ =ð O_ITEM && 155 ( hoi¡abË [ i = ( chld [1]. ¬g_ty³ & A_MASK )] || i =ð A_LVAL || 156 ( i =ð A_LEXPR && 157 ( chld [1]. ¬g_±r . ¬g_¬g -> ¬g_ty³ =ð O_LIST || 158 chld [1]. ¬g_±r . ¬g_¬g -> ¬g_ty³ =ð O_ARRAY || 159 chld [1]. ¬g_±r . ¬g_¬g -> ¬g_ty³ =ð O_HASH )))) 161 ¬g [1]. ¬g_ty³ = chld [1].arg_type; 162 ¬g [1]. ¬g_±r = chld [1].arg_ptr; 163 ¬g [1]. ¬g_æags |ð chld [1].arg_flags; 164 ¬g [1]. ¬g_Ën = chld [1].arg_len; 165 `ä“_¬g ( chld ); 168 ¬g [1]. ¬g_ty³ = A_EXPR ; 169 ¬g [1]. ¬g_±r . ¬g_¬g = chld ; 172 ià( chld = ¬g2 ) { 173 ià( chld -> ¬g_ty³ =ð O_ITEM && 174 ( hoi¡abË [ chld [1]. ¬g_ty³ & A_MASK ] || 175 ( ty³ =ð O_ASSIGN && 176 (( chld [1]. ¬g_ty³ =ð A_READ && !( ¬g [1].¬g_ty³ & A_DONT )) 178 ( chld [1]. ¬g_ty³ =ð A_INDREAD && !( ¬g [1].¬g_ty³ & A_DONT )) 180 ( chld [1]. ¬g_ty³ =ð A_GLOB && !( ¬g [1].¬g_ty³ & A_DONT )) 182 ¬g [2]. ¬g_ty³ = chld [1].arg_type; 183 ¬g [2]. ¬g_±r = chld [1].arg_ptr; 184 ¬g [2]. ¬g_Ën = chld [1].arg_len; 185 `ä“_¬g ( chld ); 188 ¬g [2]. ¬g_ty³ = A_EXPR ; 189 ¬g [2]. ¬g_±r . ¬g_¬g = chld ; 192 ià( chld = ¬g3 ) { 193 ià( chld -> ¬g_ty³ =ð O_ITEM && hoi¡abË [chld[1].¬g_ty³& A_MASK ]) { 194 ¬g [3]. ¬g_ty³ = chld [1].arg_type; 195 ¬g [3]. ¬g_±r = chld [1].arg_ptr; 196 ¬g [3]. ¬g_Ën = chld [1].arg_len; 197 `ä“_¬g ( chld ); 200 ¬g [3]. ¬g_ty³ = A_EXPR ; 201 ¬g [3]. ¬g_±r . ¬g_¬g = chld ; 204 ià( ÃwËn >ð4 && ( chld = ¬g4 )) { 205 ià( chld -> ¬g_ty³ =ð O_ITEM && hoi¡abË [chld[1].¬g_ty³& A_MASK ]) { 206 ¬g [4]. ¬g_ty³ = chld [1].arg_type; 207 ¬g [4]. ¬g_±r = chld [1].arg_ptr; 208 ¬g [4]. ¬g_Ën = chld [1].arg_len; 209 `ä“_¬g ( chld ); 212 ¬g [4]. ¬g_ty³ = A_EXPR ; 213 ¬g [4]. ¬g_±r . ¬g_¬g = chld ; 216 ià( ÃwËn >ð5 && ( chld = ¬g5 )) { 217 ià( chld -> ¬g_ty³ =ð O_ITEM && hoi¡abË [chld[1].¬g_ty³& A_MASK ]) { 218 ¬g [5]. ¬g_ty³ = chld [1].arg_type; 219 ¬g [5]. ¬g_±r = chld [1].arg_ptr; 220 ¬g [5]. ¬g_Ën = chld [1].arg_len; 221 `ä“_¬g ( chld ); 224 ¬g [5]. ¬g_ty³ = A_EXPR ; 225 ¬g [5]. ¬g_±r . ¬g_¬g = chld ; 228 dßrg = ݬgs [ ty³ ]; 229  i = 1; i <ð ÃwËn ; ++i) { 230 ià(!( dßrg & 1)) 231 ¬g [ i ]. ¬g_ty³ |ð A_DONT ; 232 ià( dßrg & 2) 233 ¬g [ i ]. ¬g_æags |ð AF_ARYOK ; 234 dßrg >>= 2; 236 #ifdeà DEBUGGING 237 ià( debug & 16) { 238 `årštf ( ¡d”r ,"%lx <ðmake_Ý(%s", ¬g , ÝÇme [¬g-> ¬g_ty³ ]); 239 ià( ¬g1 ) 240 `årštf ( ¡d”r ,",%s=%lx", 241 ¬gÇme [ ¬g [1]. ¬g_ty³ & A_MASK ],¬g[1]. ¬g_±r . ¬g_¬g ); 242 ià( ¬g2 ) 243 `årštf ( ¡d”r ,",%s=%lx", 244 ¬gÇme [ ¬g [2]. ¬g_ty³ & A_MASK ],¬g[2]. ¬g_±r . ¬g_¬g ); 245 ià( ¬g3 ) 246 `årštf ( ¡d”r ,",%s=%lx", 247 ¬gÇme [ ¬g [3]. ¬g_ty³ & A_MASK ],¬g[3]. ¬g_±r . ¬g_¬g ); 248 ià( ÃwËn >= 4) 249 `årštf ( ¡d”r ,",%s=%lx", 250 ¬gÇme [ ¬g [4]. ¬g_ty³ & A_MASK ],¬g[4]. ¬g_±r . ¬g_¬g ); 251 ià( ÃwËn >= 5) 252 `årštf ( ¡d”r ,",%s=%lx", 253 ¬gÇme [ ¬g [5]. ¬g_ty³ & A_MASK ],¬g[5]. ¬g_±r . ¬g_¬g ); 254 `årštf ( ¡d”r ,")\n"); 257 `ev®¡©ic ( ¬g ); 258  ¬g ; 259 } } 262 $ev®¡©ic ( ¬g ) 263  ARG * ¬g ; 265  STR * ¡r ; 266  STR * s1 ; 267  STR * s2 ; 268  v®ue ; 269 * tmps ; 270  i ; 271  tm¶Úg ; 272  tmp2 ; 273  `exp (), `log (), `sq¹ (), `modf (); 274 * `üy± (); 275  `sš (), `cos (), `©ª2 (), `pow (); 277 ià(! ¬g || !¬g-> ¬g_Ën ) 280 ià(( ¬g [1]. ¬g_ty³ =ð A_SINGLE ||‡rg->¬g_ty³ =ð O_AELEM ) && 281 ( ¬g -> ¬g_Ën =ð1 ||‡rg[2]. ¬g_ty³ =ð A_SINGLE ) ) { 282 ¡r = `SŒ_Ãw (20,0); 283 s1 = ¬g [1]. ¬g_±r . ¬g_¡r ; 284 ià( ¬g -> ¬g_Ën > 1) 285 s2 = ¬g [2]. ¬g_±r . ¬g_¡r ; 287 s2 = NuΡr ; 288  ¬g -> ¬g_ty³ ) { 289  O_AELEM : 290 i = () `¡r_gnum ( s2 ); 291 ià( i < 32767 && i >= 0) { 292 ¬g -> ¬g_ty³ = O_ITEM ; 293 ¬g -> ¬g_Ën = 1; 294 ¬g [1]. ¬g_ty³ = A_ARYSTAB ; 295 ¬g [1]. ¬g_Ën = i ; 296 `¡r_ä“ ( s2 ); 297 ¬g [2]. ¬g_ty³ = A_NULL ; 298 ¬g [2]. ¬g_±r . ¬g_¡r = NuΡr ; 302 `¡r_ä“ ( ¡r ); 303 ¡r = NuΡr ; 305  O_CONCAT : 306 `¡r_s£t ( ¡r , s1 ); 307 `¡r_sÿt ( ¡r , s2 ); 309  O_REPEAT : 310 i = () `¡r_gnum ( s2 ); 311 tmps = `¡r_g‘ ( s1 ); 312 `¡r_n£t ( ¡r ,"",0); 313 `STR_GROW ( ¡r , i * s1 -> ¡r_cur + 1); 314 `»³©ýy ( ¡r -> ¡r_±r , tmps , s1 -> ¡r_cur , i ); 315 ¡r -> ¡r_cur = i * s1 ->str_cur; 316 ¡r -> ¡r_±r [¡r-> ¡r_cur ] = '\0'; 318  O_MULTIPLY : 319 v®ue = `¡r_gnum ( s1 ); 320 `¡r_num£t ( ¡r , v®ue * `¡r_gnum ( s2 )); 322  O_DIVIDE : 323 v®ue = `¡r_gnum ( s2 ); 324 ià( v®ue == 0.0) 325 `yy”rÜ ("Illegal division by constant zero"); 327 #ifdeà üay 330  x ; 331  k ; 332 x = `¡r_gnum ( s1 ); 333 ià(()() x == x && 334 ()() v®ue == value && 335 ( k = () x /() v®ue )*()value == ()x) { 336 v®ue = k ; 338 v®ue = x /value; 340 `¡r_num£t ( ¡r , v®ue ); 343 `¡r_num£t ( ¡r , `¡r_gnum ( s1 è/ v®ue ); 346  O_MODULO : 347 tm¶Úg = () `¡r_gnum ( s2 ); 348 ià( tm¶Úg == 0L) { 349 `yy”rÜ ("Illegal modulus of constant zero"); 352 tmp2 = () `¡r_gnum ( s1 ); 353 #iâdeà lšt 354 ià( tmp2 >= 0) 355 `¡r_num£t ( ¡r ,()( tmp2 % tm¶Úg )); 357 `¡r_num£t ( ¡r ,()(( tm¶Úg -((- tmp2 - 1) %�mplong)) - 1)); 359 tmp2 =�mp2; 362  O_ADD : 363 v®ue = `¡r_gnum ( s1 ); 364 `¡r_num£t ( ¡r , v®ue + `¡r_gnum ( s2 )); 366  O_SUBTRACT : 367 v®ue = `¡r_gnum ( s1 ); 368 `¡r_num£t ( ¡r , v®ue - `¡r_gnum ( s2 )); 370  O_LEFT_SHIFT : 371 v®ue = `¡r_gnum ( s1 ); 372 i = () `¡r_gnum ( s2 ); 373 #iâdeà lšt 374 `¡r_num£t ( ¡r ,()((() v®ue è<< i )); 377  O_RIGHT_SHIFT : 378 v®ue = `¡r_gnum ( s1 ); 379 i = () `¡r_gnum ( s2 ); 380 #iâdeà lšt 381 `¡r_num£t ( ¡r ,()((() v®ue è>> i )); 384  O_LT : 385 v®ue = `¡r_gnum ( s1 ); 386 `¡r_num£t ( ¡r ,( v®ue < `¡r_gnum ( s2 )) ? 1.0 : 0.0); 388  O_GT : 389 v®ue = `¡r_gnum ( s1 ); 390 `¡r_num£t ( ¡r ,( v®ue > `¡r_gnum ( s2 )) ? 1.0 : 0.0); 392  O_LE : 393 v®ue = `¡r_gnum ( s1 ); 394 `¡r_num£t ( ¡r ,( v®ue <ð `¡r_gnum ( s2 )) ? 1.0 : 0.0); 396  O_GE : 397 v®ue = `¡r_gnum ( s1 ); 398 `¡r_num£t ( ¡r ,( v®ue >ð `¡r_gnum ( s2 )) ? 1.0 : 0.0); 400  O_EQ : 401 ià( dow¬n ) { 402 ià((! s1 -> ¡r_nok && ! `looks_like_numb” (s1)) || 403 (! s2 -> ¡r_nok && ! `looks_like_numb” (s2)) ) 404 `w¬n ("Possible use of == on string value"); 406 v®ue = `¡r_gnum ( s1 ); 407 `¡r_num£t ( ¡r ,( v®ue =ð `¡r_gnum ( s2 )) ? 1.0 : 0.0); 409  O_NE : 410 v®ue = `¡r_gnum ( s1 ); 411 `¡r_num£t ( ¡r ,( v®ue !ð `¡r_gnum ( s2 )) ? 1.0 : 0.0); 413  O_NCMP : 414 v®ue = `¡r_gnum ( s1 ); 415 v®ue -ð `¡r_gnum ( s2 ); 416 ià( v®ue > 0.0) 417 v®ue = 1.0; 418 ià( v®ue < 0.0) 419 v®ue = -1.0; 420 `¡r_num£t ( ¡r , v®ue ); 422  O_BIT_AND : 423 v®ue = `¡r_gnum ( s1 ); 424 #iâdeà lšt 425 `¡r_num£t ( ¡r ,()( `U_L ( v®ue è& U_L( `¡r_gnum ( s2 )))); 428  O_XOR : 429 v®ue = `¡r_gnum ( s1 ); 430 #iâdeà lšt 431 `¡r_num£t ( ¡r ,()( `U_L ( v®ue è^ U_L( `¡r_gnum ( s2 )))); 434  O_BIT_OR : 435 v®ue = `¡r_gnum ( s1 ); 436 #iâdeà lšt 437 `¡r_num£t ( ¡r ,()( `U_L ( v®ue è| U_L( `¡r_gnum ( s2 )))); 440  O_AND : 441 ià( `¡r_Œue ( s1 )) 442 `¡r_s£t ( ¡r , s2 ); 444 `¡r_s£t ( ¡r , s1 ); 446  O_OR : 447 ià( `¡r_Œue ( s1 )) 448 `¡r_s£t ( ¡r , s1 ); 450 `¡r_s£t ( ¡r , s2 ); 452  O_COND_EXPR : 453 ià(( ¬g [3]. ¬g_ty³ & A_MASK è!ð A_SINGLE ) { 454 `¡r_ä“ ( ¡r ); 455 ¡r = NuΡr ; 458 ià( `¡r_Œue ( s1 )) 459 `¡r_s£t ( ¡r , s2 ); 461 `¡r_s£t ( ¡r , ¬g [3]. ¬g_±r . ¬g_¡r ); 462 `¡r_ä“ ( ¬g [3]. ¬g_±r . ¬g_¡r ); 463 ¬g [3]. ¬g_±r . ¬g_¡r = NuΡr ; 466  O_NEGATE : 467 `¡r_num£t ( ¡r ,()(- `¡r_gnum ( s1 ))); 469  O_NOT : 470 `¡r_num£t ( ¡r ,()(! `¡r_Œue ( s1 ))); 472  O_COMPLEMENT : 473 #iâdeà lšt 474 `¡r_num£t ( ¡r ,()(~ `U_L ( `¡r_gnum ( s1 )))); 477  O_SIN : 478 `¡r_num£t ( ¡r , `sš ( `¡r_gnum ( s1 ))); 480  O_COS : 481 `¡r_num£t ( ¡r , `cos ( `¡r_gnum ( s1 ))); 483  O_ATAN2 : 484 v®ue = `¡r_gnum ( s1 ); 485 `¡r_num£t ( ¡r , `©ª2 ( v®ue , `¡r_gnum ( s2 ))); 487  O_POW : 488 v®ue = `¡r_gnum ( s1 ); 489 `¡r_num£t ( ¡r , `pow ( v®ue , `¡r_gnum ( s2 ))); 491  O_LENGTH : 492 `¡r_num£t ( ¡r , () `¡r_Ën ( s1 )); 494  O_SLT : 495 `¡r_num£t ( ¡r ,()( `¡r_cmp ( s1 , s2 ) < 0)); 497  O_SGT : 498 `¡r_num£t ( ¡r ,()( `¡r_cmp ( s1 , s2 ) > 0)); 500  O_SLE : 501 `¡r_num£t ( ¡r ,()( `¡r_cmp ( s1 , s2 ) <= 0)); 503  O_SGE : 504 `¡r_num£t ( ¡r ,()( `¡r_cmp ( s1 , s2 ) >= 0)); 506  O_SEQ : 507 `¡r_num£t ( ¡r ,()( `¡r_eq ( s1 , s2 ))); 509  O_SNE : 510 `¡r_num£t ( ¡r ,()(! `¡r_eq ( s1 , s2 ))); 512  O_SCMP : 513 `¡r_num£t ( ¡r ,()( `¡r_cmp ( s1 , s2 ))); 515  O_CRYPT : 516 #ifdeà HAS_CRYPT 517 tmps = `¡r_g‘ ( s1 ); 518 `¡r_£t ( ¡r , `üy± ( tmps , `¡r_g‘ ( s2 ))); 520 `yy”rÜ ( 524  O_EXP : 525 `¡r_num£t ( ¡r , `exp ( `¡r_gnum ( s1 ))); 527  O_LOG : 528 `¡r_num£t ( ¡r , `log ( `¡r_gnum ( s1 ))); 530  O_SQRT : 531 `¡r_num£t ( ¡r , `sq¹ ( `¡r_gnum ( s1 ))); 533  O_INT : 534 v®ue = `¡r_gnum ( s1 ); 535 ià( v®ue >= 0.0) 536 () `modf ( v®ue ,&value); 538 () `modf (- v®ue ,&value); 539 v®ue = -value; 541 `¡r_num£t ( ¡r , v®ue ); 543  O_ORD : 544 #iâdeà I286 545 `¡r_num£t ( ¡r ,()(* `¡r_g‘ ( s1 ))); 548  z­c ; 549 * z­s ; 551 z­s = `¡r_g‘ ( s1 ); 552 z­c = (è* z­s ; 553 `¡r_num£t ( ¡r ,()( z­c )); 558 ià( ¡r ) { 559 ¬g -> ¬g_ty³ = O_ITEM ; 560 `¡r_ä“ ( s1 ); 561 ¬g [1]. ¬g_±r . ¬g_¡r = ¡r ; 562 ià( s2 ) { 563 `¡r_ä“ ( s2 ); 564 ¬g [2]. ¬g_±r . ¬g_¡r = NuΡr ; 565 ¬g [2]. ¬g_ty³ = A_NULL ; 569 } } 571 ARG * 572 $l ( ¬g ) 573  ARG * ¬g ; 575  i ; 576  ARG * ¬g1 ; 577  ARG * ¬g2 ; 578 SPAT * ¥© ; 579  ¬ghog = 0; 581 i = ¬g [1]. ¬g_ty³ & A_MASK ; 583 ¬g -> ¬g_æags |ð AF_COMMON ; 586 ià( i =ð A_ARYLEN ) { 587 ¬g [1]. ¬g_ty³ = A_LARYLEN ; 588  ¬g ; 590 ià( i =ð A_ARYSTAB ) { 591 ¬g [1]. ¬g_ty³ = A_LARYSTAB ; 592  ¬g ; 597 ià( i =ð A_EXPR || i =ð A_LEXPR ) { 598 ¬g1 = ¬g [1]. ¬g_±r . ¬g_¬g ; 600 ià( ¬g1 -> ¬g_ty³ =ð O_LIST ||‡rg1->¬g_ty³ =ð O_ITEM ) { 602 ià( ¬g -> ¬g_Ën > 1) { 603 `dehoi¡ ( ¬g ,2); 604 ¬g2 = ¬g [2]. ¬g_±r . ¬g_¬g ; 605 ià( `nÙhšg_š_commÚ ( ¬g1 , ¬g2 )) 606 ¬g -> ¬g_æags &ð~ AF_COMMON ; 607 ià( ¬g -> ¬g_ty³ =ð O_ASSIGN ) { 608 ià( ¬g1 -> ¬g_æags & AF_LOCAL ) 609 ¬g -> ¬g_æags |ð AF_LOCAL ; 610 ¬g [1]. ¬g_æags |ð AF_ARYOK ; 611 ¬g [2]. ¬g_æags |ð AF_ARYOK ; 614 ià( ¬g -> ¬g_ty³ !ð O_CHOP ) 615 ¬g -> ¬g_ty³ = O_ASSIGN ; 616  i = ¬g1 -> ¬g_Ën ; i >= 1; i--) { 617  ¬g1 [ i ]. ¬g_ty³ ) { 618  A_STAR :  A_LSTAR : 619 ¬g1 [ i ]. ¬g_ty³ = A_LSTAR ; 621  A_STAB :  A_LVAL : 622 ¬g1 [ i ]. ¬g_ty³ = A_LVAL ; 624  A_ARYLEN :  A_LARYLEN : 625 ¬g1 [ i ]. ¬g_ty³ = A_LARYLEN ; 627  A_ARYSTAB :  A_LARYSTAB : 628 ¬g1 [ i ]. ¬g_ty³ = A_LARYSTAB ; 630  A_EXPR :  A_LEXPR : 631 ¬g1 [ i ]. ¬g_ty³ = A_LEXPR ; 632  ¬g1 [ i ]. ¬g_±r . ¬g_¬g -> ¬g_ty³ ) { 633  O_ARRAY :  O_LARRAY : 634 ¬g1 [ i ]. ¬g_±r . ¬g_¬g -> ¬g_ty³ = O_LARRAY ; 635 ¬ghog = 1; 637  O_AELEM :  O_LAELEM : 638 ¬g1 [ i ]. ¬g_±r . ¬g_¬g -> ¬g_ty³ = O_LAELEM ; 640  O_HASH :  O_LHASH : 641 ¬g1 [ i ]. ¬g_±r . ¬g_¬g -> ¬g_ty³ = O_LHASH ; 642 ¬ghog = 1; 644  O_HELEM :  O_LHELEM : 645 ¬g1 [ i ]. ¬g_±r . ¬g_¬g -> ¬g_ty³ = O_LHELEM ; 647  O_ASLICE :  O_LASLICE : 648 ¬g1 [ i ]. ¬g_±r . ¬g_¬g -> ¬g_ty³ = O_LASLICE ; 650  O_HSLICE :  O_LHSLICE : 651 ¬g1 [ i ]. ¬g_±r . ¬g_¬g -> ¬g_ty³ = O_LHSLICE ; 654  žl_™em ; 658 žl_™em : 659 () `¥rštf ( tok’buf , "Illegal item (%s)‡s†value", 660 ¬gÇme [ ¬g1 [ i ]. ¬g_ty³ & A_MASK ]); 661 `yy”rÜ ( tok’buf ); 664 ià( ¬g -> ¬g_Ën > 1) { 665 ià( ¬g2 -> ¬g_ty³ =ð O_SPLIT && !¬g2[3].¬g_ty³ && ! ¬ghog ) { 666 ¬g2 [3]. ¬g_ty³ = A_SINGLE ; 667 ¬g2 [3]. ¬g_±r . ¬g_¡r = 668 `¡r_nmake (() ¬g1 -> ¬g_Ën + 1); 672 ià( ¬g1 -> ¬g_ty³ =ð O_AELEM ||‡rg1->¬g_ty³ =ð O_LAELEM ) 673 ià( ¬g -> ¬g_ty³ =ð O_DEFINED ) 674 ¬g1 -> ¬g_ty³ = O_AELEM ; 676 ¬g1 -> ¬g_ty³ = O_LAELEM ; 677 ià( ¬g1 -> ¬g_ty³ =ð O_ARRAY ||‡rg1->¬g_ty³ =ð O_LARRAY ) { 678 ¬g1 -> ¬g_ty³ = O_LARRAY ; 679 ià( ¬g -> ¬g_Ën > 1) { 680 `dehoi¡ ( ¬g ,2); 681 ¬g2 = ¬g [2]. ¬g_±r . ¬g_¬g ; 682 ià( ¬g2 -> ¬g_ty³ =ð O_SPLIT ) { 683 ¥© = ¬g2 [2]. ¬g_±r . ¬g_¥© ; 684 ià(!( ¥© -> ¥©_æags & SPAT_ONCE ) && 685 `nÙhšg_š_commÚ ( ¬g1 , ¥© -> ¥©_»¶ )) { 686 ¥© -> ¥©_»¶ [1]. ¬g_±r . ¬g_¡ab = 687 ¬g1 [1]. ¬g_±r . ¬g_¡ab ; 688 ¬g1 [1]. ¬g_±r . ¬g_¡ab = NuΡab ; 689 ¥© -> ¥©_æags |ð SPAT_ONCE ; 690 `¬g_ä“ ( ¬g1 ); 691 ¬g [1]. ¬g_±r . ¬g_¬g = Nuάg ; 692 `ä“_¬g ( ¬g ); 693  ¬g2 ; 696 ià( `nÙhšg_š_commÚ ( ¬g1 , ¬g2 )) 697 ¬g -> ¬g_æags &ð~ AF_COMMON ; 698 ià( ¬g -> ¬g_ty³ =ð O_ASSIGN ) { 699 ¬g [1]. ¬g_æags |ð AF_ARYOK ; 700 ¬g [2]. ¬g_æags |ð AF_ARYOK ; 703 ià( ¬g -> ¬g_ty³ =ð O_ASSIGN ) 704 ¬g [1]. ¬g_æags |ð AF_ARYOK ; 706 ià( ¬g1 -> ¬g_ty³ =ð O_HELEM ||‡rg1->¬g_ty³ =ð O_LHELEM ) 707 ià( ¬g -> ¬g_ty³ =ð O_DEFINED ) 708 ¬g1 -> ¬g_ty³ = O_HELEM ; 710 ¬g1 -> ¬g_ty³ = O_LHELEM ; 711 ià( ¬g1 -> ¬g_ty³ =ð O_HASH ||‡rg1->¬g_ty³ =ð O_LHASH ) { 712 ¬g1 -> ¬g_ty³ = O_LHASH ; 713 ià( ¬g -> ¬g_Ën > 1) { 714 `dehoi¡ ( ¬g ,2); 715 ¬g2 = ¬g [2]. ¬g_±r . ¬g_¬g ; 716 ià( `nÙhšg_š_commÚ ( ¬g1 , ¬g2 )) 717 ¬g -> ¬g_æags &ð~ AF_COMMON ; 718 ià( ¬g -> ¬g_ty³ =ð O_ASSIGN ) { 719 ¬g [1]. ¬g_æags |ð AF_ARYOK ; 720 ¬g [2]. ¬g_æags |ð AF_ARYOK ; 723 ià( ¬g -> ¬g_ty³ =ð O_ASSIGN ) 724 ¬g [1]. ¬g_æags |ð AF_ARYOK ; 726 ià( ¬g1 -> ¬g_ty³ =ð O_ASLICE ) { 727 ¬g1 -> ¬g_ty³ = O_LASLICE ; 728 ià( ¬g -> ¬g_ty³ =ð O_ASSIGN ) { 729 `dehoi¡ ( ¬g ,2); 730 ¬g [1]. ¬g_æags |ð AF_ARYOK ; 731 ¬g [2]. ¬g_æags |ð AF_ARYOK ; 734 ià( ¬g1 -> ¬g_ty³ =ð O_HSLICE ) { 735 ¬g1 -> ¬g_ty³ = O_LHSLICE ; 736 ià( ¬g -> ¬g_ty³ =ð O_ASSIGN ) { 737 `dehoi¡ ( ¬g ,2); 738 ¬g [1]. ¬g_æags |ð AF_ARYOK ; 739 ¬g [2]. ¬g_æags |ð AF_ARYOK ; 742 ià(( ¬g -> ¬g_ty³ =ð O_DEFINED ||‡rg->¬g_ty³ =ð O_UNDEF ) && 743 ( ¬g1 -> ¬g_ty³ =ð( ³¾db ? O_DBSUBR : O_SUBR )) ) { 744 ¬g [1]. ¬g_ty³ |ð A_DONT ; 746 ià( ¬g1 -> ¬g_ty³ =ð O_SUBSTR ||‡rg1->¬g_ty³ =ð O_VEC ) { 747 () `l ( ¬g1 ); 748 `R’ewc ( ¬g1 -> ¬g_±r . ¬g_¡r , 1,  l¡ršg , STR ); 751 ià( ¬g1 -> ¬g_ty³ =ð O_ASSIGN ) { 756 () `¥rštf ( tok’buf , 757 "IÎeg®ƒx´essiÚ (%sèa lv®ue", ÝÇme [ ¬g1 -> ¬g_ty³ ]); 758 `yy”rÜ ( tok’buf ); 760 ¬g [1]. ¬g_ty³ = A_LEXPR | (¬g[1].¬g_ty³ & A_DONT ); 761 ià( ¬g -> ¬g_ty³ =ð O_ASSIGN && ( ¬g1 [1]. ¬g_æags & AF_ARYOK )) { 762 ¬g [1]. ¬g_æags |ð AF_ARYOK ; 763 ià( ¬g -> ¬g_Ën > 1) 764 ¬g [2]. ¬g_æags |ð AF_ARYOK ; 766 #ifdeà DEBUGGING 767 ià( debug & 16) 768 `årštf ( ¡d”r ,"lval LEXPR\n"); 770  ¬g ; 772 ià( i =ð A_STAR || i =ð A_LSTAR ) { 773 ¬g [1]. ¬g_ty³ = A_LSTAR | (¬g[1].¬g_ty³ & A_DONT ); 774  ¬g ; 779 ià( i !ð A_STAB && i !ð A_LVAL ) { 780 () `¥rštf ( tok’buf , 781 "IÎeg® i‹m (%sèa lv®ue", ¬gÇme [ ¬g [1]. ¬g_ty³ & A_MASK ]); 782 `yy”rÜ ( tok’buf ); 784 ¬g [1]. ¬g_ty³ = A_LVAL | (¬g[1].¬g_ty³ & A_DONT ); 785 #ifdeà DEBUGGING 786 ià( debug & 16) 787 `årštf ( ¡d”r ,"lval LVAL\n"); 789  ¬g ; 790 } } 792 ARG * 793 $fixl ( ty³ , ¬g ) 794  ty³ ; 795 ARG * ¬g ; 797 ià( ty³ =ð O_DEFINED ||�y³ =ð O_UNDEF ) { 798 ià( ¬g -> ¬g_ty³ !ð O_ITEM ) 799 ¬g = `hide_¬y (arg); 800 ià( ¬g -> ¬g_ty³ =ð O_ITEM ) { 801 ty³ = ¬g [1]. ¬g_ty³ & A_MASK ; 802 ià( ty³ =ð A_EXPR ||�y³ =ð A_LEXPR ) 803 ¬g [1]. ¬g_ty³ = A_LEXPR | A_DONT ; 806  ¬g ; 807 } } 809 $dehoi¡ ( ¬g , i ) 810 ARG * ¬g ; 812 ARG * tm·rg ; 814 ià( ¬g [ i ]. ¬g_ty³ !ð A_EXPR ) { 815 tm·rg = `make_Ý ( O_ITEM ,1, Nuάg ,Nullarg,Nullarg); 816 tm·rg [1] = ¬g [ i ]; 817 ¬g [ i ]. ¬g_±r . ¬g_¬g = tm·rg ; 818 ¬g [ i ]. ¬g_ty³ = A_EXPR ; 820 } } 822 ARG * 823 $addæags ( i , æags , ¬g ) 824  ARG * ¬g ; 826 ¬g [ i ]. ¬g_æags |ð æags ; 827  ¬g ; 828 } } 830 ARG * 831 $hide_¬y ( ¬g ) 832 ARG * ¬g ; 834 ià( ¬g -> ¬g_ty³ =ð O_ARRAY ||‡rg->¬g_ty³ =ð O_HASH ) 835  `make_Ý ( O_ITEM ,1, ¬g , Nuάg ,Nullarg); 836  ¬g ; 837 } } 841 ARG * 842 $jmaybe ( ¬g ) 843  ARG * ¬g ; 845 ià( ¬g &&‡rg-> ¬g_ty³ =ð O_COMMA ) { 846 ¬g = `li¡ish (arg); 847 ¬g = `make_Ý ( O_JOIN , 2, 848 `¡ab2¬g ( A_STAB , `¡ab’t (";", TRUE )), 849 `make_li¡ ( ¬g ), 850 Nuάg ); 852  ¬g ; 853 } } 855 ARG * 856 $make_li¡ ( ¬g ) 857  ARG * ¬g ; 859  i ; 860  ARG * node ; 861  ARG * nxŠode ; 862  j ; 863 STR * tmp¡r ; 865 ià(! ¬g ) { 866 ¬g = `Ý_Ãw (0); 867 ¬g -> ¬g_ty³ = O_LIST ; 869 ià( ¬g -> ¬g_ty³ !ð O_COMMA ) { 870 ià( ¬g -> ¬g_ty³ !ð O_ARRAY ) 871 ¬g -> ¬g_æags |ð AF_LISTISH ; 872 ¬g -> ¬g_æags |ð AF_LISTISH ; 873  ¬g ; 875  i = 2, node = ¬g ; ; i++) { 876 ià( node -> ¬g_Ën < 2) 878 ià( node [1]. ¬g_ty³ !ð A_EXPR ) 880 node =‚ode[1]. ¬g_±r . ¬g_¬g ; 881 ià( node -> ¬g_ty³ !ð O_COMMA ) 884 ià( i > 2) { 885 node = ¬g ; 886 ¬g = `Ý_Ãw ( i ); 887 tmp¡r = ¬g -> ¬g_±r . ¬g_¡r ; 888 #ifdeà STRUCTCOPY 889 * ¬g = * node ; 891 () `bcÝy ((*) node , (*) ¬g , ( ARG )); 893 ¬g -> ¬g_±r . ¬g_¡r = tmp¡r ; 894  j = i ; ; ) { 895 #ifdeà STRUCTCOPY 896 ¬g [ j ] = node [2]; 898 () `bcÝy ((*)( node +2), (*)( ¬g + j ), ( ARG )); 900 ¬g [ j ]. ¬g_æags |ð AF_ARYOK ; 901 -- j ; 902 ià( j < 2) { 903 #ifdeà STRUCTCOPY 904 ¬g [1] = node [1]; 906 () `bcÝy ((*)( node +1), (*)( ¬g +1), ( ARG )); 908 `ä“_¬g ( node ); 911 nxŠode = node [1]. ¬g_±r . ¬g_¬g ; 912 `ä“_¬g ( node ); 913 node = nxŠode ; 916 ¬g [1]. ¬g_æags |ð AF_ARYOK ; 917 ¬g [2]. ¬g_æags |ð AF_ARYOK ; 918 ¬g -> ¬g_ty³ = O_LIST ; 919 ¬g -> ¬g_Ën = i ; 920  ¬g ; 921 } } 925 ARG * 926 $li¡ish ( ¬g ) 927 ARG * ¬g ; 929 ià( ¬g -> ¬g_æags & AF_LISTISH ) 930 ¬g = `make_Ý ( O_LIST ,1,¬g, Nuάg ,Nullarg); 931  ¬g ; 932 } } 934 ARG * 935 $mayb–i¡ish ( Ýty³ , ¬g ) 936  Ýty³ ; 937 ARG * ¬g ; 939 ARG * tm·rg = ¬g ; 941 ià( Ýty³ =ð O_RETURN && ¬g -> ¬g_ty³ =ð O_ITEM && 942 ¬g [1]. ¬g_ty³ =ð A_EXPR && ( tm·rg =‡rg[1]. ¬g_±r . ¬g_¬g ) && 943 (( tm·rg -> ¬g_æags & AF_LISTISH è|| (tm·rg-> ¬g_ty³ =ð O_ARRAY ) )) { 944 tm·rg = `li¡ish (tmparg); 945 `ä“_¬g ( ¬g ); 946 ¬g = tm·rg ; 948 ià( Ýty³ =ð O_PRTF || 949 ( ¬g -> ¬g_ty³ =ð O_ASLICE ||‡rg->¬g_ty³ =ð O_HSLICE || 950 ¬g -> ¬g_ty³ =ð O_F_OR_R ) ) 951 ¬g = `li¡ish (arg); 952  ¬g ; 953 } } 957 ARG * 958 $loÿlize ( ¬g ) 959 ARG * ¬g ; 961 ¬g -> ¬g_æags |ð AF_LOCAL ; 962  ¬g ; 963 } } 965 ARG * 966 $rÿtmaybe ( ¬g ) 967 ARG * ¬g ; 969 ARG * ¬g2 ; 971 ià( ¬g -> ¬g_ty³ =ð O_CONCAT &&‡rg[2].¬g_ty³ =ð A_EXPR ) { 972 ¬g2 = ¬g [2]. ¬g_±r . ¬g_¬g ; 973 ià( ¬g2 -> ¬g_ty³ =ð O_ITEM &&‡rg2[1].¬g_ty³ =ð A_READ ) { 974 ¬g -> ¬g_ty³ = O_RCAT ; 975 ¬g [2]. ¬g_ty³ = ¬g2 [1].arg_type; 976 ¬g [2]. ¬g_±r = ¬g2 [1].arg_ptr; 977 `ä“_¬g ( ¬g2 ); 980  ¬g ; 981 } } 983 ARG * 984 $¡ab2¬g ( ©y³ , ¡ab ) 985  ©y³ ; 986  STAB * ¡ab ; 988  ARG * ¬g ; 990 ¬g = `Ý_Ãw (1); 991 ¬g -> ¬g_ty³ = O_ITEM ; 992 ¬g [1]. ¬g_ty³ = ©y³ ; 993 ¬g [1]. ¬g_±r . ¬g_¡ab = ¡ab ; 994  ¬g ; 995 } } 997 ARG * 998 $cv®_to_¬g ( cv® ) 999 * cv® ; 1001  ARG * ¬g ; 1003 ¬g = `Ý_Ãw (1); 1004 ¬g -> ¬g_ty³ = O_ITEM ; 1005 ¬g [1]. ¬g_ty³ = A_SINGLE ; 1006 ¬g [1]. ¬g_±r . ¬g_¡r = `¡r_make ( cv® ,0); 1007 `Saãä“ ( cv® ); 1008  ¬g ; 1009 } } 1011 ARG * 1012 $Ý_Ãw ( num¬gs ) 1013  num¬gs ; 1015  ARG * ¬g ; 1017 `Newz (203, ¬g , num¬gs + 1, ARG ); 1018 ¬g -> ¬g_±r . ¬g_¡r = `SŒ_Ãw (21,0); 1019 ¬g -> ¬g_Ën = num¬gs ; 1020  ¬g ; 1021 } } 1024 $ä“_¬g ( ¬g ) 1025 ARG * ¬g ; 1027 `¡r_ä“ ( ¬g -> ¬g_±r . ¬g_¡r ); 1028 `Saãä“ ( ¬g ); 1029 } } 1031 ARG * 1032 $make_m©ch ( ty³ , ex´ , ¥© ) 1033  ty³ ; 1034 ARG * ex´ ; 1035 SPAT * ¥© ; 1037  ARG * ¬g ; 1039 ¬g = `make_Ý ( ty³ ,2, ex´ , Nuάg ,Nullarg); 1041 ¬g [2]. ¬g_ty³ = A_SPAT | A_DONT ; 1042 ¬g [2]. ¬g_±r . ¬g_¥© = ¥© ; 1043 #ifdeà DEBUGGING 1044 ià( debug & 16) 1045 `årštf ( ¡d”r ,"make_m©ch SPAT=%lx\n",() ¥© ); 1048 ià( ty³ =ð O_SUBST ||�y³ =ð O_NSUBST ) { 1049 ià( ¬g [1]. ¬g_ty³ !ð A_STAB ) { 1050 `yy”rÜ ("Illegal†value"); 1052 ¬g [1]. ¬g_ty³ = A_LVAL ; 1054  ¬g ; 1055 } } 1057 ARG * 1058 $cmd_to_¬g ( cmd ) 1059 CMD * cmd ; 1061  ARG * ¬g ; 1063 ¬g = `Ý_Ãw (1); 1064 ¬g -> ¬g_ty³ = O_ITEM ; 1065 ¬g [1]. ¬g_ty³ = A_CMD ; 1066 ¬g [1]. ¬g_±r . ¬g_cmd = cmd ; 1067  ¬g ; 1068 } } 1073 $nÙhšg_š_commÚ ( ¬g1 , ¬g2 ) 1074 ARG * ¬g1 ; 1075 ARG * ¬g2 ; 1077  thi£x´ = 0; 1079 thi£x´ ++; 1080 ià( `¬g_commÚ ( ¬g1 , thi£x´ ,1)) 1082 `¡ab_Ï¡ex´ ( def¡ab èð thi£x´ ; 1083 ià( `¬g_commÚ ( ¬g2 , thi£x´ ,0)) 1086 } } 1093 $¬g_commÚ ( ¬g , ex´num , m¬kšg ) 1094  ARG * ¬g ; 1095  ex´num ; 1096  m¬kšg ; 1098  i ; 1100 ià(! ¬g ) 1102  i = ¬g -> ¬g_Ën ; i >= 1; i--) { 1103  ¬g [ i ]. ¬g_ty³ & A_MASK ) { 1104  A_NULL : 1106  A_LEXPR : 1107  A_EXPR : 1108 ià( `¬g_commÚ ( ¬g [ i ]. ¬g_±r . ¬g_¬g , ex´num , m¬kšg )) 1111  A_CMD : 1113  A_STAR : 1114  A_LSTAR : 1115  A_STAB : 1116  A_LVAL : 1117  A_ARYLEN : 1118  A_LARYLEN : 1119 ià( m¬kšg ) 1120 `¡ab_Ï¡ex´ ( ¬g [ i ]. ¬g_±r . ¬g_¡ab èð ex´num ; 1121 ià( `¡ab_Ï¡ex´ ( ¬g [ i ]. ¬g_±r . ¬g_¡ab è=ð ex´num ) 1124  A_DOUBLE : 1125  A_BACKTICK : 1127 * s = ¬g [ i ]. ¬g_±r . ¬g_¡r -> ¡r_±r ; 1128 * £nd = s + ¬g [ i ]. ¬g_±r . ¬g_¡r -> ¡r_cur ; 1129  STAB * ¡ab ; 1131 * s ) { 1132 ià(* s == '$' && s[1]) { 1133 s = `sÿnid’t (s, £nd , tok’buf ); 1134 ¡ab = `¡ab’t ( tok’buf , TRUE ); 1135 ià( m¬kšg ) 1136 `¡ab_Ï¡ex´ ( ¡ab èð ex´num ; 1137 ià( `¡ab_Ï¡ex´ ( ¡ab è=ð ex´num ) 1141 ià(* s == '\\' && s[1]) 1142 s ++; 1143 s ++; 1147  A_SPAT : 1148 ià( `¥©_commÚ ( ¬g [ i ]. ¬g_±r . ¬g_¥© , ex´num , m¬kšg )) 1151  A_READ : 1152  A_INDREAD : 1153  A_GLOB : 1154  A_WORD : 1155  A_SINGLE : 1159  ¬g -> ¬g_ty³ ) { 1160  O_ARRAY : 1161  O_LARRAY : 1162 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_STAB ) 1163 () `¯dd ( ¬g [1]. ¬g_±r . ¬g_¡ab ); 1165  O_HASH : 1166  O_LHASH : 1167 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_STAB ) 1168 () `hadd ( ¬g [1]. ¬g_±r . ¬g_¡ab ); 1170  O_EVAL : 1171  O_SUBR : 1172  O_DBSUBR : 1176 } } 1179 $¥©_commÚ ( ¥© , ex´num , m¬kšg ) 1180  SPAT * ¥© ; 1181  ex´num ; 1182  m¬kšg ; 1184 ià( ¥© -> ¥©_ruÁime ) 1185 ià( `¬g_commÚ ( ¥© -> ¥©_ruÁime , ex´num , m¬kšg )) 1187 ià( ¥© -> ¥©_»¶ ) { 1188 ià( `¬g_commÚ ( ¥© -> ¥©_»¶ , ex´num , m¬kšg )) 1192 } } @doarg.c 18  ~"EXTERN.h " 19  ~"³¾.h " 21 #ià! defšed ( NSIG è|| defšed( M_UNIX è|| defšed( M_XENIX ) 22  ~ 25  fÞd []; 27 #ifdeà BUGGY_MSC 28 #´agm¨ funùiÚ ( memcmp ) 32 $do_sub¡ ( ¡r , ¬g , ¥ ) 33 STR * ¡r ; 34 ARG * ¬g ; 35  ¥ ; 37  SPAT * ¥© ; 38 SPAT * r¥© ; 39  STR * d¡r ; 40 * s = `¡r_g‘ ( ¡r ); 41 * ¡»nd = s + ¡r -> ¡r_cur ; 42 * m ; 43 * c ; 44 * d ; 45  þ’ ; 46  ™”s = 0; 47  max™”s = ( ¡»nd - s ) + 10; 48  i ; 49 boÞ Úû ; 50 * Üig ; 51  §ãba£ ; 53 r¥© = ¥© = ¬g [2]. ¬g_±r . ¬g_¥© ; 54 ià(! ¥© || ! s ) 55 `ç�l ("panic: do_subst"); 56 ià( ¥© -> ¥©_ruÁime ) { 57 nošŒp = "|)"; 58 () `ev® ( ¥© -> ¥©_ruÁime , G_SCALAR , ¥ ); 59 m = `¡r_g‘ ( d¡r = ¡ack -> ¬y_¬¿y [ ¥ +1]); 60 nošŒp = ""; 61 ià( ¥© -> ¥©_»gexp ) { 62 `»gä“ ( ¥© -> ¥©_»gexp ); 63 ¥© -> ¥©_»gexp = `NuÎ ( REGEXP *); 65 ¥© -> ¥©_»gexp = `»gcomp ( m ,m+ d¡r -> ¡r_cur , 66 ¥© -> ¥©_æags & SPAT_FOLD ); 67 ià( ¥© -> ¥©_æags & SPAT_KEEP ) { 68 `¬g_ä“ ( ¥© -> ¥©_ruÁime ); 69 ¥© -> ¥©_ruÁime = Nuάg ; 72 #ifdeà DEBUGGING 73 ià( debug & 8) { 74 `deb ("2.SPAT /%s/\n", ¥© -> ¥©_»gexp -> ´ecomp ); 77 §ãba£ = ((! ¥© -> ¥©_»gexp || !¥©->¥©_»gexp-> Ŭ’s ) && 78 ! §wam³r§nd ); 79 ià(!* ¥© -> ¥©_»gexp -> ´ecomp && Ï¡¥© ) 80 ¥© = Ï¡¥© ; 81 Üig = m = s ; 82 ià( hšt ) { 83 ià( hšt < s || hšˆ> ¡»nd ) 84 `ç�l ("panic: hint in do_match"); 85 s = hšt ; 86 hšt = NuÎch ; 87 ià( ¥© -> ¥©_»gexp -> »gback >= 0) { 88 s -𠥩 -> ¥©_»gexp -> »gback ; 89 ià( s < m ) 90 s = m ; 93 s = m ; 95 ià( ¥© -> ¥©_shÜt ) { 96 ià( ¥© -> ¥©_æags & SPAT_SCANFIRST ) { 97 ià( ¡r -> ¡r_pok & SP_STUDIED ) { 98 ià( sü—mfœ¡ [ ¥© -> ¥©_shÜt -> ¡r_¿» ] < 0) 99  nÝe ; 100 ià(!( s = `sü—mš¡r ( ¡r , ¥© -> ¥©_shÜt ))) 101  nÝe ; 103 #iâdeà lšt 104 ià(!( s = `fbmš¡r ((*)s, (*) ¡»nd , 105 ¥© -> ¥©_shÜt ))) 106  nÝe ; 108 ià( s && ¥© -> ¥©_»gexp -> »gback >= 0) { 109 ++ ¥© -> ¥©_shÜt -> ¡r_u . ¡r_u£ful ; 110 s -𠥩 -> ¥©_»gexp -> »gback ; 111 ià( s < m ) 112 s = m ; 115 s = m ; 117 ià(! muÉžše && (* ¥© -> ¥©_shÜt -> ¡r_±r !ð* s || 118 `bcmp ( ¥© -> ¥©_shÜt -> ¡r_±r , s , s·t-> ¥©_¦’ ) )) 119  nÝe ; 120 ià(-- ¥© -> ¥©_shÜt -> ¡r_u . ¡r_u£ful < 0) { 121 `¡r_ä“ ( ¥© -> ¥©_shÜt ); 122 ¥© -> ¥©_shÜt = NuΡr ; 125 Úû = (( r¥© -> ¥©_æags & SPAT_ONCE ) != 0); 126 ià( r¥© -> ¥©_æags & SPAT_CONST ) { 127 ià(( r¥© -> ¥©_»¶ [1]. ¬g_ty³ & A_MASK è=ð A_SINGLE ) 128 d¡r = r¥© -> ¥©_»¶ [1]. ¬g_±r . ¬g_¡r ; 130 () `ev® ( r¥© -> ¥©_»¶ , G_SCALAR , ¥ ); 131 d¡r = ¡ack -> ¬y_¬¿y [ ¥ +1]; 133 c = `¡r_g‘ ( d¡r ); 134 þ’ = d¡r -> ¡r_cur ; 135 ià( þ’ <𠥩 -> ¥©_¦’ + ()¥©-> ¥©_»gexp -> »gback ) { 137 ià( `»gexec ( ¥© -> ¥©_»gexp , s , ¡»nd , Üig , 0, 138 ¡r -> ¡r_pok & SP_STUDIED ? sŒ : NuΡr , §ãba£ )) { 139 ià( ¥© -> ¥©_»gexp -> subba£ ) 140  lÚg_way ; 141 d = s ; 142 Ï¡¥© = ¥© ; 143 ¡r -> ¡r_pok = SP_VALID ; 144 ià( Úû ) { 145 m = ¥© -> ¥©_»gexp -> ¡¬� [0]; 146 d = ¥© -> ¥©_»gexp -> ’dp [0]; 147 s = Üig ; 148 ià( m - s > ¡»nd - d ) { 149 ià( þ’ ) { 150 () `bcÝy ( c , m , þ’ ); 151 m +ð þ’ ; 153 i = ¡»nd - d ; 154 ià( i > 0) { 155 () `bcÝy ( d , m , i ); 156 m +ð i ; 158 * m = '\0'; 159 ¡r -> ¡r_cur = m - s ; 160 `STABSET ( ¡r ); 161 `¡r_num£t ( ¬g -> ¬g_±r . ¬g_¡r , 1.0); 162 ¡ack -> ¬y_¬¿y [++ ¥ ] = ¬g -> ¬g_±r . ¬g_¡r ; 163  ¥ ; 165 ià( i = m - s ) { 166 d -ð þ’ ; 167 m = d ; 168 `¡r_chÝ ( ¡r , d - i ); 169 s +ð i ; 170  i --) 171 *-- d = *-- s ; 172 ià( þ’ ) 173 () `bcÝy ( c , m , þ’ ); 174 `STABSET ( ¡r ); 175 `¡r_num£t ( ¬g -> ¬g_±r . ¬g_¡r , 1.0); 176 ¡ack -> ¬y_¬¿y [++ ¥ ] = ¬g -> ¬g_±r . ¬g_¡r ; 177  ¥ ; 179 ià( þ’ ) { 180 d -ð þ’ ; 181 `¡r_chÝ ( ¡r , d ); 182 () `bcÝy ( c , d , þ’ ); 183 `STABSET ( ¡r ); 184 `¡r_num£t ( ¬g -> ¬g_±r . ¬g_¡r , 1.0); 185 ¡ack -> ¬y_¬¿y [++ ¥ ] = ¬g -> ¬g_±r . ¬g_¡r ; 186  ¥ ; 189 `¡r_chÝ ( ¡r , d ); 190 `STABSET ( ¡r ); 191 `¡r_num£t ( ¬g -> ¬g_±r . ¬g_¡r , 1.0); 192 ¡ack -> ¬y_¬¿y [++ ¥ ] = ¬g -> ¬g_±r . ¬g_¡r ; 193  ¥ ; 198 ià( ™”s ++ > max™”s ) 199 `ç�l ("Substitution†oop"); 200 m = ¥© -> ¥©_»gexp -> ¡¬� [0]; 201 ià( i = m - s ) { 202 ià( s !ð d ) 203 () `bcÝy ( s , d , i ); 204 d +ð i ; 206 ià( þ’ ) { 207 () `bcÝy ( c , d , þ’ ); 208 d +ð þ’ ; 210 s = ¥© -> ¥©_»gexp -> ’dp [0]; 211 }  `»gexec ( ¥© -> ¥©_»gexp , s , ¡»nd , Üig , s =ð m , 212 NuΡr , TRUE )); 213 ià( s !ð d ) { 214 i = ¡»nd - s ; 215 ¡r -> ¡r_cur = d - sŒ-> ¡r_±r + i ; 216 () `bcÝy ( s , d , i +1); 218 `STABSET ( ¡r ); 219 `¡r_num£t ( ¬g -> ¬g_±r . ¬g_¡r , () ™”s ); 220 ¡ack -> ¬y_¬¿y [++ ¥ ] = ¬g -> ¬g_±r . ¬g_¡r ; 221  ¥ ; 223 `¡r_num£t ( ¬g -> ¬g_±r . ¬g_¡r , 0.0); 224 ¡ack -> ¬y_¬¿y [++ ¥ ] = ¬g -> ¬g_±r . ¬g_¡r ; 225  ¥ ; 229 c = NuÎch ; 230 ià( `»gexec ( ¥© -> ¥©_»gexp , s , ¡»nd , Üig , 0, 231 ¡r -> ¡r_pok & SP_STUDIED ? sŒ : NuΡr , §ãba£ )) { 232 lÚg_way : 233 d¡r = `SŒ_Ãw (25, `¡r_Ën ( ¡r )); 234 `¡r_n£t ( d¡r , m , s -m); 235 ià( ¥© -> ¥©_»gexp -> subba£ ) 236 cur¥© = ¥© ; 237 Ï¡¥© = ¥© ; 239 ià( ™”s ++ > max™”s ) 240 `ç�l ("Substitution†oop"); 241 ià( ¥© -> ¥©_»gexp -> subba£ 242 && ¥© -> ¥©_»gexp -> subba£ !ð Üig ) { 243 m = s ; 244 s = Üig ; 245 Üig = ¥© -> ¥©_»gexp -> subba£ ; 246 s = Üig + ( m - s); 247 ¡»nd = s + (¡»nd - m ); 249 m = ¥© -> ¥©_»gexp -> ¡¬� [0]; 250 `¡r_nÿt ( d¡r , s , m -s); 251 s = ¥© -> ¥©_»gexp -> ’dp [0]; 252 ià( c ) { 253 ià( þ’ ) 254 `¡r_nÿt ( d¡r , c , þ’ ); 257 * mysubba£ = ¥© -> ¥©_»gexp -> subba£ ; 259 ¥© -> ¥©_»gexp -> subba£ = NuÎch ; 260 () `ev® ( r¥© -> ¥©_»¶ , G_SCALAR , ¥ ); 261 `¡r_sÿt ( d¡r , ¡ack -> ¬y_¬¿y [ ¥ +1]); 262 ià( ¥© -> ¥©_»gexp -> subba£ ) 263 `Saãä“ ( ¥© -> ¥©_»gexp -> subba£ ); 264 ¥© -> ¥©_»gexp -> subba£ = mysubba£ ; 266 ià( Úû ) 268 }  `»gexec ( ¥© -> ¥©_»gexp , s , ¡»nd , Üig , s =ð m , NuΡr , 269 §ãba£ )); 270 `¡r_nÿt ( d¡r , s , ¡»nd - s); 271 `¡r_»¶aû ( ¡r , d¡r ); 272 `STABSET ( ¡r ); 273 `¡r_num£t ( ¬g -> ¬g_±r . ¬g_¡r , () ™”s ); 274 ¡ack -> ¬y_¬¿y [++ ¥ ] = ¬g -> ¬g_±r . ¬g_¡r ; 275  ¥ ; 277 `¡r_num£t ( ¬g -> ¬g_±r . ¬g_¡r , 0.0); 278 ¡ack -> ¬y_¬¿y [++ ¥ ] = ¬g -> ¬g_±r . ¬g_¡r ; 279  ¥ ; 281 nÝe : 282 ++ ¥© -> ¥©_shÜt -> ¡r_u . ¡r_u£ful ; 283 `¡r_num£t ( ¬g -> ¬g_±r . ¬g_¡r , 0.0); 284 ¡ack -> ¬y_¬¿y [++ ¥ ] = ¬g -> ¬g_±r . ¬g_¡r ; 285  ¥ ; 286 } } 287 #ifdeà BUGGY_MSC 288 #´agm¨ šŒšsic ( memcmp ) 292 $do_Œªs ( ¡r , ¬g ) 293 STR * ¡r ; 294 ARG * ¬g ; 296 * tbl ; 297 * s ; 298  m©ches = 0; 299  ch ; 300 * £nd ; 301 * d ; 302  squash = ¬g [2]. ¬g_Ën & 1; 304 tbl = (*è ¬g [2]. ¬g_±r . ¬g_cv® ; 305 s = `¡r_g‘ ( ¡r ); 306 £nd = s + ¡r -> ¡r_cur ; 307 ià(! tbl || ! s ) 308 `ç�l ("panic: do_trans"); 309 #ifdeà DEBUGGING 310 ià( debug & 8) { 311 `deb ("2.TBL\n"); 314 ià(! ¬g [2]. ¬g_Ën ) { 315  s < £nd ) { 316 ià(( ch = tbl [* s & 0377]) >= 0) { 317 m©ches ++; 318 * s = ch ; 320 s ++; 324 d = s ; 325  s < £nd ) { 326 ià(( ch = tbl [* s & 0377]) >= 0) { 327 * d = ch ; 328 ià( m©ches ++ && squash ) { 329 ià( d [-1] == *d) 330 m©ches --; 332 d ++; 335 d ++; 337 ià( ch == -1) 338 * d ++ = * s ; 339 s ++; 341 m©ches +ð £nd - d ; 342 * d = '\0'; 343 ¡r -> ¡r_cur = d - sŒ-> ¡r_±r ; 345 `STABSET ( ¡r ); 346  m©ches ; 347 } } 350 $do_još ( ¡r , ¬gÏ¡ ) 351  STR * ¡r ; 352 * ¬gÏ¡ ; 354  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 355  ¥ = ¬gÏ¡ [1]; 356  ™ems = ¬gÏ¡ [2] - ¥ ; 357 * d–im = `¡r_g‘ ( ¡ [ ¥ ]); 358  d–imËn = ¡ [ ¥ ]-> ¡r_cur ; 360 ¡ +ð++ ¥ ; 361 ià( ™ems -- > 0) 362 `¡r_s£t ( ¡r , * ¡ ++); 364 `¡r_£t ( ¡r ,""); 365 ià( d–imËn ) { 366 ; ™ems > 0; i‹ms--, ¡ ++) { 367 `¡r_nÿt ( ¡r , d–im , d–imËn ); 368 `¡r_sÿt ( ¡r ,* ¡ ); 372 ; ™ems > 0; i‹ms--, ¡ ++) 373 `¡r_sÿt ( ¡r ,* ¡ ); 375 `STABSET ( ¡r ); 376 } } 379 $do_·ck ( ¡r , ¬gÏ¡ ) 380  STR * ¡r ; 381 * ¬gÏ¡ ; 383  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 384  ¥ = ¬gÏ¡ [1]; 385  ™ems ; 386 * ·t = `¡r_g‘ ( ¡ [ ¥ ]); 387 * ·‹nd = ·t + ¡ [ ¥ ]-> ¡r_cur ; 388  Ën ; 389  d©umty³ ; 390 STR * äom¡r ; 391 * nuÎ10 = "\0\0\0\0\0\0\0\0\0\0"; 392 * ¥aû10 = " "; 395  ach¬ ; 396  ashÜt ; 397  ašt ; 398  aušt ; 399  ®Úg ; 400  aulÚg ; 401 * ­Œ ; 402  aæßt ; 403  adoubË ; 405 ™ems = ¬gÏ¡ [2] - ¥ ; 406 ¡ +ð++ ¥ ; 407 `¡r_n£t ( ¡r ,"",0); 408  ·t < ·‹nd ) { 409  #NEXTFROM ( ™ems -- > 0 ? * ¡ ++ : & ¡r_no ) ) 410 d©umty³ = * ·t ++; 411 ià(* ·t == '*') { 412 Ën = `šdex ("@Xxu", d©umty³ è? 0 : ™ems ; 413 ·t ++; 415 ià( `isdig™ (* ·t )) { 416 Ën = * ·t ++ - '0'; 417  `isdig™ (* ·t )) 418 Ën = (ËÀ* 10è+ (* ·t ++ - '0'); 421 Ën = 1; 422  d©umty³ ) { 426 `ç�l ("% may only be used in unpack"); 428 Ën -ð ¡r -> ¡r_cur ; 429 ià( Ën > 0) 430  grow ; 431 Ën = -len; 432 ià( Ën > 0) 433  shršk ; 436 shršk : 437 ià( ¡r -> ¡r_cur < Ën ) 438 `ç�l ("X outside of string"); 439 ¡r -> ¡r_cur -ð Ën ; 440 ¡r -> ¡r_±r [¡r-> ¡r_cur ] = '\0'; 443 grow : 444  Ën >= 10) { 445 `¡r_nÿt ( ¡r , nuÎ10 ,10); 446 Ën -= 10; 448 `¡r_nÿt ( ¡r , nuÎ10 , Ën ); 452 äom¡r = NEXTFROM ; 453 ­Œ = `¡r_g‘ ( äom¡r ); 454 ià( ·t [-1] == '*') 455 Ën = äom¡r -> ¡r_cur ; 456 ià( äom¡r -> ¡r_cur > Ën ) 457 `¡r_nÿt ( ¡r , ­Œ , Ën ); 459 `¡r_nÿt ( ¡r , ­Œ , äom¡r -> ¡r_cur ); 460 Ën -ð äom¡r -> ¡r_cur ; 461 ià( d©umty³ == 'A') { 462  Ën >= 10) { 463 `¡r_nÿt ( ¡r , ¥aû10 ,10); 464 Ën -= 10; 466 `¡r_nÿt ( ¡r , ¥aû10 , Ën ); 469  Ën >= 10) { 470 `¡r_nÿt ( ¡r , nuÎ10 ,10); 471 Ën -= 10; 473 `¡r_nÿt ( ¡r , nuÎ10 , Ën ); 480 * §v•© = ·t ; 481  §ve™ems = ™ems ; 483 äom¡r = NEXTFROM ; 484 ­Œ = `¡r_g‘ ( äom¡r ); 485 ià( ·t [-1] == '*') 486 Ën = äom¡r -> ¡r_cur ; 487 ·t = ­Œ ; 488 ašt = ¡r -> ¡r_cur ; 489 ¡r -> ¡r_cur +ð( Ën +7)/8; 490 `STR_GROW ( ¡r , sŒ-> ¡r_cur + 1); 491 ­Œ = ¡r -> ¡r_±r + ašt ; 492 ià( Ën > äom¡r -> ¡r_cur ) 493 Ën = äom¡r -> ¡r_cur ; 494 ašt = Ën ; 495 ™ems = 0; 496 ià( d©umty³ == 'B') { 497  Ën = 0;†’++ < ašt ;) { 498 ™ems |ð* ·t ++ & 1; 499 ià( Ën & 7) 500 ™ems <<= 1; 502 * ­Œ ++ = ™ems & 0xff; 503 ™ems = 0; 508  Ën = 0;†’++ < ašt ;) { 509 ià(* ·t ++ & 1) 510 ™ems |= 128; 511 ià( Ën & 7) 512 ™ems >>= 1; 514 * ­Œ ++ = ™ems & 0xff; 515 ™ems = 0; 519 ià( ašt & 7) { 520 ià( d©umty³ == 'B') 521 ™ems <<ð7 - ( ašt & 7); 523 ™ems >>ð7 - ( ašt & 7); 524 * ­Œ ++ = ™ems & 0xff; 526 ·t = ¡r -> ¡r_±r + sŒ-> ¡r_cur ; 527  ­Œ <ð ·t ) 528 * ­Œ ++ = '\0'; 530 ·t = §v•© ; 531 ™ems = §ve™ems ; 537 * §v•© = ·t ; 538  §ve™ems = ™ems ; 540 äom¡r = NEXTFROM ; 541 ­Œ = `¡r_g‘ ( äom¡r ); 542 ià( ·t [-1] == '*') 543 Ën = äom¡r -> ¡r_cur ; 544 ·t = ­Œ ; 545 ašt = ¡r -> ¡r_cur ; 546 ¡r -> ¡r_cur +ð( Ën +1)/2; 547 `STR_GROW ( ¡r , sŒ-> ¡r_cur + 1); 548 ­Œ = ¡r -> ¡r_±r + ašt ; 549 ià( Ën > äom¡r -> ¡r_cur ) 550 Ën = äom¡r -> ¡r_cur ; 551 ašt = Ën ; 552 ™ems = 0; 553 ià( d©umty³ == 'H') { 554  Ën = 0;†’++ < ašt ;) { 555 ià( `i§Íha (* ·t )) 556 ™ems |ð((* ·t ++ & 15) + 9) & 15; 558 ™ems |ð* ·t ++ & 15; 559 ià( Ën & 1) 560 ™ems <<= 4; 562 * ­Œ ++ = ™ems & 0xff; 563 ™ems = 0; 568  Ën = 0;†’++ < ašt ;) { 569 ià( `i§Íha (* ·t )) 570 ™ems |ð(((* ·t ++ & 15) + 9) & 15) << 4; 572 ™ems |ð(* ·t ++ & 15) << 4; 573 ià( Ën & 1) 574 ™ems >>= 4; 576 * ­Œ ++ = ™ems & 0xff; 577 ™ems = 0; 581 ià( ašt & 1) 582 * ­Œ ++ = ™ems & 0xff; 583 ·t = ¡r -> ¡r_±r + sŒ-> ¡r_cur ; 584  ­Œ <ð ·t ) 585 * ­Œ ++ = '\0'; 587 ·t = §v•© ; 588 ™ems = §ve™ems ; 593  Ën -- > 0) { 594 äom¡r = NEXTFROM ; 595 ašt = () `¡r_gnum ( äom¡r ); 596 ach¬ = ašt ; 597 `¡r_nÿt ( ¡r ,& ach¬ ,()); 603  Ën -- > 0) { 604 äom¡r = NEXTFROM ; 605 aæßt = () `¡r_gnum ( äom¡r ); 606 `¡r_nÿt ( ¡r , (*)& aæßt ,  ()); 611  Ën -- > 0) { 612 äom¡r = NEXTFROM ; 613 adoubË = () `¡r_gnum ( äom¡r ); 614 `¡r_nÿt ( ¡r , (*)& adoubË ,  ()); 618  Ën -- > 0) { 619 äom¡r = NEXTFROM ; 620 ashÜt = () `¡r_gnum ( äom¡r ); 621 #ifdeà HAS_HTONS 622 ashÜt = `htÚs (ashort); 624 `¡r_nÿt ( ¡r ,(*)& ashÜt ,()); 629  Ën -- > 0) { 630 äom¡r = NEXTFROM ; 631 ashÜt = () `¡r_gnum ( äom¡r ); 632 `¡r_nÿt ( ¡r ,(*)& ashÜt ,()); 636  Ën -- > 0) { 637 äom¡r = NEXTFROM ; 638 aušt = `U_I ( `¡r_gnum ( äom¡r )); 639 `¡r_nÿt ( ¡r ,(*)& aušt ,()); 643  Ën -- > 0) { 644 äom¡r = NEXTFROM ; 645 ašt = () `¡r_gnum ( äom¡r ); 646 `¡r_nÿt ( ¡r ,(*)& ašt ,()); 650  Ën -- > 0) { 651 äom¡r = NEXTFROM ; 652 aulÚg = `U_L ( `¡r_gnum ( äom¡r )); 653 #ifdeà HAS_HTONL 654 aulÚg = `htÚl (aulong); 656 `¡r_nÿt ( ¡r ,(*)& aulÚg ,()); 660  Ën -- > 0) { 661 äom¡r = NEXTFROM ; 662 aulÚg = `U_L ( `¡r_gnum ( äom¡r )); 663 `¡r_nÿt ( ¡r ,(*)& aulÚg ,()); 667  Ën -- > 0) { 668 äom¡r = NEXTFROM ; 669 ®Úg = () `¡r_gnum ( äom¡r ); 670 `¡r_nÿt ( ¡r ,(*)& ®Úg ,()); 674  Ën -- > 0) { 675 äom¡r = NEXTFROM ; 676 ­Œ = `¡r_g‘ ( äom¡r ); 677 `¡r_nÿt ( ¡r ,(*)& ­Œ ,(*)); 681 äom¡r = NEXTFROM ; 682 ­Œ = `¡r_g‘ ( äom¡r ); 683 ašt = äom¡r -> ¡r_cur ; 684 `STR_GROW ( ¡r , ašt * 4 / 3); 685 ià( Ën <= 1) 686 Ën = 45; 688 Ën =†en / 3 * 3; 689  ašt > 0) { 690  todo ; 692 ià( ašt > Ën ) 693 todo = Ën ; 695 todo = ašt ; 696 `dÛncodes ( ¡r , ­Œ , todo ); 697 ašt -ð todo ; 698 ­Œ +ð todo ; 703 `STABSET ( ¡r ); 704 } } 705 #undeà NEXTFROM 707 $dÛncodes ( ¡r , s , Ën ) 708  STR * ¡r ; 709 * s ; 710  Ën ; 712  hunk [5]; 714 * hunk = Ën + ' '; 715 `¡r_nÿt ( ¡r , hunk , 1); 716 hunk [4] = '\0'; 717  Ën > 0) { 718 hunk [0] = ' ' + (077 & (* s >> 2)); 719 hunk [1] = ' ' + (077 & ((* s << 4) & 060 | (s[1] >> 4) & 017)); 720 hunk [2] = ' ' + (077 & (( s [1] << 2) & 074 | (s[2] >> 6) & 03)); 721 hunk [3] = ' ' + (077 & ( s [2] & 077)); 722 `¡r_nÿt ( ¡r , hunk , 4); 723 s += 3; 724 Ën -= 3; 726  s = ¡r -> ¡r_±r ; *s; s++) { 727 ià(* s == ' ') 728 * s = '`'; 730 `¡r_nÿt ( ¡r , "\n", 1); 731 } } 734 $do_¥rštf ( ¡r , Ën , §rg ) 735  STR * ¡r ; 736  Ën ; 737  STR ** §rg ; 739 * s ; 740 * t ; 741 * f ; 742 boÞ dÞÚg ; 743  ch ; 744  STR * §rgnuÎ = & ¡r_no ; 745 * £nd ; 746 * xs ; 747  xËn ; 748  v®ue ; 749 * Üigs ; 751 `¡r_£t ( ¡r ,""); 752 Ën --; 753 Üigs = t = s = `¡r_g‘ (* §rg ); 754 £nd = s + (* §rg )-> ¡r_cur ; 755 §rg ++; 756  ; ; Ën --) { 757 ià( Ën <ð0 || !* §rg ) { 758 §rg = & §rgnuÎ ; 759 Ën = 0; 761  ; t < £nd && *t != '%';�++) ; 762 ià( t >ð £nd ) 764 f = t ; 765 * buf = '\0'; 766 xs = buf ; 767 dÞÚg = FALSE ; 768  t ++;� < £nd ;�++) { 769 * t ) { 771 ch = *(++ t ); 772 * t = '\0'; 773 () `¥rštf ( xs , f ); 774 Ën ++; 775 xËn = `¡¾’ ( xs ); 782 dÞÚg = TRUE ; 785 ch = *(++ t ); 786 * t = '\0'; 787 xËn = () `¡r_gnum (*( §rg ++)); 788 ià( `¡rEQ ( f ,"%c")) { 789 * xs = xËn ; 790 xs [1] = '\0'; 791 xËn = 1; 794 () `¥rštf ( xs , f , xËn ); 795 xËn = `¡¾’ ( xs ); 799 dÞÚg = TRUE ; 802 ch = *(++ t ); 803 * t = '\0'; 804 ià( dÞÚg ) 805 () `¥rštf ( xs , f ,() `¡r_gnum (*( §rg ++))); 807 () `¥rštf ( xs , f ,() `¡r_gnum (*( §rg ++))); 808 xËn = `¡¾’ ( xs ); 811 dÞÚg = TRUE ; 814 ch = *(++ t ); 815 * t = '\0'; 816 v®ue = `¡r_gnum (*( §rg ++)); 817 ià( dÞÚg ) 818 () `¥rštf ( xs , f , `U_L ( v®ue )); 820 () `¥rštf ( xs , f , `U_I ( v®ue )); 821 xËn = `¡¾’ ( xs ); 824 ch = *(++ t ); 825 * t = '\0'; 826 () `¥rštf ( xs , f , `¡r_gnum (*( §rg ++))); 827 xËn = `¡¾’ ( xs ); 830 ch = *(++ t ); 831 * t = '\0'; 832 xs = `¡r_g‘ (* §rg ); 833 xËn = (* §rg )-> ¡r_cur ; 834 ià(* xs == 'S' && xs[1] == 't' && xs[2] == 'B' && xs[3] == '\0' 835 && xËn =ð( STBP )) { 836 STR * tmp¡r = `SŒ_Ãw (24,0); 838 `¡ab_fuÎÇme ( tmp¡r , (( STAB *)(* §rg ))); 839 `¥rštf ( tok’buf ,"*%s", tmp¡r -> ¡r_±r ); 841 xs = tok’buf ; 842 xËn = `¡¾’ ( tok’buf ); 843 `¡r_ä“ ( tmp¡r ); 845 §rg ++; 846 ià( `¡rEQ ( f ,"%s")) { 849 `¡rýy ( tok’buf +64, f ); 850 * t = ch ; 851 () `¥rštf ( buf , tok’buf +64, xs ); 852 xs = buf ; 853 xËn = `¡¾’ ( xs ); 857 * t = ch ; 858 `STR_GROW ( ¡r , sŒ-> ¡r_cur + ( f - s è+ Ën + 1); 859 `¡r_nÿt ( ¡r , s , f - s); 860 `¡r_nÿt ( ¡r , xs , xËn ); 861 s = t ; 865 `¡r_nÿt ( ¡r , s , t - s); 866 `STABSET ( ¡r ); 867 } } 869 STR * 870 $do_push ( ¬y , ¬gÏ¡ ) 871  ARRAY * ¬y ; 872 * ¬gÏ¡ ; 874  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 875  ¥ = ¬gÏ¡ [1]; 876  ™ems = ¬gÏ¡ [2] - ¥ ; 877  STR * ¡r = & ¡r_undef ; 879  ¡ +ð++ ¥ ; ™ems > 0; items--,st++) { 880 ¡r = `SŒ_Ãw (26,0); 881 ià(* ¡ ) 882 `¡r_s£t ( ¡r ,* ¡ ); 883 () `­ush ( ¬y , ¡r ); 885  ¡r ; 886 } } 889 $do_unshiá ( ¬y , ¬gÏ¡ ) 890  ARRAY * ¬y ; 891 * ¬gÏ¡ ; 893  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 894  ¥ = ¬gÏ¡ [1]; 895  ™ems = ¬gÏ¡ [2] - ¥ ; 896  STR * ¡r ; 897  i ; 899 `aunshiá ( ¬y , ™ems ); 900 i = 0; 901  ¡ +ð++ ¥ ; i < ™ems ; i++,st++) { 902 ¡r = `SŒ_Ãw (27,0); 903 `¡r_s£t ( ¡r ,* ¡ ); 904 () `a¡Üe ( ¬y , i , ¡r ); 906 } } 909 $do_subr ( ¬g , gimme , ¬gÏ¡ ) 910  ARG * ¬g ; 911  gimme ; 912 * ¬gÏ¡ ; 914  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 915  ¥ = ¬gÏ¡ [1]; 916  ™ems = ¬gÏ¡ [2] - ¥ ; 917  SUBR * sub ; 918 STR * ¡r ; 919 STAB * ¡ab ; 920  Þd§ve = §ve¡ack -> ¬y_fžl ; 921  Þdtmps_ba£ = tmps_ba£ ; 922  ha§rgs = (( ¬g [2]. ¬g_ty³ & A_MASK è!ð A_NULL ); 923  CSV * csv ; 925 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 926 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 928 STR * tmp¡r = `¡ab_v® ( ¬g [1]. ¬g_±r . ¬g_¡ab ); 930 ià( tmp¡r ) 931 ¡ab = `¡ab’t ( `¡r_g‘ ( tmp¡r ), TRUE ); 933 ¡ab = NuΡab ; 935 ià(! ¡ab ) 936 `ç�l ("Undefined subroutine called"); 937 ià(!( sub = `¡ab_sub ( ¡ab ))) { 938 STR * tmp¡r = ¬g [0]. ¬g_±r . ¬g_¡r ; 940 `¡ab_fuÎÇme ( tmp¡r , ¡ab ); 941 `ç�l ("Undefšed subroutš�\"%s\" c®Ëd", tmp¡r -> ¡r_±r ); 943 ià( ¬g -> ¬g_ty³ =ð O_DBSUBR && ! sub -> u£rsub ) { 944 ¡r = `¡ab_v® ( DBsub ); 945 `§ve™em ( ¡r ); 946 `¡ab_fuÎÇme ( ¡r , ¡ab ); 947 sub = `¡ab_sub ( DBsub ); 948 ià(! sub ) 949 `ç�l ("No DBsub„outine"); 951 ¡r = `SŒ_Ãw (15, ( CSV )); 952 ¡r -> ¡r_¡©e = SS_SCSV ; 953 () `­ush ( §ve¡ack , ¡r ); 954 csv = ( CSV *) ¡r -> ¡r_±r ; 955 csv -> sub = sub; 956 csv -> ¡ab = stab; 957 csv -> curcsv = curcsv; 958 csv -> curcmd = curcmd; 959 csv -> d•th = sub ->depth; 960 csv -> wª�¼ay = gimme ; 961 csv -> ha§rgs = hasargs; 962 curcsv = csv ; 963 ià( sub -> u£rsub ) { 964 csv -> ha§rgs = 0; 965 csv -> §v—¼ay = `NuÎ ( ARRAY *);; 966 csv -> ¬g¬¿y = `NuÎ ( ARRAY *); 967 ¡ [ ¥ ] = ¬g -> ¬g_±r . ¬g_¡r ; 968 ià(! ha§rgs ) 969 ™ems = 0; 970  (* sub -> u£rsub )(sub-> u£ršdex , ¥ , ™ems ); 972 ià( ha§rgs ) { 973 csv -> §v—¼ay = `¡ab_x¬¿y ( def¡ab ); 974 csv -> ¬g¬¿y = `açke ( def¡ab , ™ems , & ¡ [ ¥ +1]); 975 `¡ab_x¬¿y ( def¡ab èð csv -> ¬g¬¿y ; 977 sub -> d•th ++; 978 ià( sub -> d•th >= 2) { 979 ià( sub -> d•th =ð100 && dow¬n ) 980 `w¬n ("D“°»cursiÚ oÀsubroutš�\"%s\"", `¡ab_Çme ( ¡ab )); 981 `§v–i¡ ( sub -> to§ve -> ¬y_¬¿y ,sub->to§ve-> ¬y_fžl ); 983 tmps_ba£ = tmps_max ; 984 ¥ = `cmd_exec ( sub -> cmd , gimme , --sp); 985 ¡ = ¡ack -> ¬y_¬¿y ; 987 tmps_ba£ = Þdtmps_ba£ ; 988  ™ems = ¬gÏ¡ [0] + 1; i‹m <ð ¥ ; items++) 989 ¡ [ ™ems ] = `¡r_mÜ�l (st[items]); 991 `»¡Ü–i¡ ( Þd§ve ); 992  ¥ ; 993 } } 996 $do_assign ( ¬g , gimme , ¬gÏ¡ ) 997  ARG * ¬g ; 998  gimme ; 999 * ¬gÏ¡ ; 1002  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1003 STR ** fœ¡»Ëm = ¡ + ¬gÏ¡ [1] + 1; 1004 STR ** fœ¡ËËm = ¡ + ¬gÏ¡ [0] + 1; 1005 STR ** Ï¡»Ëm = ¡ + ¬gÏ¡ [2]; 1006 STR ** Ï¡ËËm = ¡ + ¬gÏ¡ [1]; 1007  STR ** »Ëm ; 1008  STR ** ËËm ; 1010  STR * ¡r ; 1011  ARRAY * ¬y ; 1012  mak–oÿl ; 1013 HASH * hash ; 1014  i ; 1016 mak–oÿl = ( ¬g -> ¬g_æags & AF_LOCAL ); 1017 loÿlizšg = mak–oÿl ; 1018 d–aymagic = DM_DELAY ; 1024 ià( ¬g -> ¬g_æags & AF_COMMON ) { 1025  »Ëm = fœ¡»Ëm ;„–em <ð Ï¡»Ëm ;„elem++) { 1026 ià( ¡r = * »Ëm ) 1027 * »Ëm = `¡r_mÜ�l ( ¡r ); 1030 »Ëm = fœ¡»Ëm ; 1031 ËËm = fœ¡ËËm ; 1032 ¬y = `NuÎ ( ARRAY *); 1033 hash = `NuÎ ( HASH *); 1034  ËËm <ð Ï¡ËËm ) { 1035 ¡r = * ËËm ++; 1036 ià( ¡r -> ¡r_¡©e >ð SS_HASH ) { 1037 ià( ¡r -> ¡r_¡©e =ð SS_ARY ) { 1038 ià( mak–oÿl ) 1039 ¬y = `§v—ry ( ¡r -> ¡r_u . ¡r_¡ab ); 1041 ¬y = `¡ab_¬¿y ( ¡r -> ¡r_u . ¡r_¡ab ); 1042 ¬y -> ¬y_fžl = -1; 1044 i = 0; 1045  »Ëm <ð Ï¡»Ëm ) { 1046 ¡r = `SŒ_Ãw (28,0); 1047 ià(* »Ëm ) 1048 `¡r_s£t ( ¡r ,* »Ëm ); 1049 *( »Ëm ++èð ¡r ; 1050 () `a¡Üe ( ¬y , i ++, ¡r ); 1053 ià( ¡r -> ¡r_¡©e =ð SS_HASH ) { 1054 * tmps ; 1055 STR * tmp¡r ; 1056  magic = 0; 1057 STAB * tmp¡ab = ¡r -> ¡r_u . ¡r_¡ab ; 1059 ià( mak–oÿl ) 1060 hash = `§vehash ( ¡r -> ¡r_u . ¡r_¡ab ); 1062 hash = `¡ab_hash ( ¡r -> ¡r_u . ¡r_¡ab ); 1063 ià( tmp¡ab =ð ’v¡ab ) { 1064 magic = 'E'; 1065 ’vœÚ [0] = NuÎch ; 1067 ià( tmp¡ab =ð sig¡ab ) { 1068 magic = 'S'; 1069 #iâdeà NSIG 1070  #NSIG 32 ) 1072  i = 1; i < NSIG ; i++) 1073 `sigÇl ( i , SIG_DFL ); 1075 #ifdeà SOME_DBM 1076 ià( hash -> tbl_dbm ) 1077 magic = 'D'; 1079 `hþ—r ( hash , magic == 'D'); 1082  »Ëm < Ï¡»Ëm ) { 1083 ià(* »Ëm ) 1084 ¡r = *( »Ëm ++); 1086 ¡r = & ¡r_no , »Ëm ++; 1087 tmps = `¡r_g‘ ( ¡r ); 1088 tmp¡r = `SŒ_Ãw (29,0); 1089 ià(* »Ëm ) 1090 `¡r_s£t ( tmp¡r ,* »Ëm ); 1091 *( »Ëm ++èð tmp¡r ; 1092 () `h¡Üe ( hash , tmps , ¡r -> ¡r_cur , tmp¡r ,0); 1093 ià( magic ) { 1094 `¡r_magic ( tmp¡r , tmp¡ab , magic , tmps , ¡r -> ¡r_cur ); 1095 `¡ab£t ( tmp¡r -> ¡r_magic ,�mpstr); 1100 `ç�l ("panic: do_assign"); 1103 ià( mak–oÿl ) 1104 `§ve™em ( ¡r ); 1105 ià( »Ëm <ð Ï¡»Ëm ) { 1106 `¡r_s£t ( ¡r , * »Ëm ); 1107 *( »Ëm ++èð ¡r ; 1110 `¡r_s£t ( ¡r , & ¡r_undef ); 1111 ià( gimme =ð G_ARRAY ) { 1112 i = ++ Ï¡»Ëm - fœ¡»Ëm ; 1113 »Ëm ++; 1114 `a¡Üe ( ¡ack , i , ¡r ); 1115 ià( ¡ !ð ¡ack -> ¬y_¬¿y ) { 1116 ¡ = ¡ack -> ¬y_¬¿y ; 1117 fœ¡»Ëm = ¡ + ¬gÏ¡ [1] + 1; 1118 fœ¡ËËm = ¡ + ¬gÏ¡ [0] + 1; 1119 Ï¡ËËm = ¡ + ¬gÏ¡ [1]; 1120 Ï¡»Ëm = ¡ + i ; 1121 »Ëm = Ï¡»Ëm + 1; 1125 `STABSET ( ¡r ); 1128 ià( d–aymagic > 1) { 1129 ià( d–aymagic & DM_REUID ) { 1130 #ifdeà HAS_SETREUID 1131 `£Œeuid ( uid , euid ); 1133 ià( uid !ð euid || `£tuid (uid) < 0) 1134 `ç�l ("No setreuid‡vailable"); 1137 ià( d–aymagic & DM_REGID ) { 1138 #ifdeà HAS_SETREGID 1139 `£Œegid ( gid , egid ); 1141 ià( gid !ð egid || `£tgid (gid) < 0) 1142 `ç�l ("No setregid‡vailable"); 1146 d–aymagic = 0; 1147 loÿlizšg = FALSE ; 1148 ià( gimme =ð G_ARRAY ) { 1149 i = Ï¡»Ëm - fœ¡»Ëm + 1; 1150 ià( ¬y || hash ) 1151 `CÝy ( fœ¡»Ëm , fœ¡ËËm , i , STR *); 1152  ¬gÏ¡ [0] + i ; 1155 `¡r_num£t ( ¬g -> ¬g_±r . ¬g_¡r ,()( ¬gÏ¡ [2] -‡rglast[1])); 1156 * fœ¡ËËm = ¬g -> ¬g_±r . ¬g_¡r ; 1157  ¬gÏ¡ [0] + 1; 1159 } } 1162 $do_¡udy ( ¡r , ¬g , gimme , ¬gÏ¡ ) 1163 STR * ¡r ; 1164 ARG * ¬g ; 1165  gimme ; 1166 * ¬gÏ¡ ; 1168 * s ; 1169  pos = ¡r -> ¡r_cur ; 1170  ch ; 1171 * sfœ¡ ; 1172 * ¢ext ; 1173  maxsü—m = -1; 1174  STR * Ï¡sü—m = NuΡr ; 1175  »tv® ; 1176  »�rg = ¬gÏ¡ [0] + 1; 1178 #iâdeà lšt 1179 s = (*)( `¡r_g‘ ( ¡r )); 1181 s = `NuÎ (*); 1183 ià( Ï¡sü—m ) 1184 Ï¡sü—m -> ¡r_pok &ð~ SP_STUDIED ; 1185 Ï¡sü—m = ¡r ; 1186 ià( pos <= 0) { 1187 »tv® = 0; 1188  »t ; 1190 ià( pos > maxsü—m ) { 1191 ià( maxsü—m < 0) { 1192 maxsü—m = pos + 80; 1193 `New (301, sü—mfœ¡ , 256, ); 1194 `New (302, sü—mÃxt , maxsü—m , ); 1197 maxsü—m = pos +…os / 4; 1198 `R’ew ( sü—mÃxt , maxsü—m , ); 1202 sfœ¡ = sü—mfœ¡ ; 1203 ¢ext = sü—mÃxt ; 1205 ià(! sfœ¡ || ! ¢ext ) 1206 `ç�l ("do_study: out of memory"); 1208  ch = 256; ch; --ch) 1209 * sfœ¡ ++ = -1; 1210 sfœ¡ -= 256; 1212 -- pos >= 0) { 1213 ch = s [ pos ]; 1214 ià( sfœ¡ [ ch ] >= 0) 1215 ¢ext [ pos ] = sfœ¡ [ ch ] -…os; 1217 ¢ext [ pos ] = -pos; 1218 sfœ¡ [ ch ] = pos ; 1224 ià( §wi ) 1225 sfœ¡ [ fÞd [ ch ]] = pos ; 1228 ¡r -> ¡r_pok |ð SP_STUDIED ; 1229 »tv® = 1; 1230 »t : 1231 `¡r_num£t ( ¬g -> ¬g_±r . ¬g_¡r ,() »tv® ); 1232 ¡ack -> ¬y_¬¿y [ »�rg ] = ¬g -> ¬g_±r . ¬g_¡r ; 1233  »�rg ; 1234 } } 1237 $do_defšed ( ¡r , ¬g , gimme , ¬gÏ¡ ) 1238 STR * ¡r ; 1239  ARG * ¬g ; 1240  gimme ; 1241 * ¬gÏ¡ ; 1243  ty³ ; 1244  »�rg = ¬gÏ¡ [0] + 1; 1245  »tv® ; 1246 ARRAY * ¬y ; 1247 HASH * hash ; 1249 ià(( ¬g [1]. ¬g_ty³ & A_MASK è!ð A_LEXPR ) 1250 `ç�l ("Illegal‡rgument�o defined()"); 1251 ¬g =‡rg[1]. ¬g_±r . ¬g_¬g ; 1252 ty³ = ¬g -> ¬g_ty³ ; 1254 ià( ty³ =ð O_SUBR ||�y³ =ð O_DBSUBR ) 1255 »tv® = `¡ab_sub ( ¬g [1]. ¬g_±r . ¬g_¡ab ) != 0; 1256 ià( ty³ =ð O_ARRAY ||�y³ =ð O_LARRAY || 1257 ty³ =ð O_ASLICE ||�y³ =ð O_LASLICE ) 1258 »tv® = (( ¬y = `¡ab_x¬¿y ( ¬g [1]. ¬g_±r . ¬g_¡ab )) != 0 1259 && ¬y -> ¬y_max >= 0 ); 1260 ià( ty³ =ð O_HASH ||�y³ =ð O_LHASH || 1261 ty³ =ð O_HSLICE ||�y³ =ð O_LHSLICE ) 1262 »tv® = (( hash = `¡ab_xhash ( ¬g [1]. ¬g_±r . ¬g_¡ab )) != 0 1263 && hash -> tbl_¬¿y ); 1265 »tv® = FALSE ; 1266 `¡r_num£t ( ¡r ,() »tv® ); 1267 ¡ack -> ¬y_¬¿y [ »�rg ] = ¡r ; 1268  »�rg ; 1269 } } 1272 $do_undef ( ¡r , ¬g , gimme , ¬gÏ¡ ) 1273 STR * ¡r ; 1274  ARG * ¬g ; 1275  gimme ; 1276 * ¬gÏ¡ ; 1278  ty³ ; 1279  STAB * ¡ab ; 1280  »�rg = ¬gÏ¡ [0] + 1; 1282 ià(( ¬g [1]. ¬g_ty³ & A_MASK è!ð A_LEXPR ) 1283 `ç�l ("Illegal‡rgument�o undef()"); 1284 ¬g =‡rg[1]. ¬g_±r . ¬g_¬g ; 1285 ty³ = ¬g -> ¬g_ty³ ; 1287 ià( ty³ =ð O_ARRAY ||�y³ =ð O_LARRAY ) { 1288 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1289 `aä“ ( `¡ab_x¬¿y ( ¡ab )); 1290 `¡ab_x¬¿y ( ¡ab èð `NuÎ ( ARRAY *); 1292 ià( ty³ =ð O_HASH ||�y³ =ð O_LHASH ) { 1293 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1294 ià( ¡ab =ð ’v¡ab ) 1295 ’vœÚ [0] = NuÎch ; 1296 ià( ¡ab =ð sig¡ab ) { 1297  i ; 1299  i = 1; i < NSIG ; i++) 1300 `sigÇl ( i , SIG_DFL ); 1302 () `hä“ ( `¡ab_xhash ( ¡ab ), TRUE ); 1303 `¡ab_xhash ( ¡ab èð `NuÎ ( HASH *); 1305 ià( ty³ =ð O_SUBR ||�y³ =ð O_DBSUBR ) { 1306 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1307 ià( `¡ab_sub ( ¡ab )) { 1308 `cmd_ä“ ( `¡ab_sub ( ¡ab )-> cmd ); 1309 `¡ab_sub ( ¡ab )-> cmd = NuÎcmd ; 1310 `aä“ ( `¡ab_sub ( ¡ab )-> to§ve ); 1311 `Saãä“ ( `¡ab_sub ( ¡ab )); 1312 `¡ab_sub ( ¡ab èð `NuÎ ( SUBR *); 1316 `ç�l ("Can't undefine�hat kind of object"); 1317 `¡r_num£t ( ¡r ,0.0); 1318 ¡ack -> ¬y_¬¿y [ »�rg ] = ¡r ; 1319  »�rg ; 1320 } } 1323 $do_vec ( lv®ue , a¡r , ¬gÏ¡ ) 1324  lv®ue ; 1325 STR * a¡r ; 1326 * ¬gÏ¡ ; 1328 STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1329  ¥ = ¬gÏ¡ [0]; 1330  STR * ¡r = ¡ [++ ¥ ]; 1331  off£t = () `¡r_gnum ( ¡ [++ ¥ ]); 1332  size = () `¡r_gnum ( ¡ [++ ¥ ]); 1333 * s = (*) `¡r_g‘ ( ¡r ); 1334  »Šum ; 1335  Ën ; 1337 ¥ = ¬gÏ¡ [1]; 1338 off£t *ð size ; 1339 Ën = ( off£t + size + 7) / 8; 1340 ià( off£t < 0 || size < 1) 1341 »Šum = 0; 1342 ià(! lv®ue && Ën > ¡r -> ¡r_cur ) 1343 »Šum = 0; 1345 ià( Ën > ¡r -> ¡r_cur ) { 1346 `STR_GROW ( ¡r , Ën ); 1347 () `bz”o ( ¡r -> ¡r_±r + sŒ-> ¡r_cur , Ën - str->str_cur); 1348 ¡r -> ¡r_cur = Ën ; 1350 s = (*) `¡r_g‘ ( ¡r ); 1351 ià( size < 8) 1352 »Šum = ( s [ off£t >> 3] >> (off£ˆ& 7)è& ((1 << size ) - 1); 1354 off£t >>= 3; 1355 ià( size == 8) 1356 »Šum = s [ off£t ]; 1357 ià( size == 16) 1358 »Šum = ( s [ off£t ] << 8) + s[offset+1]; 1359 ià( size == 32) 1360 »Šum = ( s [ off£t ] << 24) + (s[offset + 1] << 16) + 1361 ( s [ off£t + 2] << 8) + s[offset+3]; 1364 ià( lv®ue ) { 1365  l¡ršg * l¡r = (l¡ršg*) a¡r ; 1367 a¡r -> ¡r_magic = ¡r ; 1368 ¡ [ ¥ ]-> ¡r_¿» = 'v'; 1369 l¡r -> l¡r_off£t = off£t ; 1370 l¡r -> l¡r_Ën = size ; 1374 `¡r_num£t ( a¡r ,() »Šum ); 1375 ¡ [ ¥ ] = a¡r ; 1376  ¥ ; 1377 } } 1380 $do_vec£t ( m¡r , ¡r ) 1381 STR * m¡r ; 1382 STR * ¡r ; 1384  l¡ršg * l¡r = (l¡ršg*) ¡r ; 1385  off£t ; 1386  size ; 1387 * s = (*) m¡r -> ¡r_±r ; 1388  lv® = `U_L ( `¡r_gnum ( ¡r )); 1389  mask ; 1391 m¡r -> ¡r_¿» = 0; 1392 ¡r -> ¡r_magic = NuΡr ; 1393 off£t = l¡r -> l¡r_off£t ; 1394 size = l¡r -> l¡r_Ën ; 1395 ià( size < 8) { 1396 mask = (1 << size ) - 1; 1397 size = off£t & 7; 1398 lv® &ð mask ; 1399 off£t >>= 3; 1400 s [ off£t ] &ð~( mask << size ); 1401 s [ off£t ] |ð lv® << size ; 1404 ià( size == 8) 1405 s [ off£t ] = lv® & 255; 1406 ià( size == 16) { 1407 s [ off£t ] = ( lv® >> 8) & 255; 1408 s [ off£t +1] = lv® & 255; 1410 ià( size == 32) { 1411 s [ off£t ] = ( lv® >> 24) & 255; 1412 s [ off£t +1] = ( lv® >> 16) & 255; 1413 s [ off£t +2] = ( lv® >> 8) & 255; 1414 s [ off£t +3] = lv® & 255; 1417 } } 1419 $do_chÝ ( a¡r , ¡r ) 1420  STR * a¡r ; 1421  STR * ¡r ; 1423 * tmps ; 1424  i ; 1425 ARRAY * ¬y ; 1426 HASH * hash ; 1427 HENT * ’Œy ; 1429 ià(! ¡r ) 1431 ià( ¡r -> ¡r_¡©e =ð SS_ARY ) { 1432 ¬y = `¡ab_¬¿y ( ¡r -> ¡r_u . ¡r_¡ab ); 1433  i = 0; i <ð ¬y -> ¬y_fžl ; i++) 1434 `do_chÝ ( a¡r , ¬y -> ¬y_¬¿y [ i ]); 1437 ià( ¡r -> ¡r_¡©e =ð SS_HASH ) { 1438 hash = `¡ab_hash ( ¡r -> ¡r_u . ¡r_¡ab ); 1439 () `h™”š™ ( hash ); 1440  ’Œy = `h™”Ãxt ( hash )) 1441 `do_chÝ ( a¡r , `h™”v® ( hash , ’Œy )); 1444 tmps = `¡r_g‘ ( ¡r ); 1445 ià(! tmps ) 1447 tmps +ð ¡r -> ¡r_cur - (str->str_cur != 0); 1448 `¡r_n£t ( a¡r , tmps ,1); 1449 * tmps = '\0'; 1450 ¡r -> ¡r_cur = tmps - sŒ-> ¡r_±r ; 1451 ¡r -> ¡r_nok = 0; 1452 `STABSET ( ¡r ); 1453 } } 1455 $do_vÝ ( Ýty³ , ¡r , Ëá , right ) 1456 STR * ¡r ; 1457 STR * Ëá ; 1458 STR * right ; 1460 * s ; 1461 * l = `¡r_g‘ ( Ëá ); 1462 * r = `¡r_g‘ ( right ); 1463  Ën ; 1465 Ën = Ëá -> ¡r_cur ; 1466 ià( Ën > right -> ¡r_cur ) 1467 Ën = right -> ¡r_cur ; 1468 ià( ¡r -> ¡r_cur > Ën ) 1469 ¡r -> ¡r_cur = Ën ; 1470 ià( ¡r -> ¡r_cur < Ën ) { 1471 `STR_GROW ( ¡r , Ën ); 1472 () `bz”o ( ¡r -> ¡r_±r + sŒ-> ¡r_cur , Ën - str->str_cur); 1473 ¡r -> ¡r_cur = Ën ; 1475 s = ¡r -> ¡r_±r ; 1476 ià(! s ) { 1477 `¡r_n£t ( ¡r ,"",0); 1478 s = ¡r -> ¡r_±r ; 1480  Ýty³ ) { 1481  O_BIT_AND : 1482  Ën --) 1483 * s ++ = * l ++ & * r ++; 1485  O_XOR : 1486  Ën --) 1487 * s ++ = * l ++ ^ * r ++; 1488  mÝ_up ; 1489  O_BIT_OR : 1490  Ën --) 1491 * s ++ = * l ++ | * r ++; 1492 mÝ_up : 1493 Ën = ¡r -> ¡r_cur ; 1494 ià( right -> ¡r_cur > Ën ) 1495 `¡r_nÿt ( ¡r , right -> ¡r_±r + Ën ,right-> ¡r_cur -†en); 1496 ià( Ëá -> ¡r_cur > Ën ) 1497 `¡r_nÿt ( ¡r , Ëá -> ¡r_±r + Ën ,Ëá-> ¡r_cur -†en); 1500 } } 1503 $do_sysÿÎ ( ¬gÏ¡ ) 1504 * ¬gÏ¡ ; 1506  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1507  ¥ = ¬gÏ¡ [1]; 1508  ™ems = ¬gÏ¡ [2] - ¥ ; 1509  ¬g [8]; 1510  i = 0; 1511  »tv® = -1; 1513 #ifdeà HAS_SYSCALL 1514 #ifdeà TAINT 1515  ¡ +ð++ ¥ ; ™ems --; st++) 1516 �š‹d |ð(* ¡ )-> ¡r_�š‹d ; 1517 ¡ = ¡ack -> ¬y_¬¿y ; 1518 ¥ = ¬gÏ¡ [1]; 1519 ™ems = ¬gÏ¡ [2] - ¥ ; 1521 #ifdeà TAINT 1522 `�š�rÝ” ("Insecure dependency in syscall"); 1528  ™ems --) { 1529 ià( ¡ [++ ¥ ]-> ¡r_nok || ! i ) 1530 ¬g [ i ++] = () `¡r_gnum ( ¡ [ ¥ ]); 1531 #iâdeà lšt 1533 ¬g [ i ++] = () ¡ [ ¥ ]-> ¡r_±r ; 1536 ¥ = ¬gÏ¡ [1]; 1537 ™ems = ¬gÏ¡ [2] - ¥ ; 1538  ™ems ) { 1540 `ç�l ("Too few‡rgs�o syscall"); 1542 »tv® = `sysÿÎ ( ¬g [0]); 1545 »tv® = `sysÿÎ ( ¬g [0],arg[1]); 1548 »tv® = `sysÿÎ ( ¬g [0],arg[1],arg[2]); 1551 »tv® = `sysÿÎ ( ¬g [0],arg[1],arg[2],arg[3]); 1554 »tv® = `sysÿÎ ( ¬g [0],arg[1],arg[2],arg[3],arg[4]); 1557 »tv® = `sysÿÎ ( ¬g [0],arg[1],arg[2],arg[3],arg[4],arg[5]); 1560 »tv® = `sysÿÎ ( ¬g [0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6]); 1563 »tv® = `sysÿÎ ( ¬g [0],arg[1],arg[2],arg[3],arg[4],arg[5],arg[6], 1564 ¬g [7]); 1567  »tv® ; 1569 `ç�l ("syscall() unimplemented"); 1571 } } @doio.c 17  ~"EXTERN.h " 18  ~"³¾.h " 20 #ifdeà HAS_SOCKET 21  ~ 22  ~<Ãtdb.h > 25 #ifdeà HAS_SELECT 26 #ifdeà I_SYS_SELECT 27 #iâdeà I_SYS_TIME 28  ~ 33 #ià defšed ( HAS_MSG è|| defšed( HAS_SEM è|| defšed( HAS_SHM ) 34  ~ 35 #ifdeà HAS_MSG 36  ~ 38 #ifdeà HAS_SEM 39  ~ 41 #ifdeà HAS_SHM 42  ~ 46 #ifdeà I_PWD 47  ~ 49 #ifdeà I_GRP 50  ~ 52 #ifdeà I_UTIME 53  ~ 55 #ifdeà I_FCNTL 56  ~ 58 #ifdeà I_SYS_FILE 59  ~ 62  gÏ¡¡©v® = -1; 63  gÏ¡¡y³ = O_STAT ; 65 boÞ 66 $do_Ý’ ( ¡ab , Çme , Ën ) 67 STAB * ¡ab ; 68 * Çme ; 69  Ën ; 71 FILE * å ; 72  STIO * ¡io = `¡ab_io ( ¡ab ); 73 * myÇme = `§ve¡r ( Çme ); 74  »suÉ ; 75  fd ; 76  wr™šg = 0; 77  mode [3]; 79 Çme = myÇme ; 80 fÜk´oûss = 1; 81  Ën && `is¥aû ( Çme [len-1])) 82 Çme [-- Ën ] = '\0'; 83 ià(! ¡io ) 84 ¡io = `¡ab_io ( ¡ab èð `¡io_Ãw (); 85 ià( ¡io -> iå ) { 86 fd = `fž’o ( ¡io -> iå ); 87 ià( ¡io -> ty³ == '|') 88 »suÉ = `mypþo£ ( ¡io -> iå ); 89 ià( ¡io -> ty³ == '-') 90 »suÉ = 0; 91 ià( ¡io -> iå !ð¡io-> oå ) { 92 ià( ¡io -> oå ) { 93 »suÉ = `fþo£ ( ¡io -> oå ); 94 `fþo£ ( ¡io -> iå ); 97 »suÉ = `fþo£ ( ¡io -> iå ); 100 »suÉ = `fþo£ ( ¡io -> iå ); 101 ià( »suÉ =ð EOF && fd > 2) 102 `årštf ( ¡d”r ,"Warning: unable�o close filehandle %s…roperly.\n", 103 `¡ab_Çme ( ¡ab )); 104 ¡io -> oå = stio-> iå = NuÎå ; 106 ià(* Çme =ð'+' && Ën > 1 &&‚ame[len-1] != '|') { 107 mode [1] = * Çme ++; 108 mode [2] = '\0'; 109 -- Ën ; 110 wr™šg = 1; 113 mode [1] = '\0'; 115 ¡io -> ty³ = * Çme ; 116 ià(* Çme == '|') { 117  Çme ++; `is¥aû (*name);‚ame++) ; 118 #ifdeà TAINT 119 `�š‹nv (); 120 `�š�rÝ” ("Insecure dependency in…iped open"); 122 å = `mypÝ’ ( Çme ,"w"); 123 wr™šg = 1; 125 ià(* Çme == '>') { 126 #ifdeà TAINT 127 `�š�rÝ” ("Insecure dependency in open"); 129 Çme ++; 130 ià(* Çme == '>') { 131 mode [0] = ¡io -> ty³ = 'a'; 132 Çme ++; 135 mode [0] = 'w'; 136 wr™šg = 1; 137 ià(* Çme == '&') { 138 du¶ic™y : 139 Çme ++; 140  `is¥aû (* Çme )) 141 Çme ++; 142 ià( `isdig™ (* Çme )) 143 fd = `©oi ( Çme ); 145 ¡ab = `¡ab’t ( Çme , FALSE ); 146 ià(! ¡ab || ! `¡ab_io (stab)) 147  FALSE ; 148 ià( `¡ab_io ( ¡ab è&& s�b_io(¡ab)-> iå ) { 149 fd = `fž’o ( `¡ab_io ( ¡ab )-> iå ); 150 ià( `¡ab_io ( ¡ab )-> ty³ == 's') 151 ¡io -> ty³ = 's'; 154 fd = -1; 156 ià(!( å = `fdÝ’ ( fd = `dup (fd), mode ))) { 157 `þo£ ( fd ); 161  `is¥aû (* Çme )) 162 Çme ++; 163 ià( `¡rEQ ( Çme ,"-")) { 164 å = ¡dout ; 165 ¡io -> ty³ = '-'; 168 å = `fÝ’ ( Çme , mode ); 173 ià(* Çme == '<') { 174 mode [0] = 'r'; 175 Çme ++; 176  `is¥aû (* Çme )) 177 Çme ++; 178 ià(* Çme == '&') 179  du¶ic™y ; 180 ià( `¡rEQ ( Çme ,"-")) { 181 å = ¡dš ; 182 ¡io -> ty³ = '-'; 185 å = `fÝ’ ( Çme , mode ); 187 ià( Çme [ Ën -1] == '|') { 188 #ifdeà TAINT 189 `�š‹nv (); 190 `�š�rÝ” ("Insecure dependency in…iped open"); 192 Çme [-- Ën ] = '\0'; 193  Ën && `is¥aû ( Çme [len-1])) 194 Çme [-- Ën ] = '\0'; 195 ; `is¥aû (* Çme );‚ame++) ; 196 å = `mypÝ’ ( Çme ,"r"); 197 ¡io -> ty³ = '|'; 200 ¡io -> ty³ = '<'; 201 ; `is¥aû (* Çme );‚ame++) ; 202 ià( `¡rEQ ( Çme ,"-")) { 203 å = ¡dš ; 204 ¡io -> ty³ = '-'; 207 å = `fÝ’ ( Çme ,"r"); 210 `Saãä“ ( myÇme ); 211 ià(! å ) 212  FALSE ; 213 ià( ¡io -> ty³ && 214 ¡io -> ty³ != '|' && stio->type != '-') { 215 ià( `f¡© ( `fž’o ( å ),& ¡©buf ) < 0) { 216 () `fþo£ ( å ); 217  FALSE ; 219 ià( `S_ISSOCK ( ¡©buf . ¡_mode )) 220 ¡io -> ty³ = 's'; 221 #ifdeà S_IFMT 222 ià(!( ¡©buf . ¡_mode & S_IFMT )) 223 ¡io -> ty³ = 's'; 226 #ià `defšed ( HAS_FCNTL è&& defšed( F_SETFD ) 227 fd = `fž’o ( å ); 228 `fúŽ ( fd , F_SETFD ,fd >= 3); 230 ¡io -> iå = å ; 231 ià( wr™šg ) { 232 ià( ¡io -> ty³ != 's') 233 ¡io -> oå = å ; 235 ià(!( ¡io -> oå = `fdÝ’ ( `fž’o ( å ),"w"))) { 236 `fþo£ ( å ); 237 ¡io -> iå = NuÎå ; 240  TRUE ; 241 } } 243 FILE * 244 $Ãx�rgv ( ¡ab ) 245  STAB * ¡ab ; 247  STR * ¡r ; 248  fžedev ; 249  fžešo ; 250  fžeuid ; 251  fžegid ; 252  fžemode = 0; 253  Ï¡fd ; 254 * ÞdÇme ; 256 ià(! ¬gvout¡ab ) 257 ¬gvout¡ab = `¡ab’t ("ARGVOUT", TRUE ); 258 ià( fžemode & ( S_ISUID | S_ISGID )) { 259 `fæush ( `¡ab_io ( ¬gvout¡ab )-> iå ); 260 #ifdeà HAS_FCHMOD 261 () `fchmod ( Ï¡fd , fžemode ); 263 () `chmod ( ÞdÇme , fžemode ); 266 fžemode = 0; 267  `®’ ( `¡ab_x¬¿y ( ¡ab )) >= 0) { 268 ¡r = `ashiá ( `¡ab_x¬¿y ( ¡ab )); 269 `¡r_s£t ( `¡ab_v® ( ¡ab ), ¡r ); 270 `STABSET ( `¡ab_v® ( ¡ab )); 271 ÞdÇme = `¡r_g‘ ( `¡ab_v® ( ¡ab )); 272 ià( `do_Ý’ ( ¡ab , ÞdÇme , `¡ab_v® (¡ab)-> ¡r_cur )) { 273 ià( š¶aû ) { 274 #ifdeà TAINT 275 `�š�rÝ” ("Insecure dependency in inplace open"); 277 ià( `¡rEQ ( ÞdÇme ,"-")) { 278 `¡r_ä“ ( ¡r ); 279 defout¡ab = `¡ab’t ("STDOUT", TRUE ); 280  `¡ab_io ( ¡ab )-> iå ; 282 fžedev = ¡©buf . ¡_dev ; 283 fžešo = ¡©buf . ¡_šo ; 284 fžemode = ¡©buf . ¡_mode ; 285 fžeuid = ¡©buf . ¡_uid ; 286 fžegid = ¡©buf . ¡_gid ; 287 ià(! `S_ISREG ( fžemode )) { 288 `w¬n ("Can't do inplaceƒdit: %s is‚ot‡„egular file", 289 ÞdÇme ); 290 `do_þo£ ( ¡ab , FALSE ); 291 `¡r_ä“ ( ¡r ); 294 ià(* š¶aû ) { 295 #ifdeà SUFFIX 296 `add_suffix ( ¡r , š¶aû ); 298 `¡r_ÿt ( ¡r , š¶aû ); 300 #iâdeà FLEXFILENAMES 301 ià( `¡© ( ¡r -> ¡r_±r ,& ¡©buf ) >= 0 302 && ¡©buf . ¡_dev =ð fžedev 303 && ¡©buf . ¡_šo =ð fžešo ) { 304 `w¬n ("Can't do inplaceƒdit: %s > 14 characters", 305 ¡r -> ¡r_±r ); 306 `do_þo£ ( ¡ab , FALSE ); 307 `¡r_ä“ ( ¡r ); 311 #ifdeà HAS_RENAME 312 #iâdeà MSDOS 313 ià( `»Çme ( ÞdÇme , ¡r -> ¡r_±r ) < 0) { 314 `w¬n ("Can't„ename %s�o %s: %s, skipping file", 315 ÞdÇme , ¡r -> ¡r_±r , `¡»¼Ü ( ”ºo ) ); 316 `do_þo£ ( ¡ab , FALSE ); 317 `¡r_ä“ ( ¡r ); 321 `do_þo£ ( ¡ab , FALSE ); 322 () `uÆšk ( ¡r -> ¡r_±r ); 323 () `»Çme ( ÞdÇme , ¡r -> ¡r_±r ); 324 `do_Ý’ ( ¡ab , ¡r -> ¡r_±r , `¡ab_v® (¡ab)-> ¡r_cur ); 327 () `UNLINK ( ¡r -> ¡r_±r ); 328 ià( `lšk ( ÞdÇme , ¡r -> ¡r_±r ) < 0) { 329 `w¬n ("Can't„ename %s�o %s: %s, skipping file", 330 ÞdÇme , ¡r -> ¡r_±r , `¡»¼Ü ( ”ºo ) ); 331 `do_þo£ ( ¡ab , FALSE ); 332 `¡r_ä“ ( ¡r ); 335 () `UNLINK ( ÞdÇme ); 339 #iâdeà MSDOS 340 ià( `UNLINK ( ÞdÇme ) < 0) { 341 `w¬n ("Can't„ename %s�o %s: %s, skipping file", 342 ÞdÇme , ¡r -> ¡r_±r , `¡»¼Ü ( ”ºo ) ); 343 `do_þo£ ( ¡ab , FALSE ); 344 `¡r_ä“ ( ¡r ); 348 `ç�l ("Can't do inplaceƒdit without backup"); 352 `¡r_n£t ( ¡r ,">",1); 353 `¡r_ÿt ( ¡r , ÞdÇme ); 354 ”ºo = 0; 355 ià(! `do_Ý’ ( ¬gvout¡ab , ¡r -> ¡r_±r ,¡r-> ¡r_cur )) { 356 `w¬n ("Can't do inplaceƒdit on %s: %s", 357 ÞdÇme , `¡»¼Ü ( ”ºo ) ); 358 `do_þo£ ( ¡ab , FALSE ); 359 `¡r_ä“ ( ¡r ); 362 defout¡ab = ¬gvout¡ab ; 363 Ï¡fd = `fž’o ( `¡ab_io ( ¬gvout¡ab )-> iå ); 364 () `f¡© ( Ï¡fd ,& ¡©buf ); 365 #ifdeà HAS_FCHMOD 366 () `fchmod ( Ï¡fd , fžemode ); 368 () `chmod ( ÞdÇme , fžemode ); 370 ià( fžeuid !ð ¡©buf . ¡_uid || fžegid !ð¡©buf. ¡_gid ) { 371 #ifdeà HAS_FCHOWN 372 () `fchown ( Ï¡fd , fžeuid , fžegid ); 374 #ifdeà HAS_CHOWN 375 () `chown ( ÞdÇme , fžeuid , fžegid ); 380 `¡r_ä“ ( ¡r ); 381  `¡ab_io ( ¡ab )-> iå ; 384 `årštf ( ¡d”r ,"Cª'ˆÝ’ %s: %s\n", `¡r_g‘ ( ¡r ), `¡»¼Ü ( ”ºo )); 385 `¡r_ä“ ( ¡r ); 387 ià( š¶aû ) { 388 () `do_þo£ ( ¬gvout¡ab , FALSE ); 389 defout¡ab = `¡ab’t ("STDOUT", TRUE ); 391  NuÎå ; 392 } } 394 #ifdeà HAS_PIPE 396 $do_p�e ( ¡r , r¡ab , w¡ab ) 397 STR * ¡r ; 398 STAB * r¡ab ; 399 STAB * w¡ab ; 401  STIO * r¡io ; 402  STIO * w¡io ; 403  fd [2]; 405 ià(! r¡ab ) 406  badex™ ; 407 ià(! w¡ab ) 408  badex™ ; 410 r¡io = `¡ab_io ( r¡ab ); 411 w¡io = `¡ab_io ( w¡ab ); 413 ià(! r¡io ) 414 r¡io = `¡ab_io ( r¡ab èð `¡io_Ãw (); 415 ià( r¡io -> iå ) 416 `do_þo£ ( r¡ab , FALSE ); 417 ià(! w¡io ) 418 w¡io = `¡ab_io ( w¡ab èð `¡io_Ãw (); 419 ià( w¡io -> iå ) 420 `do_þo£ ( w¡ab , FALSE ); 422 ià( `p�e ( fd ) < 0) 423  badex™ ; 424 r¡io -> iå = `fdÝ’ ( fd [0], "r"); 425 w¡io -> oå = `fdÝ’ ( fd [1], "w"); 426 w¡io -> iå = w¡io-> oå ; 427 r¡io -> ty³ = '<'; 428 w¡io -> ty³ = '>'; 429 ià(! r¡io -> iå || ! w¡io -> oå ) { 430 ià( r¡io -> iå è `fþo£ (rstio->ifp); 431 `þo£ ( fd [0]); 432 ià( w¡io -> oå è `fþo£ (wstio->ofp); 433 `þo£ ( fd [1]); 434  badex™ ; 437 `¡r_s£t ( ¡r ,& ¡r_yes ); 440 badex™ : 441 `¡r_s£t ( ¡r ,& ¡r_undef ); 443 } } 446 boÞ 447 $do_þo£ ( ¡ab , ex¶ic™ ) 448 STAB * ¡ab ; 449 boÞ ex¶ic™ ; 451 boÞ »tv® = FALSE ; 452  STIO * ¡io ; 453  ¡©us ; 455 ià(! ¡ab ) 456 ¡ab = ¬gv¡ab ; 457 ià(! ¡ab ) 458  FALSE ; 459 ¡io = `¡ab_io ( ¡ab ); 460 ià(! ¡io ) { 461 ià( dow¬n && ex¶ic™ ) 462 `w¬n ("Clo£ oÀunÝ’ed fž�<%s>", `¡ab_Çme ( ¡ab )); 463  FALSE ; 465 ià( ¡io -> iå ) { 466 ià( ¡io -> ty³ == '|') { 467 ¡©us = `mypþo£ ( ¡io -> iå ); 468 »tv® = ( ¡©us == 0); 469 ¡©usv®ue = () ¡©us & 0xffff; 471 ià( ¡io -> ty³ == '-') 472 »tv® = TRUE ; 474 ià( ¡io -> oå && stio->oå !ð¡io-> iå ) { 475 »tv® = ( `fþo£ ( ¡io -> oå è!ð EOF ); 476 `fþo£ ( ¡io -> iå ); 479 »tv® = ( `fþo£ ( ¡io -> iå è!ð EOF ); 481 ¡io -> oå = stio-> iå = NuÎå ; 483 ià( ex¶ic™ ) 484 ¡io -> lšes = 0; 485 ¡io -> ty³ = ' '; 486  »tv® ; 487 } } 489 boÞ 490 $do_eof ( ¡ab ) 491 STAB * ¡ab ; 493  STIO * ¡io ; 494  ch ; 496 ià(! ¡ab ) { 497 ià( ¬gv¡ab ) 498 ¡io = `¡ab_io ( ¬gv¡ab ); 500  TRUE ; 503 ¡io = `¡ab_io ( ¡ab ); 505 ià(! ¡io ) 506  TRUE ; 508  ¡io -> iå ) { 510 #ifdeà STDSTDIO 511 ià( ¡io -> iå -> _út > 0) 512  FALSE ; 515 ch = `g‘c ( ¡io -> iå ); 516 ià( ch !ð EOF ) { 517 () `ung‘c ( ch , ¡io -> iå ); 518  FALSE ; 520 #ifdeà STDSTDIO 521 ià( ¡io -> iå -> _út < -1) 522 ¡io -> iå -> _út = -1; 524 ià(! ¡ab ) { 525 ià(! `Ãx�rgv ( ¬gv¡ab )) 526  TRUE ; 529  TRUE ; 531  TRUE ; 532 } } 535 $do_‹Î ( ¡ab ) 536 STAB * ¡ab ; 538  STIO * ¡io ; 540 ià(! ¡ab ) 541  phoÛy ; 543 ¡io = `¡ab_io ( ¡ab ); 544 ià(! ¡io || !¡io-> iå ) 545  phoÛy ; 547 ià( `ãof ( ¡io -> iå )) 548 () `f£ek ( ¡io -> iå , 0L, 2); 550  `á–l ( ¡io -> iå ); 552 phoÛy : 553 ià( dow¬n ) 554 `w¬n ("tell() on unopened file"); 556 } } 558 boÞ 559 $do_£ek ( ¡ab , pos , wh’û ) 560 STAB * ¡ab ; 561  pos ; 562  wh’û ; 564  STIO * ¡io ; 566 ià(! ¡ab ) 567  nuts ; 569 ¡io = `¡ab_io ( ¡ab ); 570 ià(! ¡io || !¡io-> iå ) 571  nuts ; 573 ià( `ãof ( ¡io -> iå )) 574 () `f£ek ( ¡io -> iå , 0L, 2); 576  `f£ek ( ¡io -> iå , pos , wh’û ) >= 0; 578 nuts : 579 ià( dow¬n ) 580 `w¬n ("seek() on unopened file"); 581  FALSE ; 582 } } 585 $do_ùl ( Ýty³ , ¡ab , func , ¬g¡r ) 586  Ýty³ ; 587 STAB * ¡ab ; 588  func ; 589 STR * ¬g¡r ; 591  STIO * ¡io ; 592 * s ; 593  »tv® ; 595 ià(! ¡ab || ! ¬g¡r ) 597 ¡io = `¡ab_io ( ¡ab ); 598 ià(! ¡io ) 601 ià( ¬g¡r -> ¡r_pok || !¬g¡r-> ¡r_nok ) { 602 ià(! ¬g¡r -> ¡r_pok ) 603 s = `¡r_g‘ ( ¬g¡r ); 605 #ifdeà IOCPARM_MASK 606 #iâdeà IOCPARM_LEN 607  #IOCPARM_LEN ( x è(((xè>> 16è& IOCPARM_MASK ) ) 610 #ifdeà IOCPARM_LEN 611 »tv® = `IOCPARM_LEN ( func ); 613 »tv® = 256; 615 ià( ¬g¡r -> ¡r_cur < »tv® ) { 616 `SŒ_Grow ( ¬g¡r , »tv® +1); 617 ¬g¡r -> ¡r_cur = »tv® ; 620 s = ¬g¡r -> ¡r_±r ; 621 s [ ¬g¡r -> ¡r_cur ] = 17; 624 »tv® = () `¡r_gnum ( ¬g¡r ); 625 #ifdeà MSDOS 626 s = (*)() »tv® ; 628 s = (*) »tv® ; 632 #iâdeà lšt 633 ià( Ýty³ =ð O_IOCTL ) 634 »tv® = `ioùl ( `fž’o ( ¡io -> iå ), func , s ); 636 #ifdeà MSDOS 637 `ç�l ("fcntl is‚ot implemented"); 639 #ifdeà HAS_FCNTL 640 »tv® = `fúŽ ( `fž’o ( ¡io -> iå ), func , s ); 642 `ç�l ("fcntl is‚ot implemented"); 646 »tv® = 0; 649 ià( ¬g¡r -> ¡r_pok ) { 650 ià( s [ ¬g¡r -> ¡r_cur ] != 17) 651 `ç�l ("Return value overflowed string"); 652 s [ ¬g¡r -> ¡r_cur ] = 0; 654  »tv® ; 655 } } 658 $do_¡© ( ¡r , ¬g , gimme , ¬gÏ¡ ) 659 STR * ¡r ; 660  ARG * ¬g ; 661  gimme ; 662 * ¬gÏ¡ ; 664  ARRAY * ¬y = ¡ack ; 665  ¥ = ¬gÏ¡ [0] + 1; 666  max = 13; 668 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) { 669 tmp¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 670 ià( tmp¡ab !ð def¡ab ) { 671 Ï¡¡y³ = O_STAT ; 672 ¡©¡ab = tmp¡ab ; 673 `¡r_£t ( ¡©Çme ,""); 674 ià(! `¡ab_io ( tmp¡ab è|| !¡ab_ioÑmp¡ab)-> iå || 675 `f¡© ( `fž’o ( `¡ab_io ( tmp¡ab )-> iå ),& ¡©ÿche ) < 0) { 676 max = 0; 677 Ï¡¡©v® = -1; 680 ià( Ï¡¡©v® < 0) 681 max = 0; 684 `¡r_£t ( ¡©Çme , `¡r_g‘ ( ¬y -> ¬y_¬¿y [ ¥ ])); 685 ¡©¡ab = NuΡab ; 686 #ifdeà HAS_LSTAT 687 Ï¡¡y³ = ¬g -> ¬g_ty³ ; 688 ià( ¬g -> ¬g_ty³ =ð O_LSTAT ) 689 Ï¡¡©v® = `l¡© ( `¡r_g‘ ( ¡©Çme ),& ¡©ÿche ); 692 Ï¡¡©v® = `¡© ( `¡r_g‘ ( ¡©Çme ),& ¡©ÿche ); 693 ià( Ï¡¡©v® < 0) 694 max = 0; 697 ià( gimme !ð G_ARRAY ) { 698 ià( max ) 699 `¡r_s£t ( ¡r ,& ¡r_yes ); 701 `¡r_s£t ( ¡r ,& ¡r_undef ); 702 `STABSET ( ¡r ); 703 ¬y -> ¬y_¬¿y [ ¥ ] = ¡r ; 704  ¥ ; 706 ¥ --; 707 ià( max ) { 708 #iâdeà lšt 709 () `a¡Üe ( ¬y ,++ ¥ , 710 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_dev ))); 711 () `a¡Üe ( ¬y ,++ ¥ , 712 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_šo ))); 713 () `a¡Üe ( ¬y ,++ ¥ , 714 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_mode ))); 715 () `a¡Üe ( ¬y ,++ ¥ , 716 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_Æšk ))); 717 () `a¡Üe ( ¬y ,++ ¥ , 718 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_uid ))); 719 () `a¡Üe ( ¬y ,++ ¥ , 720 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_gid ))); 721 () `a¡Üe ( ¬y ,++ ¥ , 722 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_rdev ))); 723 () `a¡Üe ( ¬y ,++ ¥ , 724 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_size ))); 725 () `a¡Üe ( ¬y ,++ ¥ , 726 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_©ime ))); 727 () `a¡Üe ( ¬y ,++ ¥ , 728 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_mtime ))); 729 () `a¡Üe ( ¬y ,++ ¥ , 730 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_ùime ))); 731 #ifdeà STATBLOCKS 732 () `a¡Üe ( ¬y ,++ ¥ , 733 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_blksize ))); 734 () `a¡Üe ( ¬y ,++ ¥ , 735 `¡r_2mÜ�l ( `¡r_nmake (() ¡©ÿche . ¡_blocks ))); 737 () `a¡Üe ( ¬y ,++ ¥ , 738 `¡r_2mÜ�l ( `¡r_make ("",0))); 739 () `a¡Üe ( ¬y ,++ ¥ , 740 `¡r_2mÜ�l ( `¡r_make ("",0))); 743 () `a¡Üe ( ¬y ,++ ¥ , `¡r_nmake (0.0)); 746  ¥ ; 747 } } 749 #ià! defšed ( HAS_TRUNCATE è&& !defšed( HAS_CHSIZE è&& defšed( F_FREESP ) 751  #HAS_CHSIZE ) 753  $chsize ( fd , Ëngth ) 754  fd ; 755 off_t Ëngth ; 757  `l£ek (); 758  æock æ ; 759  ¡© fžebuf ; 761 ià( `f¡© ( fd , & fžebuf ) < 0) 764 ià( fžebuf . ¡_size < Ëngth ) { 768 ià(( `l£ek ( fd , ( Ëngth - 1), 0)) < 0) 773 ià(( `wr™e ( fd , "", 1)) != 1) 779 æ . l_wh’û = 0; 780 æ . l_Ën = 0; 781 æ . l_¡¬t = Ëngth ; 782 æ . l_ty³ = F_WRLCK ; 792 ià( `fúŽ ( fd , F_FREESP , & æ ) < 0) 798 } } 802 $do_Œunÿ‹ ( ¡r , ¬g , gimme , ¬gÏ¡ ) 803 STR * ¡r ; 804  ARG * ¬g ; 805  gimme ; 806 * ¬gÏ¡ ; 808  ARRAY * ¬y = ¡ack ; 809  ¥ = ¬gÏ¡ [0] + 1; 810 off_t Ën = (off_t) `¡r_gnum ( ¬y -> ¬y_¬¿y [ ¥ +1]); 811  »suÉ = 1; 812 STAB * tmp¡ab ; 814 #ià `defšed ( HAS_TRUNCATE è|| defšed( HAS_CHSIZE ) 815 #ifdeà HAS_TRUNCATE 816 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) { 817 tmp¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 818 ià(! `¡ab_io ( tmp¡ab ) || 819 `árunÿ‹ ( `fž’o ( `¡ab_io ( tmp¡ab )-> iå ), Ën ) < 0) 820 »suÉ = 0; 822 ià( `Œunÿ‹ ( `¡r_g‘ ( ¬y -> ¬y_¬¿y [ ¥ ]), Ën ) < 0) 823 »suÉ = 0; 825 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) { 826 tmp¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 827 ià(! `¡ab_io ( tmp¡ab ) || 828 `chsize ( `fž’o ( `¡ab_io ( tmp¡ab )-> iå ), Ën ) < 0) 829 »suÉ = 0; 832  tmpfd ; 834 ià(( tmpfd = `Ý’ ( `¡r_g‘ ( ¬y -> ¬y_¬¿y [ ¥ ]), 0)) < 0) 835 »suÉ = 0; 837 ià( `chsize ( tmpfd , Ën ) < 0) 838 »suÉ = 0; 839 `þo£ ( tmpfd ); 844 ià( »suÉ ) 845 `¡r_s£t ( ¡r ,& ¡r_yes ); 847 `¡r_s£t ( ¡r ,& ¡r_undef ); 848 `STABSET ( ¡r ); 849 ¬y -> ¬y_¬¿y [ ¥ ] = ¡r ; 850  ¥ ; 852 `ç�l ("truncate‚ot implemented"); 854 } } 857 $looks_like_numb” ( ¡r ) 858 STR * ¡r ; 860 * s ; 861 * £nd ; 863 ià(! ¡r -> ¡r_pok ) 864  TRUE ; 865 s = ¡r -> ¡r_±r ; 866 £nd = s + ¡r -> ¡r_cur ; 867  `is¥aû (* s )) 868 s ++; 869 ià( s >ð £nd ) 870  FALSE ; 871 ià(* s == '+' || *s == '-') 872 s ++; 873  `isdig™ (* s )) 874 s ++; 875 ià( s =ð £nd ) 876  TRUE ; 877 ià(* s == '.') 878 s ++; 879 ià( s =ð ¡r -> ¡r_±r ) 880  FALSE ; 881  `isdig™ (* s )) 882 s ++; 883 ià( s =ð £nd ) 884  TRUE ; 885 ià(* s == 'e' || *s == 'E') { 886 s ++; 887 ià(* s == '+' || *s == '-') 888 s ++; 889  `isdig™ (* s )) 890 s ++; 892  `is¥aû (* s )) 893 s ++; 894 ià( s >ð £nd ) 895  TRUE ; 896  FALSE ; 897 } } 899 boÞ 900 $do_´št ( ¡r , å ) 901  STR * ¡r ; 902 FILE * å ; 904 * tmps ; 906 ià(! å ) { 907 ià( dow¬n ) 908 `w¬n ("print�o unopened file"); 909  FALSE ; 911 ià(! ¡r ) 912  TRUE ; 913 ià( ofmt && 914 (( ¡r -> ¡r_nok && sŒ-> ¡r_u . ¡r_nv® != 0.0) 915 || ( `looks_like_numb” ( ¡r è&& `¡r_gnum (str) != 0.0) ) ) { 916 `årštf ( å , ofmt , ¡r -> ¡r_u . ¡r_nv® ); 917  ! `ã¼Ü ( å ); 920 tmps = `¡r_g‘ ( ¡r ); 921 ià(* tmps == 'S' &&�mps[1] == 't' &&�mps[2] == 'B' &&�mps[3] == '\0' 922 && ¡r -> ¡r_cur =ð( STBP è&& `¡¾’ ( tmps ) < str->str_cur) { 923 STR * tmp¡r = `¡r_mÜ�l (& ¡r_undef ); 924 `¡ab_fuÎÇme ( tmp¡r ,(( STAB *) ¡r )); 925 ¡r = tmp¡r ; 926 tmps = ¡r -> ¡r_±r ; 927 `putc ('*', å ); 929 ià( ¡r -> ¡r_cur && ( `fwr™e ( tmps ,1,¡r->¡r_cur, å è=ð0 || `ã¼Ü (fp))) 930  FALSE ; 932  TRUE ; 933 } } 935 boÞ 936 $do_­ršt ( ¬g , å , ¬gÏ¡ ) 937  ARG * ¬g ; 938  FILE * å ; 939 * ¬gÏ¡ ; 941  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 942  ¥ = ¬gÏ¡ [1]; 943  »tv® ; 944  ™ems = ¬gÏ¡ [2] - ¥ ; 946 ià(! å ) { 947 ià( dow¬n ) 948 `w¬n ("print�o unopened file"); 949  FALSE ; 951 ¡ +ð++ ¥ ; 952 ià( ¬g -> ¬g_ty³ =ð O_PRTF ) { 953 `do_¥rštf ( ¬g -> ¬g_±r . ¬g_¡r , ™ems , ¡ ); 954 »tv® = `do_´št ( ¬g -> ¬g_±r . ¬g_¡r , å ); 957 »tv® = ( ™ems <= 0); 958 ; ™ems > 0; i‹ms--, ¡ ++) { 959 ià( »tv® && of¦’ ) { 960 ià( `fwr™e ( ofs , 1, of¦’ , å è=ð0 || `ã¼Ü (fp)) { 961 »tv® = FALSE ; 965 ià(!( »tv® = `do_´št (* ¡ , å ))) 968 ià( »tv® && ܦ’ ) 969 ià( `fwr™e ( Üs , 1, ܦ’ , å è=ð0 || `ã¼Ü (fp)) 970 »tv® = FALSE ; 972  »tv® ; 973 } } 976 $my¡© ( ¬g , ¡r ) 977 ARG * ¬g ; 978 STR * ¡r ; 980 STIO * ¡io ; 982 Ï¡¡y³ = O_STAT ; 983 ià( ¬g [1]. ¬g_ty³ & A_DONT ) { 984 ¡io = `¡ab_io ( ¬g [1]. ¬g_±r . ¬g_¡ab ); 985 ià( ¡io && stio-> iå ) { 986 ¡©¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 987 `¡r_£t ( ¡©Çme ,""); 988  ( Ï¡¡©v® = `f¡© ( `fž’o ( ¡io -> iå ), & ¡©ÿche )); 991 ià( ¬g [1]. ¬g_±r . ¬g_¡ab =ð def¡ab ) 992  Ï¡¡©v® ; 993 ià( dow¬n ) 994 `w¬n ("Stat on unopened file <%s>", 995 `¡ab_Çme ( ¬g [1]. ¬g_±r . ¬g_¡ab )); 996 ¡©¡ab = NuΡab ; 997 `¡r_£t ( ¡©Çme ,""); 998  ( Ï¡¡©v® = -1); 1002 ¡©¡ab = NuΡab ; 1003 `¡r_£t ( ¡©Çme , `¡r_g‘ ( ¡r )); 1004  ( Ï¡¡©v® = `¡© ( `¡r_g‘ ( ¡r ),& ¡©ÿche )); 1006 } } 1009 $myl¡© ( ¬g , ¡r ) 1010 ARG * ¬g ; 1011 STR * ¡r ; 1013 ià( ¬g [1]. ¬g_ty³ & A_DONT ) { 1014 ià( ¬g [1]. ¬g_±r . ¬g_¡ab =ð def¡ab ) { 1015 ià( Ï¡¡y³ !ð O_LSTAT ) 1016 `ç�l ("The stat…receding -l _ wasn't‡n†stat"); 1017  Ï¡¡©v® ; 1019 `ç�l ("You can't use -l on‡ filehandle"); 1022 Ï¡¡y³ = O_LSTAT ; 1023 ¡©¡ab = NuΡab ; 1024 `¡r_£t ( ¡©Çme , `¡r_g‘ ( ¡r )); 1025 #ifdeà HAS_LSTAT 1026  ( Ï¡¡©v® = `l¡© ( `¡r_g‘ ( ¡r ),& ¡©ÿche )); 1028  ( Ï¡¡©v® = `¡© ( `¡r_g‘ ( ¡r ),& ¡©ÿche )); 1030 } } 1032 STR * 1033 $do_á‹xt ( ¬g , ¡r ) 1034  ARG * ¬g ; 1035 STR * ¡r ; 1037  i ; 1038  Ën ; 1039  odd = 0; 1040 STDCHAR tbuf [512]; 1041  STDCHAR * s ; 1042  STIO * ¡io ; 1044 ià( ¬g [1]. ¬g_ty³ & A_DONT ) { 1045 ià( ¬g [1]. ¬g_±r . ¬g_¡ab =ð def¡ab ) { 1046 ià( ¡©¡ab ) 1047 ¡io = `¡ab_io ( ¡©¡ab ); 1049 ¡r = ¡©Çme ; 1050  »®ly_fž’ame ; 1054 ¡©¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1055 `¡r_£t ( ¡©Çme ,""); 1056 ¡io = `¡ab_io ( ¡©¡ab ); 1058 ià( ¡io && stio-> iå ) { 1059 #ifdeà STDSTDIO 1060 `f¡© ( `fž’o ( ¡io -> iå ),& ¡©ÿche ); 1061 ià( ¡io -> iå -> _út <= 0) { 1062 i = `g‘c ( ¡io -> iå ); 1063 ià( i !ð EOF ) 1064 () `ung‘c ( i , ¡io -> iå ); 1066 ià( ¡io -> iå -> _út <= 0) 1067  & ¡r_yes ; 1068 Ën = ¡io -> iå -> _út + (¡io->iå-> _±r - stio->iå-> _ba£ ); 1069 s = ¡io -> iå -> _ba£ ; 1071 `ç�l ("-T‡nd -B‚ot implemented on filehandles\n"); 1075 ià( dow¬n ) 1076 `w¬n ("Test on unopened file <%s>", 1077 `¡ab_Çme ( ¬g [1]. ¬g_±r . ¬g_¡ab )); 1078  & ¡r_undef ; 1082 ¡©¡ab = NuΡab ; 1083 `¡r_£t ( ¡©Çme , `¡r_g‘ ( ¡r )); 1084 »®ly_fž’ame : 1085 i = `Ý’ ( `¡r_g‘ ( ¡r ),0); 1086 ià( i < 0) 1087  & ¡r_undef ; 1088 `f¡© ( i ,& ¡©ÿche ); 1089 Ën = `»ad ( i , tbuf ,512); 1090 () `þo£ ( i ); 1091 ià( Ën <= 0) 1092  & ¡r_yes ; 1093 s = tbuf ; 1098  i = 0; i < Ën ; i++, s ++) { 1099 ià(!* s ) { 1100 odd +ð Ën ; 1103 ià(* s & 128) 1104 odd ++; 1105 ià(* s < 32 && 1106 * s != '\n' && *s != '\r' && *s != '\b' && 1107 * s != '\t' && *s != '\f' && *s != 27) 1108 odd ++; 1111 ià(( odd * 10 > Ën è=ð( ¬g -> ¬g_ty³ =ð O_FTTEXT )) 1112  & ¡r_no ; 1114  & ¡r_yes ; 1115 } } 1117 boÞ 1118 $do_«xec ( »®ly , ¬gÏ¡ ) 1119 STR * »®ly ; 1120 * ¬gÏ¡ ; 1122  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1123  ¥ = ¬gÏ¡ [1]; 1124  ™ems = ¬gÏ¡ [2] - ¥ ; 1125 ** a ; 1126 ** ¬gv ; 1127 * tmps ; 1129 ià( ™ems ) { 1130 `New (401, ¬gv , ™ems +1, *); 1131 a = ¬gv ; 1132  ¡ +ð++ ¥ ; ™ems > 0; items--,st++) { 1133 ià(* ¡ ) 1134 * a ++ = `¡r_g‘ (* ¡ ); 1136 * a ++ = ""; 1138 * a = NuÎch ; 1139 #ifdeà TAINT 1140 ià(* ¬gv [0] != '/') 1141 `�š‹nv (); 1143 ià( »®ly && *( tmps = `¡r_g‘ (really))) 1144 `execvp ( tmps , ¬gv ); 1146 `execvp ( ¬gv [0],argv); 1147 `Saãä“ ( ¬gv ); 1149  FALSE ; 1150 } } 1152 ** gArgv = NuÎ (**); 1153 * gCmd = NuÎch ; 1156 $do_execä“ () 1158 ià( Argv ) { 1159 `Saãä“ ( Argv ); 1160 Argv = `NuÎ (**); 1162 ià( Cmd ) { 1163 `Saãä“ ( Cmd ); 1164 Cmd = NuÎch ; 1166 } } 1168 boÞ 1169 $do_exec ( cmd ) 1170 * cmd ; 1172 ** a ; 1173 * s ; 1174  æags [10]; 1176 #ifdeà TAINT 1177 `�š‹nv (); 1178 `�š�rÝ” ("Insecure dependency inƒxec"); 1183 #ifdeà CSH 1184 ià( `¡ºEQ ( cmd , cshÇme , cshËn ) && strnEQ(cmd+cshlen," -c",3)) { 1185 `¡rýy ( æags ,"-c"); 1186 s = cmd + cshËn +3; 1187 ià(* s == 'f') { 1188 s ++; 1189 `¡rÿt ( æags ,"f"); 1191 ià(* s == ' ') 1192 s ++; 1193 ià(* s ++ == '\'') { 1194 * ncmd = s ; 1196 * s ) 1197 s ++; 1198 ià( s [-1] == '\n') 1199 *-- s = '\0'; 1200 ià( s [-1] == '\'') { 1201 *-- s = '\0'; 1202 `exeþ ( cshÇme ,"csh", æags , ncmd ,(*)0); 1203 * s = '\''; 1204  FALSE ; 1212  s = cmd ; * && `i§Íha (*s); s++) ; 1213 ià(* s == '=') 1214  dosh–l ; 1215  s = cmd ; *s; s++) { 1216 ià(* s !ð' ' && ! `i§Íha (*sè&& `šdex ("$&*(){}[]'\";\\|?<>~`\n",*s)) { 1217 ià(* s == '\n' && !s[1]) { 1218 * s = '\0'; 1221 dosh–l : 1222 `exeþ ("/bš/sh","sh","-c", cmd ,(*)0); 1223  FALSE ; 1226 `New (402, Argv , ( s - cmd ) / 2 + 2, *); 1227 Cmd = `n§ve¡r ( cmd , s -cmd); 1228 a = Argv ; 1229  s = Cmd ; *s;) { 1230 * s && `is¥aû (*s)) s++; 1231 ià(* s ) 1232 *( a ++èð s ; 1233 * s && ! `is¥aû (*s)) s++; 1234 ià(* s ) 1235 * s ++ = '\0'; 1237 * a = NuÎch ; 1238 ià( Argv [0]) { 1239 `execvp ( Argv [0],Argv); 1240 ià( ”ºo =ð ENOEXEC ) { 1241 `do_execä“ (); 1242  dosh–l ; 1245 `do_execä“ (); 1246  FALSE ; 1247 } } 1249 #ifdeà HAS_SOCKET 1251 $do_sock‘ ( ¡ab , ¬gÏ¡ ) 1252 STAB * ¡ab ; 1253 * ¬gÏ¡ ; 1255  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1256  ¥ = ¬gÏ¡ [1]; 1257  STIO * ¡io ; 1258  domaš , ty³ , ´ÙocÞ , fd ; 1260 ià(! ¡ab ) 1261  FALSE ; 1263 ¡io = `¡ab_io ( ¡ab ); 1264 ià(! ¡io ) 1265 ¡io = `¡ab_io ( ¡ab èð `¡io_Ãw (); 1266 ià( ¡io -> iå ) 1267 `do_þo£ ( ¡ab , FALSE ); 1269 domaš = () `¡r_gnum ( ¡ [++ ¥ ]); 1270 ty³ = () `¡r_gnum ( ¡ [++ ¥ ]); 1271 ´ÙocÞ = () `¡r_gnum ( ¡ [++ ¥ ]); 1272 #ifdeà TAINT 1273 `�š�rÝ” ("Insecure dependency in socket"); 1275 fd = `sock‘ ( domaš , ty³ , ´ÙocÞ ); 1276 ià( fd < 0) 1277  FALSE ; 1278 ¡io -> iå = `fdÝ’ ( fd , "r"); 1279 ¡io -> oå = `fdÝ’ ( fd , "w"); 1280 ¡io -> ty³ = 's'; 1281 ià(! ¡io -> iå || !¡io-> oå ) { 1282 ià( ¡io -> iå è `fþo£ (stio->ifp); 1283 ià( ¡io -> oå è `fþo£ (stio->ofp); 1284 ià(! ¡io -> iå && !¡io-> oå è `þo£ ( fd ); 1285  FALSE ; 1288  TRUE ; 1289 } } 1292 $do_bšd ( ¡ab , ¬gÏ¡ ) 1293 STAB * ¡ab ; 1294 * ¬gÏ¡ ; 1296  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1297  ¥ = ¬gÏ¡ [1]; 1298  STIO * ¡io ; 1299 * addr ; 1301 ià(! ¡ab ) 1302  nuts ; 1304 ¡io = `¡ab_io ( ¡ab ); 1305 ià(! ¡io || !¡io-> iå ) 1306  nuts ; 1308 addr = `¡r_g‘ ( ¡ [++ ¥ ]); 1309 #ifdeà TAINT 1310 `�š�rÝ” ("Insecure dependency in bind"); 1312  `bšd ( `fž’o ( ¡io -> iå ), (*è addr , ¡ [ ¥ ]-> ¡r_cur ) >= 0; 1314 nuts : 1315 ià( dow¬n ) 1316 `w¬n ("bind() on closed fd"); 1317  FALSE ; 1319 } } 1322 $do_cÚÃù ( ¡ab , ¬gÏ¡ ) 1323 STAB * ¡ab ; 1324 * ¬gÏ¡ ; 1326  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1327  ¥ = ¬gÏ¡ [1]; 1328  STIO * ¡io ; 1329 * addr ; 1331 ià(! ¡ab ) 1332  nuts ; 1334 ¡io = `¡ab_io ( ¡ab ); 1335 ià(! ¡io || !¡io-> iå ) 1336  nuts ; 1338 addr = `¡r_g‘ ( ¡ [++ ¥ ]); 1339 #ifdeà TAINT 1340 `�š�rÝ” ("Insecure dependency in connect"); 1342  `cÚÃù ( `fž’o ( ¡io -> iå ), (*è addr , ¡ [ ¥ ]-> ¡r_cur ) >= 0; 1344 nuts : 1345 ià( dow¬n ) 1346 `w¬n ("connect() on closed fd"); 1347  FALSE ; 1349 } } 1352 $do_li¡’ ( ¡ab , ¬gÏ¡ ) 1353 STAB * ¡ab ; 1354 * ¬gÏ¡ ; 1356  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1357  ¥ = ¬gÏ¡ [1]; 1358  STIO * ¡io ; 1359  backlog ; 1361 ià(! ¡ab ) 1362  nuts ; 1364 ¡io = `¡ab_io ( ¡ab ); 1365 ià(! ¡io || !¡io-> iå ) 1366  nuts ; 1368 backlog = () `¡r_gnum ( ¡ [++ ¥ ]); 1369  `li¡’ ( `fž’o ( ¡io -> iå ), backlog ) >= 0; 1371 nuts : 1372 ià( dow¬n ) 1373 `w¬n ("listen() on closed fd"); 1374  FALSE ; 1375 } } 1378 $do_acû± ( ¡r , n¡ab , g¡ab ) 1379 STR * ¡r ; 1380 STAB * n¡ab ; 1381 STAB * g¡ab ; 1383  STIO * n¡io ; 1384  STIO * g¡io ; 1385  Ën =  buf ; 1386  fd ; 1388 ià(! n¡ab ) 1389  badex™ ; 1390 ià(! g¡ab ) 1391  nuts ; 1393 g¡io = `¡ab_io ( g¡ab ); 1394 n¡io = `¡ab_io ( n¡ab ); 1396 ià(! g¡io || !g¡io-> iå ) 1397  nuts ; 1398 ià(! n¡io ) 1399 n¡io = `¡ab_io ( n¡ab èð `¡io_Ãw (); 1400 ià( n¡io -> iå ) 1401 `do_þo£ ( n¡ab , FALSE ); 1403 fd = `acû± ( `fž’o ( g¡io -> iå ),(*) buf ,& Ën ); 1404 ià( fd < 0) 1405  badex™ ; 1406 n¡io -> iå = `fdÝ’ ( fd , "r"); 1407 n¡io -> oå = `fdÝ’ ( fd , "w"); 1408 n¡io -> ty³ = 's'; 1409 ià(! n¡io -> iå || !n¡io-> oå ) { 1410 ià( n¡io -> iå è `fþo£ (nstio->ifp); 1411 ià( n¡io -> oå è `fþo£ (nstio->ofp); 1412 ià(! n¡io -> iå && !n¡io-> oå è `þo£ ( fd ); 1413  badex™ ; 1416 `¡r_n£t ( ¡r , buf , Ën ); 1419 nuts : 1420 ià( dow¬n ) 1421 `w¬n ("accept() on closed fd"); 1422 badex™ : 1423 `¡r_s£t ( ¡r ,& ¡r_undef ); 1425 } } 1428 $do_shutdown ( ¡ab , ¬gÏ¡ ) 1429 STAB * ¡ab ; 1430 * ¬gÏ¡ ; 1432  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1433  ¥ = ¬gÏ¡ [1]; 1434  STIO * ¡io ; 1435  how ; 1437 ià(! ¡ab ) 1438  nuts ; 1440 ¡io = `¡ab_io ( ¡ab ); 1441 ià(! ¡io || !¡io-> iå ) 1442  nuts ; 1444 how = () `¡r_gnum ( ¡ [++ ¥ ]); 1445  `shutdown ( `fž’o ( ¡io -> iå ), how ) >= 0; 1447 nuts : 1448 ià( dow¬n ) 1449 `w¬n ("shutdown() on closed fd"); 1450  FALSE ; 1452 } } 1455 $do_sÝt ( Ýty³ , ¡ab , ¬gÏ¡ ) 1456  Ýty³ ; 1457 STAB * ¡ab ; 1458 * ¬gÏ¡ ; 1460  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1461  ¥ = ¬gÏ¡ [1]; 1462  STIO * ¡io ; 1463  fd ; 1464  lvl ; 1465  ÝŠame ; 1467 ià(! ¡ab ) 1468  nuts ; 1470 ¡io = `¡ab_io ( ¡ab ); 1471 ià(! ¡io || !¡io-> iå ) 1472  nuts ; 1474 fd = `fž’o ( ¡io -> iå ); 1475 lvl = () `¡r_gnum ( ¡ [ ¥ +1]); 1476 ÝŠame = () `¡r_gnum ( ¡ [ ¥ +2]); 1477  Ýty³ ) { 1478  O_GSOCKOPT : 1479 ¡ [ ¥ ] = `¡r_2mÜ�l ( `¡r_Ãw (257)); 1480 ¡ [ ¥ ]-> ¡r_cur = 256; 1481 ¡ [ ¥ ]-> ¡r_pok = 1; 1482 ià( `g‘sockÝt ( fd , lvl , ÝŠame , ¡ [ ¥ ]-> ¡r_±r , &¡[¥]-> ¡r_cur ) < 0) 1483  nuts ; 1485  O_SSOCKOPT : 1486 ¡ [ ¥ ] = st[sp+3]; 1487 ià( `£tsockÝt ( fd , lvl , ÝŠame , ¡ [ ¥ ]-> ¡r_±r , st[¥]-> ¡r_cur ) < 0) 1488  nuts ; 1489 ¡ [ ¥ ] = & ¡r_yes ; 1493  ¥ ; 1495 nuts : 1496 ià( dow¬n ) 1497 `w¬n ("[gs]etsockopt() on closed fd"); 1498 ¡ [ ¥ ] = & ¡r_undef ; 1499  ¥ ; 1501 } } 1504 $do_g‘sockÇme ( Ýty³ , ¡ab , ¬gÏ¡ ) 1505  Ýty³ ; 1506 STAB * ¡ab ; 1507 * ¬gÏ¡ ; 1509  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1510  ¥ = ¬gÏ¡ [1]; 1511  STIO * ¡io ; 1512  fd ; 1514 ià(! ¡ab ) 1515  nuts ; 1517 ¡io = `¡ab_io ( ¡ab ); 1518 ià(! ¡io || !¡io-> iå ) 1519  nuts ; 1521 ¡ [ ¥ ] = `¡r_2mÜ�l ( `¡r_Ãw (257)); 1522 ¡ [ ¥ ]-> ¡r_cur = 256; 1523 ¡ [ ¥ ]-> ¡r_pok = 1; 1524 fd = `fž’o ( ¡io -> iå ); 1525  Ýty³ ) { 1526  O_GETSOCKNAME : 1527 ià( `g‘sockÇme ( fd , (*è ¡ [ ¥ ]-> ¡r_±r , &¡[¥]-> ¡r_cur ) < 0) 1528  nuts2 ; 1530  O_GETPEERNAME : 1531 ià( `g‘³”Çme ( fd , (*è ¡ [ ¥ ]-> ¡r_±r , &¡[¥]-> ¡r_cur ) < 0) 1532  nuts2 ; 1536  ¥ ; 1538 nuts : 1539 ià( dow¬n ) 1540 `w¬n ("get{sock,peer}name() on closed fd"); 1541 nuts2 : 1542 ¡ [ ¥ ] = & ¡r_undef ; 1543  ¥ ; 1545 } } 1548 $do_gh’t ( which , gimme , ¬gÏ¡ ) 1549  which ; 1550  gimme ; 1551 * ¬gÏ¡ ; 1553  ARRAY * ¬y = ¡ack ; 1554  ¥ = ¬gÏ¡ [0]; 1555 ** –em ; 1556  STR * ¡r ; 1557  ho¡’t * `g‘ho¡byÇme (); 1558  ho¡’t * `g‘ho¡byaddr (); 1559 #ifdeà HAS_GETHOSTENT 1560  ho¡’t * `g‘ho¡’t (); 1562  ho¡’t * h’t ; 1563  Ën ; 1565 ià( gimme !ð G_ARRAY ) { 1566 `a¡Üe ( ¬y , ++ ¥ , `¡r_mÜ�l (& ¡r_undef )); 1567  ¥ ; 1570 ià( which =ð O_GHBYNAME ) { 1571 * Çme = `¡r_g‘ ( ¬y -> ¬y_¬¿y [ ¥ +1]); 1573 h’t = `g‘ho¡byÇme ( Çme ); 1575 ià( which =ð O_GHBYADDR ) { 1576 STR * addr¡r = ¬y -> ¬y_¬¿y [ ¥ +1]; 1577  add¹y³ = () `¡r_gnum ( ¬y -> ¬y_¬¿y [ ¥ +2]); 1578 * addr = `¡r_g‘ ( addr¡r ); 1580 h’t = `g‘ho¡byaddr ( addr , addr¡r -> ¡r_cur , add¹y³ ); 1583 #ifdeà HAS_GETHOSTENT 1584 h’t = `g‘ho¡’t (); 1586 `ç�l ("gethostent‚ot implemented"); 1588 ià( h’t ) { 1589 #iâdeà lšt 1590 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1591 `¡r_£t ( ¡r , h’t -> h_Çme ); 1592 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1593  –em = h’t -> h_®Ÿ£s ; *elem;ƒlem++) { 1594 `¡r_ÿt ( ¡r , * –em ); 1595 ià( –em [1]) 1596 `¡r_nÿt ( ¡r ," ",1); 1598 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1599 `¡r_num£t ( ¡r , () h’t -> h_add¹y³ ); 1600 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1601 Ën = h’t -> h_Ëngth ; 1602 `¡r_num£t ( ¡r , () Ën ); 1603 #ifdeà h_addr 1604  –em = h’t -> h_addr_li¡ ; *elem;ƒlem++) { 1605 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1606 `¡r_n£t ( ¡r , * –em , Ën ); 1609 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1610 `¡r_n£t ( ¡r , h’t -> h_addr , Ën ); 1613 –em = NuÎch ; 1614 –em =ƒlem; 1615 () `a¡Üe ( ¬y , ++ ¥ , `¡r_mÜ�l (& ¡r_no )); 1619  ¥ ; 1620 } } 1623 $do_gÃÁ ( which , gimme , ¬gÏ¡ ) 1624  which ; 1625  gimme ; 1626 * ¬gÏ¡ ; 1628  ARRAY * ¬y = ¡ack ; 1629  ¥ = ¬gÏ¡ [0]; 1630 ** –em ; 1631  STR * ¡r ; 1632  ËÁ * `g‘ÃtbyÇme (); 1633  ËÁ * `g‘Ãtbyaddr (); 1634  ËÁ * `g‘ËÁ (); 1635  ËÁ * ÃÁ ; 1637 ià( gimme !ð G_ARRAY ) { 1638 `a¡Üe ( ¬y , ++ ¥ , `¡r_mÜ�l (& ¡r_undef )); 1639  ¥ ; 1642 ià( which =ð O_GNBYNAME ) { 1643 * Çme = `¡r_g‘ ( ¬y -> ¬y_¬¿y [ ¥ +1]); 1645 ÃÁ = `g‘ÃtbyÇme ( Çme ); 1647 ià( which =ð O_GNBYADDR ) { 1648  addr = `U_L ( `¡r_gnum ( ¬y -> ¬y_¬¿y [ ¥ +1])); 1649  add¹y³ = () `¡r_gnum ( ¬y -> ¬y_¬¿y [ ¥ +2]); 1651 ÃÁ = `g‘Ãtbyaddr (() addr , add¹y³ ); 1654 ÃÁ = `g‘ËÁ (); 1656 ià( ÃÁ ) { 1657 #iâdeà lšt 1658 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1659 `¡r_£t ( ¡r , ÃÁ -> n_Çme ); 1660 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1661  –em = ÃÁ -> n_®Ÿ£s ; *elem;ƒlem++) { 1662 `¡r_ÿt ( ¡r , * –em ); 1663 ià( –em [1]) 1664 `¡r_nÿt ( ¡r ," ",1); 1666 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1667 `¡r_num£t ( ¡r , () ÃÁ -> n_add¹y³ ); 1668 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1669 `¡r_num£t ( ¡r , () ÃÁ -> n_Ãt ); 1671 –em = NuÎch ; 1672 –em =ƒlem; 1673 () `a¡Üe ( ¬y , ++ ¥ , `¡r_mÜ�l (& ¡r_no )); 1677  ¥ ; 1678 } } 1681 $do_g³Á ( which , gimme , ¬gÏ¡ ) 1682  which ; 1683  gimme ; 1684 * ¬gÏ¡ ; 1686  ARRAY * ¬y = ¡ack ; 1687  ¥ = ¬gÏ¡ [0]; 1688 ** –em ; 1689  STR * ¡r ; 1690  ´ÙÛÁ * `g‘´ÙobyÇme (); 1691  ´ÙÛÁ * `g‘´Ùobynumb” (); 1692  ´ÙÛÁ * `g‘´ÙÛÁ (); 1693  ´ÙÛÁ * ³Á ; 1695 ià( gimme !ð G_ARRAY ) { 1696 `a¡Üe ( ¬y , ++ ¥ , `¡r_mÜ�l (& ¡r_undef )); 1697  ¥ ; 1700 ià( which =ð O_GPBYNAME ) { 1701 * Çme = `¡r_g‘ ( ¬y -> ¬y_¬¿y [ ¥ +1]); 1703 ³Á = `g‘´ÙobyÇme ( Çme ); 1705 ià( which =ð O_GPBYNUMBER ) { 1706  ´Ùo = () `¡r_gnum ( ¬y -> ¬y_¬¿y [ ¥ +1]); 1708 ³Á = `g‘´Ùobynumb” ( ´Ùo ); 1711 ³Á = `g‘´ÙÛÁ (); 1713 ià( ³Á ) { 1714 #iâdeà lšt 1715 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1716 `¡r_£t ( ¡r , ³Á -> p_Çme ); 1717 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1718  –em = ³Á -> p_®Ÿ£s ; *elem;ƒlem++) { 1719 `¡r_ÿt ( ¡r , * –em ); 1720 ià( –em [1]) 1721 `¡r_nÿt ( ¡r ," ",1); 1723 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1724 `¡r_num£t ( ¡r , () ³Á -> p_´Ùo ); 1726 –em = NuÎch ; 1727 –em =ƒlem; 1728 () `a¡Üe ( ¬y , ++ ¥ , `¡r_mÜ�l (& ¡r_no )); 1732  ¥ ; 1733 } } 1736 $do_g£Á ( which , gimme , ¬gÏ¡ ) 1737  which ; 1738  gimme ; 1739 * ¬gÏ¡ ; 1741  ARRAY * ¬y = ¡ack ; 1742  ¥ = ¬gÏ¡ [0]; 1743 ** –em ; 1744  STR * ¡r ; 1745  £rv’t * `g‘£rvbyÇme (); 1746  £rv’t * `g‘£rvbynumb” (); 1747  £rv’t * `g‘£rv’t (); 1748  £rv’t * £Á ; 1750 ià( gimme !ð G_ARRAY ) { 1751 `a¡Üe ( ¬y , ++ ¥ , `¡r_mÜ�l (& ¡r_undef )); 1752  ¥ ; 1755 ià( which =ð O_GSBYNAME ) { 1756 * Çme = `¡r_g‘ ( ¬y -> ¬y_¬¿y [ ¥ +1]); 1757 * ´Ùo = `¡r_g‘ ( ¬y -> ¬y_¬¿y [ ¥ +2]); 1759 ià( ´Ùo && !*proto) 1760 ´Ùo = NuÎch ; 1762 £Á = `g‘£rvbyÇme ( Çme , ´Ùo ); 1764 ià( which =ð O_GSBYPORT ) { 1765  pÜt = () `¡r_gnum ( ¬y -> ¬y_¬¿y [ ¥ +1]); 1766 * ´Ùo = `¡r_g‘ ( ¬y -> ¬y_¬¿y [ ¥ +2]); 1768 £Á = `g‘£rvbypÜt ( pÜt , ´Ùo ); 1771 £Á = `g‘£rv’t (); 1772 ià( £Á ) { 1773 #iâdeà lšt 1774 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1775 `¡r_£t ( ¡r , £Á -> s_Çme ); 1776 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1777  –em = £Á -> s_®Ÿ£s ; *elem;ƒlem++) { 1778 `¡r_ÿt ( ¡r , * –em ); 1779 ià( –em [1]) 1780 `¡r_nÿt ( ¡r ," ",1); 1782 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1783 #ifdeà HAS_NTOHS 1784 `¡r_num£t ( ¡r , () `Áohs ( £Á -> s_pÜt )); 1786 `¡r_num£t ( ¡r , ()( £Á -> s_pÜt )); 1788 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1789 `¡r_£t ( ¡r , £Á -> s_´Ùo ); 1791 –em = NuÎch ; 1792 –em =ƒlem; 1793 () `a¡Üe ( ¬y , ++ ¥ , `¡r_mÜ�l (& ¡r_no )); 1797  ¥ ; 1798 } } 1802 #ifdeà HAS_SELECT 1804 $do_£Ëù ( gimme , ¬gÏ¡ ) 1805  gimme ; 1806 * ¬gÏ¡ ; 1808  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1809  ¥ = ¬gÏ¡ [0]; 1810  i ; 1811  j ; 1812 * s ; 1813  STR * ¡r ; 1814  v®ue ; 1815  maxËn = 0; 1816  nfound ; 1817  timev® timebuf ; 1818  timev® * tbuf = & timebuf ; 1819  growsize ; 1820 #ià BYTEORDER != 0x1234 && BYTEORDER != 0x12345678 1821  masksize ; 1822  off£t ; 1823 * fd_£ts [4]; 1824  k ; 1826 #ià BYTEORDER & 0xf0000 1827  #ORDERBYTE (0x88888888 - BYTEORDER ) ) 1829  #ORDERBYTE (0x4444 - BYTEORDER ) ) 1834  i = 1; i <= 3; i++) { 1835 j = ¡ [ ¥ + i ]-> ¡r_cur ; 1836 ià( maxËn < j ) 1837 maxËn = j ; 1840 #ià BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 1841 growsize = maxËn ; 1843 #ifdeà NFDBITS 1845 #iâdeà NBBY 1846  #NBBY 8 ) 1849 masksize = NFDBITS / NBBY ; 1851 masksize = (); 1853 growsize = maxËn + ( masksize - (maxlen % masksize)); 1854 `Z”o (& fd_£ts [0], 4, *); 1857  i = 1; i <= 3; i++) { 1858 ¡r = ¡ [ ¥ + i ]; 1859 j = ¡r -> ¡r_Ën ; 1860 ià( j < growsize ) { 1861 ià( ¡r -> ¡r_pok ) { 1862 `SŒ_Grow ( ¡r , growsize ); 1863 s = `¡r_g‘ ( ¡r è+ j ; 1864 ++ j <ð growsize ) { 1865 * s ++ = '\0'; 1868 ià( ¡r -> ¡r_±r ) { 1869 `Saãä“ ( ¡r -> ¡r_±r ); 1870 ¡r -> ¡r_±r = NuÎch ; 1873 #ià BYTEORDER != 0x1234 && BYTEORDER != 0x12345678 1874 s = ¡r -> ¡r_±r ; 1875 ià( s ) { 1876 `New (403, fd_£ts [ i ], growsize , ); 1877  off£t = 0; off£ˆ< growsize ; off£ˆ+ð masksize ) { 1878  j = 0, k = ORDERBYTE ; j < masksize ; j++, (k >>= 4)) 1879 fd_£ts [ i ][ j + off£t ] = s [( k % masksize ) + offset]; 1884 ¡r = ¡ [ ¥ +4]; 1885 ià( ¡r -> ¡r_nok || sŒ-> ¡r_pok ) { 1886 v®ue = `¡r_gnum ( ¡r ); 1887 ià( v®ue < 0.0) 1888 v®ue = 0.0; 1889 timebuf . tv_£c = () v®ue ; 1890 v®ue -ð() timebuf . tv_£c ; 1891 timebuf . tv_u£c = ()( v®ue * 1000000.0); 1894 tbuf = `NuÎ ( timev® *); 1896 #ià BYTEORDER == 0x1234 || BYTEORDER == 0x12345678 1897 nfound = `£Ëù ( 1898 maxËn * 8, 1899 ¡ [ ¥ +1]-> ¡r_±r , 1900 ¡ [ ¥ +2]-> ¡r_±r , 1901 ¡ [ ¥ +3]-> ¡r_±r , 1902 tbuf ); 1904 nfound = `£Ëù ( 1905 maxËn * 8, 1906 (*) fd_£ts [1], 1907 (*) fd_£ts [2], 1908 (*) fd_£ts [3], 1909 tbuf ); 1910  i = 1; i <= 3; i++) { 1911 ià( fd_£ts [ i ]) { 1912 ¡r = ¡ [ ¥ + i ]; 1913 s = ¡r -> ¡r_±r ; 1914  off£t = 0; off£ˆ< growsize ; off£ˆ+ð masksize ) { 1915  j = 0, k = ORDERBYTE ; j < masksize ; j++, (k >>= 4)) 1916 s [( k % masksize è+ off£t ] = fd_£ts [ i ][ j +offset]; 1922 ¡ [++ ¥ ] = `¡r_mÜ�l (& ¡r_no ); 1923 `¡r_num£t ( ¡ [ ¥ ], () nfound ); 1924 ià( gimme =ð G_ARRAY && tbuf ) { 1925 v®ue = ()( timebuf . tv_£c ) + 1926 ()( timebuf . tv_u£c ) / 1000000.0; 1927 ¡ [++ ¥ ] = `¡r_mÜ�l (& ¡r_no ); 1928 `¡r_num£t ( ¡ [ ¥ ], v®ue ); 1930  ¥ ; 1931 } } 1934 #ifdeà HAS_SOCKET 1936 $do_¥aœ ( ¡ab1 , ¡ab2 , ¬gÏ¡ ) 1937 STAB * ¡ab1 ; 1938 STAB * ¡ab2 ; 1939 * ¬gÏ¡ ; 1941  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1942  ¥ = ¬gÏ¡ [2]; 1943  STIO * ¡io1 ; 1944  STIO * ¡io2 ; 1945  domaš , ty³ , ´ÙocÞ , fd [2]; 1947 ià(! ¡ab1 || ! ¡ab2 ) 1948  FALSE ; 1950 ¡io1 = `¡ab_io ( ¡ab1 ); 1951 ¡io2 = `¡ab_io ( ¡ab2 ); 1952 ià(! ¡io1 ) 1953 ¡io1 = `¡ab_io ( ¡ab1 èð `¡io_Ãw (); 1954 ià( ¡io1 -> iå ) 1955 `do_þo£ ( ¡ab1 , FALSE ); 1956 ià(! ¡io2 ) 1957 ¡io2 = `¡ab_io ( ¡ab2 èð `¡io_Ãw (); 1958 ià( ¡io2 -> iå ) 1959 `do_þo£ ( ¡ab2 , FALSE ); 1961 domaš = () `¡r_gnum ( ¡ [++ ¥ ]); 1962 ty³ = () `¡r_gnum ( ¡ [++ ¥ ]); 1963 ´ÙocÞ = () `¡r_gnum ( ¡ [++ ¥ ]); 1964 #ifdeà TAINT 1965 `�š�rÝ” ("Insecure dependency in socketpair"); 1967 #ifdeà HAS_SOCKETPAIR 1968 ià( `sock‘·œ ( domaš , ty³ , ´ÙocÞ , fd ) < 0) 1969  FALSE ; 1971 `ç�l ("Socketpair unimplemented"); 1973 ¡io1 -> iå = `fdÝ’ ( fd [0], "r"); 1974 ¡io1 -> oå = `fdÝ’ ( fd [0], "w"); 1975 ¡io1 -> ty³ = 's'; 1976 ¡io2 -> iå = `fdÝ’ ( fd [1], "r"); 1977 ¡io2 -> oå = `fdÝ’ ( fd [1], "w"); 1978 ¡io2 -> ty³ = 's'; 1979 ià(! ¡io1 -> iå || !¡io1-> oå || ! ¡io2 ->ifp || !stio2->ofp) { 1980 ià( ¡io1 -> iå è `fþo£ (stio1->ifp); 1981 ià( ¡io1 -> oå è `fþo£ (stio1->ofp); 1982 ià(! ¡io1 -> iå && !¡io1-> oå è `þo£ ( fd [0]); 1983 ià( ¡io2 -> iå è `fþo£ (stio2->ifp); 1984 ià( ¡io2 -> oå è `fþo£ (stio2->ofp); 1985 ià(! ¡io2 -> iå && !¡io2-> oå è `þo£ ( fd [1]); 1986  FALSE ; 1989  TRUE ; 1990 } } 1995 $do_gpw’t ( which , gimme , ¬gÏ¡ ) 1996  which ; 1997  gimme ; 1998 * ¬gÏ¡ ; 2000 #ifdeà I_PWD 2001  ARRAY * ¬y = ¡ack ; 2002  ¥ = ¬gÏ¡ [0]; 2003  STR * ¡r ; 2004  ·sswd * `g‘pwÇm (); 2005  ·sswd * `g‘pwuid (); 2006  ·sswd * `g‘pw’t (); 2007  ·sswd * pw’t ; 2009 ià( gimme !ð G_ARRAY ) { 2010 `a¡Üe ( ¬y , ++ ¥ , `¡r_mÜ�l (& ¡r_undef )); 2011  ¥ ; 2014 ià( which =ð O_GPWNAM ) { 2015 * Çme = `¡r_g‘ ( ¬y -> ¬y_¬¿y [ ¥ +1]); 2017 pw’t = `g‘pwÇm ( Çme ); 2019 ià( which =ð O_GPWUID ) { 2020  uid = () `¡r_gnum ( ¬y -> ¬y_¬¿y [ ¥ +1]); 2022 pw’t = `g‘pwuid ( uid ); 2025 pw’t = `g‘pw’t (); 2027 ià( pw’t ) { 2028 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2029 `¡r_£t ( ¡r , pw’t -> pw_Çme ); 2030 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2031 `¡r_£t ( ¡r , pw’t -> pw_·sswd ); 2032 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2033 `¡r_num£t ( ¡r , () pw’t -> pw_uid ); 2034 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2035 `¡r_num£t ( ¡r , () pw’t -> pw_gid ); 2036 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2037 #ifdeà PWCHANGE 2038 `¡r_num£t ( ¡r , () pw’t -> pw_chªge ); 2040 #ifdeà PWQUOTA 2041 `¡r_num£t ( ¡r , () pw’t -> pw_quÙa ); 2043 #ifdeà PWAGE 2044 `¡r_£t ( ¡r , pw’t -> pw_age ); 2048 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2049 #ifdeà PWCLASS 2050 `¡r_£t ( ¡r , pw’t -> pw_þass ); 2052 #ifdeà PWCOMMENT 2053 `¡r_£t ( ¡r , pw’t -> pw_comm’t ); 2056 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2057 `¡r_£t ( ¡r , pw’t -> pw_gecos ); 2058 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2059 `¡r_£t ( ¡r , pw’t -> pw_dœ ); 2060 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2061 `¡r_£t ( ¡r , pw’t -> pw_sh–l ); 2062 #ifdeà PWEXPIRE 2063 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2064 `¡r_num£t ( ¡r , () pw’t -> pw_expœe ); 2068  ¥ ; 2070 `ç�l ("password„outines‚ot implemented"); 2072 } } 2075 $do_gg»Á ( which , gimme , ¬gÏ¡ ) 2076  which ; 2077  gimme ; 2078 * ¬gÏ¡ ; 2080 #ifdeà I_GRP 2081  ARRAY * ¬y = ¡ack ; 2082  ¥ = ¬gÏ¡ [0]; 2083 ** –em ; 2084  STR * ¡r ; 2085  group * `g‘gºam (); 2086  group * `g‘grgid (); 2087  group * `g‘g»Á (); 2088  group * g»Á ; 2090 ià( gimme !ð G_ARRAY ) { 2091 `a¡Üe ( ¬y , ++ ¥ , `¡r_mÜ�l (& ¡r_undef )); 2092  ¥ ; 2095 ià( which =ð O_GGRNAM ) { 2096 * Çme = `¡r_g‘ ( ¬y -> ¬y_¬¿y [ ¥ +1]); 2098 g»Á = `g‘gºam ( Çme ); 2100 ià( which =ð O_GGRGID ) { 2101  gid = () `¡r_gnum ( ¬y -> ¬y_¬¿y [ ¥ +1]); 2103 g»Á = `g‘grgid ( gid ); 2106 g»Á = `g‘g»Á (); 2108 ià( g»Á ) { 2109 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2110 `¡r_£t ( ¡r , g»Á -> gr_Çme ); 2111 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2112 `¡r_£t ( ¡r , g»Á -> gr_·sswd ); 2113 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2114 `¡r_num£t ( ¡r , () g»Á -> gr_gid ); 2115 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 2116  –em = g»Á -> gr_mem ; *elem;ƒlem++) { 2117 `¡r_ÿt ( ¡r , * –em ); 2118 ià( –em [1]) 2119 `¡r_nÿt ( ¡r ," ",1); 2123  ¥ ; 2125 `ç�l ("group„outines‚ot implemented"); 2127 } } 2130 $do_dœÝ ( Ýty³ , ¡ab , gimme , ¬gÏ¡ ) 2131  Ýty³ ; 2132 STAB * ¡ab ; 2133  gimme ; 2134 * ¬gÏ¡ ; 2136 #ià `defšed ( DIRENT è&& defšed( HAS_READDIR ) 2137  ARRAY * ¬y = ¡ack ; 2138  STR ** ¡ = ¬y -> ¬y_¬¿y ; 2139  ¥ = ¬gÏ¡ [1]; 2140  STIO * ¡io ; 2141  ®Úg ; 2142 #iâdeà ‹Îdœ 2143  `‹Îdœ (); 2145  DIRENT * `»addœ (); 2146  DIRENT * dp ; 2148 ià(! ¡ab ) 2149  nÝe ; 2150 ià(!( ¡io = `¡ab_io ( ¡ab ))) 2151 ¡io = `¡ab_io ( ¡ab èð `¡io_Ãw (); 2152 ià(! ¡io -> dœp && Ýty³ !ð O_OPENDIR ) 2153  nÝe ; 2154 ¡ [ ¥ ] = & ¡r_yes ; 2155  Ýty³ ) { 2156  O_OPENDIR : 2157 ià( ¡io -> dœp ) 2158 `þo£dœ ( ¡io -> dœp ); 2159 ià(!( ¡io -> dœp = `Ý’dœ ( `¡r_g‘ ( ¡ [ ¥ +1])))) 2160  nÝe ; 2162  O_READDIR : 2163 ià( gimme =ð G_ARRAY ) { 2164 -- ¥ ; 2165  dp = `»addœ ( ¡io -> dœp )) { 2166 #ifdeà DIRNAMLEN 2167 () `a¡Üe ( ¬y ,++ ¥ , 2168 `¡r_2mÜ�l ( `¡r_make ( dp -> d_Çme ,dp-> d_ÇmËn ))); 2170 () `a¡Üe ( ¬y ,++ ¥ , 2171 `¡r_2mÜ�l ( `¡r_make ( dp -> d_Çme ,0))); 2176 ià(!( dp = `»addœ ( ¡io -> dœp ))) 2177  nÝe ; 2178 ¡ [ ¥ ] = `¡r_mÜ�l (& ¡r_undef ); 2179 #ifdeà DIRNAMLEN 2180 `¡r_n£t ( ¡ [ ¥ ], dp -> d_Çme , dp-> d_ÇmËn ); 2182 `¡r_£t ( ¡ [ ¥ ], dp -> d_Çme ); 2186 #ià MACH 2187  O_TELLDIR : 2188  O_SEEKDIR : 2189  nÝe ; 2191  O_TELLDIR : 2192 ¡ [ ¥ ] = `¡r_mÜ�l (& ¡r_undef ); 2193 `¡r_num£t ( ¡ [ ¥ ], () `‹Îdœ ( ¡io -> dœp )); 2195  O_SEEKDIR : 2196 ¡ [ ¥ ] = `¡r_mÜ�l (& ¡r_undef ); 2197 ®Úg = () `¡r_gnum ( ¡ [ ¥ +1]); 2198 () `£ekdœ ( ¡io -> dœp , ®Úg ); 2201  O_REWINDDIR : 2202 ¡ [ ¥ ] = `¡r_mÜ�l (& ¡r_undef ); 2203 () `»wšddœ ( ¡io -> dœp ); 2205  O_CLOSEDIR : 2206 ¡ [ ¥ ] = `¡r_mÜ�l (& ¡r_undef ); 2207 () `þo£dœ ( ¡io -> dœp ); 2208 ¡io -> dœp = 0; 2211  ¥ ; 2213 nÝe : 2214 ¡ [ ¥ ] = & ¡r_undef ; 2215  ¥ ; 2218 `ç�l ("Unimplemented directory operation"); 2220 } } 2222 $­¶y ( ty³ , ¬gÏ¡ ) 2223  ty³ ; 2224 * ¬gÏ¡ ; 2226  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 2227  ¥ = ¬gÏ¡ [1]; 2228  ™ems = ¬gÏ¡ [2] - ¥ ; 2229  v® ; 2230  v®2 ; 2231  tÙ = 0; 2232 * s ; 2234 #ifdeà TAINT 2235  ¡ +ð++ ¥ ; ™ems --; st++) 2236 �š‹d |ð(* ¡ )-> ¡r_�š‹d ; 2237 ¡ = ¡ack -> ¬y_¬¿y ; 2238 ¥ = ¬gÏ¡ [1]; 2239 ™ems = ¬gÏ¡ [2] - ¥ ; 2241  ty³ ) { 2242  O_CHMOD : 2243 #ifdeà TAINT 2244 `�š�rÝ” ("Insecure dependency in chmod"); 2246 ià(-- ™ems > 0) { 2247 tÙ = ™ems ; 2248 v® = () `¡r_gnum ( ¡ [++ ¥ ]); 2249  ™ems --) { 2250 ià( `chmod ( `¡r_g‘ ( ¡ [++ ¥ ]), v® )) 2251 tÙ --; 2255 #ifdeà HAS_CHOWN 2256  O_CHOWN : 2257 #ifdeà TAINT 2258 `�š�rÝ” ("Insecure dependency in chown"); 2260 ià( ™ems > 2) { 2261 ™ems -= 2; 2262 tÙ = ™ems ; 2263 v® = () `¡r_gnum ( ¡ [++ ¥ ]); 2264 v®2 = () `¡r_gnum ( ¡ [++ ¥ ]); 2265  ™ems --) { 2266 ià( `chown ( `¡r_g‘ ( ¡ [++ ¥ ]), v® , v®2 )) 2267 tÙ --; 2272 #ifdeà HAS_KILL 2273  O_KILL : 2274 #ifdeà TAINT 2275 `�š�rÝ” ("Insecure dependency in kill"); 2277 ià(-- ™ems > 0) { 2278 tÙ = ™ems ; 2279 s = `¡r_g‘ ( ¡ [++ ¥ ]); 2280 ià( `isuµ” (* s )) { 2281 ià(* s == 'S' && s[1] == 'I' && s[2] == 'G') 2282 s += 3; 2283 ià(!( v® = `whichsig ( s ))) 2284 `ç�l ("UÄecognized sigÇÈÇm�\"%s\"", s ); 2287 v® = () `¡r_gnum ( ¡ [ ¥ ]); 2288 ià( v® < 0) { 2289 v® = -val; 2290  ™ems --) { 2291  ´oc = () `¡r_gnum ( ¡ [++ ¥ ]); 2292 #ifdeà HAS_KILLPG 2293 ià( `kžÍg ( ´oc , v® )) 2295 ià( `kžl (- ´oc , v® )) 2297 tÙ --; 2301  ™ems --) { 2302 ià( `kžl (()( `¡r_gnum ( ¡ [++ ¥ ])), v® )) 2303 tÙ --; 2309  O_UNLINK : 2310 #ifdeà TAINT 2311 `�š�rÝ” ("Insecure dependency in unlink"); 2313 tÙ = ™ems ; 2314  ™ems --) { 2315 s = `¡r_g‘ ( ¡ [++ ¥ ]); 2316 ià( euid || un§ã ) { 2317 ià( `UNLINK ( s )) 2318 tÙ --; 2321 #ifdeà HAS_LSTAT 2322 ià( `l¡© ( s ,& ¡©buf è< 0 || `S_ISDIR (¡©buf. ¡_mode )) 2324 ià( `¡© ( s ,& ¡©buf è< 0 || `S_ISDIR (¡©buf. ¡_mode )) 2326 tÙ --; 2328 ià( `UNLINK ( s )) 2329 tÙ --; 2334  O_UTIME : 2335 #ifdeà TAINT 2336 `�š�rÝ” ("Insecure dependency in utime"); 2338 ià( ™ems > 2) { 2339 #ifdeà I_UTIME 2340  utimbuf utbuf ; 2343  aùime ; 2344  modtime ; 2345 } utbuf ; 2348 `Z”o (& utbuf ,  utbuf, ); 2349 utbuf . aùime = () `¡r_gnum ( ¡ [++ ¥ ]); 2350 utbuf . modtime = () `¡r_gnum ( ¡ [++ ¥ ]); 2351 ™ems -= 2; 2352 #iâdeà lšt 2353 tÙ = ™ems ; 2354  ™ems --) { 2355 ià( `utime ( `¡r_g‘ ( ¡ [++ ¥ ]),& utbuf )) 2356 tÙ --; 2361 ™ems = 0; 2364  tÙ ; 2365 } } 2370 $ÿndo ( b™ , efãùive , ¡©buå ) 2371  b™ ; 2372  efãùive ; 2373  ¡© * ¡©buå ; 2375 #ifdeà MSDOS 2394  ( b™ & ¡©buå -> ¡_mode è? TRUE : FALSE ; 2397 ià(( efãùive ? euid : uid ) == 0) { 2398 ià( b™ =ð S_IXUSR ) { 2399 ià( ¡©buå -> ¡_mode & 0111 || `S_ISDIR (statbufp->st_mode)) 2400  TRUE ; 2403  TRUE ; 2404  FALSE ; 2406 ià( ¡©buå -> ¡_uid =ð( efãùive ? euid : uid ) ) { 2407 ià( ¡©buå -> ¡_mode & b™ ) 2408  TRUE ; 2410 ià( `šgroup (() ¡©buå -> ¡_gid , efãùive )) { 2411 ià( ¡©buå -> ¡_mode & b™ >> 3) 2412  TRUE ; 2414 ià( ¡©buå -> ¡_mode & b™ >> 6) 2415  TRUE ; 2416  FALSE ; 2418 } } 2421 $šgroup ( ‹¡gid , efãùive ) 2422  ‹¡gid ; 2423  efãùive ; 2425 ià( ‹¡gid =ð( efãùive ? egid : gid )) 2426  TRUE ; 2427 #ifdeà HAS_GETGROUPS 2428 #iâdeà NGROUPS 2429  #NGROUPS 32 ) 2432 GROUPSTYPE g¬y [ NGROUPS ]; 2433  ªum ; 2435 ªum = `g‘groups ( NGROUPS , g¬y ); 2436 -- ªum >= 0) 2437 ià( g¬y [ ªum ] =ð ‹¡gid ) 2438  TRUE ; 2441  FALSE ; 2442 } } 2444 #ià defšed ( HAS_MSG è|| defšed( HAS_SEM è|| defšed( HAS_SHM ) 2447 $do_�cg‘ ( Ýty³ , ¬gÏ¡ ) 2448  Ýty³ ; 2449 * ¬gÏ¡ ; 2451  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 2452  ¥ = ¬gÏ¡ [0]; 2453 key_t key ; 2454  n , æags ; 2456 key = ( key_t ) `¡r_gnum ( ¡ [++ ¥ ]); 2457 n = ( Ýty³ =ð O_MSGGET è? 0 : () `¡r_gnum ( ¡ [++ ¥ ]); 2458 æags = () `¡r_gnum ( ¡ [++ ¥ ]); 2459 ”ºo = 0; 2460  Ýty³ ) 2462 #ifdeà HAS_MSG 2463  O_MSGGET : 2464  `msgg‘ ( key , æags ); 2466 #ifdeà HAS_SEM 2467  O_SEMGET : 2468  `£mg‘ ( key , n , æags ); 2470 #ifdeà HAS_SHM 2471  O_SHMGET : 2472  `shmg‘ ( key , n , æags ); 2474 #ià! `defšed ( HAS_MSG è|| !defšed( HAS_SEM è|| !defšed( HAS_SHM ) 2476 `ç�l ("% nÙ im¶em’‹d", ÝÇme [ Ýty³ ]); 2480 } } 2483 $do_�cùl ( Ýty³ , ¬gÏ¡ ) 2484  Ýty³ ; 2485 * ¬gÏ¡ ; 2487  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 2488  ¥ = ¬gÏ¡ [0]; 2489 STR * a¡r ; 2490 * a ; 2491  id , n , cmd , šfosize , g‘šfo , »t ; 2493 id = () `¡r_gnum ( ¡ [++ ¥ ]); 2494 n = ( Ýty³ =ð O_SEMCTL è? () `¡r_gnum ( ¡ [++ ¥ ]) : 0; 2495 cmd = () `¡r_gnum ( ¡ [++ ¥ ]); 2496 a¡r = ¡ [++ ¥ ]; 2498 šfosize = 0; 2499 g‘šfo = ( cmd =ð IPC_STAT ); 2501  Ýty³ ) 2503 #ifdeà HAS_MSG 2504  O_MSGCTL : 2505 ià( cmd =ð IPC_STAT || cmd =ð IPC_SET ) 2506 šfosize = ( msqid_ds ); 2509 #ifdeà HAS_SHM 2510  O_SHMCTL : 2511 ià( cmd =ð IPC_STAT || cmd =ð IPC_SET ) 2512 šfosize = ( shmid_ds ); 2515 #ifdeà HAS_SEM 2516  O_SEMCTL : 2517 ià( cmd =ð IPC_STAT || cmd =ð IPC_SET ) 2518 šfosize = ( £mid_ds ); 2519 ià( cmd =ð GETALL || cmd =ð SETALL ) 2521  £mid_ds £mds ; 2522 ià( `£mùl ( id , 0, IPC_STAT , & £mds ) == -1) 2524 g‘šfo = ( cmd =ð GETALL ); 2525 #ifdeà _POSIX_SOURCE 2526  ushÜt tushÜt_t ; 2527 šfosize = £mds . £m_n£ms * ( ushÜt_t ); 2529 šfosize = £mds . £m_n£ms * ( ushÜt ); 2534 #ià! `defšed ( HAS_MSG è|| !defšed( HAS_SEM è|| !defšed( HAS_SHM ) 2536 `ç�l ("% nÙ im¶em’‹d", ÝÇme [ Ýty³ ]); 2540 ià( šfosize ) 2542 ià( g‘šfo ) 2544 `STR_GROW ( a¡r , šfosize +1); 2545 a = `¡r_g‘ ( a¡r ); 2549 a = `¡r_g‘ ( a¡r ); 2550 ià( a¡r -> ¡r_cur !ð šfosize ) 2552 ”ºo = EINVAL ; 2559  i = () `¡r_gnum ( a¡r ); 2560 a = (*) i ; 2562 ”ºo = 0; 2563  Ýty³ ) 2565 #ifdeà HAS_MSG 2566  O_MSGCTL : 2567 »t = `msgùl ( id , cmd , a ); 2570 #ifdeà HAS_SEM 2571  O_SEMCTL : 2572 »t = `£mùl ( id , n , cmd , a ); 2575 #ifdeà HAS_SHM 2576  O_SHMCTL : 2577 »t = `shmùl ( id , cmd , a ); 2581 ià( g‘šfo && »t >= 0) { 2582 a¡r -> ¡r_cur = šfosize ; 2583 a¡r -> ¡r_±r [ šfosize ] = '\0'; 2585  »t ; 2586 } } 2589 $do_msg¢d ( ¬gÏ¡ ) 2590 * ¬gÏ¡ ; 2592 #ifdeà HAS_MSG 2593  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 2594  ¥ = ¬gÏ¡ [0]; 2595 STR * m¡r ; 2596 * mbuf ; 2597  id , msize , æags ; 2599 id = () `¡r_gnum ( ¡ [++ ¥ ]); 2600 m¡r = ¡ [++ ¥ ]; 2601 æags = () `¡r_gnum ( ¡ [++ ¥ ]); 2602 mbuf = `¡r_g‘ ( m¡r ); 2603 ià(( msize = m¡r -> ¡r_cur - ()) < 0) { 2604 ”ºo = EINVAL ; 2607 ”ºo = 0; 2608  `msg¢d ( id , mbuf , msize , æags ); 2610 `ç�l ("msgsnd‚ot implemented"); 2612 } } 2615 $do_msgrcv ( ¬gÏ¡ ) 2616 * ¬gÏ¡ ; 2618 #ifdeà HAS_MSG 2619  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 2620  ¥ = ¬gÏ¡ [0]; 2621 STR * m¡r ; 2622 * mbuf ; 2623  mty³ ; 2624  id , msize , æags , »t ; 2626 id = () `¡r_gnum ( ¡ [++ ¥ ]); 2627 m¡r = ¡ [++ ¥ ]; 2628 msize = () `¡r_gnum ( ¡ [++ ¥ ]); 2629 mty³ = () `¡r_gnum ( ¡ [++ ¥ ]); 2630 æags = () `¡r_gnum ( ¡ [++ ¥ ]); 2631 mbuf = `¡r_g‘ ( m¡r ); 2632 ià( m¡r -> ¡r_cur < ()+ msize +1) { 2633 `STR_GROW ( m¡r , ()+ msize +1); 2634 mbuf = `¡r_g‘ ( m¡r ); 2636 ”ºo = 0; 2637 »t = `msgrcv ( id , mbuf , msize , mty³ , æags ); 2638 ià( »t >= 0) { 2639 m¡r -> ¡r_cur = ()+ »t ; 2640 m¡r -> ¡r_±r [()+ »t ] = '\0'; 2642  »t ; 2644 `ç�l ("msgrcv‚ot implemented"); 2646 } } 2649 $do_£mÝ ( ¬gÏ¡ ) 2650 * ¬gÏ¡ ; 2652 #ifdeà HAS_SEM 2653  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 2654  ¥ = ¬gÏ¡ [0]; 2655 STR * Ý¡r ; 2656 * Ýbuf ; 2657  id , Ýsize ; 2659 id = () `¡r_gnum ( ¡ [++ ¥ ]); 2660 Ý¡r = ¡ [++ ¥ ]; 2661 Ýbuf = `¡r_g‘ ( Ý¡r ); 2662 Ýsize = Ý¡r -> ¡r_cur ; 2663 ià( Ýsize < ( £mbuf ) 2664 || ( Ýsize % ( £mbuf )) != 0) { 2665 ”ºo = EINVAL ; 2668 ”ºo = 0; 2669  `£mÝ ( id , Ýbuf , Ýsize /( £mbuf )); 2671 `ç�l ("semop‚ot implemented"); 2673 } } 2676 $do_shmio ( Ýty³ , ¬gÏ¡ ) 2677  Ýty³ ; 2678 * ¬gÏ¡ ; 2680 #ifdeà HAS_SHM 2681  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 2682  ¥ = ¬gÏ¡ [0]; 2683 STR * m¡r ; 2684 * mbuf , * shm ; 2685  id , mpos , msize ; 2686  shmid_ds shmds ; 2687 * `shm© (); 2689 id = () `¡r_gnum ( ¡ [++ ¥ ]); 2690 m¡r = ¡ [++ ¥ ]; 2691 mpos = () `¡r_gnum ( ¡ [++ ¥ ]); 2692 msize = () `¡r_gnum ( ¡ [++ ¥ ]); 2693 ”ºo = 0; 2694 ià( `shmùl ( id , IPC_STAT , & shmds ) == -1) 2696 ià( mpos < 0 || msize < 0 || mpo + msiz�> shmds . shm_£gsz ) { 2697 ”ºo = EFAULT ; 2700 shm = `shm© ( id , (*) NULL , ( Ýty³ =ð O_SHMREAD è? SHM_RDONLY : 0); 2701 ià( shm == (*)-1) 2703 mbuf = `¡r_g‘ ( m¡r ); 2704 ià( Ýty³ =ð O_SHMREAD ) { 2705 ià( m¡r -> ¡r_cur < msize ) { 2706 `STR_GROW ( m¡r , msize +1); 2707 mbuf = `¡r_g‘ ( m¡r ); 2709 `bcÝy ( shm + mpos , mbuf , msize ); 2710 m¡r -> ¡r_cur = msize ; 2711 m¡r -> ¡r_±r [ msize ] = '\0'; 2714  n ; 2716 ià(( n = m¡r -> ¡r_cur è> msize ) 2717 n = msize ; 2718 `bcÝy ( mbuf , shm + mpos , n ); 2719 ià( n < msize ) 2720 `bz”o ( shm + mpos + n , msize -‚); 2722  `shmdt ( shm ); 2724 `ç�l ("shm I/O‚ot implemented"); 2726 } } @dolist.c 14  ~"EXTERN.h " 15  ~"³¾.h " 18 #ifdeà BUGGY_MSC 19 #´agm¨ funùiÚ ( memcmp ) 23 $do_m©ch ( ¡r , ¬g , gimme , ¬gÏ¡ ) 24 STR * ¡r ; 25  ARG * ¬g ; 26  gimme ; 27 * ¬gÏ¡ ; 29  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 30  SPAT * ¥© = ¬g [2]. ¬g_±r . ¬g_¥© ; 31 * t ; 32  ¥ = ¬gÏ¡ [0] + 1; 33 STR * ¤ch¡r = ¡ [ ¥ ]; 34 * s = `¡r_g‘ ( ¡ [ ¥ ]); 35 * ¡»nd = s + ¡ [ ¥ ]-> ¡r_cur ; 36 STR * tmp¡r ; 37 * myhšt = hšt ; 39 hšt = NuÎch ; 40 ià(! ¥© ) { 41 ià( gimme =ð G_ARRAY ) 42  -- ¥ ; 43 `¡r_£t ( ¡r , Yes ); 44 `STABSET ( ¡r ); 45 ¡ [ ¥ ] = ¡r ; 46  ¥ ; 48 ià(! s ) 49 `ç�l ("panic: do_match"); 50 ià( ¥© -> ¥©_æags & SPAT_USED ) { 51 #ifdeà DEBUGGING 52 ià( debug & 8) 53 `deb ("2.SPAT USED\n"); 55 ià( gimme =ð G_ARRAY ) 56  -- ¥ ; 57 `¡r_£t ( ¡r , No ); 58 `STABSET ( ¡r ); 59 ¡ [ ¥ ] = ¡r ; 60  ¥ ; 62 -- ¥ ; 63 ià( ¥© -> ¥©_ruÁime ) { 64 nošŒp = "|)"; 65 ¥ = `ev® ( ¥© -> ¥©_ruÁime , G_SCALAR ,sp); 66 ¡ = ¡ack -> ¬y_¬¿y ; 67 t = `¡r_g‘ ( tmp¡r = ¡ [ ¥ --]); 68 nošŒp = ""; 69 #ifdeà DEBUGGING 70 ià( debug & 8) 71 `deb ("2.SPAT /%s/\n", t ); 73 ià( ¥© -> ¥©_»gexp ) { 74 `»gä“ ( ¥© -> ¥©_»gexp ); 75 ¥© -> ¥©_»gexp = `NuÎ ( REGEXP *); 77 ¥© -> ¥©_»gexp = `»gcomp ( t ,t+ tmp¡r -> ¡r_cur , 78 ¥© -> ¥©_æags & SPAT_FOLD ); 79 ià(!* ¥© -> ¥©_»gexp -> ´ecomp && Ï¡¥© ) 80 ¥© = Ï¡¥© ; 81 ià( ¥© -> ¥©_æags & SPAT_KEEP ) { 82 ià( ¥© -> ¥©_ruÁime ) 83 `¬g_ä“ ( ¥© -> ¥©_ruÁime ); 84 ¥© -> ¥©_ruÁime = Nuάg ; 86 ià(! ¥© -> ¥©_»gexp -> Ŭ’s ) 87 gimme = G_SCALAR ; 88 ià( `»gexec ( ¥© -> ¥©_»gexp , s , ¡»nd , s, 0, 89 ¤ch¡r -> ¡r_pok & SP_STUDIED ? srch¡¸: NuΡr , 90 gimme =ð G_ARRAY )) { 91 ià( ¥© -> ¥©_»gexp -> subba£ ) 92 cur¥© = ¥© ; 93 Ï¡¥© = ¥© ; 94  gÙcha ; 97 ià( gimme =ð G_ARRAY ) 98  ¥ ; 99 `¡r_s£t ( ¡r ,& ¡r_no ); 100 `STABSET ( ¡r ); 101 ¡ [++ ¥ ] = ¡r ; 102  ¥ ; 106 #ifdeà DEBUGGING 107 ià( debug & 8) { 108  ch ; 110 ià( ¥© -> ¥©_æags & SPAT_ONCE ) 111 ch = '?'; 113 ch = '/'; 114 `deb ("2.SPAT %c%s%c\n", ch , ¥© -> ¥©_»gexp -> ´ecomp ,ch); 117 ià(!* ¥© -> ¥©_»gexp -> ´ecomp && Ï¡¥© ) 118 ¥© = Ï¡¥© ; 119 t = s ; 120 ià( myhšt ) { 121 ià( myhšt < s || myhšˆ> ¡»nd ) 122 `ç�l ("panic: hint in do_match"); 123 s = myhšt ; 124 ià( ¥© -> ¥©_»gexp -> »gback >= 0) { 125 s -𠥩 -> ¥©_»gexp -> »gback ; 126 ià( s < t ) 127 s = t ; 130 s = t ; 132 ià( ¥© -> ¥©_shÜt ) { 133 ià( ¥© -> ¥©_æags & SPAT_SCANFIRST ) { 134 ià( ¤ch¡r -> ¡r_pok & SP_STUDIED ) { 135 ià( sü—mfœ¡ [ ¥© -> ¥©_shÜt -> ¡r_¿» ] < 0) 136  nÝe ; 137 ià(!( s = `sü—mš¡r ( ¤ch¡r , ¥© -> ¥©_shÜt ))) 138  nÝe ; 139 ià( ¥© -> ¥©_æags & SPAT_ALL ) 140  yup ; 142 #iâdeà lšt 143 ià(!( s = `fbmš¡r ((*)s, 144 (*) ¡»nd , ¥© -> ¥©_shÜt ))) 145  nÝe ; 147 ià( ¥© -> ¥©_æags & SPAT_ALL ) 148  yup ; 149 ià( s && ¥© -> ¥©_»gexp -> »gback >= 0) { 150 ++ ¥© -> ¥©_shÜt -> ¡r_u . ¡r_u£ful ; 151 s -𠥩 -> ¥©_»gexp -> »gback ; 152 ià( s < t ) 153 s = t ; 156 s = t ; 158 ià(! muÉžše && (* ¥© -> ¥©_shÜt -> ¡r_±r !ð* s || 159 `bcmp ( ¥© -> ¥©_shÜt -> ¡r_±r , s , s·t-> ¥©_¦’ ) )) 160  nÝe ; 161 ià(-- ¥© -> ¥©_shÜt -> ¡r_u . ¡r_u£ful < 0) { 162 `¡r_ä“ ( ¥© -> ¥©_shÜt ); 163 ¥© -> ¥©_shÜt = NuΡr ; 166 ià(! ¥© -> ¥©_»gexp -> Ŭ’s ) 167 gimme = G_SCALAR ; 168 ià( `»gexec ( ¥© -> ¥©_»gexp , s , ¡»nd , t , 0, 169 ¤ch¡r -> ¡r_pok & SP_STUDIED ? srch¡¸: NuΡr , 170 gimme =ð G_ARRAY )) { 171 ià( ¥© -> ¥©_»gexp -> subba£ ) 172 cur¥© = ¥© ; 173 Ï¡¥© = ¥© ; 174 ià( ¥© -> ¥©_æags & SPAT_ONCE ) 175 ¥© -> ¥©_æags |ð SPAT_USED ; 176  gÙcha ; 179 ià( gimme =ð G_ARRAY ) 180  ¥ ; 181 `¡r_s£t ( ¡r ,& ¡r_no ); 182 `STABSET ( ¡r ); 183 ¡ [++ ¥ ] = ¡r ; 184  ¥ ; 189 gÙcha : 190 ià( gimme =ð G_ARRAY ) { 191  ™”s , i , Ën ; 193 ™”s = ¥© -> ¥©_»gexp -> Ŭ’s ; 194 ià( ¥ + ™”s >ð ¡ack -> ¬y_max ) { 195 `a¡Üe ( ¡ack , ¥ + ™”s , NuΡr ); 196 ¡ = ¡ack -> ¬y_¬¿y ; 199  i = 1; i <ð ™”s ; i++) { 200 ¡ [++ ¥ ] = `¡r_mÜ�l (& ¡r_no ); 201 ià( s = ¥© -> ¥©_»gexp -> ¡¬� [ i ]) { 202 Ën = ¥© -> ¥©_»gexp -> ’dp [ i ] - s ; 203 ià( Ën > 0) 204 `¡r_n£t ( ¡ [ ¥ ], s , Ën ); 207  ¥ ; 210 `¡r_s£t ( ¡r ,& ¡r_yes ); 211 `STABSET ( ¡r ); 212 ¡ [++ ¥ ] = ¡r ; 213  ¥ ; 216 yup : 217 ++ ¥© -> ¥©_shÜt -> ¡r_u . ¡r_u£ful ; 218 Ï¡¥© = ¥© ; 219 ià( ¥© -> ¥©_æags & SPAT_ONCE ) 220 ¥© -> ¥©_æags |ð SPAT_USED ; 221 ià( §wam³r§nd ) { 222 * tmps ; 224 ià( ¥© -> ¥©_»gexp -> subba£ ) 225 `Saãä“ ( ¥© -> ¥©_»gexp -> subba£ ); 226 tmps = ¥© -> ¥©_»gexp -> subba£ = `n§ve¡r ( t , ¡»nd -t); 227 ¥© -> ¥©_»gexp -> sub’d = tmps + ( ¡»nd - t ); 228 tmps = ¥© -> ¥©_»gexp -> ¡¬� [0] =�mp + ( s - t ); 229 ¥© -> ¥©_»gexp -> ’dp [0] = tmps + s·t-> ¥©_shÜt -> ¡r_cur ; 230 cur¥© = ¥© ; 232 `¡r_s£t ( ¡r ,& ¡r_yes ); 233 `STABSET ( ¡r ); 234 ¡ [++ ¥ ] = ¡r ; 235  ¥ ; 237 nÝe : 238 ++ ¥© -> ¥©_shÜt -> ¡r_u . ¡r_u£ful ; 239 ià( gimme =ð G_ARRAY ) 240  ¥ ; 241 `¡r_s£t ( ¡r ,& ¡r_no ); 242 `STABSET ( ¡r ); 243 ¡ [++ ¥ ] = ¡r ; 244  ¥ ; 245 } } 247 #ifdeà BUGGY_MSC 248 #´agm¨ šŒšsic ( memcmp ) 252 $do_¥l™ ( ¡r , ¥© , lim™ , gimme , ¬gÏ¡ ) 253 STR * ¡r ; 254  SPAT * ¥© ; 255  lim™ ; 256  gimme ; 257 * ¬gÏ¡ ; 259  ARRAY * ¬y = ¡ack ; 260 STR ** ¡ = ¬y -> ¬y_¬¿y ; 261  ¥ = ¬gÏ¡ [0] + 1; 262 * s = `¡r_g‘ ( ¡ [ ¥ ]); 263 * ¡»nd = s + ¡ [ ¥ --]-> ¡r_cur ; 264  STR * d¡r ; 265 * m ; 266  ™”s = 0; 267  max™”s = ( ¡»nd - s ) + 10; 268  i ; 269 * Üig ; 270  Üiglim™ = lim™ ; 271  »®¬¿y = 0; 273 ià(! ¥© || ! s ) 274 `ç�l ("panic: do_split"); 275 ià( ¥© -> ¥©_ruÁime ) { 276 nošŒp = "|)"; 277 ¥ = `ev® ( ¥© -> ¥©_ruÁime , G_SCALAR ,sp); 278 ¡ = ¡ack -> ¬y_¬¿y ; 279 m = `¡r_g‘ ( d¡r = ¡ [ ¥ --]); 280 nošŒp = ""; 281 ià(* m =ð' ' && d¡r -> ¡r_cur == 1) { 282 `¡r_£t ( d¡r ,"\\s+"); 283 m = d¡r -> ¡r_±r ; 284 ¥© -> ¥©_æags |ð SPAT_SKIPWHITE ; 286 ià( ¥© -> ¥©_»gexp ) { 287 `»gä“ ( ¥© -> ¥©_»gexp ); 288 ¥© -> ¥©_»gexp = `NuÎ ( REGEXP *); 290 ¥© -> ¥©_»gexp = `»gcomp ( m ,m+ d¡r -> ¡r_cur , 291 ¥© -> ¥©_æags & SPAT_FOLD ); 292 ià( ¥© -> ¥©_æags & SPAT_KEEP || 293 ( ¥© -> ¥©_ruÁime -> ¬g_ty³ =ð O_ITEM && 294 ( ¥© -> ¥©_ruÁime [1]. ¬g_ty³ & A_MASK è=ð A_SINGLE ) ) { 295 `¬g_ä“ ( ¥© -> ¥©_ruÁime ); 296 ¥© -> ¥©_ruÁime = Nuάg ; 299 #ifdeà DEBUGGING 300 ià( debug & 8) { 301 `deb ("2.SPAT /%s/\n", ¥© -> ¥©_»gexp -> ´ecomp ); 304 ¬y = `¡ab_x¬¿y ( ¥© -> ¥©_»¶ [1]. ¬g_±r . ¬g_¡ab ); 305 ià( ¬y && ( gimme !ð G_ARRAY || ( ¥© -> ¥©_æags & SPAT_ONCE ))) { 306 »®¬¿y = 1; 307 ià(!( ¬y -> ¬y_æags & ARF_REAL )) { 308 ¬y -> ¬y_æags |ð ARF_REAL ; 309  i = ¬y -> ¬y_fžl ; i >= 0; i--) 310 ¬y -> ¬y_¬¿y [ i ] = NuΡr ; 312 ¬y -> ¬y_fžl = -1; 313 ¥ = -1; 316 ¬y = ¡ack ; 317 Üig = s ; 318 ià( ¥© -> ¥©_æags & SPAT_SKIPWHITE ) { 319  `i§scii (* s è&& `is¥aû (*s)) 320 s ++; 322 ià(! lim™ ) 323 lim™ = max™”s + 2; 324 ià( `¡rEQ ("\\s+", ¥© -> ¥©_»gexp -> ´ecomp )) { 325 -- lim™ ) { 326  m = s ; m < ¡»nd && !( `i§scii (*m)&& `is¥aû (*m)); m++) ; 327 ià( m >ð ¡»nd ) 329 d¡r = `SŒ_Ãw (30, m - s ); 330 `¡r_n£t ( d¡r , s , m -s); 331 ià(! »®¬¿y ) 332 `¡r_2mÜ�l ( d¡r ); 333 () `a¡Üe ( ¬y , ++ ¥ , d¡r ); 334  s = m + 1; s < ¡»nd && `i§scii (*sè&& `is¥aû (*s); s++) ; 337 ià( `¡rEQ ("^", ¥© -> ¥©_»gexp -> ´ecomp )) { 338 -- lim™ ) { 339  m = s ; m < ¡»nd && *m != '\n'; m++) ; 340 m ++; 341 ià( m >ð ¡»nd ) 343 d¡r = `SŒ_Ãw (30, m - s ); 344 `¡r_n£t ( d¡r , s , m -s); 345 ià(! »®¬¿y ) 346 `¡r_2mÜ�l ( d¡r ); 347 () `a¡Üe ( ¬y , ++ ¥ , d¡r ); 348 s = m ; 351 ià( ¥© -> ¥©_shÜt ) { 352 i = ¥© -> ¥©_shÜt -> ¡r_cur ; 353 ià( i == 1) { 354  fÞd = ( ¥© -> ¥©_æags & SPAT_FOLD ); 356 i = * ¥© -> ¥©_shÜt -> ¡r_±r ; 357 ià( fÞd && `isuµ” ( i )) 358 i = `tÞow” (i); 359 -- lim™ ) { 360 ià( fÞd ) { 361  m = s ; 362 m < ¡»nd && *m !ð i && 363 (! `isuµ” (* m è|| `tÞow” (*mè!ð i ); 364 m ++) 368  m = s ; m < ¡»nd && *m !ð i ; m++) ; 369 ià( m >ð ¡»nd ) 371 d¡r = `SŒ_Ãw (30, m - s ); 372 `¡r_n£t ( d¡r , s , m -s); 373 ià(! »®¬¿y ) 374 `¡r_2mÜ�l ( d¡r ); 375 () `a¡Üe ( ¬y , ++ ¥ , d¡r ); 376 s = m + 1; 380 #iâdeà lšt 381  s < ¡»nd && -- lim™ && 382 ( m = `fbmš¡r ((*) s , (*) ¡»nd , 383 ¥© -> ¥©_shÜt )) ) 386 d¡r = `SŒ_Ãw (31, m - s ); 387 `¡r_n£t ( d¡r , s , m -s); 388 ià(! »®¬¿y ) 389 `¡r_2mÜ�l ( d¡r ); 390 () `a¡Üe ( ¬y , ++ ¥ , d¡r ); 391 s = m + i ; 396 max™”s +ð( ¡»nd - s è* ¥© -> ¥©_»gexp -> Ŭ’s ; 397  s < ¡»nd && -- lim™ && 398 `»gexec ( ¥© -> ¥©_»gexp , s , ¡»nd , Üig , 1, NuΡr , TRUE ) ) { 399 ià( ¥© -> ¥©_»gexp -> subba£ 400 && ¥© -> ¥©_»gexp -> subba£ !ð Üig ) { 401 m = s ; 402 s = Üig ; 403 Üig = ¥© -> ¥©_»gexp -> subba£ ; 404 s = Üig + ( m - s); 405 ¡»nd = s + (¡»nd - m ); 407 m = ¥© -> ¥©_»gexp -> ¡¬� [0]; 408 d¡r = `SŒ_Ãw (32, m - s ); 409 `¡r_n£t ( d¡r , s , m -s); 410 ià(! »®¬¿y ) 411 `¡r_2mÜ�l ( d¡r ); 412 () `a¡Üe ( ¬y , ++ ¥ , d¡r ); 413 ià( ¥© -> ¥©_»gexp -> Ŭ’s ) { 414  i = 1; i <𠥩 -> ¥©_»gexp -> Ŭ’s ; i++) { 415 s = ¥© -> ¥©_»gexp -> ¡¬� [ i ]; 416 m = ¥© -> ¥©_»gexp -> ’dp [ i ]; 417 d¡r = `SŒ_Ãw (33, m - s ); 418 `¡r_n£t ( d¡r , s , m -s); 419 ià(! »®¬¿y ) 420 `¡r_2mÜ�l ( d¡r ); 421 () `a¡Üe ( ¬y , ++ ¥ , d¡r ); 424 s = ¥© -> ¥©_»gexp -> ’dp [0]; 427 ià( »®¬¿y ) 428 ™”s = ¥ + 1; 430 ™”s = ¥ - ¬gÏ¡ [0]; 431 ià( ™”s > max™”s ) 432 `ç�l ("Split†oop"); 433 ià( s < ¡»nd || Üiglim™ ) { 434 d¡r = `SŒ_Ãw (34, ¡»nd - s ); 435 `¡r_n£t ( d¡r , s , ¡»nd -s); 436 ià(! »®¬¿y ) 437 `¡r_2mÜ�l ( d¡r ); 438 () `a¡Üe ( ¬y , ++ ¥ , d¡r ); 439 ™”s ++; 442 #iâdeà I286x 443  ™”s > 0 && ¬y -> ¬y_¬¿y [ ¥ ]-> ¡r_cur == 0) 444 ™”s --, ¥ --; 446 * z­s ; 447  z­b ; 449 ià( ™”s > 0) { 450 z­s = `¡r_g‘ ( `aãtch ( ¬y , ¥ , FALSE )); 451 z­b = (è* z­s ; 454  ™”s > 0 && (! z­b )) { 455 ™”s --, ¥ --; 456 ià( ™”s > 0) { 457 z­s = `¡r_g‘ ( `aãtch ( ¬y , ™”s -1, FALSE )); 458 z­b = (è* z­s ; 463 ià( »®¬¿y ) { 464 ¬y -> ¬y_fžl = ¥ ; 465 ià( gimme =ð G_ARRAY ) { 466 ¥ ++; 467 `a¡Üe ( ¡ack , ¬gÏ¡ [0] + 1 + ¥ , NuΡr ); 468 `CÝy ( ¬y -> ¬y_¬¿y , ¡ack ->¬y_¬¿y + ¬gÏ¡ [0] + 1, ¥ , STR *); 469  ¬gÏ¡ [0] + ¥ ; 473 ià( gimme =ð G_ARRAY ) 474  ¥ ; 476 ¥ = ¬gÏ¡ [0] + 1; 477 `¡r_num£t ( ¡r ,() ™”s ); 478 `STABSET ( ¡r ); 479 ¡ [ ¥ ] = ¡r ; 480  ¥ ; 481 } } 484 $do_uÅack ( ¡r , gimme , ¬gÏ¡ ) 485 STR * ¡r ; 486  gimme ; 487 * ¬gÏ¡ ; 489 STR ** ¡ = ¡ack -> ¬y_¬¿y ; 490  ¥ = ¬gÏ¡ [0] + 1; 491 * ·t = `¡r_g‘ ( ¡ [ ¥ ++]); 492 * s = `¡r_g‘ ( ¡ [ ¥ ]); 493 * ¡»nd = s + ¡ [ ¥ --]-> ¡r_cur ; 494 * ¡rbeg = s ; 495 * ·‹nd = ·t + ¡ [ ¥ ]-> ¡r_cur ; 496  d©umty³ ; 497  Ën ; 498  b™s ; 501  ashÜt ; 502  ašt ; 503  ®Úg ; 504  aushÜt ; 505  aušt ; 506  aulÚg ; 507 * ­Œ ; 508  aæßt ; 509  adoubË ; 510  checksum = 0; 511  culÚg ; 512  cdoubË ; 514 ià( gimme !ð G_ARRAY ) { 515  ·‹nd = ·t ; ! `i§Íha (*patend);…atend++); 516 ià( `šdex ("aAbBhH", * ·‹nd è|| * ·t == '%') { 517 ·‹nd ++; 518  `isdig™ (* ·‹nd ) || *patend == '*') 519 ·‹nd ++; 522 ·‹nd ++; 524 ¥ --; 525  ·t < ·‹nd ) { 526 »·r£ : 527 d©umty³ = * ·t ++; 528 ià( ·t >ð ·‹nd ) 529 Ën = 1; 530 ià(* ·t == '*') { 531 Ën = ¡»nd - ¡rbeg ; 532 ·t ++; 534 ià( `isdig™ (* ·t )) { 535 Ën = * ·t ++ - '0'; 536  `isdig™ (* ·t )) 537 Ën = (ËÀ* 10è+ (* ·t ++ - '0'); 540 Ën = ( d©umty³ != '@'); 541  d©umty³ ) { 545 ià( Ën =ð1 && ·t [-1] != '1') 546 Ën = 16; 547 checksum = Ën ; 548 culÚg = 0; 549 cdoubË = 0; 550 ià( ·t < ·‹nd ) 551  »·r£ ; 554 ià( Ën > ¡»nd - s ) 555 `ç�l ("@ outside of string"); 556 s = ¡rbeg + Ën ; 559 ià( Ën > s - ¡rbeg ) 560 `ç�l ("X outside of string"); 561 s -ð Ën ; 564 ià( Ën > ¡»nd - s ) 565 `ç�l ("x outside of string"); 566 s +ð Ën ; 570 ià( Ën > ¡»nd - s ) 571 Ën = ¡»nd - s ; 572 ià( checksum ) 573  uch¬_checksum ; 574 ¡r = `SŒ_Ãw (35, Ën ); 575 `¡r_n£t ( ¡r , s , Ën ); 576 s +ð Ën ; 577 ià( d©umty³ == 'A') { 578 ­Œ = s ; 579 s = ¡r -> ¡r_±r + Ën - 1; 580  s >ð ¡r -> ¡r_±r && (!* || ( `i§scii (*s)&& `is¥aû (*s)))) 581 s --; 582 *++ s = '\0'; 583 ¡r -> ¡r_cur = s - sŒ-> ¡r_±r ; 584 s = ­Œ ; 586 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 590 ià( ·t [-1] =ð'*' || Ën > ( ¡»nd - s ) * 8) 591 Ën = ( ¡»nd - s ) * 8; 592 ¡r = `SŒ_Ãw (35, Ën + 1); 593 ¡r -> ¡r_cur = Ën ; 594 ¡r -> ¡r_pok = 1; 595 ­Œ = ·t ; 596 ·t = ¡r -> ¡r_±r ; 597 ià( d©umty³ == 'b') { 598 ašt = Ën ; 599  Ën = 0;†’ < ašt ;†en++) { 600 ià( Ën & 7) 601 b™s >>= 1; 603 b™s = * s ++; 604 * ·t ++ = '0' + ( b™s & 1); 608 ašt = Ën ; 609  Ën = 0;†’ < ašt ;†en++) { 610 ià( Ën & 7) 611 b™s <<= 1; 613 b™s = * s ++; 614 * ·t ++ = '0' + (( b™s & 128) != 0); 617 * ·t = '\0'; 618 ·t = ­Œ ; 619 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 623 ià( ·t [-1] =ð'*' || Ën > ( ¡»nd - s ) * 2) 624 Ën = ( ¡»nd - s ) * 2; 625 ¡r = `SŒ_Ãw (35, Ën + 1); 626 ¡r -> ¡r_cur = Ën ; 627 ¡r -> ¡r_pok = 1; 628 ­Œ = ·t ; 629 ·t = ¡r -> ¡r_±r ; 630 ià( d©umty³ == 'h') { 631 ašt = Ën ; 632  Ën = 0;†’ < ašt ;†en++) { 633 ià( Ën & 1) 634 b™s >>= 4; 636 b™s = * s ++; 637 * ·t ++ = hexdig™ [ b™s & 15]; 641 ašt = Ën ; 642  Ën = 0;†’ < ašt ;†en++) { 643 ià( Ën & 1) 644 b™s <<= 4; 646 b™s = * s ++; 647 * ·t ++ = hexdig™ [( b™s >> 4) & 15]; 650 * ·t = '\0'; 651 ·t = ­Œ ; 652 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 655 ià( Ën > ¡»nd - s ) 656 Ën = ¡»nd - s ; 657 ià( checksum ) { 658  Ën -- > 0) { 659 ašt = * s ++; 660 ià( ašt >= 128) 661 ašt -= 256; 662 culÚg +ð ašt ; 666  Ën -- > 0) { 667 ašt = * s ++; 668 ià( ašt >= 128) 669 ašt -= 256; 670 ¡r = `SŒ_Ãw (36,0); 671 `¡r_num£t ( ¡r ,() ašt ); 672 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 677 ià( Ën > ¡»nd - s ) 678 Ën = ¡»nd - s ; 679 ià( checksum ) { 680 uch¬_checksum : 681  Ën -- > 0) { 682 aušt = * s ++ & 255; 683 culÚg +ð aušt ; 687  Ën -- > 0) { 688 aušt = * s ++ & 255; 689 ¡r = `SŒ_Ãw (37,0); 690 `¡r_num£t ( ¡r ,() aušt ); 691 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 696 ®Úg = ( ¡»nd - s ) / (); 697 ià( Ën > ®Úg ) 698 Ën = ®Úg ; 699 ià( checksum ) { 700  Ën -- > 0) { 701 `bcÝy ( s ,(*)& ashÜt ,()); 702 s += (); 703 culÚg +ð ashÜt ; 707  Ën -- > 0) { 708 `bcÝy ( s ,(*)& ashÜt ,()); 709 s += (); 710 ¡r = `SŒ_Ãw (38,0); 711 `¡r_num£t ( ¡r ,() ashÜt ); 712 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 718 ®Úg = ( ¡»nd - s ) / (); 719 ià( Ën > ®Úg ) 720 Ën = ®Úg ; 721 ià( checksum ) { 722  Ën -- > 0) { 723 `bcÝy ( s ,(*)& aushÜt ,()); 724 s += (); 725 #ifdeà HAS_NTOHS 726 ià( d©umty³ == 'n') 727 aushÜt = `Áohs (aushort); 729 culÚg +ð aushÜt ; 733  Ën -- > 0) { 734 `bcÝy ( s ,(*)& aushÜt ,()); 735 s += (); 736 ¡r = `SŒ_Ãw (39,0); 737 #ifdeà HAS_NTOHS 738 ià( d©umty³ == 'n') 739 aushÜt = `Áohs (aushort); 741 `¡r_num£t ( ¡r ,() aushÜt ); 742 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 747 ®Úg = ( ¡»nd - s ) / (); 748 ià( Ën > ®Úg ) 749 Ën = ®Úg ; 750 ià( checksum ) { 751  Ën -- > 0) { 752 `bcÝy ( s ,(*)& ašt ,()); 753 s += (); 754 ià( checksum > 32) 755 cdoubË +ð() ašt ; 757 culÚg +ð ašt ; 761  Ën -- > 0) { 762 `bcÝy ( s ,(*)& ašt ,()); 763 s += (); 764 ¡r = `SŒ_Ãw (40,0); 765 `¡r_num£t ( ¡r ,() ašt ); 766 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 771 ®Úg = ( ¡»nd - s ) / (); 772 ià( Ën > ®Úg ) 773 Ën = ®Úg ; 774 ià( checksum ) { 775  Ën -- > 0) { 776 `bcÝy ( s ,(*)& aušt ,()); 777 s += (); 778 ià( checksum > 32) 779 cdoubË +ð() aušt ; 781 culÚg +ð aušt ; 785  Ën -- > 0) { 786 `bcÝy ( s ,(*)& aušt ,()); 787 s += (); 788 ¡r = `SŒ_Ãw (41,0); 789 `¡r_num£t ( ¡r ,() aušt ); 790 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 795 ®Úg = ( ¡»nd - s ) / (); 796 ià( Ën > ®Úg ) 797 Ën = ®Úg ; 798 ià( checksum ) { 799  Ën -- > 0) { 800 `bcÝy ( s ,(*)& ®Úg ,()); 801 s += (); 802 ià( checksum > 32) 803 cdoubË +ð() ®Úg ; 805 culÚg +ð ®Úg ; 809  Ën -- > 0) { 810 `bcÝy ( s ,(*)& ®Úg ,()); 811 s += (); 812 ¡r = `SŒ_Ãw (42,0); 813 `¡r_num£t ( ¡r ,() ®Úg ); 814 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 820 ®Úg = ( ¡»nd - s ) / (); 821 ià( Ën > ®Úg ) 822 Ën = ®Úg ; 823 ià( checksum ) { 824  Ën -- > 0) { 825 `bcÝy ( s ,(*)& aulÚg ,()); 826 s += (); 827 #ifdeà HAS_NTOHL 828 ià( d©umty³ == 'N') 829 aulÚg = `Áohl (aulong); 831 ià( checksum > 32) 832 cdoubË +ð() aulÚg ; 834 culÚg +ð aulÚg ; 838  Ën -- > 0) { 839 `bcÝy ( s ,(*)& aulÚg ,()); 840 s += (); 841 ¡r = `SŒ_Ãw (43,0); 842 #ifdeà HAS_NTOHL 843 ià( d©umty³ == 'N') 844 aulÚg = `Áohl (aulong); 846 `¡r_num£t ( ¡r ,() aulÚg ); 847 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 852 ®Úg = ( ¡»nd - s ) / (*); 853 ià( Ën > ®Úg ) 854 Ën = ®Úg ; 855  Ën -- > 0) { 856 ià((*è> ¡»nd - s ) 859 `bcÝy ( s ,(*)& ­Œ ,(*)); 860 s += (*); 862 ¡r = `SŒ_Ãw (44,0); 863 ià( ­Œ ) 864 `¡r_£t ( ¡r , ­Œ ); 865 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 871 ®Úg = ( ¡»nd - s ) / (); 872 ià( Ën > ®Úg ) 873 Ën = ®Úg ; 874 ià( checksum ) { 875  Ën -- > 0) { 876 `bcÝy ( s , (*)& aæßt , ()); 877 s += (); 878 cdoubË +ð aæßt ; 882  Ën -- > 0) { 883 `bcÝy ( s , (*)& aæßt , ()); 884 s += (); 885 ¡r = `SŒ_Ãw (47, 0); 886 `¡r_num£t ( ¡r , () aæßt ); 887 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 893 ®Úg = ( ¡»nd - s ) / (); 894 ià( Ën > ®Úg ) 895 Ën = ®Úg ; 896 ià( checksum ) { 897  Ën -- > 0) { 898 `bcÝy ( s , (*)& adoubË , ()); 899 s += (); 900 cdoubË +ð adoubË ; 904  Ën -- > 0) { 905 `bcÝy ( s , (*)& adoubË , ()); 906 s += (); 907 ¡r = `SŒ_Ãw (48, 0); 908 `¡r_num£t ( ¡r , () adoubË ); 909 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 914 ®Úg = ( ¡»nd - s ) * 3 / 4; 915 ¡r = `SŒ_Ãw (42, ®Úg ); 916  s < ¡»nd && *s > ' ' && *s < 'a') { 917  a , b , c , d ; 918  hunk [4]; 920 hunk [3] = '\0'; 921 Ën = (* s ++ - ' ') & 077; 922  Ën > 0) { 923 ià( s < ¡»nd && *s >= ' ') 924 a = (* s ++ - ' ') & 077; 926 a = 0; 927 ià( s < ¡»nd && *s >= ' ') 928 b = (* s ++ - ' ') & 077; 930 b = 0; 931 ià( s < ¡»nd && *s >= ' ') 932 c = (* s ++ - ' ') & 077; 934 c = 0; 935 ià( s < ¡»nd && *s >= ' ') 936 d = (* s ++ - ' ') & 077; 938 d = 0; 939 hunk [0] = a << 2 | b >> 4; 940 hunk [1] = b << 4 | c >> 2; 941 hunk [2] = c << 6 | d ; 942 `¡r_nÿt ( ¡r , hunk , Ën > 3 ? 3 :†en); 943 Ën -= 3; 945 ià(* s == '\n') 946 s ++; 947 ià( s [1] == '\n') 948 s += 2; 950 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 953 ià( checksum ) { 954 ¡r = `SŒ_Ãw (42,0); 955 ià( `šdex ("fFdD", d©umty³ ) || 956 ( checksum > 32 && `šdex ("iIlLN", d©umty³ )) ) { 957  `modf (); 958  ŒoubË ; 960 adoubË = 1.0; 961  checksum >= 16) { 962 checksum -= 16; 963 adoubË *= 65536.0; 965  checksum >= 4) { 966 checksum -= 4; 967 adoubË *= 16.0; 969  checksum --) 970 adoubË *= 2.0; 971 ®Úg = (1 << checksum ) - 1; 972  cdoubË < 0.0) 973 cdoubË +ð adoubË ; 974 cdoubË = `modf (cdoubË / adoubË , & ŒoubË ) *‡double; 975 `¡r_num£t ( ¡r , cdoubË ); 978 ià( checksum < 32) { 979 ®Úg = (1 << checksum ) - 1; 980 culÚg &ð() ®Úg ; 982 `¡r_num£t ( ¡r ,() culÚg ); 984 () `a¡Üe ( ¡ack , ++ ¥ , `¡r_2mÜ�l ( ¡r )); 985 checksum = 0; 988  ¥ ; 989 } } 992 $do_¦iû ( ¡ab , ¡r , num¬¿y , lv® , gimme , ¬gÏ¡ ) 993 STAB * ¡ab ; 994 STR * ¡r ; 995  num¬¿y ; 996  lv® ; 997  gimme ; 998 * ¬gÏ¡ ; 1000  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1001  ¥ = ¬gÏ¡ [1]; 1002  max = ¬gÏ¡ [2]; 1003 * tmps ; 1004  Ën ; 1005  magic = 0; 1006  ARRAY * ¬y ; 1007  HASH * hash ; 1008  Þd¬yba£ = ¬yba£ ; 1010 ià( num¬¿y ) { 1011 ià( num¬¿y == 2) { 1012 ¬y = ¡ack ; 1013 ¬y -> ¬y_fžl = ¬gÏ¡ [3]; 1014 ¬yba£ -ð max + 1; 1015 ¡ [ ¥ ] = ¡r ; 1016 `¡r_num£t ( ¡r ,()( ¥ - 1)); 1019 ¬y = `¡ab_¬¿y ( ¡ab ); 1022 ià( lv® ) { 1023 ià( ¡ab =ð ’v¡ab ) 1024 magic = 'E'; 1025 ià( ¡ab =ð sig¡ab ) 1026 magic = 'S'; 1027 #ifdeà SOME_DBM 1028 ià( `¡ab_hash ( ¡ab )-> tbl_dbm ) 1029 magic = 'D'; 1032 hash = `¡ab_hash ( ¡ab ); 1035 ià( gimme =ð G_ARRAY ) { 1036 ià( num¬¿y ) { 1037  ¥ < max ) { 1038 ià( ¡ [++ ¥ ]) { 1039 ¡ [ ¥ -1] = `aãtch ( ¬y , 1040 (() `¡r_gnum ( ¡ [ ¥ ])è- ¬yba£ , lv® ); 1043 ¡ [ ¥ -1] = & ¡r_undef ; 1047  ¥ < max ) { 1048 ià( ¡ [++ ¥ ]) { 1049 tmps = `¡r_g‘ ( ¡ [ ¥ ]); 1050 Ën = ¡ [ ¥ ]-> ¡r_cur ; 1051 ¡ [ ¥ -1] = `hãtch ( hash , tmps , Ën , lv® ); 1052 ià( magic ) 1053 `¡r_magic ( ¡ [ ¥ -1], ¡ab , magic , tmps , Ën ); 1056 ¡ [ ¥ -1] = & ¡r_undef ; 1059 ¥ --; 1062 ià( num¬¿y ) { 1063 ià( ¡ [ max ]) 1064 ¡ [ ¥ ] = `aãtch ( ¬y , 1065 (() `¡r_gnum ( ¡ [ max ])è- ¬yba£ , lv® ); 1067 ¡ [ ¥ ] = & ¡r_undef ; 1070 ià( ¡ [ max ]) { 1071 tmps = `¡r_g‘ ( ¡ [ max ]); 1072 Ën = ¡ [ max ]-> ¡r_cur ; 1073 ¡ [ ¥ ] = `hãtch ( hash , tmps , Ën , lv® ); 1074 ià( magic ) 1075 `¡r_magic ( ¡ [ ¥ ], ¡ab , magic , tmps , Ën ); 1078 ¡ [ ¥ ] = & ¡r_undef ; 1081 ¬yba£ = Þd¬yba£ ; 1082  ¥ ; 1083 } } 1086 $do_¥liû ( ¬y , gimme , ¬gÏ¡ ) 1087  ARRAY * ¬y ; 1088  gimme ; 1089 * ¬gÏ¡ ; 1091  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1092  ¥ = ¬gÏ¡ [1]; 1093  max = ¬gÏ¡ [2] + 1; 1094  STR ** ¤c ; 1095  STR ** d¡ ; 1096  i ; 1097  off£t ; 1098  Ëngth ; 1099  ÃwËn ; 1100  aá” ; 1101  diff ; 1102 STR ** tm·ryv® ; 1104 ià(++ ¥ < max ) { 1105 off£t = (() `¡r_gnum ( ¡ [ ¥ ])è- ¬yba£ ; 1106 ià( off£t < 0) 1107 off£t +ð ¬y -> ¬y_fžl + 1; 1108 ià(++ ¥ < max ) { 1109 Ëngth = () `¡r_gnum ( ¡ [ ¥ ++]); 1110 ià( Ëngth < 0) 1111 Ëngth = 0; 1114 Ëngth = ¬y -> ¬y_max ; 1117 off£t = 0; 1118 Ëngth = ¬y -> ¬y_max ; 1120 ià( off£t < 0) { 1121 Ëngth +ð off£t ; 1122 off£t = 0; 1123 ià( Ëngth < 0) 1124 Ëngth = 0; 1126 ià( off£t > ¬y -> ¬y_fžl + 1) 1127 off£t = ¬y -> ¬y_fžl + 1; 1128 aá” = ¬y -> ¬y_fžl + 1 - ( off£t + Ëngth ); 1129 ià( aá” < 0) { 1130 Ëngth +ð aá” ; 1131 aá” = 0; 1132 ià(! ¬y -> ¬y_®loc ) { 1133 `afžl ( ¬y ,0); 1134 `afžl ( ¬y ,-1); 1140 ÃwËn = max - ¥ ; 1141 diff = ÃwËn - Ëngth ; 1143 ià( diff < 0) { 1144 ià( ÃwËn ) { 1145 `New (451, tm·ryv® , ÃwËn , STR *); 1146 `CÝy ( ¡ + ¥ , tm·ryv® , ÃwËn , STR *); 1149 ¥ = ¬gÏ¡ [0] + 1; 1150 ià( gimme =ð G_ARRAY ) { 1151 ià( ¥ + Ëngth >ð ¡ack -> ¬y_max ) { 1152 `a¡Üe ( ¡ack , ¥ + Ëngth , NuΡr ); 1153 ¡ = ¡ack -> ¬y_¬¿y ; 1155 `CÝy ( ¬y -> ¬y_¬¿y + off£t , ¡ + ¥ , Ëngth , STR *); 1156 ià( ¬y -> ¬y_æags & ARF_REAL ) { 1157  i = Ëngth , d¡ = ¡ + ¥ ; i; i--) 1158 `¡r_2mÜ�l (* d¡ ++); 1160 ¥ +ð Ëngth - 1; 1163 ¡ [ ¥ ] = ¬y -> ¬y_¬¿y [ off£t + Ëngth -1]; 1164 ià( ¬y -> ¬y_æags & ARF_REAL ) 1165 `¡r_2mÜ�l ( ¡ [ ¥ ]); 1167 ¬y -> ¬y_fžl +ð diff ; 1171 ià( off£t < aá” ) { 1172 ià( off£t ) { 1173 ¤c = & ¬y -> ¬y_¬¿y [ off£t -1]; 1174 d¡ = ¤c - diff ; 1175  i = off£t ; i > 0; i--) 1176 * d¡ -- = * ¤c --; 1178 `Z”o ( ¬y -> ¬y_¬¿y , - diff , STR *); 1179 ¬y -> ¬y_¬¿y -ð diff ; 1180 ¬y -> ¬y_max +ð diff ; 1183 ià( aá” ) { 1184 ¤c = ¬y -> ¬y_¬¿y + off£t + Ëngth ; 1185 d¡ = ¤c + diff ; 1186 `CÝy ( ¤c , d¡ , aá” , STR *); 1188 `Z”o (& ¬y -> ¬y_¬¿y [¬y-> ¬y_fžl +1], - diff , STR *); 1191 ià( ÃwËn ) { 1192  ¤c = tm·ryv® , d¡ = ¬y -> ¬y_¬¿y + off£t ; 1193 ÃwËn ;‚ewlen--) { 1194 * d¡ = `SŒ_Ãw (46,0); 1195 `¡r_s£t (* d¡ ++,* ¤c ++); 1197 `Saãä“ ( tm·ryv® ); 1201 ià( Ëngth ) { 1202 `New (452, tm·ryv® , Ëngth , STR *); 1203 `CÝy ( ¬y -> ¬y_¬¿y + off£t , tm·ryv® , Ëngth , STR *); 1206 ià( diff > 0) { 1210 ià( off£t < aá” && diff <ð ¬y -> ¬y_¬¿y -‡ry-> ¬y_®loc ) { 1211 ià( off£t ) { 1212 ¤c = ¬y -> ¬y_¬¿y ; 1213 d¡ = ¤c - diff ; 1214 `CÝy ( ¤c , d¡ , off£t , STR *); 1216 ¬y -> ¬y_¬¿y -ð diff ; 1217 ¬y -> ¬y_max +ð diff ; 1218 ¬y -> ¬y_fžl +ð diff ; 1221 ià( ¬y -> ¬y_fžl + diff >ð¬y-> ¬y_max ) 1222 `a¡Üe ( ¬y ,‡ry-> ¬y_fžl + diff , NuΡr ); 1224 ¬y -> ¬y_fžl +ð diff ; 1225 ià( aá” ) { 1226 d¡ = ¬y -> ¬y_¬¿y +‡ry-> ¬y_fžl ; 1227 ¤c = d¡ - diff ; 1228  i = aá” ; i; i--) { 1229 ià(* d¡ ) 1230 `¡r_ä“ (* d¡ ); 1231 * d¡ -- = * ¤c ; 1232 * ¤c -- = NuΡr ; 1238  ¤c = ¡ + ¥ , d¡ = ¬y -> ¬y_¬¿y + off£t ; ÃwËn ;‚ewlen--) { 1239 * d¡ = `SŒ_Ãw (46,0); 1240 `¡r_s£t (* d¡ ++,* ¤c ++); 1242 ¥ = ¬gÏ¡ [0] + 1; 1243 ià( gimme =ð G_ARRAY ) { 1244 ià( Ëngth ) { 1245 `CÝy ( tm·ryv® , ¡ + ¥ , Ëngth , STR *); 1246 ià( ¬y -> ¬y_æags & ARF_REAL ) { 1247  i = Ëngth , d¡ = ¡ + ¥ ; i; i--) 1248 `¡r_2mÜ�l (* d¡ ++); 1250 `Saãä“ ( tm·ryv® ); 1252 ¥ +ð Ëngth - 1; 1254 ià( Ëngth ) { 1255 ¡ [ ¥ ] = tm·ryv® [ Ëngth -1]; 1256 ià( ¬y -> ¬y_æags & ARF_REAL ) 1257 `¡r_2mÜ�l ( ¡ [ ¥ ]); 1258 `Saãä“ ( tm·ryv® ); 1261 ¡ [ ¥ ] = & ¡r_undef ; 1263  ¥ ; 1264 } } 1267 $do_g»p ( ¬g , ¡r , gimme , ¬gÏ¡ ) 1268  ARG * ¬g ; 1269 STR * ¡r ; 1270  gimme ; 1271 * ¬gÏ¡ ; 1273 STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1274  d¡ = ¬gÏ¡ [1]; 1275  ¤c = d¡ + 1; 1276  ¥ = ¬gÏ¡ [2]; 1277  i = ¥ - ¬gÏ¡ [1]; 1278  Þd§ve = §ve¡ack -> ¬y_fžl ; 1279 SPAT * Þd¥© = cur¥© ; 1280  Þdtmps_ba£ = tmps_ba£ ; 1282 `§ve¥Œ (& `¡ab_v® ( def¡ab )); 1283 tmps_ba£ = tmps_max ; 1284 ià(( ¬g [1]. ¬g_ty³ & A_MASK è!ð A_EXPR ) { 1285 ¬g [1]. ¬g_ty³ &ð A_MASK ; 1286 `dehoi¡ ( ¬g ,1); 1287 ¬g [1]. ¬g_ty³ |ð A_DONT ; 1289 ¬g =‡rg[1]. ¬g_±r . ¬g_¬g ; 1290  i -- > 0) { 1291 ià( ¡ [ ¤c ]) 1292 `¡ab_v® ( def¡ab èð ¡ [ ¤c ]; 1294 `¡ab_v® ( def¡ab èð `¡r_mÜ�l (& ¡r_undef ); 1295 () `ev® ( ¬g , G_SCALAR , ¥ ); 1296 ¡ = ¡ack -> ¬y_¬¿y ; 1297 ià( `¡r_Œue ( ¡ [ ¥ +1])) 1298 ¡ [ d¡ ++] = st[ ¤c ]; 1299 ¤c ++; 1300 cur¥© = Þd¥© ; 1302 `»¡Ü–i¡ ( Þd§ve ); 1303 tmps_ba£ = Þdtmps_ba£ ; 1304 ià( gimme !ð G_ARRAY ) { 1305 `¡r_num£t ( ¡r ,()( d¡ - ¬gÏ¡ [1])); 1306 `STABSET ( ¡r ); 1307 ¡ [ ¬gÏ¡ [0]+1] = ¡r ; 1308  ¬gÏ¡ [0]+1; 1310  ¬gÏ¡ [0] + ( d¡ -‡rglast[1]); 1311 } } 1314 $do_»v”£ ( ¬gÏ¡ ) 1315 * ¬gÏ¡ ; 1317 STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1318  STR ** up = & ¡ [ ¬gÏ¡ [1]]; 1319  STR ** down = & ¡ [ ¬gÏ¡ [2]]; 1320  i = ¬gÏ¡ [2] -‡rglast[1]; 1322  i -- > 0) { 1323 * up ++ = * down ; 1324 ià( i -- > 0) 1325 * down -- = * up ; 1327 i = ¬gÏ¡ [2] -‡rglast[1]; 1328 `CÝy ( down +1, up , i /2, STR *); 1329  ¬gÏ¡ [2] - 1; 1330 } } 1333 $do_¤ev”£ ( ¡r , ¬gÏ¡ ) 1334 STR * ¡r ; 1335 * ¬gÏ¡ ; 1337 STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1338 * up ; 1339 * down ; 1340  tmp ; 1342 `¡r_s£t ( ¡r , ¡ [ ¬gÏ¡ [2]]); 1343 up = `¡r_g‘ ( ¡r ); 1344 ià( ¡r -> ¡r_cur > 1) { 1345 down = ¡r -> ¡r_±r + sŒ-> ¡r_cur - 1; 1346  down > up ) { 1347 tmp = * up ; 1348 * up ++ = * down ; 1349 * down -- = tmp ; 1352 `STABSET ( ¡r ); 1353 ¡ [ ¬gÏ¡ [0]+1] = ¡r ; 1354  ¬gÏ¡ [0]+1; 1355 } } 1357  CMD * gsÜtcmd ; 1358  HASH * gsÜt¡ash = NuÎ (HASH*); 1359  STAB * gfœ¡¡ab = NuΡab ; 1360  STAB * g£cÚd¡ab = NuΡab ; 1363 $do_sÜt ( ¡r , ¡ab , gimme , ¬gÏ¡ ) 1364 STR * ¡r ; 1365 STAB * ¡ab ; 1366  gimme ; 1367 * ¬gÏ¡ ; 1369  STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1370  ¥ = ¬gÏ¡ [1]; 1371  STR ** up ; 1372  max = ¬gÏ¡ [2] - ¥ ; 1373  i ; 1374  `sÜtcmp (); 1375  `sÜtsub (); 1376 STR * Þdfœ¡ ; 1377 STR * Þd£cÚd ; 1378 ARRAY * Þd¡ack ; 1379  ARRAY * sÜt¡ack = `NuÎ (ARRAY*); 1381 ià( gimme !ð G_ARRAY ) { 1382 `¡r_s£t ( ¡r ,& ¡r_undef ); 1383 `STABSET ( ¡r ); 1384 ¡ [ ¥ ] = ¡r ; 1385  ¥ ; 1387 up = & ¡ [ ¥ ]; 1388 ¡ +ð ¥ ; 1389  i = 1; i <ð max ; i++) { 1390 ià(* up = ¡ [ i ]) { 1391 ià(!(* up )-> ¡r_pok ) 1392 () `¡r_2±r (* up ); 1394 (* up )-> ¡r_pok &ð~ SP_TEMP ; 1395 up ++; 1398 ¡ -ð ¥ ; 1399 max = up - & ¡ [ ¥ ]; 1400 ¥ --; 1401 ià( max > 1) { 1402 ià( ¡ab ) { 1403  Þdtmps_ba£ = tmps_ba£ ; 1405 ià(! `¡ab_sub ( ¡ab è|| !( sÜtcmd = s�b_sub(¡ab)-> cmd )) 1406 `ç�l ("Undefšed subroutš�\"%s\" iÀsÜt", `¡ab_Çme ( ¡ab )); 1407 ià(! sÜt¡ack ) { 1408 sÜt¡ack = `ªew ( NuΡab ); 1409 `a¡Üe ( sÜt¡ack , 0, NuΡr ); 1410 `aþ—r ( sÜt¡ack ); 1411 sÜt¡ack -> ¬y_æags = 0; 1413 Þd¡ack = ¡ack ; 1414 ¡ack = sÜt¡ack ; 1415 tmps_ba£ = tmps_max ; 1416 ià( sÜt¡ash !ð `¡ab_¡ash ( ¡ab )) { 1417 fœ¡¡ab = `¡ab’t ("a", TRUE ); 1418 £cÚd¡ab = `¡ab’t ("b", TRUE ); 1419 sÜt¡ash = `¡ab_¡ash ( ¡ab ); 1421 Þdfœ¡ = `¡ab_v® ( fœ¡¡ab ); 1422 Þd£cÚd = `¡ab_v® ( £cÚd¡ab ); 1423 #iâdeà lšt 1424 `qsÜt ((*)( ¡ + ¥ +1), max ,( STR *), sÜtsub ); 1426 `qsÜt ( NuÎch , max ,( STR *), sÜtsub ); 1428 `¡ab_v® ( fœ¡¡ab èð Þdfœ¡ ; 1429 `¡ab_v® ( £cÚd¡ab èð Þd£cÚd ; 1430 tmps_ba£ = Þdtmps_ba£ ; 1431 ¡ack = Þd¡ack ; 1433 #iâdeà lšt 1435 `qsÜt ((*)( ¡ + ¥ +1), max ,( STR *), sÜtcmp ); 1438  ¥ + max ; 1439 } } 1442 $sÜtsub ( ¡r1 , ¡r2 ) 1443 STR ** ¡r1 ; 1444 STR ** ¡r2 ; 1446 `¡ab_v® ( fœ¡¡ab èð* ¡r1 ; 1447 `¡ab_v® ( £cÚd¡ab èð* ¡r2 ; 1448 `cmd_exec ( sÜtcmd , G_SCALAR ,-1); 1449  () `¡r_gnum (* ¡ack -> ¬y_¬¿y ); 1450 } } 1452 $sÜtcmp ( ¡½1 , ¡½2 ) 1453 STR ** ¡½1 ; 1454 STR ** ¡½2 ; 1456  STR * ¡r1 = * ¡½1 ; 1457  STR * ¡r2 = * ¡½2 ; 1458  »tv® ; 1460 ià( ¡r1 -> ¡r_cur < ¡r2 ->str_cur) { 1461 ià( »tv® = `memcmp ( ¡r1 -> ¡r_±r , ¡r2 ->¡r_±r, sŒ1-> ¡r_cur )) 1462  »tv® ; 1466 ià( »tv® = `memcmp ( ¡r1 -> ¡r_±r , ¡r2 ->¡r_±r, sŒ2-> ¡r_cur )) 1467  »tv® ; 1468 ià( ¡r1 -> ¡r_cur =ð ¡r2 ->str_cur) 1472 } } 1475 $do_¿nge ( gimme , ¬gÏ¡ ) 1476  gimme ; 1477 * ¬gÏ¡ ; 1479 STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1480  ¥ = ¬gÏ¡ [0]; 1481  i ; 1482  ARRAY * ¬y = ¡ack ; 1483  STR * ¡r ; 1484  max ; 1486 ià( gimme !ð G_ARRAY ) 1487 `ç�l ("panic: do_range"); 1489 ià( ¡ [ ¥ +1]-> ¡r_nok || !¡[¥+1]-> ¡r_pok || 1490 ( `looks_like_numb” ( ¡ [ ¥ +1]è&& *¡[¥+1]-> ¡r_±r != '0') ) { 1491 i = () `¡r_gnum ( ¡ [ ¥ +1]); 1492 max = () `¡r_gnum ( ¡ [ ¥ +2]); 1493  i <ð max ) { 1494 () `a¡Üe ( ¬y , ++ ¥ , ¡r = `¡r_mÜ�l (& ¡r_no )); 1495 `¡r_num£t ( ¡r ,() i ++); 1499 STR * fš® = `¡r_mÜ�l ( ¡ [ ¥ +2]); 1500 * tmps = `¡r_g‘ ( fš® ); 1502 ¡r = `¡r_mÜ�l ( ¡ [ ¥ +1]); 1503 ! ¡r -> ¡r_nok && sŒ-> ¡r_cur <ð fš® ->str_cur && 1504 `¡rNE ( ¡r -> ¡r_±r , tmps ) ) { 1505 () `a¡Üe ( ¬y , ++ ¥ , ¡r ); 1506 ¡r = `¡r_2mÜ�l ( `¡r_smake (str)); 1507 `¡r_šc ( ¡r ); 1509 ià( `¡rEQ ( ¡r -> ¡r_±r , tmps )) 1510 () `a¡Üe ( ¬y , ++ ¥ , ¡r ); 1512  ¥ ; 1513 } } 1516 $do_»³©¬y ( ¬gÏ¡ ) 1517 * ¬gÏ¡ ; 1519 STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1520  ¥ = ¬gÏ¡ [0]; 1521  ™ems = ¬gÏ¡ [1] - ¥ ; 1522  couÁ = (è `¡r_gnum ( ¡ [ ¬gÏ¡ [2]]); 1523  ARRAY * ¬y = ¡ack ; 1524  i ; 1525  max ; 1527 max = ™ems * couÁ ; 1528 ià( max > 0 && ¥ + max > ¡ack -> ¬y_max ) { 1529 `a¡Üe ( ¡ack , ¥ + max , NuΡr ); 1530 ¡ = ¡ack -> ¬y_¬¿y ; 1532 ià( couÁ > 1) { 1533  i = ¬gÏ¡ [1]; i > ¥ ; i--) 1534 ¡ [ i ]-> ¡r_pok &ð~ SP_TEMP ; 1535 `»³©ýy ((*)& ¡ [ ¬gÏ¡ [1]+1], (*)&¡[ ¥ +1], 1536 ™ems * ( STR *), couÁ ); 1538 ¥ +ð max ; 1540  ¥ ; 1541 } } 1544 $do_ÿΔ ( ¬g , max¬g , gimme , ¬gÏ¡ ) 1545 ARG * ¬g ; 1546  max¬g ; 1547  gimme ; 1548 * ¬gÏ¡ ; 1550 STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1551  ¥ = ¬gÏ¡ [0]; 1552  CSV * csv = curcsv ; 1553 STR * ¡r ; 1554  couÁ = 0; 1556 ià(! csv ) 1557 `ç�l ("There is‚o caller"); 1558 ià( max¬g ) 1559 couÁ = (è `¡r_gnum ( ¡ [ ¥ +1]); 1561 ià(! csv ) 1562  ¥ ; 1563 ià( DBsub && csv -> curcsv && csv->curcsv-> sub =ð `¡ab_sub (DBsub)) 1564 couÁ ++; 1565 ià(! couÁ --) 1567 csv = csv-> curcsv ; 1569 ià( gimme !ð G_ARRAY ) { 1570 STR * ¡r = ¬g -> ¬g_±r . ¬g_¡r ; 1571 `¡r_£t ( ¡r , csv -> curcmd -> c_¡ash -> tbl_Çme ); 1572 `STABSET ( ¡r ); 1573 ¡ [++ ¥ ] = ¡r ; 1574  ¥ ; 1577 #iâdeà lšt 1578 () `a¡Üe ( ¡ack ,++ ¥ , 1579 `¡r_2mÜ�l ( `¡r_make ( csv -> curcmd -> c_¡ash -> tbl_Çme ,0)) ); 1580 () `a¡Üe ( ¡ack ,++ ¥ , 1581 `¡r_2mÜ�l ( `¡r_make ( `¡ab_v® ( csv -> curcmd -> c_fže¡ab )-> ¡r_±r ,0)) ); 1582 () `a¡Üe ( ¡ack ,++ ¥ , 1583 `¡r_2mÜ�l ( `¡r_nmake (() csv -> curcmd -> c_lše )) ); 1584 ià(! max¬g ) 1585  ¥ ; 1586 ¡r = `SŒ_Ãw (49,0); 1587 `¡ab_fuÎÇme ( ¡r , csv -> ¡ab ); 1588 () `a¡Üe ( ¡ack ,++ ¥ , `¡r_2mÜ�l ( ¡r )); 1589 () `a¡Üe ( ¡ack ,++ ¥ , 1590 `¡r_2mÜ�l ( `¡r_nmake (() csv -> ha§rgs )) ); 1591 () `a¡Üe ( ¡ack ,++ ¥ , 1592 `¡r_2mÜ�l ( `¡r_nmake (() csv -> wª�¼ay )) ); 1593 ià( csv -> ha§rgs ) { 1594 ARRAY * ¬y = csv -> ¬g¬¿y ; 1596 ià( db¬gs -> ¬y_max < ¬y -> ¬y_fžl ) 1597 `a¡Üe ( db¬gs , ¬y -> ¬y_fžl , NuΡr ); 1598 `CÝy ( ¬y -> ¬y_¬¿y , db¬gs ->¬y_¬¿y,‡ry-> ¬y_fžl +1, STR *); 1599 db¬gs -> ¬y_fžl = ¬y ->ary_fill; 1602 () `a¡Üe ( ¡ack ,++ ¥ , 1603 `¡r_2mÜ�l ( `¡r_make ("",0))); 1605  ¥ ; 1606 } } 1609 $do_tms ( ¡r , gimme , ¬gÏ¡ ) 1610 STR * ¡r ; 1611  gimme ; 1612 * ¬gÏ¡ ; 1614 #ifdeà MSDOS 1617 STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1618  ¥ = ¬gÏ¡ [0]; 1620 ià( gimme !ð G_ARRAY ) { 1621 `¡r_s£t ( ¡r ,& ¡r_undef ); 1622 `STABSET ( ¡r ); 1623 ¡ [++ ¥ ] = ¡r ; 1624  ¥ ; 1626 () `times (& timesbuf ); 1628 #iâdeà HZ 1629  #HZ 60 ) 1632 #iâdeà lšt 1633 () `a¡Üe ( ¡ack ,++ ¥ , 1634 `¡r_2mÜ�l ( `¡r_nmake ((() timesbuf . tms_utime )/ HZ ))); 1635 () `a¡Üe ( ¡ack ,++ ¥ , 1636 `¡r_2mÜ�l ( `¡r_nmake ((() timesbuf . tms_¡ime )/ HZ ))); 1637 () `a¡Üe ( ¡ack ,++ ¥ , 1638 `¡r_2mÜ�l ( `¡r_nmake ((() timesbuf . tms_cutime )/ HZ ))); 1639 () `a¡Üe ( ¡ack ,++ ¥ , 1640 `¡r_2mÜ�l ( `¡r_nmake ((() timesbuf . tms_c¡ime )/ HZ ))); 1642 () `a¡Üe ( ¡ack ,++ ¥ , 1643 `¡r_2mÜ�l ( `¡r_nmake (0.0))); 1645  ¥ ; 1647 } } 1650 $do_time ( ¡r , tmbuf , gimme , ¬gÏ¡ ) 1651 STR * ¡r ; 1652  tm * tmbuf ; 1653  gimme ; 1654 * ¬gÏ¡ ; 1656  ARRAY * ¬y = ¡ack ; 1657 STR ** ¡ = ¬y -> ¬y_¬¿y ; 1658  ¥ = ¬gÏ¡ [0]; 1660 ià(! tmbuf || gimme !ð G_ARRAY ) { 1661 `¡r_s£t ( ¡r ,& ¡r_undef ); 1662 `STABSET ( ¡r ); 1663 ¡ [++ ¥ ] = ¡r ; 1664  ¥ ; 1666 () `a¡Üe ( ¬y ,++ ¥ , `¡r_2mÜ�l ( `¡r_nmake (() tmbuf -> tm_£c ))); 1667 () `a¡Üe ( ¬y ,++ ¥ , `¡r_2mÜ�l ( `¡r_nmake (() tmbuf -> tm_mš ))); 1668 () `a¡Üe ( ¬y ,++ ¥ , `¡r_2mÜ�l ( `¡r_nmake (() tmbuf -> tm_hour ))); 1669 () `a¡Üe ( ¬y ,++ ¥ , `¡r_2mÜ�l ( `¡r_nmake (() tmbuf -> tm_mday ))); 1670 () `a¡Üe ( ¬y ,++ ¥ , `¡r_2mÜ�l ( `¡r_nmake (() tmbuf -> tm_mÚ ))); 1671 () `a¡Üe ( ¬y ,++ ¥ , `¡r_2mÜ�l ( `¡r_nmake (() tmbuf -> tm_y—r ))); 1672 () `a¡Üe ( ¬y ,++ ¥ , `¡r_2mÜ�l ( `¡r_nmake (() tmbuf -> tm_wday ))); 1673 () `a¡Üe ( ¬y ,++ ¥ , `¡r_2mÜ�l ( `¡r_nmake (() tmbuf -> tm_yday ))); 1674 () `a¡Üe ( ¬y ,++ ¥ , `¡r_2mÜ�l ( `¡r_nmake (() tmbuf -> tm_isd¡ ))); 1675  ¥ ; 1676 } } 1679 $do_kv ( ¡r , hash , kv , gimme , ¬gÏ¡ ) 1680 STR * ¡r ; 1681 HASH * hash ; 1682  kv ; 1683  gimme ; 1684 * ¬gÏ¡ ; 1686  ARRAY * ¬y = ¡ack ; 1687 STR ** ¡ = ¬y -> ¬y_¬¿y ; 1688  ¥ = ¬gÏ¡ [0]; 1689  i ; 1690  HENT * ’Œy ; 1691 * tmps ; 1692 STR * tmp¡r ; 1693  dokeys = ( kv =ð O_KEYS || kv =ð O_HASH ); 1694  dov®ues = ( kv =ð O_VALUES || kv =ð O_HASH ); 1696 ià( gimme !ð G_ARRAY ) { 1697 `¡r_s£t ( ¡r ,& ¡r_undef ); 1698 `STABSET ( ¡r ); 1699 ¡ [++ ¥ ] = ¡r ; 1700  ¥ ; 1702 () `h™”š™ ( hash ); 1703  ’Œy = `h™”Ãxt ( hash )) { 1704 ià( dokeys ) { 1705 tmps = `h™”key ( ’Œy ,& i ); 1706 ià(! i ) 1707 tmps = ""; 1708 () `a¡Üe ( ¬y ,++ ¥ , `¡r_2mÜ�l ( `¡r_make ( tmps , i ))); 1710 ià( dov®ues ) { 1711 tmp¡r = `SŒ_Ãw (45,0); 1712 #ifdeà DEBUGGING 1713 ià( debug & 8192) { 1714 `¥rštf ( buf ,"%d%%%d=%d\n", ’Œy -> h’t_hash , 1715 hash -> tbl_max +1, ’Œy -> h’t_hash & hash->tbl_max); 1716 `¡r_£t ( tmp¡r , buf ); 1720 `¡r_s£t ( tmp¡r , `h™”v® ( hash , ’Œy )); 1721 () `a¡Üe ( ¬y ,++ ¥ , `¡r_2mÜ�l ( tmp¡r )); 1724  ¥ ; 1725 } } 1728 $do_—ch ( ¡r , hash , gimme , ¬gÏ¡ ) 1729 STR * ¡r ; 1730 HASH * hash ; 1731  gimme ; 1732 * ¬gÏ¡ ; 1734 STR ** ¡ = ¡ack -> ¬y_¬¿y ; 1735  ¥ = ¬gÏ¡ [0]; 1736  STR * my¡rk = NuΡr ; 1737 HENT * ’Œy = `h™”Ãxt ( hash ); 1738  i ; 1739 * tmps ; 1741 ià( my¡rk ) { 1742 `¡r_ä“ ( my¡rk ); 1743 my¡rk = NuΡr ; 1746 ià( ’Œy ) { 1747 ià( gimme =ð G_ARRAY ) { 1748 tmps = `h™”key ( ’Œy , & i ); 1749 ià(! i ) 1750 tmps = ""; 1751 ¡ [++ ¥ ] = my¡rk = `¡r_make ( tmps , i ); 1753 ¡ [++ ¥ ] = ¡r ; 1754 `¡r_s£t ( ¡r , `h™”v® ( hash , ’Œy )); 1755 `STABSET ( ¡r ); 1756  ¥ ; 1759  ¥ ; 1760 } } @dump.c 14  ~"EXTERN.h " 15  ~"³¾.h " 17 #ifdeà DEBUGGING 18  gdum¶vl = 0; 20 $dump_®l () 22  i ; 23  STAB * ¡ab ; 24  HENT * ’Œy ; 25 STR * ¡r = `¡r_mÜ�l (& ¡r_undef ); 27 `dump_cmd ( maš_roÙ , NuÎcmd ); 28  i = 0; i <= 127; i++) { 29  ’Œy = def¡ash -> tbl_¬¿y [ i ];ƒÁry;ƒÁry =ƒÁry-> h’t_Ãxt ) { 30 ¡ab = ( STAB *) ’Œy -> h’t_v® ; 31 ià( `¡ab_sub ( ¡ab )) { 32 `¡ab_fuÎÇme ( ¡r , ¡ab ); 33 `dump ("\nSUB % ð", ¡r -> ¡r_±r ); 34 `dump_cmd ( `¡ab_sub ( ¡ab )-> cmd , NuÎcmd ); 38 } } 40 $dump_cmd ( cmd , ®t ) 41  CMD * cmd ; 42  CMD * ®t ; 44 `årštf ( ¡d”r ,"{\n"); 45  cmd ) { 46 dum¶vl ++; 47 `dump ("C_TYPE = %s\n", cmdÇme [ cmd -> c_ty³ ]); 48 `dump ("C_ADDR = 0x%lx\n", cmd ); 49 `dump ("C_NEXT = 0x%lx\n", cmd -> c_Ãxt ); 50 ià( cmd -> c_lše ) 51 `dump ("C_LINE = %d (0x%lx)\n", cmd -> c_lše ,cmd); 52 ià( cmd -> c_Ïb– ) 53 `dump ("C_LABEL = \"%s\"\n", cmd -> c_Ïb– ); 54 `dump ("C_OPT = CFT_%s\n", cmdÝt [ cmd -> c_æags & CF_OPTIMIZE ]); 55 * buf = '\0'; 56 ià( cmd -> c_æags & CF_FIRSTNEG ) 57 () `¡rÿt ( buf ,"FIRSTNEG,"); 58 ià( cmd -> c_æags & CF_NESURE ) 59 () `¡rÿt ( buf ,"NESURE,"); 60 ià( cmd -> c_æags & CF_EQSURE ) 61 () `¡rÿt ( buf ,"EQSURE,"); 62 ià( cmd -> c_æags & CF_COND ) 63 () `¡rÿt ( buf ,"COND,"); 64 ià( cmd -> c_æags & CF_LOOP ) 65 () `¡rÿt ( buf ,"LOOP,"); 66 ià( cmd -> c_æags & CF_INVERT ) 67 () `¡rÿt ( buf ,"INVERT,"); 68 ià( cmd -> c_æags & CF_ONCE ) 69 () `¡rÿt ( buf ,"ONCE,"); 70 ià( cmd -> c_æags & CF_FLIP ) 71 () `¡rÿt ( buf ,"FLIP,"); 72 ià( cmd -> c_æags & CF_TERM ) 73 () `¡rÿt ( buf ,"TERM,"); 74 ià(* buf ) 75 buf [ `¡¾’ (buf)-1] = '\0'; 76 `dump ("C_FLAGS = (%s)\n", buf ); 77 ià( cmd -> c_shÜt ) { 78 `dump ("C_SHORT = \"%s\"\n", `¡r_³ek ( cmd -> c_shÜt )); 79 `dump ("C_SLEN = \"%d\"\n", cmd -> c_¦’ ); 81 ià( cmd -> c_¡ab ) { 82 `dump ("C_STAB = "); 83 `dump_¡ab ( cmd -> c_¡ab ); 85 ià( cmd -> c_¥© ) { 86 `dump ("C_SPAT = "); 87 `dump_¥© ( cmd -> c_¥© ); 89 ià( cmd -> c_ex´ ) { 90 `dump ("C_EXPR = "); 91 `dump_¬g ( cmd -> c_ex´ ); 93 `dump ("C_EXPR = NULL\n"); 94  cmd -> c_ty³ ) { 95  C_NEXT : 96  C_WHILE : 97  C_BLOCK : 98  C_ELSE : 99  C_IF : 100 ià( cmd -> ucmd . ccmd . cc_Œue ) { 101 `dump ("CC_TRUE = "); 102 `dump_cmd ( cmd -> ucmd . ccmd . cc_Œue ,cmd->ucmd.ccmd. cc_®t ); 105 `dump ("CC_TRUE = NULL\n"); 106 ià( cmd -> c_ty³ =ð C_IF && cmd-> ucmd . ccmd . cc_®t ) { 107 `dump ("CC_ENDELSE = 0x%lx\n", cmd -> ucmd . ccmd . cc_®t ); 109 ià( cmd -> c_ty³ =ð C_NEXT && cmd-> ucmd . ccmd . cc_®t ) { 110 `dump ("CC_NEXT = 0x%lx\n", cmd -> ucmd . ccmd . cc_®t ); 113 `dump ("CC_ALT = NULL\n"); 115  C_EXPR : 116 ià( cmd -> ucmd . acmd . ac_¡ab ) { 117 `dump ("AC_STAB = "); 118 `dump_¡ab ( cmd -> ucmd . acmd . ac_¡ab ); 120 `dump ("AC_STAB = NULL\n"); 121 ià( cmd -> ucmd . acmd . ac_ex´ ) { 122 `dump ("AC_EXPR = "); 123 `dump_¬g ( cmd -> ucmd . acmd . ac_ex´ ); 125 `dump ("AC_EXPR = NULL\n"); 127  C_CSWITCH : 128  C_NSWITCH : 130  max , i ; 132 max = cmd -> ucmd . scmd . sc_max ; 133 `dump ("SC_MIN = (%d)\n", cmd -> ucmd . scmd . sc_off£t + 1); 134 `dump ("SC_MAX = (%d)\n", max + cmd -> ucmd . scmd . sc_off£t - 1); 135 `dump ("SC_NEXT[LT] = 0x%lx\n", cmd -> ucmd . scmd . sc_Ãxt [0]); 136  i = 1; i < max ; i++) 137 `dump ("SC_NEXT[%d] = 0x%lx\n", i + cmd -> ucmd . scmd . sc_off£t , 138 cmd -> ucmd . scmd . sc_Ãxt [ i ]); 139 `dump ("SC_NEXT[GT] = 0x%lx\n", cmd -> ucmd . scmd . sc_Ãxt [ max ]); 143 cmd = cmd-> c_Ãxt ; 144 ià( cmd && cmd-> c_h—d == cmd) { 145 `dump ("C_NEXT = HEAD\n"); 146 dum¶vl --; 147 `dump ("}\n"); 150 dum¶vl --; 151 `dump ("}\n"); 152 ià( cmd ) 153 ià( cmd =ð ®t ) 154 `dump ("CONT 0x%lx {\n", cmd ); 156 `dump ("{\n"); 158 } } 160 $dump_¬g ( ¬g ) 161  ARG * ¬g ; 163  i ; 165 `årštf ( ¡d”r ,"{\n"); 166 dum¶vl ++; 167 `dump ("OP_TYPE = %s\n", ÝÇme [ ¬g -> ¬g_ty³ ]); 168 `dump ("OP_LEN = %d\n", ¬g -> ¬g_Ën ); 169 ià( ¬g -> ¬g_æags ) { 170 `dump_æags ( buf , ¬g -> ¬g_æags ); 171 `dump ("OP_FLAGS = (%s)\n", buf ); 173  i = 1; i <ð ¬g -> ¬g_Ën ; i++) { 174 `dump ("[%d]ARG_TYPE = %s%s\n", i , ¬gÇme [ ¬g [i]. ¬g_ty³ & A_MASK ], 175 ¬g [ i ]. ¬g_ty³ & A_DONT ? " (unevaluated)" : ""); 176 ià( ¬g [ i ]. ¬g_Ën ) 177 `dump ("[%d]ARG_LEN = %d\n", i , ¬g [i]. ¬g_Ën ); 178 ià( ¬g [ i ]. ¬g_æags ) { 179 `dump_æags ( buf , ¬g [ i ]. ¬g_æags ); 180 `dump ("[%d]ARG_FLAGS = (%s)\n", i , buf ); 182  ¬g [ i ]. ¬g_ty³ & A_MASK ) { 183  A_NULL : 184 ià( ¬g -> ¬g_ty³ =ð O_TRANS ) { 185 * tbl = (*) ¬g [2]. ¬g_±r . ¬g_cv® ; 186  i ; 188  i = 0; i < 256; i++) { 189 ià( tbl [ i ] >= 0) 190 `dump (" %d -> %d\n", i , tbl [i]); 191 ià( tbl [ i ] == -2) 192 `dump (" %d -> DELETE\n", i ); 196  A_LEXPR : 197  A_EXPR : 198 `dump ("[%d]ARG_ARG = ", i ); 199 `dump_¬g ( ¬g [ i ]. ¬g_±r . ¬g_¬g ); 201  A_CMD : 202 `dump ("[%d]ARG_CMD = ", i ); 203 `dump_cmd ( ¬g [ i ]. ¬g_±r . ¬g_cmd , NuÎcmd ); 205  A_WORD : 206  A_STAB : 207  A_LVAL : 208  A_READ : 209  A_GLOB : 210  A_ARYLEN : 211  A_ARYSTAB : 212  A_LARYSTAB : 213 `dump ("[%d]ARG_STAB = ", i ); 214 `dump_¡ab ( ¬g [ i ]. ¬g_±r . ¬g_¡ab ); 216  A_SINGLE : 217  A_DOUBLE : 218  A_BACKTICK : 219 `dump ("[%d]ARG_STR = '%s'\n", i , `¡r_³ek ( ¬g [i]. ¬g_±r . ¬g_¡r )); 221  A_SPAT : 222 `dump ("[%d]ARG_SPAT = ", i ); 223 `dump_¥© ( ¬g [ i ]. ¬g_±r . ¬g_¥© ); 227 dum¶vl --; 228 `dump ("}\n"); 229 } } 231 $dump_æags ( b , æags ) 232 * b ; 233  æags ; 235 * b = '\0'; 236 ià( æags & AF_ARYOK ) 237 () `¡rÿt ( b ,"ARYOK,"); 238 ià( æags & AF_POST ) 239 () `¡rÿt ( b ,"POST,"); 240 ià( æags & AF_PRE ) 241 () `¡rÿt ( b ,"PRE,"); 242 ià( æags & AF_UP ) 243 () `¡rÿt ( b ,"UP,"); 244 ià( æags & AF_COMMON ) 245 () `¡rÿt ( b ,"COMMON,"); 246 ià( æags & AF_DEPR ) 247 () `¡rÿt ( b ,"DEPR,"); 248 ià( æags & AF_LISTISH ) 249 () `¡rÿt ( b ,"LISTISH,"); 250 ià( æags & AF_LOCAL ) 251 () `¡rÿt ( b ,"LOCAL,"); 252 ià(* b ) 253 b [ `¡¾’ (b)-1] = '\0'; 254 } } 256 $dump_¡ab ( ¡ab ) 257  STAB * ¡ab ; 259 STR * ¡r ; 261 ià(! ¡ab ) { 262 `årštf ( ¡d”r ,"{}\n"); 265 ¡r = `¡r_mÜ�l (& ¡r_undef ); 266 dum¶vl ++; 267 `årštf ( ¡d”r ,"{\n"); 268 `¡ab_fuÎÇme ( ¡r , ¡ab ); 269 `dump ("STAB_NAME = %s\n", ¡r -> ¡r_±r ); 270 dum¶vl --; 271 `dump ("}\n"); 272 } } 274 $dump_¥© ( ¥© ) 275  SPAT * ¥© ; 277  ch ; 279 ià(! ¥© ) { 280 `årštf ( ¡d”r ,"{}\n"); 283 `årštf ( ¡d”r ,"{\n"); 284 dum¶vl ++; 285 ià( ¥© -> ¥©_ruÁime ) { 286 `dump ("SPAT_RUNTIME = "); 287 `dump_¬g ( ¥© -> ¥©_ruÁime ); 289 ià( ¥© -> ¥©_æags & SPAT_ONCE ) 290 ch = '?'; 292 ch = '/'; 293 `dump ("SPAT_PRE %c%s%c\n", ch , ¥© -> ¥©_»gexp -> ´ecomp ,ch); 295 ià( ¥© -> ¥©_»¶ ) { 296 `dump ("SPAT_REPL = "); 297 `dump_¬g ( ¥© -> ¥©_»¶ ); 299 ià( ¥© -> ¥©_shÜt ) { 300 `dump ("SPAT_SHORT = \"%s\"\n", `¡r_³ek ( ¥© -> ¥©_shÜt )); 302 dum¶vl --; 303 `dump ("}\n"); 304 } } 307 $dump ( ¬g1 , ¬g2 , ¬g3 , ¬g4 , ¬g5 ) 308 * ¬g1 ; 309  ¬g2 , ¬g3 , ¬g4 , ¬g5 ; 311  i ; 313  i = dum¶vl *4; i; i--) 314 () `putc (' ', ¡d”r ); 315 `årštf ( ¡d”r , ¬g1 , ¬g2 , ¬g3 , ¬g4 , ¬g5 ); 316 } } 319 #ifdeà DEBUG 321 $showšput () 323 * s = `¡r_g‘ ( lše¡r ); 324  fd ; 325  cmd [] = 329 ià( rså !ð ¡dš || `¡ºEQ ( s ,"#!",2)) 330  s ; 331 ; * s ; s++) { 332 ià(* s & 0200) { 333 fd = `ü—t ("/tmp/.foo",0600); 334 `wr™e ( fd , `¡r_g‘ ( lše¡r ),lše¡r-> ¡r_cur ); 335  s = `¡r_g‘s ( lše¡r , rså ,0)) { 336 `wr™e ( fd , s , lše¡r -> ¡r_cur ); 338 () `þo£ ( fd ); 339  s = cmd ; *s; s++) 340 ià(* s < ' ') 341 * s += 96; 342 rså = `mypÝ’ ( cmd ,"r"); 343 s = `¡r_g‘s ( lše¡r , rså ,0); 344  s ; 347  `¡r_g‘ ( lše¡r ); 348 } } @eval.c 18  ~"EXTERN.h " 19  ~"³¾.h " 21 #ià! defšed ( NSIG è|| defšed( M_UNIX è|| defšed( M_XENIX ) 22  ~ 25 #ifdeà I_FCNTL 26  ~ 28 #ifdeà I_SYS_FILE 29  ~ 31 #ifdeà I_VFORK 32  ~ 35 #ifdeà VOIDSIG 36 (* gihªd )(); 37 (* gqhªd )(); 39 (* gihªd )(); 40 (* gqhªd )(); 43 ARG * gdeb¬g ; 44 STR g¡r_¬gs ; 45  STAB * g¡ab2 ; 46  STIO * g¡io ; 47  l¡ršg * gl¡r ; 48  gÞd_rsch¬ ; 49  gÞd_r¦’ ; 51  sš (), cos (), ©ª2 (), pow (); 53 * g‘logš (); 56 $ev® ( ¬g , gimme , ¥ ) 57  ARG * ¬g ; 58  gimme ; 59  ¥ ; 61  STR * ¡r ; 62  ªum ; 63  Ýty³ ; 64  STR ** ¡ ; 65  max¬g ; 66  v®ue ; 67 * tmps ; 68 * tmps2 ; 69  ¬gæags ; 70  ¬gty³ ; 71  ¬g±r ‡rgptr; 72  ¬gÏ¡ [8]; 73  tm¶Úg ; 74  wh’ ; 75 FILE * å ; 76 STR * tmp¡r ; 77 FCMD * fÜm ; 78 STAB * ¡ab ; 79 ARRAY * ¬y ; 80 boÞ assignšg = FALSE ; 81  `exp (), `log (), `sq¹ (), `modf (); 82 * `üy± (), * `g‘’v (); 83  `grow_dËv– (); 85 ià(! ¬g ) 86  §y_undef ; 87 Ýty³ = ¬g -> ¬g_ty³ ; 88 max¬g = ¬g -> ¬g_Ën ; 89 ¬gÏ¡ [0] = ¥ ; 90 ¡r = ¬g -> ¬g_±r . ¬g_¡r ; 91 ià( ¥ + max¬g > ¡ack -> ¬y_max ) 92 `a¡Üe ( ¡ack , ¥ + max¬g , NuΡr ); 93 ¡ = ¡ack -> ¬y_¬¿y ; 95 #ifdeà DEBUGGING 96 ià( debug ) { 97 ià( debug & 8) { 98 `deb ("% (%lxè%d‡rgs:\n", ÝÇme [ Ýty³ ], ¬g , max¬g ); 100 debÇme [ dËv– ] = ÝÇme [ Ýty³ ][0]; 101 debd–im [ dËv– ] = ':'; 102 ià(++ dËv– >ð dlmax ) 103 `grow_dËv– (); 107  ªum = 1;‡num <ð max¬g ;‡num++) { 108 ¬gæags = ¬g [ ªum ]. ¬g_æags ; 109 ¬gty³ = ¬g [ ªum ]. ¬g_ty³ ; 110 ¬g±r = ¬g [ ªum ]. ¬g_±r ; 111 »_ev® : 112  ¬gty³ ) { 114 ¡ [++ ¥ ] = & ¡r_undef ; 115 #ifdeà DEBUGGING 116 tmps = "NULL"; 119  A_EXPR : 120 #ifdeà DEBUGGING 121 ià( debug & 8) { 122 tmps = "EXPR"; 123 `deb ("%d.EXPR =>\n", ªum ); 126 ¥ = `ev® ( ¬g±r . ¬g_¬g , 127 ( ¬gæags & AF_ARYOK è? G_ARRAY : G_SCALAR , ¥ ); 128 ià( ¥ + ( max¬g - ªum è> ¡ack -> ¬y_max ) 129 `a¡Üe ( ¡ack , ¥ + ( max¬g - ªum ), NuΡr ); 130 ¡ = ¡ack -> ¬y_¬¿y ; 132  A_CMD : 133 #ifdeà DEBUGGING 134 ià( debug & 8) { 135 tmps = "CMD"; 136 `deb ("%d.CMD (%lxè=>\n", ªum , ¬g±r . ¬g_cmd ); 139 ¥ = `cmd_exec ( ¬g±r . ¬g_cmd , gimme , sp); 140 ià( ¥ + ( max¬g - ªum è> ¡ack -> ¬y_max ) 141 `a¡Üe ( ¡ack , ¥ + ( max¬g - ªum ), NuΡr ); 142 ¡ = ¡ack -> ¬y_¬¿y ; 144  A_LARYSTAB : 145 ++ ¥ ; 146  Ýty³ ) { 147  O_ITEM2 : ¬gty³ = 2; ; 148  O_ITEM3 : ¬gty³ = 3; ; 149 : ¬gty³ = ªum ; ; 151 ¡r = `aãtch ( `¡ab_¬¿y ( ¬g±r . ¬g_¡ab ), 152 ¬g [ ¬gty³ ]. ¬g_Ën - ¬yba£ , TRUE ); 153 #ifdeà DEBUGGING 154 ià( debug & 8) { 155 () `¥rštf ( buf ,"LARYSTAB $%s[%d]", `¡ab_Çme ( ¬g±r . ¬g_¡ab ), 156 ¬g [ ¬gty³ ]. ¬g_Ën ); 157 tmps = buf ; 160  do_üem’t ; 161  A_ARYSTAB : 162  Ýty³ ) { 163  O_ITEM2 : ¬gty³ = 2; ; 164  O_ITEM3 : ¬gty³ = 3; ; 165 : ¬gty³ = ªum ; ; 167 ¡ [++ ¥ ] = `aãtch ( `¡ab_¬¿y ( ¬g±r . ¬g_¡ab ), 168 ¬g [ ¬gty³ ]. ¬g_Ën - ¬yba£ , FALSE ); 169 #ifdeà DEBUGGING 170 ià( debug & 8) { 171 () `¥rštf ( buf ,"ARYSTAB $%s[%d]", `¡ab_Çme ( ¬g±r . ¬g_¡ab ), 172 ¬g [ ¬gty³ ]. ¬g_Ën ); 173 tmps = buf ; 177  A_STAR : 178 ¡ab = ¬g±r . ¬g_¡ab ; 179 ¡ [++ ¥ ] = ( STR *) ¡ab ; 180 ià(! `¡ab_x¬¿y ( ¡ab )) 181 `¯dd ( ¡ab ); 182 ià(! `¡ab_xhash ( ¡ab )) 183 `hadd ( ¡ab ); 184 ià(! `¡ab_io ( ¡ab )) 185 `¡ab_io ( ¡ab èð `¡io_Ãw (); 186 #ifdeà DEBUGGING 187 ià( debug & 8) { 188 () `¥rštf ( buf ,"STAR *%s", `¡ab_Çme ( ¬g±r . ¬g_¡ab )); 189 tmps = buf ; 193  A_LSTAR : 194 ¡r = ¡ [++ ¥ ] = ( STR *) ¬g±r . ¬g_¡ab ; 195 #ifdeà DEBUGGING 196 ià( debug & 8) { 197 () `¥rštf ( buf ,"LSTAR *%s", `¡ab_Çme ( ¬g±r . ¬g_¡ab )); 198 tmps = buf ; 202  A_STAB : 203 ¡ [++ ¥ ] = `STAB_STR ( ¬g±r . ¬g_¡ab ); 204 #ifdeà DEBUGGING 205 ià( debug & 8) { 206 () `¥rštf ( buf ,"STAB $%s", `¡ab_Çme ( ¬g±r . ¬g_¡ab )); 207 tmps = buf ; 211  A_LEXPR : 212 #ifdeà DEBUGGING 213 ià( debug & 8) { 214 tmps = "LEXPR"; 215 `deb ("%d.LEXPR =>\n", ªum ); 218 ià( ¬gæags & AF_ARYOK ) { 219 ¥ = `ev® ( ¬g±r . ¬g_¬g , G_ARRAY , sp); 220 ià( ¥ + ( max¬g - ªum è> ¡ack -> ¬y_max ) 221 `a¡Üe ( ¡ack , ¥ + ( max¬g - ªum ), NuΡr ); 222 ¡ = ¡ack -> ¬y_¬¿y ; 225 ¥ = `ev® ( ¬g±r . ¬g_¬g , G_SCALAR , sp); 226 ¡ = ¡ack -> ¬y_¬¿y ; 227 ¡r = ¡ [ ¥ ]; 228  do_üem’t ; 231  A_LVAL : 232 #ifdeà DEBUGGING 233 ià( debug & 8) { 234 () `¥rštf ( buf ,"LVAL $%s", `¡ab_Çme ( ¬g±r . ¬g_¡ab )); 235 tmps = buf ; 238 ++ ¥ ; 239 ¡r = `STAB_STR ( ¬g±r . ¬g_¡ab ); 240 ià(! ¡r ) 241 `ç�l ("panic: A_LVAL"); 242 do_üem’t : 243 assignšg = TRUE ; 244 ià( ¬gæags & AF_PRE ) { 245 ià( ¬gæags & AF_UP ) 246 `¡r_šc ( ¡r ); 248 `¡r_dec ( ¡r ); 249 `STABSET ( ¡r ); 250 ¡ [ ¥ ] = ¡r ; 251 ¡r = ¬g -> ¬g_±r . ¬g_¡r ; 253 ià( ¬gæags & AF_POST ) { 254 ¡ [ ¥ ] = `¡r_mÜ�l ( ¡r ); 255 ià( ¬gæags & AF_UP ) 256 `¡r_šc ( ¡r ); 258 `¡r_dec ( ¡r ); 259 `STABSET ( ¡r ); 260 ¡r = ¬g -> ¬g_±r . ¬g_¡r ; 263 ¡ [ ¥ ] = ¡r ; 265  A_LARYLEN : 266 ++ ¥ ; 267 ¡ab = ¬g±r . ¬g_¡ab ; 268 ¡r = `¡ab_¬¿y ( ¬g±r . ¬g_¡ab )-> ¬y_magic ; 269 ià( Ýty³ !ð O_SASSIGN || ¬gæags & ( AF_PRE | AF_POST )) 270 `¡r_num£t ( ¡r ,()( `¡ab_¬¿y ( ¡ab )-> ¬y_fžl + ¬yba£ )); 271 #ifdeà DEBUGGING 272 tmps = "LARYLEN"; 274 ià(! ¡r ) 275 `ç�l ("panic: A_LEXPR"); 276  do_üem’t ; 277  A_ARYLEN : 278 ¡ab = ¬g±r . ¬g_¡ab ; 279 ¡ [++ ¥ ] = `¡ab_¬¿y ( ¡ab )-> ¬y_magic ; 280 `¡r_num£t ( ¡ [ ¥ ],()( `¡ab_¬¿y ( ¡ab )-> ¬y_fžl + ¬yba£ )); 281 #ifdeà DEBUGGING 282 tmps = "ARYLEN"; 285  A_SINGLE : 286 ¡ [++ ¥ ] = ¬g±r . ¬g_¡r ; 287 #ifdeà DEBUGGING 288 tmps = "SINGLE"; 291  A_DOUBLE : 292 (è `š‹½ ( ¡r , ¬g±r . ¬g_¡r , ¥ ); 293 ¡ = ¡ack -> ¬y_¬¿y ; 294 ¡ [++ ¥ ] = ¡r ; 295 #ifdeà DEBUGGING 296 tmps = "DOUBLE"; 299  A_BACKTICK : 300 tmps = `¡r_g‘ ( `š‹½ ( ¡r , ¬g±r . ¬g_¡r , ¥ )); 301 ¡ = ¡ack -> ¬y_¬¿y ; 302 #ifdeà TAINT 303 `�š�rÝ” ("Insecure dependency in ``"); 305 å = `mypÝ’ ( tmps ,"r"); 306 `¡r_£t ( ¡r ,""); 307 ià( å ) { 308 ià( gimme =ð G_SCALAR ) { 309  `¡r_g‘s ( ¡r , å ,¡r-> ¡r_cur è!ð NuÎch ) 314 ià(++ ¥ > ¡ack -> ¬y_max ) { 315 `a¡Üe ( ¡ack , ¥ , NuΡr ); 316 ¡ = ¡ack -> ¬y_¬¿y ; 318 ¡r = ¡ [ ¥ ] = `SŒ_Ãw (56,80); 319 ià( `¡r_g‘s ( ¡r , å ,0è=ð NuÎch ) { 320 ¥ --; 323 ià( ¡r -> ¡r_Ën - sŒ-> ¡r_cur > 20) { 324 ¡r -> ¡r_Ën = sŒ-> ¡r_cur +1; 325 `R’ew ( ¡r -> ¡r_±r , sŒ-> ¡r_Ën , ); 327 `¡r_2mÜ�l ( ¡r ); 330 ¡©usv®ue = `mypþo£ ( å ); 333 ¡©usv®ue = -1; 335 ià( gimme =ð G_SCALAR ) 336 ¡ [++ ¥ ] = ¡r ; 337 #ifdeà DEBUGGING 338 tmps = "BACK"; 341  A_WANTARRAY : 343 ià( curcsv -> wª�¼ay =ð G_ARRAY ) 344 ¡ [++ ¥ ] = & ¡r_yes ; 346 ¡ [++ ¥ ] = & ¡r_no ; 348 #ifdeà DEBUGGING 349 tmps = "WANTARRAY"; 352  A_INDREAD : 353 Ï¡_š_¡ab = `¡ab’t ( `¡r_g‘ ( `STAB_STR ( ¬g±r . ¬g_¡ab )), TRUE ); 354 Þd_rsch¬ = rsch¬ ; 355 Þd_r¦’ = r¦’ ; 356  do_»ad ; 357  A_GLOB : 358 ¬gæags |ð AF_POST ; 359 Ï¡_š_¡ab = ¬g±r . ¬g_¡ab ; 360 Þd_rsch¬ = rsch¬ ; 361 Þd_r¦’ = r¦’ ; 362 r¦’ = 1; 363 #ifdeà MSDOS 364 rsch¬ = 0; 366 #ifdeà CSH 367 rsch¬ = 0; 369 rsch¬ = '\n'; 372  do_»ad ; 373  A_READ : 374 Ï¡_š_¡ab = ¬g±r . ¬g_¡ab ; 375 Þd_rsch¬ = rsch¬ ; 376 Þd_r¦’ = r¦’ ; 377 do_»ad : 378 ià( ªum > 1) 379 gimme = G_SCALAR ; 380 ià( gimme =ð G_ARRAY ) 381 ¡r = `SŒ_Ãw (57,0); 382 ++ ¥ ; 383 å = NuÎå ; 384 ià( `¡ab_io ( Ï¡_š_¡ab )) { 385 å = `¡ab_io ( Ï¡_š_¡ab )-> iå ; 386 ià(! å ) { 387 ià( `¡ab_io ( Ï¡_š_¡ab )-> æags & IOF_ARGV ) { 388 ià( `¡ab_io ( Ï¡_š_¡ab )-> æags & IOF_START ) { 389 `¡ab_io ( Ï¡_š_¡ab )-> æags &ð~ IOF_START ; 390 `¡ab_io ( Ï¡_š_¡ab )-> lšes = 0; 391 ià( `®’ ( `¡ab_¬¿y ( Ï¡_š_¡ab )) < 0) { 392 tmp¡r = `¡r_make ("-",1); 393 () `­ush ( `¡ab_¬¿y ( Ï¡_š_¡ab ), tmp¡r ); 396 å = `Ãx�rgv ( Ï¡_š_¡ab ); 397 ià(! å ) { 398 () `do_þo£ ( Ï¡_š_¡ab , FALSE ); 399 `¡ab_io ( Ï¡_š_¡ab )-> æags |ð IOF_START ; 402 ià( ¬gty³ =ð A_GLOB ) { 403 (è `š‹½ ( ¡r , `¡ab_v® ( Ï¡_š_¡ab ), ¥ ); 404 ¡ = ¡ack -> ¬y_¬¿y ; 405 tmp¡r = `SŒ_Ãw (55,0); 406 #ifdeà MSDOS 407 `¡r_£t ( tmp¡r , "perlglob "); 408 `¡r_sÿt ( tmp¡r , ¡r ); 409 `¡r_ÿt ( tmp¡r ," |"); 411 #ifdeà CSH 412 `¡r_n£t ( tmp¡r , cshÇme , cshËn ); 413 `¡r_ÿt ( tmp¡r ," -cf 'set‚onomatch; glob "); 414 `¡r_sÿt ( tmp¡r , ¡r ); 415 `¡r_ÿt ( tmp¡r ,"'|"); 417 `¡r_£t ( tmp¡r , "echo "); 418 `¡r_sÿt ( tmp¡r , ¡r ); 419 `¡r_ÿt ( tmp¡r , 423 () `do_Ý’ ( Ï¡_š_¡ab , tmp¡r -> ¡r_±r , 424 tmp¡r -> ¡r_cur ); 425 å = `¡ab_io ( Ï¡_š_¡ab )-> iå ; 426 `¡r_ä“ ( tmp¡r ); 430 ià(! å && dow¬n ) 431 `w¬n ("R—d oÀþo£d fžehªdË <%s>", `¡ab_Çme ( Ï¡_š_¡ab )); 432 wh’ = ¡r -> ¡r_Ën ; 433 ià(! wh’ ) 434 `SŒ_Grow ( ¡r ,80); 435 k“pgošg : 436 ià(! å ) 437 ¡ [ ¥ ] = & ¡r_undef ; 438 ià(! `¡r_g‘s ( ¡r , å , Ýty³ =ð O_RCAT ? sŒ-> ¡r_cur : 0)) { 439 `þ—»¼ ( å ); 440 ià( `¡ab_io ( Ï¡_š_¡ab )-> æags & IOF_ARGV ) { 441 å = `Ãx�rgv ( Ï¡_š_¡ab ); 442 ià( å ) 443  k“pgošg ; 444 () `do_þo£ ( Ï¡_š_¡ab , FALSE ); 445 `¡ab_io ( Ï¡_š_¡ab )-> æags |ð IOF_START ; 447 ià( ¬gæags & AF_POST ) { 448 () `do_þo£ ( Ï¡_š_¡ab , FALSE ); 450 ¡ [ ¥ ] = & ¡r_undef ; 451 rsch¬ = Þd_rsch¬ ; 452 r¦’ = Þd_r¦’ ; 453 ià( gimme =ð G_ARRAY ) { 454 -- ¥ ; 455 `¡r_2mÜ�l ( ¡r ); 456  ¬¿y_»tuº ; 461 `¡ab_io ( Ï¡_š_¡ab )-> lšes ++; 462 ¡ [ ¥ ] = ¡r ; 463 #ifdeà TAINT 464 ¡r -> ¡r_�š‹d = 1; 466 ià( ¬gæags & AF_POST ) { 467 ià( ¡r -> ¡r_cur > 0) 468 ¡r -> ¡r_cur --; 469 ià( ¡r -> ¡r_±r [¡r-> ¡r_cur ] =ð rsch¬ ) 470 ¡r -> ¡r_±r [¡r-> ¡r_cur ] = '\0'; 472 ¡r -> ¡r_cur ++; 473  tmps = ¡r -> ¡r_±r ; *tmps;�mps++) 474 ià(! `i§Íha (* tmps è&& ! `isdig™ (*tmps) && 475 `šdex ("$&*(){}[]'\";\\|?<>~`",* tmps )) 477 ià(* tmps && `¡© ( ¡r -> ¡r_±r ,& ¡©buf ) < 0) 478  k“pgošg ; 480 ià( gimme =ð G_ARRAY ) { 481 ià( ¡r -> ¡r_Ën - sŒ-> ¡r_cur > 20) { 482 ¡r -> ¡r_Ën = sŒ-> ¡r_cur +1; 483 `R’ew ( ¡r -> ¡r_±r , sŒ-> ¡r_Ën , ); 485 `¡r_2mÜ�l ( ¡r ); 486 ià(++ ¥ > ¡ack -> ¬y_max ) { 487 `a¡Üe ( ¡ack , ¥ , NuΡr ); 488 ¡ = ¡ack -> ¬y_¬¿y ; 490 ¡r = `SŒ_Ãw (58,80); 491  k“pgošg ; 493 ià(! wh’ && ¡r -> ¡r_Ën - sŒ-> ¡r_cur > 80) { 495 ià( ¡r -> ¡r_cur < 60) 496 ¡r -> ¡r_Ën = 80; 498 ¡r -> ¡r_Ën = sŒ-> ¡r_cur +40; 499 `R’ew ( ¡r -> ¡r_±r , sŒ-> ¡r_Ën , ); 502 rsch¬ = Þd_rsch¬ ; 503 r¦’ = Þd_r¦’ ; 504 #ifdeà DEBUGGING 505 tmps = "READ"; 509 #ifdeà DEBUGGING 510 ià( debug & 8) 511 `deb ("%d.% ð'%s'\n", ªum , tmps , `¡r_³ek ( ¡ [ ¥ ])); 513 ià( ªum < 8) 514 ¬gÏ¡ [ ªum ] = ¥ ; 517 ¡ +ð ¬gÏ¡ [0]; 518 #ifdeà SMALLSWITCHES 519 ià( Ýty³ < O_CHOWN ) 521  Ýty³ ) { 522  O_RCAT : 523 `STABSET ( ¡r ); 525  O_ITEM : 526 ià( gimme =ð G_ARRAY ) 527  ¬¿y_»tuº ; 529  O_SCALAR : 530 `STR_SSET ( ¡r , ¡ [1]); 531 `STABSET ( ¡r ); 533  O_ITEM2 : 534 ià( gimme =ð G_ARRAY ) 535  ¬¿y_»tuº ; 536 -- ªum ; 537 `STR_SSET ( ¡r , ¡ [ ¬gÏ¡ [ ªum ]-arglast[0]]); 538 `STABSET ( ¡r ); 540  O_ITEM3 : 541 ià( gimme =ð G_ARRAY ) 542  ¬¿y_»tuº ; 543 -- ªum ; 544 `STR_SSET ( ¡r , ¡ [ ¬gÏ¡ [ ªum ]-arglast[0]]); 545 `STABSET ( ¡r ); 547  O_CONCAT : 548 `STR_SSET ( ¡r , ¡ [1]); 549 `¡r_sÿt ( ¡r , ¡ [2]); 550 `STABSET ( ¡r ); 552  O_REPEAT : 553 ià( gimme =ð G_ARRAY && ¬g [1]. ¬g_æags & AF_ARYOK ) { 554 ¥ = `do_»³©¬y ( ¬gÏ¡ ); 555  ¬¿y_»tuº ; 557 `STR_SSET ( ¡r , ¡ [ ¬gÏ¡ [1] -‡rglast[0]]); 558 ªum = () `¡r_gnum ( ¡ [ ¬gÏ¡ [2] -‡rglast[0]]); 559 ià( ªum >= 1) { 560 tmp¡r = `SŒ_Ãw (50, 0); 561 tmps = `¡r_g‘ ( ¡r ); 562 `¡r_n£t ( tmp¡r , tmps , ¡r -> ¡r_cur ); 563 tmps = `¡r_g‘ ( tmp¡r ); 564 `STR_GROW ( ¡r , ( ªum * sŒ-> ¡r_cur ) + 1); 565 `»³©ýy ( ¡r -> ¡r_±r , tmps , tmp¡r -> ¡r_cur , ªum ); 566 ¡r -> ¡r_cur *ð ªum ; 567 ¡r -> ¡r_±r [¡r-> ¡r_cur ] = '\0'; 568 ¡r -> ¡r_nok = 0; 569 `¡r_ä“ ( tmp¡r ); 572 `¡r_s£t ( ¡r ,& ¡r_no ); 573 `STABSET ( ¡r ); 575  O_MATCH : 576 ¥ = `do_m©ch ( ¡r , ¬g , 577 gimme , ¬gÏ¡ ); 578 ià( gimme =ð G_ARRAY ) 579  ¬¿y_»tuº ; 580 `STABSET ( ¡r ); 582  O_NMATCH : 583 ¥ = `do_m©ch ( ¡r , ¬g , 584 G_SCALAR , ¬gÏ¡ ); 585 `¡r_s£t ( ¡r , `¡r_Œue (¡rè? & ¡r_no : & ¡r_yes ); 586 `STABSET ( ¡r ); 588  O_SUBST : 589 ¥ = `do_sub¡ ( ¡r , ¬g , ¬gÏ¡ [0]); 590  ¬¿y_»tuº ; 591  O_NSUBST : 592 ¥ = `do_sub¡ ( ¡r , ¬g , ¬gÏ¡ [0]); 593 ¡r = ¬g -> ¬g_±r . ¬g_¡r ; 594 `¡r_£t ( ¡r , `¡r_Œue (¡rè? No : Yes ); 595  ¬¿y_»tuº ; 596  O_ASSIGN : 597 ià( ¬g [1]. ¬g_æags & AF_ARYOK ) { 598 ià( ¬g -> ¬g_Ën == 1) { 599 ¬g -> ¬g_ty³ = O_LOCAL ; 600  loÿl ; 603 ¬g -> ¬g_ty³ = O_AASSIGN ; 604  ¯ssign ; 608 ¬g -> ¬g_ty³ = O_SASSIGN ; 609  §ssign ; 611  O_LOCAL : 612 loÿl : 613 ¬gÏ¡ [2] =‡rglast[1]; 615  O_AASSIGN : 616 ¯ssign : 617 ¥ = `do_assign ( ¬g , 618 gimme , ¬gÏ¡ ); 619  ¬¿y_»tuº ; 620  O_SASSIGN : 621 §ssign : 622 `STR_SSET ( ¡r , ¡ [2]); 623 `STABSET ( ¡r ); 625  O_CHOP : 626 ¡ -ð ¬gÏ¡ [0]; 627 ¡r = ¬g -> ¬g_±r . ¬g_¡r ; 628  ¥ = ¬gÏ¡ [0] + 1; sp <=‡rglast[1]; sp++) 629 `do_chÝ ( ¡r , ¡ [ ¥ ]); 630 ¡ +ð ¬gÏ¡ [0]; 632  O_DEFINED : 633 ià( ¬g [1]. ¬g_ty³ & A_DONT ) { 634 ¥ = `do_defšed ( ¡r , ¬g , 635 gimme , ¬gÏ¡ ); 636  ¬¿y_»tuº ; 638 ià( ¡r -> ¡r_pok || sŒ-> ¡r_nok ) 639  §y_yes ; 640  §y_no ; 641  O_UNDEF : 642 ià( ¬g [1]. ¬g_ty³ & A_DONT ) { 643 ¥ = `do_undef ( ¡r , ¬g , 644 gimme , ¬gÏ¡ ); 645  ¬¿y_»tuº ; 647 ià( ¡r !ð `¡ab_v® ( def¡ab )) { 648 ià( ¡r -> ¡r_Ën ) { 649 ià( ¡r -> ¡r_¡©e =ð SS_INCR ) 650 `SŒ_Grow ( ¡r ,0); 651 `Saãä“ ( ¡r -> ¡r_±r ); 652 ¡r -> ¡r_±r = NuÎch ; 653 ¡r -> ¡r_Ën = 0; 655 ¡r -> ¡r_pok = sŒ-> ¡r_nok = 0; 656 `STABSET ( ¡r ); 658  §y_undef ; 659  O_STUDY : 660 ¥ = `do_¡udy ( ¡r , ¬g , 661 gimme , ¬gÏ¡ ); 662  ¬¿y_»tuº ; 663  O_POW : 664 v®ue = `¡r_gnum ( ¡ [1]); 665 v®ue = `pow (v®ue, `¡r_gnum ( ¡ [2])); 666  dÚum£t ; 667  O_MULTIPLY : 668 v®ue = `¡r_gnum ( ¡ [1]); 669 v®ue *ð `¡r_gnum ( ¡ [2]); 670  dÚum£t ; 671  O_DIVIDE : 672 ià(( v®ue = `¡r_gnum ( ¡ [2])) == 0.0) 673 `ç�l ("Illegal division by zero"); 674 #ifdeà üay 677  x ; 678  k ; 679 x = `¡r_gnum ( ¡ [1]); 680 ià(()() x == x && 681 ()() v®ue == value && 682 ( k = () x /() v®ue )*()value == ()x) { 683 v®ue = k ; 685 v®ue = x /value; 689 v®ue = `¡r_gnum ( ¡ [1]) / value; 691  dÚum£t ; 692  O_MODULO : 693 tm¶Úg = (è `¡r_gnum ( ¡ [2]); 694 ià( tm¶Úg == 0L) 695 `ç�l ("Illegal modulus zero"); 696 wh’ = () `¡r_gnum ( ¡ [1]); 697 #iâdeà lšt 698 ià( wh’ >= 0) 699 v®ue = ()( wh’ % tm¶Úg ); 701 v®ue = ()( tm¶Úg - ((- wh’ - 1) %�mplong)) - 1; 703  dÚum£t ; 704  O_ADD : 705 v®ue = `¡r_gnum ( ¡ [1]); 706 v®ue +ð `¡r_gnum ( ¡ [2]); 707  dÚum£t ; 708  O_SUBTRACT : 709 v®ue = `¡r_gnum ( ¡ [1]); 710 v®ue -ð `¡r_gnum ( ¡ [2]); 711  dÚum£t ; 712  O_LEFT_SHIFT : 713 v®ue = `¡r_gnum ( ¡ [1]); 714 ªum = () `¡r_gnum ( ¡ [2]); 715 #iâdeà lšt 716 v®ue = ()( `U_L (v®ueè<< ªum ); 718  dÚum£t ; 719  O_RIGHT_SHIFT : 720 v®ue = `¡r_gnum ( ¡ [1]); 721 ªum = () `¡r_gnum ( ¡ [2]); 722 #iâdeà lšt 723 v®ue = ()( `U_L (v®ueè>> ªum ); 725  dÚum£t ; 726  O_LT : 727 v®ue = `¡r_gnum ( ¡ [1]); 728 v®ue = (v®u�< `¡r_gnum ( ¡ [2])) ? 1.0 : 0.0; 729  dÚum£t ; 730  O_GT : 731 v®ue = `¡r_gnum ( ¡ [1]); 732 v®ue = (v®u�> `¡r_gnum ( ¡ [2])) ? 1.0 : 0.0; 733  dÚum£t ; 734  O_LE : 735 v®ue = `¡r_gnum ( ¡ [1]); 736 v®ue = (v®u�<ð `¡r_gnum ( ¡ [2])) ? 1.0 : 0.0; 737  dÚum£t ; 738  O_GE : 739 v®ue = `¡r_gnum ( ¡ [1]); 740 v®ue = (v®u�>ð `¡r_gnum ( ¡ [2])) ? 1.0 : 0.0; 741  dÚum£t ; 742  O_EQ : 743 ià( dow¬n ) { 744 ià((! ¡ [1]-> ¡r_nok && ! `looks_like_numb” (st[1])) || 745 (! ¡ [2]-> ¡r_nok && ! `looks_like_numb” (st[2])) ) 746 `w¬n ("Possible use of == on string value"); 748 v®ue = `¡r_gnum ( ¡ [1]); 749 v®ue = (v®u�=ð `¡r_gnum ( ¡ [2])) ? 1.0 : 0.0; 750  dÚum£t ; 751  O_NE : 752 v®ue = `¡r_gnum ( ¡ [1]); 753 v®ue = (v®u�!ð `¡r_gnum ( ¡ [2])) ? 1.0 : 0.0; 754  dÚum£t ; 755  O_NCMP : 756 v®ue = `¡r_gnum ( ¡ [1]); 757 v®ue -ð `¡r_gnum ( ¡ [2]); 758 ià( v®ue > 0.0) 759 v®ue = 1.0; 760 ià( v®ue < 0.0) 761 v®ue = -1.0; 762  dÚum£t ; 763  O_BIT_AND : 764 ià(! §wvec || ¡ [1]-> ¡r_nok || st[2]->str_nok) { 765 v®ue = `¡r_gnum ( ¡ [1]); 766 #iâdeà lšt 767 v®ue = ()( `U_L (v®ueè& U_L( `¡r_gnum ( ¡ [2]))); 769  dÚum£t ; 772 `do_vÝ ( Ýty³ , ¡r , ¡ [1],st[2]); 774  O_XOR : 775 ià(! §wvec || ¡ [1]-> ¡r_nok || st[2]->str_nok) { 776 v®ue = `¡r_gnum ( ¡ [1]); 777 #iâdeà lšt 778 v®ue = ()( `U_L (v®ueè^ U_L( `¡r_gnum ( ¡ [2]))); 780  dÚum£t ; 783 `do_vÝ ( Ýty³ , ¡r , ¡ [1],st[2]); 785  O_BIT_OR : 786 ià(! §wvec || ¡ [1]-> ¡r_nok || st[2]->str_nok) { 787 v®ue = `¡r_gnum ( ¡ [1]); 788 #iâdeà lšt 789 v®ue = ()( `U_L (v®ueè| U_L( `¡r_gnum ( ¡ [2]))); 791  dÚum£t ; 794 `do_vÝ ( Ýty³ , ¡r , ¡ [1],st[2]); 797  O_AND : 798 ià( `¡r_Œue ( ¡ [1])) { 799 ªum = 2; 800 Ýty³ = O_ITEM2 ; 801 ¬gæags = ¬g [ ªum ]. ¬g_æags ; 802 ià( gimme =ð G_ARRAY ) 803 ¬gæags |ð AF_ARYOK ; 804 ¬gty³ = ¬g [ ªum ]. ¬g_ty³ & A_MASK ; 805 ¬g±r = ¬g [ ªum ]. ¬g_±r ; 806 max¬g = ªum = 1; 807 ¥ = ¬gÏ¡ [0]; 808 ¡ -ð ¥ ; 809  »_ev® ; 812 ià( assignšg ) { 813 `¡r_s£t ( ¡r , ¡ [1]); 814 `STABSET ( ¡r ); 817 ¡r = ¡ [1]; 820  O_OR : 821 ià( `¡r_Œue ( ¡ [1])) { 822 ià( assignšg ) { 823 `¡r_s£t ( ¡r , ¡ [1]); 824 `STABSET ( ¡r ); 827 ¡r = ¡ [1]; 831 ªum = 2; 832 Ýty³ = O_ITEM2 ; 833 ¬gæags = ¬g [ ªum ]. ¬g_æags ; 834 ià( gimme =ð G_ARRAY ) 835 ¬gæags |ð AF_ARYOK ; 836 ¬gty³ = ¬g [ ªum ]. ¬g_ty³ & A_MASK ; 837 ¬g±r = ¬g [ ªum ]. ¬g_±r ; 838 max¬g = ªum = 1; 839 ¥ = ¬gÏ¡ [0]; 840 ¡ -ð ¥ ; 841  »_ev® ; 843  O_COND_EXPR : 844 ªum = ( `¡r_Œue ( ¡ [1]) ? 2 : 3); 845 Ýty³ = ( ªum =ð2 ? O_ITEM2 : O_ITEM3 ); 846 ¬gæags = ¬g [ ªum ]. ¬g_æags ; 847 ià( gimme =ð G_ARRAY ) 848 ¬gæags |ð AF_ARYOK ; 849 ¬gty³ = ¬g [ ªum ]. ¬g_ty³ & A_MASK ; 850 ¬g±r = ¬g [ ªum ]. ¬g_±r ; 851 max¬g = ªum = 1; 852 ¥ = ¬gÏ¡ [0]; 853 ¡ -ð ¥ ; 854  »_ev® ; 855  O_COMMA : 856 ià( gimme =ð G_ARRAY ) 857  ¬¿y_»tuº ; 858 ¡r = ¡ [2]; 860  O_NEGATE : 861 v®ue = - `¡r_gnum ( ¡ [1]); 862  dÚum£t ; 863  O_NOT : 864 v®ue = (è! `¡r_Œue ( ¡ [1]); 865  dÚum£t ; 866  O_COMPLEMENT : 867 ià(! §wvec || ¡ [1]-> ¡r_nok ) { 868 #iâdeà lšt 869 v®ue = (è~ `U_L ( `¡r_gnum ( ¡ [1])); 871  dÚum£t ; 874 `STR_SSET ( ¡r , ¡ [1]); 875 tmps = `¡r_g‘ ( ¡r ); 876  ªum = ¡r -> ¡r_cur ;‡num;‡num--, tmps ++) 877 * tmps = ~*tmps; 880  O_SELECT : 881 `¡ab_fuÎÇme ( ¡r , defout¡ab ); 882 ià( max¬g > 0) { 883 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 884 defout¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 886 defout¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 887 ià(! `¡ab_io ( defout¡ab )) 888 `¡ab_io ( defout¡ab èð `¡io_Ãw (); 889 curout¡ab = defout¡ab ; 891 `STABSET ( ¡r ); 893  O_WRITE : 894 ià( max¬g == 0) 895 ¡ab = defout¡ab ; 896 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) { 897 ià(!( ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab )) 898 ¡ab = defout¡ab ; 901 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 902 ià(! `¡ab_io ( ¡ab )) { 903 `¡r_£t ( ¡r , No ); 904 `STABSET ( ¡r ); 907 curout¡ab = ¡ab ; 908 å = `¡ab_io ( ¡ab )-> oå ; 909 deb¬g = ¬g ; 910 ià( `¡ab_io ( ¡ab )-> fmt_¡ab ) 911 fÜm = `¡ab_fÜm ( `¡ab_io ( ¡ab )-> fmt_¡ab ); 913 fÜm = `¡ab_fÜm ( ¡ab ); 914 ià(! fÜm || ! å ) { 915 ià( dow¬n ) { 916 ià( fÜm ) 917 `w¬n ("No format for filehandle"); 919 ià( `¡ab_io ( ¡ab )-> iå ) 920 `w¬n ("Filehandle only opened for input"); 922 `w¬n ("Write on closed filehandle"); 925 `¡r_£t ( ¡r , No ); 926 `STABSET ( ¡r ); 929 `fÜm© (& ouŒec , fÜm , ¥ ); 930 `do_wr™e (& ouŒec , `¡ab_io ( ¡ab ), ¥ ); 931 ià( `¡ab_io ( ¡ab )-> æags & IOF_FLUSH ) 932 () `fæush ( å ); 933 `¡r_£t ( ¡r , Yes ); 934 `STABSET ( ¡r ); 936  O_DBMOPEN : 937 #ifdeà SOME_DBM 938 ªum = ¬g [1]. ¬g_ty³ & A_MASK ; 939 ià( ªum =ð A_WORD ||‡num =ð A_STAB ) 940 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 942 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 943 ià( ¡ [3]-> ¡r_nok || st[3]-> ¡r_pok ) 944 ªum = () `¡r_gnum ( ¡ [3]); 946 ªum = -1; 947 v®ue = () `hdbmÝ’ ( `¡ab_hash ( ¡ab ), `¡r_g‘ ( ¡ [2]), ªum ); 948  dÚum£t ; 950 `ç�l ("No dbm or‚dbm on�his machine"); 952  O_DBMCLOSE : 953 #ifdeà SOME_DBM 954 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 955 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 957 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 958 `hdbmþo£ ( `¡ab_hash ( ¡ab )); 959  §y_yes ; 961 `ç�l ("No dbm or‚dbm on�his machine"); 963  O_OPEN : 964 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 965 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 967 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 968 tmps = `¡r_g‘ ( ¡ [2]); 969 ià( `do_Ý’ ( ¡ab , tmps , ¡ [2]-> ¡r_cur )) { 970 v®ue = () fÜk´oûss ; 971 `¡ab_io ( ¡ab )-> lšes = 0; 972  dÚum£t ; 974 ià( fÜk´oûss == 0) 975  §y_z”o ; 977  §y_undef ; 979  O_TRANS : 980 v®ue = (è `do_Œªs ( ¡r , ¬g ); 981 ¡r = ¬g -> ¬g_±r . ¬g_¡r ; 982  dÚum£t ; 983  O_NTRANS : 984 `¡r_£t ( ¬g -> ¬g_±r . ¬g_¡r , `do_Œªs ( ¡r ,¬gè=ð0 ? Yes : No ); 985 ¡r = ¬g -> ¬g_±r . ¬g_¡r ; 987  O_CLOSE : 988 ià( max¬g == 0) 989 ¡ab = defout¡ab ; 990 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 991 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 993 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 994 `¡r_£t ( ¡r , `do_þo£ ( ¡ab , TRUE è? Yes : No ); 995 `STABSET ( ¡r ); 997  O_EACH : 998 ¥ = `do_—ch ( ¡r , `¡ab_hash ( ¬g [1]. ¬g_±r . ¬g_¡ab ), 999 gimme , ¬gÏ¡ ); 1000  ¬¿y_»tuº ; 1001  O_VALUES : 1002  O_KEYS : 1003 ¥ = `do_kv ( ¡r , `¡ab_hash ( ¬g [1]. ¬g_±r . ¬g_¡ab ), Ýty³ , 1004 gimme , ¬gÏ¡ ); 1005  ¬¿y_»tuº ; 1006  O_LARRAY : 1007 ¡r -> ¡r_nok = sŒ-> ¡r_pok = 0; 1008 ¡r -> ¡r_u . ¡r_¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1009 ¡r -> ¡r_¡©e = SS_ARY ; 1011  O_ARRAY : 1012 ¬y = `¡ab_¬¿y ( ¬g [1]. ¬g_±r . ¬g_¡ab ); 1013 max¬g = ¬y -> ¬y_fžl + 1; 1014 ià( gimme =ð G_ARRAY ) { 1015 ¥ = ¬gÏ¡ [0]; 1016 ¡ -ð ¥ ; 1017 ià( max¬g > 0 && ¥ + max¬g > ¡ack -> ¬y_max ) { 1018 `a¡Üe ( ¡ack , ¥ + max¬g , NuΡr ); 1019 ¡ = ¡ack -> ¬y_¬¿y ; 1021 ¡ +ð ¥ ; 1022 `CÝy ( ¬y -> ¬y_¬¿y , & ¡ [1], max¬g , STR *); 1023 ¥ +ð max¬g ; 1024  ¬¿y_»tuº ; 1027 v®ue = () max¬g ; 1028  dÚum£t ; 1030  O_AELEM : 1031 ªum = (() `¡r_gnum ( ¡ [2])è- ¬yba£ ; 1032 ¡r = `aãtch ( `¡ab_¬¿y ( ¬g [1]. ¬g_±r . ¬g_¡ab ), ªum , FALSE ); 1034  O_DELETE : 1035 tmp¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1036 tmps = `¡r_g‘ ( ¡ [2]); 1037 ¡r = `hd–‘e ( `¡ab_hash ( tmp¡ab ), tmps , ¡ [2]-> ¡r_cur ); 1038 ià( tmp¡ab =ð ’v¡ab ) 1039 `my_£‹nv ( tmps , NuÎch ); 1040 ià(! ¡r ) 1041  §y_undef ; 1043  O_LHASH : 1044 ¡r -> ¡r_nok = sŒ-> ¡r_pok = 0; 1045 ¡r -> ¡r_u . ¡r_¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1046 ¡r -> ¡r_¡©e = SS_HASH ; 1048  O_HASH : 1049 ià( gimme =ð G_ARRAY ) { 1050 ¥ = `do_kv ( ¡r , `¡ab_hash ( ¬g [1]. ¬g_±r . ¬g_¡ab ), Ýty³ , 1051 gimme , ¬gÏ¡ ); 1052  ¬¿y_»tuº ; 1055 tmp¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1056 ià(! `¡ab_hash ( tmp¡ab )-> tbl_fžl ) 1057  §y_z”o ; 1058 `¥rštf ( buf ,"%d/%d", `¡ab_hash ( tmp¡ab )-> tbl_fžl , 1059 `¡ab_hash ( tmp¡ab )-> tbl_max +1); 1060 `¡r_£t ( ¡r , buf ); 1063  O_HELEM : 1064 tmp¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1065 tmps = `¡r_g‘ ( ¡ [2]); 1066 ¡r = `hãtch ( `¡ab_hash ( tmp¡ab ), tmps , ¡ [2]-> ¡r_cur , FALSE ); 1068  O_LAELEM : 1069 ªum = (() `¡r_gnum ( ¡ [2])è- ¬yba£ ; 1070 ¡r = `aãtch ( `¡ab_¬¿y ( ¬g [1]. ¬g_±r . ¬g_¡ab ), ªum , TRUE ); 1071 ià(! ¡r || sŒ =ð& ¡r_undef ) 1072 `ç�l ("Assignm’ˆtØnÚ-ü—�bË v®ue, subsü�ˆ%d", ªum ); 1074  O_LHELEM : 1075 tmp¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1076 tmps = `¡r_g‘ ( ¡ [2]); 1077 ªum = ¡ [2]-> ¡r_cur ; 1078 ¡r = `hãtch ( `¡ab_hash ( tmp¡ab ), tmps , ªum , TRUE ); 1079 ià(! ¡r || sŒ =ð& ¡r_undef ) 1080 `ç�l ("Assignm’ˆtØnÚ-ü—�bË v®ue, subsü�ˆ\"%s\"", tmps ); 1081 ià( tmp¡ab =ð ’v¡ab ) 1082 `¡r_magic ( ¡r , tmp¡ab , 'E', tmps , ªum ); 1084 ià( tmp¡ab =ð sig¡ab ) 1085 `¡r_magic ( ¡r , tmp¡ab , 'S', tmps , ªum ); 1086 #ifdeà SOME_DBM 1087 ià( `¡ab_hash ( tmp¡ab )-> tbl_dbm ) 1088 `¡r_magic ( ¡r , tmp¡ab , 'D', tmps , ªum ); 1090 ià( ³¾db && tmp¡ab =ð DBlše ) 1091 `¡r_magic ( ¡r , tmp¡ab , 'L', tmps , ªum ); 1093  O_LSLICE : 1094 ªum = 2; 1095 ¬gty³ = FALSE ; 1096  do_¦iû_®»ady ; 1097  O_ASLICE : 1098 ªum = 1; 1099 ¬gty³ = FALSE ; 1100  do_¦iû_®»ady ; 1101  O_HSLICE : 1102 ªum = 0; 1103 ¬gty³ = FALSE ; 1104  do_¦iû_®»ady ; 1105  O_LASLICE : 1106 ªum = 1; 1107 ¬gty³ = TRUE ; 1108  do_¦iû_®»ady ; 1109  O_LHSLICE : 1110 ªum = 0; 1111 ¬gty³ = TRUE ; 1112 do_¦iû_®»ady : 1113 ¥ = `do_¦iû ( ¬g [1]. ¬g_±r . ¬g_¡ab , ¡r , ªum , ¬gty³ , 1114 gimme , ¬gÏ¡ ); 1115  ¬¿y_»tuº ; 1116  O_SPLICE : 1117 ¥ = `do_¥liû ( `¡ab_¬¿y ( ¬g [1]. ¬g_±r . ¬g_¡ab ), gimme , ¬gÏ¡ ); 1118  ¬¿y_»tuº ; 1119  O_PUSH : 1120 ià( ¬gÏ¡ [2] -‡rglast[1] != 1) 1121 ¡r = `do_push ( `¡ab_¬¿y ( ¬g [1]. ¬g_±r . ¬g_¡ab ), ¬gÏ¡ ); 1123 ¡r = `SŒ_Ãw (51,0); 1124 `¡r_s£t ( ¡r , ¡ [2]); 1125 () `­ush ( `¡ab_¬¿y ( ¬g [1]. ¬g_±r . ¬g_¡ab ), ¡r ); 1128  O_POP : 1129 ¡r = `­Ý ( ¬y = `¡ab_¬¿y ( ¬g [1]. ¬g_±r . ¬g_¡ab )); 1130  ¡©iÿliz©iÚ ; 1131  O_SHIFT : 1132 ¡r = `ashiá ( ¬y = `¡ab_¬¿y ( ¬g [1]. ¬g_±r . ¬g_¡ab )); 1133 ¡©iÿliz©iÚ : 1134 ià(! ¡r ) 1135  §y_undef ; 1136 ià( ¬y -> ¬y_æags & ARF_REAL ) 1137 () `¡r_2mÜ�l ( ¡r ); 1139  O_UNPACK : 1140 ¥ = `do_uÅack ( ¡r , gimme , ¬gÏ¡ ); 1141  ¬¿y_»tuº ; 1142  O_SPLIT : 1143 v®ue = `¡r_gnum ( ¡ [3]); 1144 ¥ = `do_¥l™ ( ¡r , ¬g [2]. ¬g_±r . ¬g_¥© , () v®ue , 1145 gimme , ¬gÏ¡ ); 1146  ¬¿y_»tuº ; 1147  O_LENGTH : 1148 ià( max¬g < 1) 1149 v®ue = () `¡r_Ën ( `¡ab_v® ( def¡ab )); 1151 v®ue = () `¡r_Ën ( ¡ [1]); 1152  dÚum£t ; 1153  O_SPRINTF : 1154 `do_¥rštf ( ¡r , ¥ - ¬gÏ¡ [0], ¡ +1); 1156  O_SUBSTR : 1157 ªum = (() `¡r_gnum ( ¡ [2])è- ¬yba£ ; 1158 tmps = `¡r_g‘ ( ¡ [1]); 1159 ià( ¬gty³ = ( ¡r =ð ¡ [1])) 1160 ¡r = ¬g -> ¬g_±r . ¬g_¡r ; 1161 ià( ªum < 0) 1162 ªum +ð ¡ [1]-> ¡r_cur + ¬yba£ ; 1163 ià( ªum < 0 ||‡num > ¡ [1]-> ¡r_cur ) 1164 `¡r_n£t ( ¡r ,"",0); 1166 Ýty³ = max¬g < 3 ? ¡ [1]-> ¡r_cur : () `¡r_gnum (st[3]); 1167 ià( Ýty³ < 0) 1168 Ýty³ = 0; 1169 tmps +ð ªum ; 1170 ªum = ¡ [1]-> ¡r_cur -‡num; 1171 ià( ªum > Ýty³ ) 1172 ªum = Ýty³ ; 1173 `¡r_n£t ( ¡r , tmps , ªum ); 1174 ià( ¬gty³ ) { 1175 l¡r = ( l¡ršg *) ¡r ; 1176 ¡r -> ¡r_magic = ¡ [1]; 1177 ¡ [1]-> ¡r_¿» = 's'; 1178 l¡r -> l¡r_off£t = tmps - `¡r_g‘ ( ¡ [1]); 1179 l¡r -> l¡r_Ën = ªum ; 1183  O_PACK : 1184 () `do_·ck ( ¡r , ¬gÏ¡ ); 1186  O_GREP : 1187 ¥ = `do_g»p ( ¬g , ¡r , gimme , ¬gÏ¡ ); 1188  ¬¿y_»tuº ; 1189  O_JOIN : 1190 `do_još ( ¡r , ¬gÏ¡ ); 1192  O_SLT : 1193 tmps = `¡r_g‘ ( ¡ [1]); 1194 v®ue = (è( `¡r_cmp ( ¡ [1],st[2]) < 0); 1195  dÚum£t ; 1196  O_SGT : 1197 tmps = `¡r_g‘ ( ¡ [1]); 1198 v®ue = (è( `¡r_cmp ( ¡ [1],st[2]) > 0); 1199  dÚum£t ; 1200  O_SLE : 1201 tmps = `¡r_g‘ ( ¡ [1]); 1202 v®ue = (è( `¡r_cmp ( ¡ [1],st[2]) <= 0); 1203  dÚum£t ; 1204  O_SGE : 1205 tmps = `¡r_g‘ ( ¡ [1]); 1206 v®ue = (è( `¡r_cmp ( ¡ [1],st[2]) >= 0); 1207  dÚum£t ; 1208  O_SEQ : 1209 tmps = `¡r_g‘ ( ¡ [1]); 1210 v®ue = (è `¡r_eq ( ¡ [1],st[2]); 1211  dÚum£t ; 1212  O_SNE : 1213 tmps = `¡r_g‘ ( ¡ [1]); 1214 v®ue = (è! `¡r_eq ( ¡ [1],st[2]); 1215  dÚum£t ; 1216  O_SCMP : 1217 tmps = `¡r_g‘ ( ¡ [1]); 1218 v®ue = (è `¡r_cmp ( ¡ [1],st[2]); 1219  dÚum£t ; 1220  O_SUBR : 1221 ¥ = `do_subr ( ¬g , gimme , ¬gÏ¡ ); 1222 ¡ = ¡ack -> ¬y_¬¿y + ¬gÏ¡ [0]; 1223  ¬¿y_»tuº ; 1224  O_DBSUBR : 1225 ¥ = `do_subr ( ¬g , gimme , ¬gÏ¡ ); 1226 ¡ = ¡ack -> ¬y_¬¿y + ¬gÏ¡ [0]; 1227  ¬¿y_»tuº ; 1228  O_CALLER : 1229 ¥ = `do_ÿΔ ( ¬g , max¬g , gimme , ¬gÏ¡ ); 1230 ¡ = ¡ack -> ¬y_¬¿y + ¬gÏ¡ [0]; 1231  ¬¿y_»tuº ; 1232  O_SORT : 1233 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 1234 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1236 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 1237 ¥ = `do_sÜt ( ¡r , ¡ab , 1238 gimme , ¬gÏ¡ ); 1239  ¬¿y_»tuº ; 1240  O_REVERSE : 1241 ià( gimme =ð G_ARRAY ) 1242 ¥ = `do_»v”£ ( ¬gÏ¡ ); 1244 ¥ = `do_¤ev”£ ( ¡r , ¬gÏ¡ ); 1245  ¬¿y_»tuº ; 1246  O_WARN : 1247 ià( ¬gÏ¡ [2] -‡rglast[1] != 1) { 1248 `do_još ( ¡r , ¬gÏ¡ ); 1249 tmps = `¡r_g‘ ( ¡r ); 1252 ¡r = ¡ [2]; 1253 tmps = `¡r_g‘ ( ¡ [2]); 1255 ià(! tmps || !*tmps) 1256 tmps = "Warning: something's wrong"; 1257 `w¬n ("%s", tmps ); 1258  §y_yes ; 1259  O_DIE : 1260 ià( ¬gÏ¡ [2] -‡rglast[1] != 1) { 1261 `do_još ( ¡r , ¬gÏ¡ ); 1262 tmps = `¡r_g‘ ( ¡r ); 1265 ¡r = ¡ [2]; 1266 tmps = `¡r_g‘ ( ¡ [2]); 1268 ià(! tmps || !*tmps) 1269 tmps = "Died"; 1270 `ç�l ("%s", tmps ); 1271  §y_z”o ; 1272  O_PRTF : 1273  O_PRINT : 1274 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 1275 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1277 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 1278 ià(! ¡ab ) 1279 ¡ab = defout¡ab ; 1280 ià(! `¡ab_io ( ¡ab )) { 1281 ià( dow¬n ) 1282 `w¬n ("Filehandle‚ever opened"); 1283  §y_z”o ; 1285 ià(!( å = `¡ab_io ( ¡ab )-> oå )) { 1286 ià( dow¬n ) { 1287 ià( `¡ab_io ( ¡ab )-> iå ) 1288 `w¬n ("Filehandle opened only for input"); 1290 `w¬n ("Print on closed filehandle"); 1292  §y_z”o ; 1295 ià( Ýty³ =ð O_PRTF || ¬gÏ¡ [2] -‡rglast[1] != 1) 1296 v®ue = () `do_­ršt ( ¬g , å , ¬gÏ¡ ); 1298 v®ue = () `do_´št ( ¡ [2], å ); 1299 ià( ܦ’ && Ýty³ =ð O_PRINT ) 1300 ià( `fwr™e ( Üs , 1, ܦ’ , å ) == 0) 1301  §y_z”o ; 1303 ià( `¡ab_io ( ¡ab )-> æags & IOF_FLUSH ) 1304 ià( `fæush ( å è=ð EOF ) 1305  §y_z”o ; 1307  dÚum£t ; 1308  O_CHDIR : 1309 ià( max¬g < 1) 1310 tmps = NuÎch ; 1312 tmps = `¡r_g‘ ( ¡ [1]); 1313 ià(! tmps || !*tmps) { 1314 tmp¡r = `hãtch ( `¡ab_hash ( ’v¡ab ),"HOME",4, FALSE ); 1315 tmps = `¡r_g‘ ( tmp¡r ); 1317 ià(! tmps || !*tmps) { 1318 tmp¡r = `hãtch ( `¡ab_hash ( ’v¡ab ),"LOGDIR",6, FALSE ); 1319 tmps = `¡r_g‘ ( tmp¡r ); 1321 #ifdeà TAINT 1322 `�š�rÝ” ("Insecure dependency in chdir"); 1324 v®ue = ()( `chdœ ( tmps ) >= 0); 1325  dÚum£t ; 1326  O_EXIT : 1327 ià( max¬g < 1) 1328 ªum = 0; 1330 ªum = () `¡r_gnum ( ¡ [1]); 1331 `ex™ ( ªum ); 1332  §y_z”o ; 1333  O_RESET : 1334 ià( max¬g < 1) 1335 tmps = ""; 1337 tmps = `¡r_g‘ ( ¡ [1]); 1338 `¡r_»£t ( tmps , curcmd -> c_¡ash ); 1339 v®ue = 1.0; 1340  dÚum£t ; 1341  O_LIST : 1342 ià( gimme =ð G_ARRAY ) 1343  ¬¿y_»tuº ; 1344 ià( max¬g > 0) 1345 ¡r = ¡ [ ¥ - ¬gÏ¡ [0]]; 1347 ¡r = & ¡r_undef ; 1349  O_EOF : 1350 ià( max¬g <= 0) 1351 ¡ab = Ï¡_š_¡ab ; 1352 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 1353 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1355 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 1356 `¡r_£t ( ¡r , `do_eof ( ¡ab è? Yes : No ); 1357 `STABSET ( ¡r ); 1359  O_GETC : 1360 ià( max¬g <= 0) 1361 ¡ab = ¡dš¡ab ; 1362 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 1363 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1365 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 1366 ià(! ¡ab ) 1367 ¡ab = ¬gv¡ab ; 1368 ià(! ¡ab || `do_eof (stab)) 1369  §y_undef ; 1371 #ifdeà TAINT 1372 �š‹d = 1; 1374 `¡r_£t ( ¡r ," "); 1375 * ¡r -> ¡r_±r = `g‘c ( `¡ab_io ( ¡ab )-> iå ); 1377 `STABSET ( ¡r ); 1379  O_TELL : 1380 ià( max¬g <= 0) 1381 ¡ab = Ï¡_š_¡ab ; 1382 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 1383 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1385 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 1386 #iâdeà lšt 1387 v®ue = () `do_‹Î ( ¡ab ); 1389 () `do_‹Î ( ¡ab ); 1391  dÚum£t ; 1392  O_RECV : 1393  O_READ : 1394  O_SYSREAD : 1395 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 1396 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1398 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 1399 tmps = `¡r_g‘ ( ¡ [2]); 1400 ªum = () `¡r_gnum ( ¡ [3]); 1401 ”ºo = 0; 1402 max¬g = ¥ - ¬gÏ¡ [0]; 1403 ià( max¬g > 4) 1404 `w¬n ("Too many‡rgs on„ead"); 1405 ià( max¬g == 4) 1406 max¬g = () `¡r_gnum ( ¡ [4]); 1408 max¬g = 0; 1409 ià(! `¡ab_io ( ¡ab è|| !¡ab_io(¡ab)-> iå ) 1410  §y_undef ; 1411 #ifdeà HAS_SOCKET 1412 ià( Ýty³ =ð O_RECV ) { 1413 ¬gty³ =  buf ; 1414 `STR_GROW ( ¡ [2], ªum +1), ( tmps = `¡r_g‘ (st[2])); 1415 ªum = `»cväom ( `fž’o ( `¡ab_io ( ¡ab )-> iå ), tmps ,‡num, max¬g , 1416 buf , & ¬gty³ ); 1417 ià( ªum >= 0) { 1418 ¡ [2]-> ¡r_cur = ªum ; 1419 ¡ [2]-> ¡r_±r [ ªum ] = '\0'; 1420 `¡r_n£t ( ¡r , buf , ¬gty³ ); 1423 `¡r_s£t ( ¡r ,& ¡r_undef ); 1427 ià( Ýty³ =ð O_RECV ) 1428  badsock ; 1430 `STR_GROW ( ¡ [2], ªum + max¬g +1), ( tmps = `¡r_g‘ (st[2])); 1431 #ifdeà HAS_SOCKET 1432 ià( `¡ab_io ( ¡ab )-> ty³ == 's') { 1433 ¬gty³ =  buf ; 1434 ªum = `»cväom ( `fž’o ( `¡ab_io ( ¡ab )-> iå ), tmps + max¬g ,‡num, 0, 1435 buf , & ¬gty³ ); 1439 ià( Ýty³ =ð O_SYSREAD ) { 1440 ªum = `»ad ( `fž’o ( `¡ab_io ( ¡ab )-> iå ), tmps + max¬g ,‡num); 1443 ªum = `ä—d ( tmps + max¬g , 1,‡num, `¡ab_io ( ¡ab )-> iå ); 1444 ià( ªum < 0) 1445  §y_undef ; 1446 ¡ [2]-> ¡r_cur = ªum + max¬g ; 1447 ¡ [2]-> ¡r_±r [ ªum + max¬g ] = '\0'; 1448 v®ue = () ªum ; 1449  dÚum£t ; 1450  O_SYSWRITE : 1451  O_SEND : 1452 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 1453 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1455 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 1456 tmps = `¡r_g‘ ( ¡ [2]); 1457 ªum = () `¡r_gnum ( ¡ [3]); 1458 ”ºo = 0; 1459 ¡io = `¡ab_io ( ¡ab ); 1460 max¬g = ¥ - ¬gÏ¡ [0]; 1461 ià(! ¡io || !¡io-> iå ) { 1462 ªum = -1; 1463 ià( dow¬n ) { 1464 ià( Ýty³ =ð O_SYSWRITE ) 1465 `w¬n ("Syswrite on closed filehandle"); 1467 `w¬n ("Send on closed socket"); 1470 ià( Ýty³ =ð O_SYSWRITE ) { 1471 ià( max¬g > 4) 1472 `w¬n ("Too many‡rgs on syswrite"); 1473 ià( max¬g == 4) 1474 Ýty³ = () `¡r_gnum ( ¡ [4]); 1476 Ýty³ = 0; 1477 ªum = `wr™e ( `fž’o ( `¡ab_io ( ¡ab )-> iå ), tmps + Ýty³ ,‡num); 1479 #ifdeà HAS_SOCKET 1480 ià( max¬g >= 4) { 1481 ià( max¬g > 4) 1482 `w¬n ("Too many‡rgs on send"); 1483 tmps2 = `¡r_g‘ ( ¡ [4]); 1484 ªum = `£ndto ( `fž’o ( `¡ab_io ( ¡ab )-> iå ), tmps , ¡ [2]-> ¡r_cur , 1485 ªum , tmps2 , ¡ [4]-> ¡r_cur ); 1488 ªum = `£nd ( `fž’o ( `¡ab_io ( ¡ab )-> iå ), tmps , ¡ [2]-> ¡r_cur ,‡num); 1491  badsock ; 1493 ià( ªum < 0) 1494  §y_undef ; 1495 v®ue = () ªum ; 1496  dÚum£t ; 1497  O_SEEK : 1498 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 1499 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 1501 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 1502 v®ue = `¡r_gnum ( ¡ [2]); 1503 `¡r_£t ( ¡r , `do_£ek ( ¡ab , 1504 () v®ue , () `¡r_gnum ( ¡ [3]èè? Yes : No ); 1505 `STABSET ( ¡r ); 1507  O_RETURN : 1508 tmps = "_SUB_"; 1509 Ýty³ = O_LAST ; 1510 ià( curcsv && curcsv-> wª�¼ay =ð G_ARRAY ) { 1511 Ï¡»t¡r = NuΡr ; 1512 Ï¡¥ba£ = ¬gÏ¡ [1]; 1513 Ï¡size = ¬gÏ¡ [2] -‡rglast[1]; 1516 Ï¡»t¡r = `¡r_mÜ�l ( ¡ [ ¬gÏ¡ [2] -‡rglast[0]]); 1517  dÝÝ ; 1518  O_REDO : 1519  O_NEXT : 1520  O_LAST : 1521 ià( max¬g > 0) { 1522 tmps = `¡r_g‘ ( ¬g [1]. ¬g_±r . ¬g_¡r ); 1523 dÝÝ : 1524  loÝ_±r >ð0 && (! loÝ_¡ack [loÝ_±r]. loÝ_Ïb– || 1525 `¡rNE ( tmps , loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ) )) { 1526 #ifdeà DEBUGGING 1527 ià( debug & 4) { 1528 `deb ("(Sk�pšg†ab– #%d %s)\n", loÝ_±r , 1529 loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ); 1532 loÝ_±r --; 1534 #ifdeà DEBUGGING 1535 ià( debug & 4) { 1536 `deb ("(Found†ab– #%d %s)\n", loÝ_±r , 1537 loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ); 1541 ià( loÝ_±r < 0) { 1542 ià( tmps && `¡rEQ (tmps, "_SUB_")) 1543 `ç�l ("Can't„eturn outside‡ subroutine"); 1544 `ç�l ("Bad†ab–: %s", max¬g > 0 ? tmps : ""); 1546 ià(! Ï¡»t¡r && Ýty³ =ð O_LAST && Ï¡size ) { 1547 ¡ -ð ¬gÏ¡ [0]; 1548 ¡ +ð Ï¡¥ba£ + 1; 1549 Ýty³ = loÝ_¡ack [ loÝ_±r ]. loÝ_¥ - Ï¡¥ba£ ; 1550 ià( Ýty³ ) { 1551  ªum = Ï¡size ;‡num > 0;‡num--, ¡ ++) 1552 ¡ [ Ýty³ ] = `¡r_mÜ�l (st[0]); 1554 `lÚgjmp ( loÝ_¡ack [ loÝ_±r ]. loÝ_’v , O_LAST ); 1556 `lÚgjmp ( loÝ_¡ack [ loÝ_±r ]. loÝ_’v , Ýty³ ); 1557  O_DUMP : 1558  O_GOTO : 1559 gÙo_�rg = `¡r_g‘ ( ¬g [1]. ¬g_±r . ¬g_¡r ); 1560 ià(!* gÙo_�rg ) 1561 gÙo_�rg = NuÎch ; 1562 ià( Ýty³ =ð O_DUMP ) { 1563 do_undump = 1; 1564 `my_uÃxec (); 1566 `lÚgjmp ( tÝ_’v , 1); 1567  O_INDEX : 1568 tmps = `¡r_g‘ ( ¡ [1]); 1569 ià( max¬g < 3) 1570 ªum = 0; 1572 ªum = (è `¡r_gnum ( ¡ [3]è- ¬yba£ ; 1573 ià( ªum < 0) 1574 ªum = 0; 1575 ià( ªum > ¡ [1]-> ¡r_cur ) 1576 ªum = ¡ [1]-> ¡r_cur ; 1578 #iâdeà lšt 1579 ià(!( tmps2 = `fbmš¡r ((*) tmps + ªum , 1580 (*) tmps + ¡ [1]-> ¡r_cur , st[2]))) 1582 ià( tmps2 = `fbmš¡r ( `NuÎ (*),NuÎ(*), NuΡr )) 1584 v®ue = ()(-1 + ¬yba£ ); 1586 v®ue = ()( tmps2 - tmps + ¬yba£ ); 1587  dÚum£t ; 1588  O_RINDEX : 1589 tmps = `¡r_g‘ ( ¡ [1]); 1590 tmps2 = `¡r_g‘ ( ¡ [2]); 1591 ià( max¬g < 3) 1592 ªum = ¡ [1]-> ¡r_cur ; 1594 ªum = (è `¡r_gnum ( ¡ [3]è- ¬yba£ + st[2]-> ¡r_cur ; 1595 ià( ªum < 0) 1596 ªum = 0; 1597 ià( ªum > ¡ [1]-> ¡r_cur ) 1598 ªum = ¡ [1]-> ¡r_cur ; 1600 #iâdeà lšt 1601 ià(!( tmps2 = `ºš¡r ( tmps ,�mp + ªum , 1602 tmps2 ,�mps2 + ¡ [2]-> ¡r_cur ))) 1604 ià( tmps2 = `ºš¡r ( NuÎch ,Nullch,Nullch,Nullch)) 1606 v®ue = ()(-1 + ¬yba£ ); 1608 v®ue = ()( tmps2 - tmps + ¬yba£ ); 1609  dÚum£t ; 1610  O_TIME : 1611 #iâdeà lšt 1612 v®ue = (è `time ( `NuÎ (*)); 1614  dÚum£t ; 1615  O_TMS : 1616 ¥ = `do_tms ( ¡r , gimme , ¬gÏ¡ ); 1617  ¬¿y_»tuº ; 1618  O_LOCALTIME : 1619 ià( max¬g < 1) 1620 () `time (& wh’ ); 1622 wh’ = () `¡r_gnum ( ¡ [1]); 1623 ¥ = `do_time ( ¡r , `loÿÉime (& wh’ ), 1624 gimme , ¬gÏ¡ ); 1625  ¬¿y_»tuº ; 1626  O_GMTIME : 1627 ià( max¬g < 1) 1628 () `time (& wh’ ); 1630 wh’ = () `¡r_gnum ( ¡ [1]); 1631 ¥ = `do_time ( ¡r , `gmtime (& wh’ ), 1632 gimme , ¬gÏ¡ ); 1633  ¬¿y_»tuº ; 1634  O_TRUNCATE : 1635 ¥ = `do_Œunÿ‹ ( ¡r , ¬g , 1636 gimme , ¬gÏ¡ ); 1637  ¬¿y_»tuº ; 1638  O_LSTAT : 1639  O_STAT : 1640 ¥ = `do_¡© ( ¡r , ¬g , 1641 gimme , ¬gÏ¡ ); 1642  ¬¿y_»tuº ; 1643  O_CRYPT : 1644 #ifdeà HAS_CRYPT 1645 tmps = `¡r_g‘ ( ¡ [1]); 1646 #ifdeà FCRYPT 1647 `¡r_£t ( ¡r , `füy± ( tmps , `¡r_g‘ ( ¡ [2]))); 1649 `¡r_£t ( ¡r , `üy± ( tmps , `¡r_g‘ ( ¡ [2]))); 1652 `ç�l ( 1656  O_ATAN2 : 1657 v®ue = `¡r_gnum ( ¡ [1]); 1658 v®ue = `©ª2 (v®ue, `¡r_gnum ( ¡ [2])); 1659  dÚum£t ; 1660  O_SIN : 1661 ià( max¬g < 1) 1662 v®ue = `¡r_gnum ( `¡ab_v® ( def¡ab )); 1664 v®ue = `¡r_gnum ( ¡ [1]); 1665 v®ue = `sš (value); 1666  dÚum£t ; 1667  O_COS : 1668 ià( max¬g < 1) 1669 v®ue = `¡r_gnum ( `¡ab_v® ( def¡ab )); 1671 v®ue = `¡r_gnum ( ¡ [1]); 1672 v®ue = `cos (value); 1673  dÚum£t ; 1674  O_RAND : 1675 ià( max¬g < 1) 1676 v®ue = 1.0; 1678 v®ue = `¡r_gnum ( ¡ [1]); 1679 ià( v®ue == 0.0) 1680 v®ue = 1.0; 1681 #ià RANDBITS == 31 1682 v®ue = `¿nd () * value / 2147483648.0; 1684 #ià RANDBITS == 16 1685 v®ue = `¿nd () * value / 65536.0; 1687 #ià RANDBITS == 15 1688 v®ue = `¿nd () * value / 32768.0; 1690 v®ue = `¿nd (è* v®u�/ ()((()1è<< RANDBITS ); 1694  dÚum£t ; 1695  O_SRAND : 1696 ià( max¬g < 1) { 1697 () `time (& wh’ ); 1698 ªum = wh’ ; 1701 ªum = () `¡r_gnum ( ¡ [1]); 1702 () `¤ªd ( ªum ); 1703  §y_yes ; 1704  O_EXP : 1705 ià( max¬g < 1) 1706 v®ue = `¡r_gnum ( `¡ab_v® ( def¡ab )); 1708 v®ue = `¡r_gnum ( ¡ [1]); 1709 v®ue = `exp (value); 1710  dÚum£t ; 1711  O_LOG : 1712 ià( max¬g < 1) 1713 v®ue = `¡r_gnum ( `¡ab_v® ( def¡ab )); 1715 v®ue = `¡r_gnum ( ¡ [1]); 1716 ià( v®ue <= 0.0) 1717 `ç�l ("Cª'ˆ�k�log oà%g\n", v®ue ); 1718 v®ue = `log (value); 1719  dÚum£t ; 1720  O_SQRT : 1721 ià( max¬g < 1) 1722 v®ue = `¡r_gnum ( `¡ab_v® ( def¡ab )); 1724 v®ue = `¡r_gnum ( ¡ [1]); 1725 ià( v®ue < 0.0) 1726 `ç�l ("Cª'ˆ�k�sq¹ oà%g\n", v®ue ); 1727 v®ue = `sq¹ (value); 1728  dÚum£t ; 1729  O_INT : 1730 ià( max¬g < 1) 1731 v®ue = `¡r_gnum ( `¡ab_v® ( def¡ab )); 1733 v®ue = `¡r_gnum ( ¡ [1]); 1734 ià( v®ue >= 0.0) 1735 () `modf ( v®ue ,&value); 1737 () `modf (- v®ue ,&value); 1738 v®ue = -value; 1740  dÚum£t ; 1741  O_ORD : 1742 ià( max¬g < 1) 1743 tmps = `¡r_g‘ ( `¡ab_v® ( def¡ab )); 1745 tmps = `¡r_g‘ ( ¡ [1]); 1746 #iâdeà I286 1747 v®ue = (è(* tmps & 255); 1749 ªum = (è* tmps ; 1750 v®ue = (è( ªum & 255); 1752  dÚum£t ; 1753  O_ALARM : 1754 #ifdeà HAS_ALARM 1755 ià( max¬g < 1) 1756 tmps = `¡r_g‘ ( `¡ab_v® ( def¡ab )); 1758 tmps = `¡r_g‘ ( ¡ [1]); 1759 ià(! tmps ) 1760 tmps = "0"; 1761 ªum = `®¬m (() `©oi ( tmps )); 1762 ià( ªum < 0) 1763  §y_undef ; 1764 v®ue = () ªum ; 1765  dÚum£t ; 1767 `ç�l ("Unsupported function‡larm"); 1770  O_SLEEP : 1771 ià( max¬g < 1) 1772 tmps = NuÎch ; 1774 tmps = `¡r_g‘ ( ¡ [1]); 1775 () `time (& wh’ ); 1776 ià(! tmps || !*tmps) 1777 `¦“p ((32767<<16)+32767); 1779 `¦“p (() `©oi ( tmps )); 1780 #iâdeà lšt 1781 v®ue = () wh’ ; 1782 () `time (& wh’ ); 1783 v®ue = (() wh’ ) - value; 1785  dÚum£t ; 1786  O_RANGE : 1787 ¥ = `do_¿nge ( gimme , ¬gÏ¡ ); 1788  ¬¿y_»tuº ; 1789  O_F_OR_R : 1790 ià( gimme =ð G_ARRAY ) { 1792 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_SINGLE && 1793 ( ¬g [2]. ¬g_ty³ & A_MASK è=ð A_SINGLE ) { 1794 ¡ [2] = ¬g [2]. ¬g_±r . ¬g_¡r ; 1795 ¥ = `do_¿nge ( gimme , ¬gÏ¡ ); 1796 ¡ = ¡ack -> ¬y_¬¿y ; 1797 max¬g = ¥ - ¬gÏ¡ [0]; 1798 `¡r_ä“ ( ¬g [1]. ¬g_±r . ¬g_¡r ); 1799 ¬g [1]. ¬g_±r . ¬g_¡r = NuΡr ; 1800 `¡r_ä“ ( ¬g [2]. ¬g_±r . ¬g_¡r ); 1801 ¬g [2]. ¬g_±r . ¬g_¡r = NuΡr ; 1802 ¬g -> ¬g_ty³ = O_ARRAY ; 1803 ¬g [1]. ¬g_ty³ = A_STAB | A_DONT ; 1804 ¬g -> ¬g_Ën = 1; 1805 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab = `¯dd ( `g’¡ab ()); 1806 ¬y = `¡ab_¬¿y ( ¡ab ); 1807 `afžl ( ¬y , max¬g - 1); 1808 ªum = max¬g ; 1809 ¡ +ð ¬gÏ¡ [0]+1; 1810  max¬g -- > 0) 1811 ¬y -> ¬y_¬¿y [ max¬g ] = `¡r_smake ( ¡ [maxarg]); 1812 ¡ -ð ¬gÏ¡ [0]+1; 1813  ¬¿y_»tuº ; 1815 ¬g -> ¬g_ty³ = Ýty³ = O_RANGE ; 1816 max¬g = ¬g -> ¬g_Ën = 2; 1817 ªum = 2; 1818 ¬g [ ªum ]. ¬g_æags &ð~ AF_ARYOK ; 1819 ¬gæags = ¬g [ ªum ]. ¬g_æags ; 1820 ¬gty³ = ¬g [ ªum ]. ¬g_ty³ & A_MASK ; 1821 ¬g [ ªum ]. ¬g_ty³ = ¬gty³ ; 1822 ¬g±r = ¬g [ ªum ]. ¬g_±r ; 1823 ¥ = ¬gÏ¡ [0]; 1824 ¡ -ð ¥ ; 1825 ¥ ++; 1826  »_ev® ; 1828 ¬g -> ¬g_ty³ = O_FLIP ; 1830  O_FLIP : 1831 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_SINGLE ? 1832 Ï¡_š_¡ab && () `¡r_gnum ( ¡ [1]è=ð `¡ab_io Öa¡_š_¡ab)-> lšes 1834 `¡r_Œue ( ¡ [1]) ) { 1835 `¡r_num£t ( ¡r ,0.0); 1836 ªum = 2; 1837 ¬g -> ¬g_ty³ = Ýty³ = O_FLOP ; 1838 ¬g [2]. ¬g_ty³ &ð~ A_DONT ; 1839 ¬g [1]. ¬g_ty³ |ð A_DONT ; 1840 ¬gæags = ¬g [2]. ¬g_æags ; 1841 ¬gty³ = ¬g [2]. ¬g_ty³ & A_MASK ; 1842 ¬g±r = ¬g [2]. ¬g_±r ; 1843 ¥ = ¬gÏ¡ [0]; 1844 ¡ -ð ¥ ++; 1845  »_ev® ; 1847 `¡r_£t ( ¡r ,""); 1849  O_FLOP : 1850 `¡r_šc ( ¡r ); 1851 ià(( ¬g [2]. ¬g_ty³ & A_MASK è=ð A_SINGLE ? 1852 Ï¡_š_¡ab && () `¡r_gnum ( ¡ [2]è=ð `¡ab_io Öa¡_š_¡ab)-> lšes 1854 `¡r_Œue ( ¡ [2]) ) { 1855 ¬g -> ¬g_ty³ = O_FLIP ; 1856 ¬g [1]. ¬g_ty³ &ð~ A_DONT ; 1857 ¬g [2]. ¬g_ty³ |ð A_DONT ; 1858 `¡r_ÿt ( ¡r ,"E0"); 1861  O_FORK : 1862 #ifdeà HAS_FORK 1863 ªum = `fÜk (); 1864 ià( ªum < 0) 1865  §y_undef ; 1866 ià(! ªum ) { 1867 ià( tmp¡ab = `¡ab’t ("$", ®l¡abs )) 1868 `¡r_num£t ( `STAB_STR ( tmp¡ab ),() `g‘pid ()); 1869 `hþ—r ( pid¡©us ); 1871 v®ue = () ªum ; 1872  dÚum£t ; 1874 `ç�l ("Unsupported function fork"); 1877  O_WAIT : 1878 #ifdeà HAS_WAIT 1879 #iâdeà lšt 1880 ªum = `wa™ (& ¬gæags ); 1881 ià( ªum > 0) 1882 `pidgÚe ( ªum , ¬gæags ); 1883 v®ue = () ªum ; 1885 ¡©usv®ue = () ¬gæags ; 1886  dÚum£t ; 1888 `ç�l ("Unsupported function wait"); 1891  O_WAITPID : 1892 #ifdeà HAS_WAIT 1893 #iâdeà lšt 1894 ªum = () `¡r_gnum ( ¡ [1]); 1895 Ýty³ = () `¡r_gnum ( ¡ [2]); 1896 ªum = `wa™4pid ×num, & ¬gæags , Ýty³ ); 1897 v®ue = () ªum ; 1899 ¡©usv®ue = () ¬gæags ; 1900  dÚum£t ; 1902 `ç�l ("Unsupported function wait"); 1905  O_SYSTEM : 1906 #ifdeà HAS_FORK 1907 #ifdeà TAINT 1908 ià( ¬gÏ¡ [2] -‡rglast[1] == 1) { 1909 `�š‹nv (); 1910 �š‹d |ð ¡ [2]-> ¡r_�š‹d ; 1911 `�š�rÝ” ("Insecure dependency in system"); 1914 ( ªum = `vfÜk ()) == -1) { 1915 ià( ”ºo !ð EAGAIN ) { 1916 v®ue = -1.0; 1917  dÚum£t ; 1919 `¦“p (5); 1921 ià( ªum > 0) { 1922 #iâdeà lšt 1923 ihªd = `sigÇl ( SIGINT , SIG_IGN ); 1924 qhªd = `sigÇl ( SIGQUIT , SIG_IGN ); 1925 ¬gty³ = `wa™4pid ( ªum , & ¬gæags , 0); 1927 ihªd = qhªd = 0; 1929 () `sigÇl ( SIGINT , ihªd ); 1930 () `sigÇl ( SIGQUIT , qhªd ); 1931 ¡©usv®ue = () ¬gæags ; 1932 ià( ¬gty³ < 0) 1933 v®ue = -1.0; 1935 v®ue = ()(() ¬gæags & 0xffff); 1937 `do_execä“ (); 1938  dÚum£t ; 1940 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_STAB ) 1941 v®ue = () `do_«xec ( ¡ [1], ¬gÏ¡ ); 1942 ià( ¬gÏ¡ [2] -‡rglast[1] != 1) 1943 v®ue = () `do_«xec ( NuΡr , ¬gÏ¡ ); 1945 v®ue = () `do_exec ( `¡r_g‘ ( `¡r_mÜ�l ( ¡ [2]))); 1947 `_ex™ (-1); 1949 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_STAB ) 1950 v®ue = () `do_a¥awn ( ¡ [1], ¬gÏ¡ ); 1951 ià( ¬gÏ¡ [2] -‡rglast[1] != 1) 1952 v®ue = () `do_a¥awn ( NuΡr , ¬gÏ¡ ); 1954 v®ue = () `do_¥awn ( `¡r_g‘ ( `¡r_mÜ�l ( ¡ [2]))); 1956  dÚum£t ; 1958  O_EXEC_OP : 1959 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_STAB ) 1960 v®ue = () `do_«xec ( ¡ [1], ¬gÏ¡ ); 1961 ià( ¬gÏ¡ [2] -‡rglast[1] != 1) 1962 v®ue = () `do_«xec ( NuΡr , ¬gÏ¡ ); 1964 v®ue = () `do_exec ( `¡r_g‘ ( `¡r_mÜ�l ( ¡ [2]))); 1966  dÚum£t ; 1967  O_HEX : 1968 ià( max¬g < 1) 1969 tmps = `¡r_g‘ ( `¡ab_v® ( def¡ab )); 1971 tmps = `¡r_g‘ ( ¡ [1]); 1972 v®ue = () `sÿnhex ( tmps , 99, & ¬gty³ ); 1973  dÚum£t ; 1975  O_OCT : 1976 ià( max¬g < 1) 1977 tmps = `¡r_g‘ ( `¡ab_v® ( def¡ab )); 1979 tmps = `¡r_g‘ ( ¡ [1]); 1980 * tmps && `i§scii (*tmpsè&& ( `is¥aû (*tmps) || *tmps == '0')) 1981 tmps ++; 1982 ià(* tmps == 'x') 1983 v®ue = () `sÿnhex (++ tmps , 99, & ¬gty³ ); 1985 v®ue = () `sÿnoù ( tmps , 99, & ¬gty³ ); 1986  dÚum£t ; 1991 ¬¿y_»tuº : 1992 #ifdeà DEBUGGING 1993 ià( debug ) { 1994 dËv– --; 1995 ià( debug & 8) { 1996 ªum = ¥ - ¬gÏ¡ [0]; 1997  ªum ) { 1999 `deb ("% RETURNS ()\n", ÝÇme [ Ýty³ ]); 2002 `deb ("% RETURNS (\"%s\")\n", ÝÇme [ Ýty³ ], `¡r_g‘ ( ¡ [1])); 2005 tmps = `¡r_g‘ ( ¡ [1]); 2006 `deb ("% RETURNS %d ARGS (\"%s\",%s\"%s\")\n", ÝÇme [ Ýty³ ], 2007 ªum , tmps ,ªum==2?"":"...,", `¡r_g‘ ( ¡ [anum])); 2013  ¥ ; 2015 §y_yes : 2016 ¡r = & ¡r_yes ; 2017  nÜm®_»tuº ; 2019 §y_no : 2020 ¡r = & ¡r_no ; 2021  nÜm®_»tuº ; 2023 §y_undef : 2024 ¡r = & ¡r_undef ; 2025  nÜm®_»tuº ; 2027 §y_z”o : 2028 v®ue = 0.0; 2031 dÚum£t : 2032 `¡r_num£t ( ¡r , v®ue ); 2033 `STABSET ( ¡r ); 2034 ¡ [1] = ¡r ; 2035 #ifdeà DEBUGGING 2036 ià( debug ) { 2037 dËv– --; 2038 ià( debug & 8) 2039 `deb ("% RETURNS \"%f\"\n", ÝÇme [ Ýty³ ], v®ue ); 2042  ¬gÏ¡ [0] + 1; 2043 #ifdeà SMALLSWITCHES 2046  Ýty³ ) { 2048  O_CHOWN : 2049 #ifdeà HAS_CHOWN 2050 v®ue = () `­¶y ( Ýty³ , ¬gÏ¡ ); 2051  dÚum£t ; 2053 `ç�l ("Unsupported function chown"); 2056  O_KILL : 2057 #ifdeà HAS_KILL 2058 v®ue = () `­¶y ( Ýty³ , ¬gÏ¡ ); 2059  dÚum£t ; 2061 `ç�l ("Unsupported function kill"); 2064  O_UNLINK : 2065  O_CHMOD : 2066  O_UTIME : 2067 v®ue = () `­¶y ( Ýty³ , ¬gÏ¡ ); 2068  dÚum£t ; 2069  O_UMASK : 2070 #ifdeà HAS_UMASK 2071 ià( max¬g < 1) { 2072 ªum = `umask (0); 2073 () `umask ( ªum ); 2076 ªum = `umask (() `¡r_gnum ( ¡ [1])); 2077 v®ue = () ªum ; 2078 #ifdeà TAINT 2079 `�š�rÝ” ("Insecure dependency in umask"); 2081  dÚum£t ; 2083 `ç�l ("Unsupported function umask"); 2086 #ià `defšed ( HAS_MSG è|| defšed( HAS_SEM è|| defšed( HAS_SHM ) 2087  O_MSGGET : 2088  O_SHMGET : 2089  O_SEMGET : 2090 ià(( ªum = `do_�cg‘ ( Ýty³ , ¬gÏ¡ )) == -1) 2091  §y_undef ; 2092 v®ue = () ªum ; 2093  dÚum£t ; 2094  O_MSGCTL : 2095  O_SHMCTL : 2096  O_SEMCTL : 2097 ªum = `do_�cùl ( Ýty³ , ¬gÏ¡ ); 2098 ià( ªum == -1) 2099  §y_undef ; 2100 ià( ªum != 0) { 2101 v®ue = () ªum ; 2102  dÚum£t ; 2104 `¡r_£t ( ¡r ,"0 but�rue"); 2105 `STABSET ( ¡r ); 2107  O_MSGSND : 2108 v®ue = ()( `do_msg¢d ( ¬gÏ¡ ) >= 0); 2109  dÚum£t ; 2110  O_MSGRCV : 2111 v®ue = ()( `do_msgrcv ( ¬gÏ¡ ) >= 0); 2112  dÚum£t ; 2113  O_SEMOP : 2114 v®ue = ()( `do_£mÝ ( ¬gÏ¡ ) >= 0); 2115  dÚum£t ; 2116  O_SHMREAD : 2117  O_SHMWRITE : 2118 v®ue = ()( `do_shmio ( Ýty³ , ¬gÏ¡ ) >= 0); 2119  dÚum£t ; 2121  O_MSGGET : 2122  O_MSGCTL : 2123  O_MSGSND : 2124  O_MSGRCV : 2125  O_SEMGET : 2126  O_SEMCTL : 2127  O_SEMOP : 2128  O_SHMGET : 2129  O_SHMCTL : 2130  O_SHMREAD : 2131  O_SHMWRITE : 2132 `ç�l ("System V IPC is‚ot implemented on�his machine"); 2134  O_RENAME : 2135 tmps = `¡r_g‘ ( ¡ [1]); 2136 tmps2 = `¡r_g‘ ( ¡ [2]); 2137 #ifdeà TAINT 2138 `�š�rÝ” ("Insecure dependency in„ename"); 2140 #ifdeà HAS_RENAME 2141 v®ue = ()( `»Çme ( tmps , tmps2 ) >= 0); 2143 ià( `§me_dœ’t ( tmps2 , tmps )) 2144 ªum = 1; 2146 ià( euid || `¡© ( tmps2 ,& ¡©buf è< 0 || ! `S_ISDIR (¡©buf. ¡_mode )) 2147 () `UNLINK ( tmps2 ); 2148 ià(!( ªum = `lšk ( tmps , tmps2 ))) 2149 ªum = `UNLINK ( tmps ); 2151 v®ue = ()( ªum >= 0); 2153  dÚum£t ; 2154  O_LINK : 2155 #ifdeà HAS_LINK 2156 tmps = `¡r_g‘ ( ¡ [1]); 2157 tmps2 = `¡r_g‘ ( ¡ [2]); 2158 #ifdeà TAINT 2159 `�š�rÝ” ("Insecure dependency in†ink"); 2161 v®ue = ()( `lšk ( tmps , tmps2 ) >= 0); 2162  dÚum£t ; 2164 `ç�l ("Unsupported function†ink"); 2167  O_MKDIR : 2168 tmps = `¡r_g‘ ( ¡ [1]); 2169 ªum = () `¡r_gnum ( ¡ [2]); 2170 #ifdeà TAINT 2171 `�š�rÝ” ("Insecure dependency in mkdir"); 2173 #ifdeà HAS_MKDIR 2174 v®ue = ()( `mkdœ ( tmps , ªum ) >= 0); 2175  dÚum£t ; 2177 () `¡rýy ( buf ,"mkdir "); 2179 #ià! `defšed ( HAS_MKDIR è|| !defšed( HAS_RMDIR ) 2180 Úe_lš” : 2181  tmps2 = buf +6; * tmps ; ) { 2182 * tmps2 ++ = '\\'; 2183 * tmps2 ++ = * tmps ++; 2185 () `¡rýy ( tmps2 ," 2>&1"); 2186 rså = `mypÝ’ ( buf ,"r"); 2187 ià( rså ) { 2188 * buf = '\0'; 2189 tmps2 = `fg‘s ( buf , buf, rså ); 2190 () `mypþo£ ( rså ); 2191 ià( tmps2 !ð NuÎch ) { 2192  ”ºo = 1;ƒ¼nØ< sys_ü ;ƒrrno++) { 2193 ià( `š¡r ( buf , sys_”¾i¡ [ ”ºo ])) 2194  §y_z”o ; 2196 ”ºo = 0; 2197 #iâdeà EACCES 2198  #EACCES EPERM ) 2200 ià( `š¡r ( buf ,"cannot make")) 2201 ”ºo = EEXIST ; 2202 ià( `š¡r ( buf ,"existing file")) 2203 ”ºo = EEXIST ; 2204 ià( `š¡r ( buf ,"ileƒxists")) 2205 ”ºo = EEXIST ; 2206 ià( `š¡r ( buf ,"non-exist")) 2207 ”ºo = ENOENT ; 2208 ià( `š¡r ( buf ,"does‚otƒxist")) 2209 ”ºo = ENOENT ; 2210 ià( `š¡r ( buf ,"notƒmpty")) 2211 ”ºo = EBUSY ; 2212 ià( `š¡r ( buf ,"cannot‡ccess")) 2213 ”ºo = EACCES ; 2215 ”ºo = EPERM ; 2216  §y_z”o ; 2219 tmps = `¡r_g‘ ( ¡ [1]); 2220 ªum = ( `¡© ( tmps ,& ¡©buf ) >= 0); 2221 ià( Ýty³ =ð O_RMDIR ) 2222 ªum = !anum; 2223 ià( ªum ) 2224 ”ºo = 0; 2226 ”ºo = EACCES ; 2227 v®ue = () ªum ; 2229  dÚum£t ; 2232  §y_z”o ; 2234  O_RMDIR : 2235 ià( max¬g < 1) 2236 tmps = `¡r_g‘ ( `¡ab_v® ( def¡ab )); 2238 tmps = `¡r_g‘ ( ¡ [1]); 2239 #ifdeà TAINT 2240 `�š�rÝ” ("Insecure dependency in„mdir"); 2242 #ifdeà HAS_RMDIR 2243 v®ue = ()( `rmdœ ( tmps ) >= 0); 2244  dÚum£t ; 2246 () `¡rýy ( buf ,"rmdir "); 2247  Úe_lš” ; 2249  O_GETPPID : 2250 #ifdeà HAS_GETPPID 2251 v®ue = () `g‘µid (); 2252  dÚum£t ; 2254 `ç�l ("Unsupported function getppid"); 2257  O_GETPGRP : 2258 #ifdeà HAS_GETPGRP 2259 ià( max¬g < 1) 2260 ªum = 0; 2262 ªum = () `¡r_gnum ( ¡ [1]); 2263 v®ue = () `g‘pg½ ( ªum ); 2264  dÚum£t ; 2266 `ç�l ("The getpgrp() function is unimplemented on�his machine"); 2269  O_SETPGRP : 2270 #ifdeà HAS_SETPGRP 2271 ¬gty³ = () `¡r_gnum ( ¡ [1]); 2272 ªum = () `¡r_gnum ( ¡ [2]); 2273 #ifdeà TAINT 2274 `�š�rÝ” ("Insecure dependency in setpgrp"); 2276 v®ue = ()( `£�g½ ( ¬gty³ , ªum ) >= 0); 2277  dÚum£t ; 2279 `ç�l ("The setpgrp() function is unimplemented on�his machine"); 2282  O_GETPRIORITY : 2283 #ifdeà HAS_GETPRIORITY 2284 ¬gty³ = () `¡r_gnum ( ¡ [1]); 2285 ªum = () `¡r_gnum ( ¡ [2]); 2286 v®ue = () `g‘´iÜ™y ( ¬gty³ , ªum ); 2287  dÚum£t ; 2289 `ç�l ("The getpriority() function is unimplemented on�his machine"); 2292  O_SETPRIORITY : 2293 #ifdeà HAS_SETPRIORITY 2294 ¬gty³ = () `¡r_gnum ( ¡ [1]); 2295 ªum = () `¡r_gnum ( ¡ [2]); 2296 Ýty³ = () `¡r_gnum ( ¡ [3]); 2297 #ifdeà TAINT 2298 `�š�rÝ” ("Insecure dependency in setpriority"); 2300 v®ue = ()( `£�riÜ™y ( ¬gty³ , ªum , Ýty³ ) >= 0); 2301  dÚum£t ; 2303 `ç�l ("The setpriority() function is unimplemented on�his machine"); 2306  O_CHROOT : 2307 #ifdeà HAS_CHROOT 2308 ià( max¬g < 1) 2309 tmps = `¡r_g‘ ( `¡ab_v® ( def¡ab )); 2311 tmps = `¡r_g‘ ( ¡ [1]); 2312 #ifdeà TAINT 2313 `�š�rÝ” ("Insecure dependency in chroot"); 2315 v®ue = ()( `chroÙ ( tmps ) >= 0); 2316  dÚum£t ; 2318 `ç�l ("Unsupported function chroot"); 2321  O_FCNTL : 2322  O_IOCTL : 2323 ià( max¬g <= 0) 2324 ¡ab = Ï¡_š_¡ab ; 2325 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2326 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2328 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2329 ¬gty³ = `U_I ( `¡r_gnum ( ¡ [2])); 2330 #ifdeà TAINT 2331 `�š�rÝ” ("Insecure dependency in ioctl"); 2333 ªum = `do_ùl ( Ýty³ , ¡ab , ¬gty³ , ¡ [3]); 2334 ià( ªum == -1) 2335  §y_undef ; 2336 ià( ªum != 0) { 2337 v®ue = () ªum ; 2338  dÚum£t ; 2340 `¡r_£t ( ¡r ,"0 but�rue"); 2341 `STABSET ( ¡r ); 2343  O_FLOCK : 2344 #ifdeà HAS_FLOCK 2345 ià( max¬g <= 0) 2346 ¡ab = Ï¡_š_¡ab ; 2347 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2348 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2350 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2351 ià( ¡ab && `¡ab_io (stab)) 2352 å = `¡ab_io ( ¡ab )-> iå ; 2354 å = NuÎå ; 2355 ià( å ) { 2356 ¬gty³ = () `¡r_gnum ( ¡ [2]); 2357 v®ue = ()( `æock ( `fž’o ( å ), ¬gty³ ) >= 0); 2360 v®ue = 0; 2361  dÚum£t ; 2363 `ç�l ("The flock() function is unimplemented on�his machine"); 2366  O_UNSHIFT : 2367 ¬y = `¡ab_¬¿y ( ¬g [1]. ¬g_±r . ¬g_¡ab ); 2368 ià( ¬gÏ¡ [2] -‡rglast[1] != 1) 2369 `do_unshiá ( ¬y , ¬gÏ¡ ); 2371 STR * tmp¡r = `SŒ_Ãw (52,0); 2372 `¡r_s£t ( tmp¡r , ¡ [2]); 2373 `aunshiá ( ¬y ,1); 2374 () `a¡Üe ( ¬y ,0, tmp¡r ); 2376 v®ue = ()( ¬y -> ¬y_fžl + 1); 2377  dÚum£t ; 2379  O_REQUIRE : 2380  O_DOFILE : 2381  O_EVAL : 2382 ià( max¬g < 1) 2383 tmp¡r = `¡ab_v® ( def¡ab ); 2385 tmp¡r = 2386 ( ¬g [1]. ¬g_ty³ & A_MASK è!ð A_NULL ? ¡ [1] : `¡ab_v® ( def¡ab ); 2387 #ifdeà TAINT 2388 �š‹d |ð tmp¡r -> ¡r_�š‹d ; 2389 `�š�rÝ” ("Insecure dependency inƒval"); 2391 ¥ = `do_ev® ( tmp¡r , Ýty³ , curcmd -> c_¡ash , 2392 gimme , ¬gÏ¡ ); 2393  ¬¿y_»tuº ; 2395  O_FTRREAD : 2396 ¬gty³ = 0; 2397 ªum = S_IRUSR ; 2398  check_³rm ; 2399  O_FTRWRITE : 2400 ¬gty³ = 0; 2401 ªum = S_IWUSR ; 2402  check_³rm ; 2403  O_FTREXEC : 2404 ¬gty³ = 0; 2405 ªum = S_IXUSR ; 2406  check_³rm ; 2407  O_FTEREAD : 2408 ¬gty³ = 1; 2409 ªum = S_IRUSR ; 2410  check_³rm ; 2411  O_FTEWRITE : 2412 ¬gty³ = 1; 2413 ªum = S_IWUSR ; 2414  check_³rm ; 2415  O_FTEEXEC : 2416 ¬gty³ = 1; 2417 ªum = S_IXUSR ; 2418 check_³rm : 2419 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2420  §y_undef ; 2421 ià( `ÿndo ( ªum , ¬gty³ ,& ¡©ÿche )) 2422  §y_yes ; 2423  §y_no ; 2425  O_FTIS : 2426 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2427  §y_undef ; 2428  §y_yes ; 2429  O_FTEOWNED : 2430  O_FTROWNED : 2431 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2432  §y_undef ; 2433 ià( ¡©ÿche . ¡_uid =ð( Ýty³ =ð O_FTEOWNED ? euid : uid ) ) 2434  §y_yes ; 2435  §y_no ; 2436  O_FTZERO : 2437 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2438  §y_undef ; 2439 ià(! ¡©ÿche . ¡_size ) 2440  §y_yes ; 2441  §y_no ; 2442  O_FTSIZE : 2443 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2444  §y_undef ; 2445 v®ue = () ¡©ÿche . ¡_size ; 2446  dÚum£t ; 2448  O_FTMTIME : 2449 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2450  §y_undef ; 2451 v®ue = ()( ba£time - ¡©ÿche . ¡_mtime ) / 86400.0; 2452  dÚum£t ; 2453  O_FTATIME : 2454 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2455  §y_undef ; 2456 v®ue = ()( ba£time - ¡©ÿche . ¡_©ime ) / 86400.0; 2457  dÚum£t ; 2458  O_FTCTIME : 2459 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2460  §y_undef ; 2461 v®ue = ()( ba£time - ¡©ÿche . ¡_ùime ) / 86400.0; 2462  dÚum£t ; 2464  O_FTSOCK : 2465 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2466  §y_undef ; 2467 ià( `S_ISSOCK ( ¡©ÿche . ¡_mode )) 2468  §y_yes ; 2469  §y_no ; 2470  O_FTCHR : 2471 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2472  §y_undef ; 2473 ià( `S_ISCHR ( ¡©ÿche . ¡_mode )) 2474  §y_yes ; 2475  §y_no ; 2476  O_FTBLK : 2477 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2478  §y_undef ; 2479 ià( `S_ISBLK ( ¡©ÿche . ¡_mode )) 2480  §y_yes ; 2481  §y_no ; 2482  O_FTFILE : 2483 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2484  §y_undef ; 2485 ià( `S_ISREG ( ¡©ÿche . ¡_mode )) 2486  §y_yes ; 2487  §y_no ; 2488  O_FTDIR : 2489 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2490  §y_undef ; 2491 ià( `S_ISDIR ( ¡©ÿche . ¡_mode )) 2492  §y_yes ; 2493  §y_no ; 2494  O_FTPIPE : 2495 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2496  §y_undef ; 2497 ià( `S_ISFIFO ( ¡©ÿche . ¡_mode )) 2498  §y_yes ; 2499  §y_no ; 2500  O_FTLINK : 2501 ià( `myl¡© ( ¬g , ¡ [1]) < 0) 2502  §y_undef ; 2503 ià( `S_ISLNK ( ¡©ÿche . ¡_mode )) 2504  §y_yes ; 2505  §y_no ; 2506  O_SYMLINK : 2507 #ifdeà HAS_SYMLINK 2508 tmps = `¡r_g‘ ( ¡ [1]); 2509 tmps2 = `¡r_g‘ ( ¡ [2]); 2510 #ifdeà TAINT 2511 `�š�rÝ” ("Insecure dependency in symlink"); 2513 v®ue = ()( `symlšk ( tmps , tmps2 ) >= 0); 2514  dÚum£t ; 2516 `ç�l ("Unsupported function symlink"); 2518  O_READLINK : 2519 #ifdeà HAS_SYMLINK 2520 ià( max¬g < 1) 2521 tmps = `¡r_g‘ ( `¡ab_v® ( def¡ab )); 2523 tmps = `¡r_g‘ ( ¡ [1]); 2524 ªum = `»adlšk ( tmps , buf , buf); 2525 ià( ªum < 0) 2526  §y_undef ; 2527 `¡r_n£t ( ¡r , buf , ªum ); 2530  §y_undef ; 2532  O_FTSUID : 2533 #ifdeà S_ISUID 2534 ªum = S_ISUID ; 2535  check_xid ; 2537  §y_no ; 2539  O_FTSGID : 2540 #ifdeà S_ISGID 2541 ªum = S_ISGID ; 2542  check_xid ; 2544  §y_no ; 2546  O_FTSVTX : 2547 #ifdeà S_ISVTX 2548 ªum = S_ISVTX ; 2550  §y_no ; 2552 check_xid : 2553 ià( `my¡© ( ¬g , ¡ [1]) < 0) 2554  §y_undef ; 2555 ià( ¡©ÿche . ¡_mode & ªum ) 2556  §y_yes ; 2557  §y_no ; 2558  O_FTTTY : 2559 ià( ¬g [1]. ¬g_ty³ & A_DONT ) { 2560 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2561 tmps = ""; 2564 ¡ab = `¡ab’t ( tmps = `¡r_g‘ ( ¡ [1]), FALSE ); 2565 ià( ¡ab && `¡ab_io (¡abè&& s�b_io(¡ab)-> iå ) 2566 ªum = `fž’o ( `¡ab_io ( ¡ab )-> iå ); 2567 ià( `isdig™ (* tmps )) 2568 ªum = `©oi ( tmps ); 2570  §y_undef ; 2571 ià( `i§‰y ( ªum )) 2572  §y_yes ; 2573  §y_no ; 2574  O_FTTEXT : 2575  O_FTBINARY : 2576 ¡r = `do_á‹xt ( ¬g , ¡ [1]); 2578 #ifdeà HAS_SOCKET 2579  O_SOCKET : 2580 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2581 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2583 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2584 #iâdeà lšt 2585 v®ue = () `do_sock‘ ( ¡ab , ¬gÏ¡ ); 2587 () `do_sock‘ ( ¡ab , ¬gÏ¡ ); 2589  dÚum£t ; 2590  O_BIND : 2591 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2592 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2594 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2595 #iâdeà lšt 2596 v®ue = () `do_bšd ( ¡ab , ¬gÏ¡ ); 2598 () `do_bšd ( ¡ab , ¬gÏ¡ ); 2600  dÚum£t ; 2601  O_CONNECT : 2602 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2603 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2605 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2606 #iâdeà lšt 2607 v®ue = () `do_cÚÃù ( ¡ab , ¬gÏ¡ ); 2609 () `do_cÚÃù ( ¡ab , ¬gÏ¡ ); 2611  dÚum£t ; 2612  O_LISTEN : 2613 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2614 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2616 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2617 #iâdeà lšt 2618 v®ue = () `do_li¡’ ( ¡ab , ¬gÏ¡ ); 2620 () `do_li¡’ ( ¡ab , ¬gÏ¡ ); 2622  dÚum£t ; 2623  O_ACCEPT : 2624 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2625 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2627 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2628 ià(( ¬g [2]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2629 ¡ab2 = ¬g [2]. ¬g_±r . ¬g_¡ab ; 2631 ¡ab2 = `¡ab’t ( `¡r_g‘ ( ¡ [2]), TRUE ); 2632 `do_acû± ( ¡r , ¡ab , ¡ab2 ); 2633 `STABSET ( ¡r ); 2635  O_GHBYNAME : 2636 ià( max¬g < 1) 2637  §y_undef ; 2638  O_GHBYADDR : 2639  O_GHOSTENT : 2640 ¥ = `do_gh’t ( Ýty³ , 2641 gimme , ¬gÏ¡ ); 2642  ¬¿y_»tuº ; 2643  O_GNBYNAME : 2644 ià( max¬g < 1) 2645  §y_undef ; 2646  O_GNBYADDR : 2647  O_GNETENT : 2648 ¥ = `do_gÃÁ ( Ýty³ , 2649 gimme , ¬gÏ¡ ); 2650  ¬¿y_»tuº ; 2651  O_GPBYNAME : 2652 ià( max¬g < 1) 2653  §y_undef ; 2654  O_GPBYNUMBER : 2655  O_GPROTOENT : 2656 ¥ = `do_g³Á ( Ýty³ , 2657 gimme , ¬gÏ¡ ); 2658  ¬¿y_»tuº ; 2659  O_GSBYNAME : 2660 ià( max¬g < 1) 2661  §y_undef ; 2662  O_GSBYPORT : 2663  O_GSERVENT : 2664 ¥ = `do_g£Á ( Ýty³ , 2665 gimme , ¬gÏ¡ ); 2666  ¬¿y_»tuº ; 2667  O_SHOSTENT : 2668 v®ue = (è `£tho¡’t (() `¡r_gnum ( ¡ [1])); 2669  dÚum£t ; 2670  O_SNETENT : 2671 v®ue = (è `£Š‘’t (() `¡r_gnum ( ¡ [1])); 2672  dÚum£t ; 2673  O_SPROTOENT : 2674 v®ue = (è `£�rÙÛÁ (() `¡r_gnum ( ¡ [1])); 2675  dÚum£t ; 2676  O_SSERVENT : 2677 v®ue = (è `£t£rv’t (() `¡r_gnum ( ¡ [1])); 2678  dÚum£t ; 2679  O_EHOSTENT : 2680 v®ue = (è `’dho¡’t (); 2681  dÚum£t ; 2682  O_ENETENT : 2683 v®ue = (è `’dËÁ (); 2684  dÚum£t ; 2685  O_EPROTOENT : 2686 v®ue = (è `’d´ÙÛÁ (); 2687  dÚum£t ; 2688  O_ESERVENT : 2689 v®ue = (è `’d£rv’t (); 2690  dÚum£t ; 2691  O_SOCKPAIR : 2692 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2693 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2695 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2696 ià(( ¬g [2]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2697 ¡ab2 = ¬g [2]. ¬g_±r . ¬g_¡ab ; 2699 ¡ab2 = `¡ab’t ( `¡r_g‘ ( ¡ [2]), TRUE ); 2700 #iâdeà lšt 2701 v®ue = () `do_¥aœ ( ¡ab , ¡ab2 , ¬gÏ¡ ); 2703 () `do_¥aœ ( ¡ab , ¡ab2 , ¬gÏ¡ ); 2705  dÚum£t ; 2706  O_SHUTDOWN : 2707 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2708 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2710 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2711 #iâdeà lšt 2712 v®ue = () `do_shutdown ( ¡ab , ¬gÏ¡ ); 2714 () `do_shutdown ( ¡ab , ¬gÏ¡ ); 2716  dÚum£t ; 2717  O_GSOCKOPT : 2718  O_SSOCKOPT : 2719 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2720 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2722 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2723 ¥ = `do_sÝt ( Ýty³ , ¡ab , ¬gÏ¡ ); 2724  ¬¿y_»tuº ; 2725  O_GETSOCKNAME : 2726  O_GETPEERNAME : 2727 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2728 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2730 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2731 ià(! ¡ab ) 2732  §y_undef ; 2733 ¥ = `do_g‘sockÇme ( Ýty³ , ¡ab , ¬gÏ¡ ); 2734  ¬¿y_»tuº ; 2737  O_SOCKET : 2738  O_BIND : 2739  O_CONNECT : 2740  O_LISTEN : 2741  O_ACCEPT : 2742  O_SOCKPAIR : 2743  O_GHBYNAME : 2744  O_GHBYADDR : 2745  O_GHOSTENT : 2746  O_GNBYNAME : 2747  O_GNBYADDR : 2748  O_GNETENT : 2749  O_GPBYNAME : 2750  O_GPBYNUMBER : 2751  O_GPROTOENT : 2752  O_GSBYNAME : 2753  O_GSBYPORT : 2754  O_GSERVENT : 2755  O_SHOSTENT : 2756  O_SNETENT : 2757  O_SPROTOENT : 2758  O_SSERVENT : 2759  O_EHOSTENT : 2760  O_ENETENT : 2761  O_EPROTOENT : 2762  O_ESERVENT : 2763  O_SHUTDOWN : 2764  O_GSOCKOPT : 2765  O_SSOCKOPT : 2766  O_GETSOCKNAME : 2767  O_GETPEERNAME : 2768 badsock : 2769 `ç�l ("Unsupported socket function"); 2771  O_SSELECT : 2772 #ifdeà HAS_SELECT 2773 ¥ = `do_£Ëù ( gimme , ¬gÏ¡ ); 2774  ¬¿y_»tuº ; 2776 `ç�l ("select‚ot implemented"); 2778  O_FILENO : 2779 ià( max¬g < 1) 2780  §y_undef ; 2781 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2782 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2784 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2785 ià(! ¡ab || !( ¡io = `¡ab_io (¡ab)è|| !( å = stio-> iå )) 2786  §y_undef ; 2787 v®ue = `fž’o ( å ); 2788  dÚum£t ; 2789  O_BINMODE : 2790 ià( max¬g < 1) 2791  §y_undef ; 2792 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2793 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2795 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2796 ià(! ¡ab || !( ¡io = `¡ab_io (¡ab)è|| !( å = stio-> iå )) 2797  §y_undef ; 2798 #ifdeà MSDOS 2799 `¡r_£t ( ¡r , ( `£tmode ( `fž’o ( å ), O_BINARY è!ð-1è? Yes : No ); 2801 `¡r_£t ( ¡r , Yes ); 2803 `STABSET ( ¡r ); 2805  O_VEC : 2806 ¥ = `do_vec ( ¡r =ð ¡ [1], ¬g -> ¬g_±r . ¬g_¡r , ¬gÏ¡ ); 2807  ¬¿y_»tuº ; 2808  O_GPWNAM : 2809  O_GPWUID : 2810  O_GPWENT : 2811 #ifdeà HAS_PASSWD 2812 ¥ = `do_gpw’t ( Ýty³ , 2813 gimme , ¬gÏ¡ ); 2814  ¬¿y_»tuº ; 2815  O_SPWENT : 2816 v®ue = (è `£�w’t (); 2817  dÚum£t ; 2818  O_EPWENT : 2819 v®ue = (è `’dpw’t (); 2820  dÚum£t ; 2822  O_EPWENT : 2823  O_SPWENT : 2824 `ç�l ("Unsupported…assword function"); 2827  O_GGRNAM : 2828  O_GGRGID : 2829  O_GGRENT : 2830 #ifdeà HAS_GROUP 2831 ¥ = `do_gg»Á ( Ýty³ , 2832 gimme , ¬gÏ¡ ); 2833  ¬¿y_»tuº ; 2834  O_SGRENT : 2835 v®ue = (è `£tg»Á (); 2836  dÚum£t ; 2837  O_EGRENT : 2838 v®ue = (è `’dg»Á (); 2839  dÚum£t ; 2841  O_EGRENT : 2842  O_SGRENT : 2843 `ç�l ("Unsupported group function"); 2846  O_GETLOGIN : 2847 #ifdeà HAS_GETLOGIN 2848 ià(!( tmps = `g‘logš ())) 2849  §y_undef ; 2850 `¡r_£t ( ¡r , tmps ); 2852 `ç�l ("Unsupported function getlogin"); 2855  O_OPENDIR : 2856  O_READDIR : 2857  O_TELLDIR : 2858  O_SEEKDIR : 2859  O_REWINDDIR : 2860  O_CLOSEDIR : 2861 ià( max¬g < 1) 2862  §y_undef ; 2863 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2864 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2866 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2867 ià(! ¡ab ) 2868  §y_undef ; 2869 ¥ = `do_dœÝ ( Ýty³ , ¡ab , gimme , ¬gÏ¡ ); 2870  ¬¿y_»tuº ; 2871  O_SYSCALL : 2872 v®ue = () `do_sysÿÎ ( ¬gÏ¡ ); 2873  dÚum£t ; 2874  O_PIPE : 2875 #ifdeà HAS_PIPE 2876 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2877 ¡ab = ¬g [1]. ¬g_±r . ¬g_¡ab ; 2879 ¡ab = `¡ab’t ( `¡r_g‘ ( ¡ [1]), TRUE ); 2880 ià(( ¬g [2]. ¬g_ty³ & A_MASK è=ð A_WORD ) 2881 ¡ab2 = ¬g [2]. ¬g_±r . ¬g_¡ab ; 2883 ¡ab2 = `¡ab’t ( `¡r_g‘ ( ¡ [2]), TRUE ); 2884 `do_p�e ( ¡r , ¡ab , ¡ab2 ); 2885 `STABSET ( ¡r ); 2887 `ç�l ("Unsupported function…ipe"); 2892 nÜm®_»tuº : 2893 ¡ [1] = ¡r ; 2894 #ifdeà DEBUGGING 2895 ià( debug ) { 2896 dËv– --; 2897 ià( debug & 8) 2898 `deb ("% RETURNS \"%s\"\n", ÝÇme [ Ýty³ ], `¡r_g‘ ( ¡r )); 2901  ¬gÏ¡ [0] + 1; 2902 } } @form.c 14  ~"EXTERN.h " 15  ~"³¾.h " 20 $fÜm_·r£¬gs ( fcmd ) 21  FCMD * fcmd ; 23  i ; 24  ARG * ¬g ; 25  ™ems ; 26 STR * ¡r ; 27 ARG * `·r£li¡ (); 28 lše_t Þdlše = curcmd -> c_lše ; 29  Þd§ve = §ve¡ack -> ¬y_fžl ; 31 ¡r = fcmd -> f_uŬ£d ; 32 curcmd -> c_lše = fcmd -> f_lše ; 33 fcmd -> f_uŬ£d = NuΡr ; 34 () `§veh±r (& cur¡ash ); 35 cur¡ash = ¡r -> ¡r_u . ¡r_hash ; 36 ¬g = `·r£li¡ ( ¡r ); 37 `»¡Ü–i¡ ( Þd§ve ); 39 ™ems = ¬g -> ¬g_Ën - 1; 40  i = 1; i <ð ™ems ; i++) { 41 ià(! fcmd || fcmd-> f_ty³ =ð F_NULL ) 42 `ç�l ("Too many field values"); 43 `dehoi¡ ( ¬g , i ); 44 fcmd -> f_ex´ = `make_Ý ( O_ITEM ,1, 45 ¬g [ i ]. ¬g_±r . ¬g_¬g , Nuάg ,Nullarg); 46 ià( fcmd -> f_æags & FC_CHOP ) { 47 ià(( fcmd -> f_ex´ [1]. ¬g_ty³ & A_MASK è=ð A_STAB ) 48 fcmd -> f_ex´ [1]. ¬g_ty³ = A_LVAL ; 49 ià(( fcmd -> f_ex´ [1]. ¬g_ty³ & A_MASK è=ð A_EXPR ) 50 fcmd -> f_ex´ [1]. ¬g_ty³ = A_LEXPR ; 52 `ç�l ("^ field„equires scalar†value"); 54 fcmd = fcmd-> f_Ãxt ; 56 ià( fcmd && fcmd-> f_ty³ ) 57 `ç�l ("Notƒnough field values"); 58 curcmd -> c_lše = Þdlše ; 59 `Saãä“ ( ¬g ); 60 `¡r_ä“ ( ¡r ); 61 } } 63  gÃwsize ; 65  #CHKLEN ( ®low ) \ 66 Ãwsize = ( d - Üec -> o_¡r è+ ( ®low ); \ 67 ià( Ãwsize >ð cu¾’ ) { \ 68 cu¾’ = d - Üec -> o_¡r ; \ 69 `GROWSTR (& Üec -> o_¡r ,&Üec-> o_Ën ,Üec->o_ËÀ+ ( ®low )); \ 70 d = Üec -> o_¡r + cu¾’ ; \ 71 cu¾’ = Üec -> o_Ën - 2; \ 72 } ) 74 $fÜm© ( Üec , fcmd , ¥ ) 75  ouŒec * Üec ; 76  FCMD * fcmd ; 77  ¥ ; 79 * d = Üec -> o_¡r ; 80 * s ; 81  cu¾’ = Üec -> o_Ën - 2; 82  size ; 83 FCMD * Ãxtfcmd ; 84 FCMD * lšebeg = fcmd ; 85  tmpch¬ ; 86 * t ; 87 CMD mycmd ; 88 STR * ¡r ; 89 * chÝh”e ; 91 mycmd . c_ty³ = C_NULL ; 92 Üec -> o_lšes = 0; 93 ; fcmd ; fcmd = Ãxtfcmd ) { 94 Ãxtfcmd = fcmd -> f_Ãxt ; 95 `CHKLEN ( fcmd -> f_´esize ); 96 ià( s = fcmd -> f_´e ) { 97 * s ) { 98 ià(* s == '\n') { 99  d > Üec -> o_¡r && (d[-1] == ' ' || d[-1] == '\t')) 100 d --; 101 ià( fcmd -> f_æags & FC_NOBLANK ) { 102 ià( d =ð Üec -> o_¡r || d[-1] == '\n') { 103 Üec -> o_lšes --; 104 lšebeg = fcmd -> f_Ãxt ; 107 ià( fcmd -> f_æags & FC_REPEAT ) 108 Ãxtfcmd = lšebeg ; 110 lšebeg = fcmd -> f_Ãxt ; 113 lšebeg = fcmd -> f_Ãxt ; 115 * d ++ = * s ++; 118 ià( fcmd -> f_uŬ£d ) 119 `fÜm_·r£¬gs ( fcmd ); 120  fcmd -> f_ty³ ) { 121  F_NULL : 122 Üec -> o_lšes ++; 124  F_LEFT : 125 () `ev® ( fcmd -> f_ex´ , G_SCALAR , ¥ ); 126 ¡r = ¡ack -> ¬y_¬¿y [ ¥ +1]; 127 s = `¡r_g‘ ( ¡r ); 128 size = fcmd -> f_size ; 129 `CHKLEN ( size ); 130 chÝh”e = NuÎch ; 131  size && * s && *s != '\n') { 132 ià(* s == '\t') 133 * s = ' '; 134 size --; 135 ià(* s && `šdex ( chÝ£t ,(* d ++ = *s++))) 136 chÝh”e = s ; 137 ià(* s =ð'\n' && ( fcmd -> f_æags & FC_CHOP )) 138 * s = ' '; 140 ià( size ) 141 chÝh”e = s ; 142 ià( chÝh”e && chÝh”�< s && * && `šdex ( chÝ£t ,*s)) 143 chÝh”e = s ; 144 ià( fcmd -> f_æags & FC_CHOP ) { 145 ià(! chÝh”e ) 146 chÝh”e = s ; 147 size +ð( s - chÝh”e ); 148 d -ð( s - chÝh”e ); 149 ià( fcmd -> f_æags & FC_MORE && 150 * chÝh”e && `¡rNE (chophere,"\n")) { 151  size < 3) { 152 d --; 153 size ++; 155  d [-1] =ð' ' && size < fcmd -> f_size ) { 156 d --; 157 size ++; 159 * d ++ = '.'; 160 * d ++ = '.'; 161 * d ++ = '.'; 162 size -= 3; 164 * chÝh”e && `šdex ( chÝ£t ,*chophere)) 165 chÝh”e ++; 166 `¡r_chÝ ( ¡r , chÝh”e ); 168 ià( fcmd -> f_Ãxt && fcmd->f_Ãxt-> f_´e [0] == '\n') 169 size = 0; 170  size ) { 171 size --; 172 * d ++ = ' '; 175  F_RIGHT : 176 () `ev® ( fcmd -> f_ex´ , G_SCALAR , ¥ ); 177 ¡r = ¡ack -> ¬y_¬¿y [ ¥ +1]; 178 t = s = `¡r_g‘ ( ¡r ); 179 size = fcmd -> f_size ; 180 `CHKLEN ( size ); 181 chÝh”e = NuÎch ; 182  size && * s && *s != '\n') { 183 ià(* s == '\t') 184 * s = ' '; 185 size --; 186 ià(* s && `šdex ( chÝ£t ,*s++)) 187 chÝh”e = s ; 188 ià(* s =ð'\n' && ( fcmd -> f_æags & FC_CHOP )) 189 * s = ' '; 191 ià( size ) 192 chÝh”e = s ; 193 ià( chÝh”e && chÝh”�< s && * && `šdex ( chÝ£t ,*s)) 194 chÝh”e = s ; 195 ià( fcmd -> f_æags & FC_CHOP ) { 196 ià(! chÝh”e ) 197 chÝh”e = s ; 198 size +ð( s - chÝh”e ); 199 s = chÝh”e ; 200 * chÝh”e && `šdex ( chÝ£t ,*chophere)) 201 chÝh”e ++; 203 tmpch¬ = * s ; 204 * s = '\0'; 205  size ) { 206 size --; 207 * d ++ = ' '; 209 size = s - t ; 210 () `bcÝy ( t , d , size ); 211 d +ð size ; 212 * s = tmpch¬ ; 213 ià( fcmd -> f_æags & FC_CHOP ) 214 `¡r_chÝ ( ¡r , chÝh”e ); 216  F_CENTER : { 217  h®fsize ; 219 () `ev® ( fcmd -> f_ex´ , G_SCALAR , ¥ ); 220 ¡r = ¡ack -> ¬y_¬¿y [ ¥ +1]; 221 t = s = `¡r_g‘ ( ¡r ); 222 size = fcmd -> f_size ; 223 `CHKLEN ( size ); 224 chÝh”e = NuÎch ; 225  size && * s && *s != '\n') { 226 ià(* s == '\t') 227 * s = ' '; 228 size --; 229 ià(* s && `šdex ( chÝ£t ,*s++)) 230 chÝh”e = s ; 231 ià(* s =ð'\n' && ( fcmd -> f_æags & FC_CHOP )) 232 * s = ' '; 234 ià( size ) 235 chÝh”e = s ; 236 ià( chÝh”e && chÝh”�< s && * && `šdex ( chÝ£t ,*s)) 237 chÝh”e = s ; 238 ià( fcmd -> f_æags & FC_CHOP ) { 239 ià(! chÝh”e ) 240 chÝh”e = s ; 241 size +ð( s - chÝh”e ); 242 s = chÝh”e ; 243 * chÝh”e && `šdex ( chÝ£t ,*chophere)) 244 chÝh”e ++; 246 tmpch¬ = * s ; 247 * s = '\0'; 248 h®fsize = size / 2; 249  size > h®fsize ) { 250 size --; 251 * d ++ = ' '; 253 size = s - t ; 254 () `bcÝy ( t , d , size ); 255 d +ð size ; 256 * s = tmpch¬ ; 257 ià( fcmd -> f_Ãxt && fcmd->f_Ãxt-> f_´e [0] == '\n') 258 size = 0; 260 size = h®fsize ; 261  size ) { 262 size --; 263 * d ++ = ' '; 265 ià( fcmd -> f_æags & FC_CHOP ) 266 `¡r_chÝ ( ¡r , chÝh”e ); 269  F_LINES : 270 () `ev® ( fcmd -> f_ex´ , G_SCALAR , ¥ ); 271 ¡r = ¡ack -> ¬y_¬¿y [ ¥ +1]; 272 s = `¡r_g‘ ( ¡r ); 273 size = `¡r_Ën ( ¡r ); 274 `CHKLEN ( size +1); 275 Üec -> o_lšes +ð `couÁlšes ( s , size ) - 1; 276 () `bcÝy ( s , d , size ); 277 d +ð size ; 278 ià( size && s [size-1] != '\n') { 279 * d ++ = '\n'; 280 Üec -> o_lšes ++; 282 lšebeg = fcmd -> f_Ãxt ; 284  F_DECIMAL : { 285  v®ue ; 287 () `ev® ( fcmd -> f_ex´ , G_SCALAR , ¥ ); 288 ¡r = ¡ack -> ¬y_¬¿y [ ¥ +1]; 289 size = fcmd -> f_size ; 290 `CHKLEN ( size ); 293 ià(( fcmd -> f_æags & FC_CHOP è&& ! ¡r -> ¡r_pok && !¡r-> ¡r_nok ) { 294  size ) { 295 size --; 296 * d ++ = ' '; 300 v®ue = `¡r_gnum ( ¡r ); 301 ià( fcmd -> f_æags & FC_DP ) { 302 `¥rštf ( d , "%#*.*f", size , fcmd -> f_decim®s , v®ue ); 304 `¥rštf ( d , "%*.0f", size , v®ue ); 306 d +ð size ; 311 `CHKLEN (1); 312 * d ++ = '\0'; 313 } } 315 $couÁlšes ( s , size ) 316 * s ; 317  size ; 319  couÁ = 0; 321  size --) { 322 ià(* s ++ == '\n') 323 couÁ ++; 325  couÁ ; 326 } } 328 $do_wr™e ( Üec , ¡io , ¥ ) 329  ouŒec * Üec ; 330  STIO * ¡io ; 331  ¥ ; 333 FILE * oå = ¡io ->ofp; 335 #ifdeà DEBUGGING 336 ià( debug & 256) 337 `årštf ( ¡d”r ,"left=%ld,�odo=%ld\n", 338 () ¡io -> lšes_Ëá , () Üec -> o_lšes ); 340 ià( ¡io -> lšes_Ëá < Üec -> o_lšes ) { 341 ià(! ¡io -> tÝ_¡ab ) { 342 STAB * tÝ¡ab ; 344 ià(! ¡io -> tÝ_Çme ) 345 ¡io -> tÝ_Çme = `§ve¡r ("top"); 346 tÝ¡ab = `¡ab’t ( ¡io -> tÝ_Çme , FALSE ); 347 ià(! tÝ¡ab || ! `¡ab_fÜm (topstab)) { 348 ¡io -> lšes_Ëá = 100000000; 349  fÜg‘_tÝ ; 351 ¡io -> tÝ_¡ab = tÝ¡ab ; 353 ià( ¡io -> lšes_Ëá >ð0 && stio-> ·ge > 0) 354 () `putc ('\f', oå ); 355 ¡io -> lšes_Ëá = stio-> ·ge_Ën ; 356 ¡io -> ·ge ++; 357 `fÜm© (& tÝ»c , `¡ab_fÜm ( ¡io -> tÝ_¡ab ), ¥ ); 358 `åuts ( tÝ»c . o_¡r , oå ); 359 ¡io -> lšes_Ëá -ð tÝ»c . o_lšes ; 361 fÜg‘_tÝ : 362 `åuts ( Üec -> o_¡r , oå ); 363 ¡io -> lšes_Ëá -ð Üec -> o_lšes ; 364 } } @form.h 14  #F_NULL 0 ) 15  #F_LEFT 1 ) 16  #F_RIGHT 2 ) 17  #F_CENTER 3 ) 18  #F_LINES 4 ) 19  #F_DECIMAL 5 ) 21  sfÜmcmd { 22  fÜmcmd * mf_Ãxt ; 23 ARG * mf_ex´ ; 24 STR * mf_uŬ£d ; 25 lše_t mf_lše ; 26 * mf_´e ; 27  mf_´esize ; 28  mf_size ; 29  mf_decim®s ; 30  mf_ty³ ; 31  mf_æags ; 34  #FC_CHOP 1 ) 35  #FC_NOBLANK 2 ) 36  #FC_MORE 4 ) 37  #FC_REPEAT 8 ) 38  #FC_DP 16 ) 40  #NuÎfcmd `NuÎ ( FCMD *) ) 42 EXT * chÝ£t INIT (" \n-"); @handy.h 14 #ifdeà NULL 15 #undeà NULL 17 #iâdeà I286 18  #NULL 0 ) 20  #NULL 0L ) 22  #NuÎ ( ty³ è(Ñy³) NULL ) ) 23  #NuÎch `NuÎ (*) ) 24  #NuÎå `NuÎ ( FILE *) ) 26 #ifdeà UTS 27  #boÞ  ) 29  #boÞ  ) 32 #ifdeà TRUE 33 #undeà TRUE 35 #ifdeà FALSE 36 #undeà FALSE 38  #TRUE (1) ) 39  #FALSE (0) ) 41  #CŽ ( ch è(ch & 037) ) 43  #¡rNE ( s1 , s2 è( `¡rcmp (s1,s2)) ) 44  #¡rEQ ( s1 , s2 è(! `¡rcmp (s1,s2)) ) 45  #¡rLT ( s1 , s2 è( `¡rcmp (s1,s2è< 0) ) 46  #¡rLE ( s1 , s2 è( `¡rcmp (s1,s2è<ð0) ) 47  #¡rGT ( s1 , s2 è( `¡rcmp (s1,s2è> 0) ) 48  #¡rGE ( s1 , s2 è( `¡rcmp (s1,s2è>ð0) ) 49  #¡ºNE ( s1 , s2 , l è( `¡ºcmp (s1,s2,l)) ) 50  #¡ºEQ ( s1 , s2 , l è(! `¡ºcmp (s1,s2,l)) ) 52  #MEM_SIZE  ) 55  tlše_t ; 56 #ifdeà lšt 57  #NOLINE (( lše_t )0) ) 59  #NOLINE (( lše_t è65535) ) 62 #iâdeà lšt 63 #iâdeà LEAKTEST 64 * §ãm®loc (); 65 * §ã»®loc (); 66  §ãä“ (); 67 #iâdeà MSDOS 68  #New ( x , v , n , t è(v = (t*) `§ãm®loc (( MEM_SIZE )(Òè* Ñ)))) ) 69  #Newc ( x , v , n , t , c è(v = (c*) `§ãm®loc (( MEM_SIZE )(Òè* Ñ)))) ) 70  #Newz ( x , v , n , t è(v = (t*) `§ãm®loc (( MEM_SIZE )((n) * (t)))), \ 71 `bz”o ((*)( v ), ( n è* ( t )) ) 72  #R’ew ( v , n , t è(v = (t*) `§ã»®loc ((*)(v),( MEM_SIZE )(Ò)*Ñ)))) ) 73  #R’ewc ( v , n , t , c è(v = (c*) `§ã»®loc ((*)(v),( MEM_SIZE )(Ò)*Ñ)))) ) 75  #New ( x , v , n , t è(v = (t*) `§ãm®loc ((()Òè* Ñ)))) ) 76  #Newc ( x , v , n , t , c è(v = (c*) `§ãm®loc ((()Òè* Ñ)))) ) 77  #Newz ( x , v , n , t è(v = (t*) `§ãm®loc ((()(n) * (t)))), \ 78 `bz”o ((*)( v ), ( n è* ( t )) ) 79  #R’ew ( v , n , t è(v = (t*) `§ã»®loc ((*)(v),(()Ò)*Ñ)))) ) 80  #R’ewc ( v , n , t , c è(v = (c*) `§ã»®loc ((*)(v),(()Ò)*Ñ)))) ) 83 #ifdeà IGNOREFREE 84  #Saãä“ ( d è{}; ) 86  #Saãä“ ( d è `§ãä“ ((*)d) ) 89  #SŒ_Ãw ( x , Ën è `¡r_Ãw Ö’) ) 91 * §ãxm®loc (); 92 * §ãx»®loc (); 93  §ãxä“ (); 94  #New ( x , v , n , t è(v = (t*) `§ãxm®loc (x,( MEM_SIZE )(Òè* Ñ)))) ) 95  #Newc ( x , v , n , t , c è(v = (c*) `§ãxm®loc (x,( MEM_SIZE )(Òè* Ñ)))) ) 96  #Newz ( x , v , n , t è(v = (t*) `§ãxm®loc (x,( MEM_SIZE )((n) * (t)))), \ 97 `bz”o ((*)( v ), ( n è* ( t )) ) 98  #R’ew ( v , n , t è(v = (t*) `§ãx»®loc ((*)(v),( MEM_SIZE )(Ò)*Ñ)))) ) 99  #R’ewc ( v , n , t , c è(v = (c*) `§ãx»®loc ((*)(v),( MEM_SIZE )(Ò)*Ñ)))) ) 100  #Saãä“ ( d è `§ãxä“ ((*)d) ) 101  #SŒ_Ãw ( x , Ën è `¡r_Ãw (x,Ën) ) 102  #MAXXCOUNT 1200 ) 103  gxcouÁ [ MAXXCOUNT ]; 104  gÏ¡xcouÁ [ MAXXCOUNT ]; 106  #CÝy ( s , d , n , t è() `bcÝy ((*)(s),(*)(d), (nè* Ñ)) ) 107  #Z”o ( d , n , t è() `bz”o ((*)(d), (nè* Ñ)) ) 109  #New ( x , v , n , s è(v = `NuÎ ( *)) ) 110  #Newc ( x , v , n , s , c è(v = `NuÎ ( *)) ) 111  #Newz ( x , v , n , s è(v = `NuÎ ( *)) ) 112  #R’ew ( v , n , s è(v = `NuÎ ( *)) ) 113  #CÝy ( s , d , n , t ) ) 114  #Z”o ( d , n , t ) ) 115  #Saãä“ ( d èd = ) d @hash.c 14  ~"EXTERN.h " 15  ~"³¾.h " 17  gcÛff [] = { 27  hä“’Œ›s (); 29 STR * 30 $hãtch ( tb , key , kËn , lv® ) 31  HASH * tb ; 32 * key ; 33  kËn ; 34  lv® ; 36 * s ; 37  i ; 38  hash ; 39  HENT * ’Œy ; 40  maxi ; 41 STR * ¡r ; 42 #ifdeà SOME_DBM 43 d©um dkey , dcÚ‹Á ; 46 ià(! tb ) 47  & ¡r_undef ; 48 ià(! tb -> tbl_¬¿y ) { 49 ià( lv® ) 50 `Newz (503, tb -> tbl_¬¿y ,�b-> tbl_max + 1, HENT *); 52  & ¡r_undef ; 62 ià(! tb -> tbl_cÛffsize ) 63 hash = * key + 128 * key[1] + 128 * key[ kËn -1]; 65 ià( kËn < tb -> tbl_cÛffsize ) 66 maxi = kËn ; 68 maxi = tb -> tbl_cÛffsize ; 69  s = key , i =0, hash = 0; 70 i < maxi ; 71 s ++, i ++, hash *= 5) { 72 hash +ð* s * cÛff [ i ]; 76 ’Œy = tb -> tbl_¬¿y [ hash &�b-> tbl_max ]; 77 ; ’Œy ;ƒÁry =ƒÁry-> h’t_Ãxt ) { 78 ià( ’Œy -> h’t_hash !ð hash ) 80 ià( ’Œy -> h’t_kËn !ð kËn ) 82 ià( `bcmp ( ’Œy -> h’t_key , key , kËn )) 84  ’Œy -> h’t_v® ; 86 #ifdeà SOME_DBM 87 ià( tb -> tbl_dbm ) { 88 dkey . d±r = key ; 89 dkey . dsize = kËn ; 90 #ifdeà HAS_GDBM 91 dcÚ‹Á = `gdbm_ãtch ( tb -> tbl_dbm , dkey ); 93 dcÚ‹Á = `dbm_ãtch ( tb -> tbl_dbm , dkey ); 95 ià( dcÚ‹Á . d±r ) { 96 ¡r = `SŒ_Ãw (60, dcÚ‹Á . dsize ); 97 `¡r_n£t ( ¡r , dcÚ‹Á . d±r ,dcÚ‹Á. dsize ); 98 `h¡Üe ( tb , key , kËn , ¡r , hash ); 99  ¡r ; 103 ià( lv® ) { 104 ¡r = `SŒ_Ãw (61,0); 105 `h¡Üe ( tb , key , kËn , ¡r , hash ); 106  ¡r ; 108  & ¡r_undef ; 109 } } 111 boÞ 112 $h¡Üe ( tb , key , kËn , v® , hash ) 113  HASH * tb ; 114 * key ; 115  kËn ; 116 STR * v® ; 117  hash ; 119 * s ; 120  i ; 121  HENT * ’Œy ; 122  HENT ** ÛÁry ; 123  maxi ; 125 ià(! tb ) 126  FALSE ; 128 ià( hash ) 130 ià(! tb -> tbl_cÛffsize ) 131 hash = * key + 128 * key[1] + 128 * key[ kËn -1]; 133 ià( kËn < tb -> tbl_cÛffsize ) 134 maxi = kËn ; 136 maxi = tb -> tbl_cÛffsize ; 137  s = key , i =0, hash = 0; 138 i < maxi ; 139 s ++, i ++, hash *= 5) { 140 hash +ð* s * cÛff [ i ]; 144 ià(! tb -> tbl_¬¿y ) 145 `Newz (505, tb -> tbl_¬¿y ,�b-> tbl_max + 1, HENT *); 147 ÛÁry = &( tb -> tbl_¬¿y [ hash &�b-> tbl_max ]); 148 i = 1; 150  ’Œy = * ÛÁry ;ƒÁry; i =0,ƒÁry =ƒÁry-> h’t_Ãxt ) { 151 ià( ’Œy -> h’t_hash !ð hash ) 153 ià( ’Œy -> h’t_kËn !ð kËn ) 155 ià( `bcmp ( ’Œy -> h’t_key , key , kËn )) 157 `Saãä“ ( ’Œy -> h’t_v® ); 158 ’Œy -> h’t_v® = v® ; 159  TRUE ; 161 `New (501, ’Œy , 1, HENT ); 163 ’Œy -> h’t_kËn = kËn ; 164 ’Œy -> h’t_key = `n§ve¡r ( key , kËn ); 165 ’Œy -> h’t_v® = v® ; 166 ’Œy -> h’t_hash = hash ; 167 ’Œy -> h’t_Ãxt = * ÛÁry ; 168 * ÛÁry = ’Œy ; 172 ià( i ) { 173 tb -> tbl_fžl ++; 174 #ifdeà SOME_DBM 175 ià( tb -> tbl_dbm &&�b-> tbl_max >ð DBM_CACHE_MAX ) 176  FALSE ; 178 ià( tb -> tbl_fžl >�b-> tbl_do¥l™ ) 179 `h¥l™ ( tb ); 181 #ifdeà SOME_DBM 182 ià( tb -> tbl_dbm ) { 183  `h’td–ayä“ (); 185 ’Œy = tb -> tbl_¬¿y [ hash &�b-> tbl_max ]; 186 ÛÁry = & ’Œy -> h’t_Ãxt ; 187 ’Œy = * ÛÁry ; 188  ’Œy ) { 189 * ÛÁry = ’Œy -> h’t_Ãxt ; 190 `h’td–ayä“ ( ’Œy ); 191 ’Œy = * ÛÁry ; 196  FALSE ; 197 } } 199 STR * 200 $hd–‘e ( tb , key , kËn ) 201  HASH * tb ; 202 * key ; 203  kËn ; 205 * s ; 206  i ; 207  hash ; 208  HENT * ’Œy ; 209  HENT ** ÛÁry ; 210 STR * ¡r ; 211  maxi ; 212 #ifdeà SOME_DBM 213 d©um dkey ; 216 ià(! tb || !tb-> tbl_¬¿y ) 217  NuΡr ; 218 ià(! tb -> tbl_cÛffsize ) 219 hash = * key + 128 * key[1] + 128 * key[ kËn -1]; 221 ià( kËn < tb -> tbl_cÛffsize ) 222 maxi = kËn ; 224 maxi = tb -> tbl_cÛffsize ; 225  s = key , i =0, hash = 0; 226 i < maxi ; 227 s ++, i ++, hash *= 5) { 228 hash +ð* s * cÛff [ i ]; 232 ÛÁry = &( tb -> tbl_¬¿y [ hash &�b-> tbl_max ]); 233 ’Œy = * ÛÁry ; 234 i = 1; 235 ; ’Œy ; i =0, ÛÁry = &’Œy-> h’t_Ãxt ,ƒntry = *oentry) { 236 ià( ’Œy -> h’t_hash !ð hash ) 238 ià( ’Œy -> h’t_kËn !ð kËn ) 240 ià( `bcmp ( ’Œy -> h’t_key , key , kËn )) 242 * ÛÁry = ’Œy -> h’t_Ãxt ; 243 ¡r = `¡r_mÜ�l ( ’Œy -> h’t_v® ); 244 `h’tä“ ( ’Œy ); 245 ià( i ) 246 tb -> tbl_fžl --; 247 #ifdeà SOME_DBM 248 do_dbm_d–‘e : 249 ià( tb -> tbl_dbm ) { 250 dkey . d±r = key ; 251 dkey . dsize = kËn ; 252 #ifdeà HAS_GDBM 253 `gdbm_d–‘e ( tb -> tbl_dbm , dkey ); 255 `dbm_d–‘e ( tb -> tbl_dbm , dkey ); 259  ¡r ; 261 #ifdeà SOME_DBM 262 ¡r = NuΡr ; 263  do_dbm_d–‘e ; 265  NuΡr ; 267 } } 269 $h¥l™ ( tb ) 270 HASH * tb ; 272  Þdsize = tb -> tbl_max + 1; 273  Ãwsize = Þdsize * 2; 274  i ; 275  HENT ** a ; 276  HENT ** b ; 277  HENT * ’Œy ; 278  HENT ** ÛÁry ; 280 a = tb -> tbl_¬¿y ; 281 `R’ew ( a , Ãwsize , HENT *); 282 `Z”o (& a [ Þdsize ], oldsize, HENT *); 283 tb -> tbl_max = -- Ãwsize ; 284 tb -> tbl_do¥l™ =�b-> tbl_max * FILLPCT / 100; 285 tb -> tbl_¬¿y = a ; 287  i =0; i< Þdsize ; i++, a ++) { 288 ià(!* a ) 290 b = a + Þdsize ; 291  ÛÁry = a , ’Œy = *a;ƒntry;ƒntry = *oentry) { 292 ià(( ’Œy -> h’t_hash & Ãwsize è!ð i ) { 293 * ÛÁry = ’Œy -> h’t_Ãxt ; 294 ’Œy -> h’t_Ãxt = * b ; 295 ià(!* b ) 296 tb -> tbl_fžl ++; 297 * b = ’Œy ; 301 ÛÁry = & ’Œy -> h’t_Ãxt ; 303 ià(!* a ) 304 tb -> tbl_fžl --; 306 } } 308 HASH * 309 $hÃw ( look© ) 310  look© ; 312  HASH * tb ; 314 `Newz (502, tb , 1, HASH ); 315 ià( look© ) { 316 tb -> tbl_cÛffsize = look© ; 317 tb -> tbl_max = 7; 318 tb -> tbl_do¥l™ =�b-> tbl_max * FILLPCT / 100; 321 tb -> tbl_max = 127; 322 tb -> tbl_do¥l™ = 128; 324 tb -> tbl_fžl = 0; 325 #ifdeà SOME_DBM 326 tb -> tbl_dbm = 0; 328 () `h™”š™ ( tb ); 329  tb ; 330 } } 333 $h’tä“ ( h’t ) 334  HENT * h’t ; 336 ià(! h’t ) 338 `¡r_ä“ ( h’t -> h’t_v® ); 339 `Saãä“ ( h’t -> h’t_key ); 340 `Saãä“ ( h’t ); 341 } } 344 $h’td–ayä“ ( h’t ) 345  HENT * h’t ; 347 ià(! h’t ) 349 `¡r_2mÜ�l ( h’t -> h’t_v® ); 350 `Saãä“ ( h’t -> h’t_key ); 351 `Saãä“ ( h’t ); 352 } } 355 $hþ—r ( tb , dodbm ) 356  HASH * tb ; 357  dodbm ; 359 ià(! tb ) 361 `hä“’Œ›s ( tb , dodbm ); 362 tb -> tbl_fžl = 0; 363 #iâdeà lšt 364 ià( tb -> tbl_¬¿y ) 365 () `bz”o ((*) tb -> tbl_¬¿y , (tb-> tbl_max + 1è* ( HENT *)); 367 } } 370 $hä“’Œ›s ( tb , dodbm ) 371  HASH * tb ; 372  dodbm ; 374  HENT * h’t ; 375  HENT * oh’t = `NuÎ (HENT*); 376 #ifdeà SOME_DBM 377 d©um dkey ; 378 d©um Ãxtdkey ; 379 #ifdeà HAS_GDBM 380 GDBM_FILE Þd_dbm ; 382 #ifdeà HAS_NDBM 383 DBM * Þd_dbm ; 385  Þd_dbm ; 390 ià(! tb || !tb-> tbl_¬¿y ) 392 #ifdeà SOME_DBM 393 ià(( Þd_dbm = tb -> tbl_dbm è&& dodbm ) { 394 #ifdeà HAS_GDBM 395  dkey = `gdbm_fœ¡key ( tb -> tbl_dbm ), dkey. d±r ) { 397  dkey = `dbm_fœ¡key ( tb -> tbl_dbm ), dkey. d±r ) { 400 #ifdeà HAS_GDBM 401 Ãxtdkey = `gdbm_Ãxtkey ( tb -> tbl_dbm , dkey ); 403 #ifdeà HAS_NDBM 404 #ifdeà _CX_UX 405 Ãxtdkey = `dbm_Ãxtkey ( tb -> tbl_dbm , dkey ); 407 Ãxtdkey = `dbm_Ãxtkey ( tb -> tbl_dbm ); 410 Ãxtdkey = `Ãxtkey ( dkey ); 413 #ifdeà HAS_GDBM 414 `gdbm_d–‘e ( tb -> tbl_dbm , dkey ); 416 `dbm_d–‘e ( tb -> tbl_dbm , dkey ); 418 dkey = Ãxtdkey ; 419 }  dkey . d±r ); 422 tb -> tbl_dbm = 0; 424 () `h™”š™ ( tb ); 425  h’t = `h™”Ãxt ( tb )) { 426 `h’tä“ ( oh’t ); 427 oh’t = h’t ; 429 `h’tä“ ( oh’t ); 430 #ifdeà SOME_DBM 431 tb -> tbl_dbm = Þd_dbm ; 433 } } 436 $hä“ ( tb , dodbm ) 437  HASH * tb ; 438  dodbm ; 440 ià(! tb ) 442 `hä“’Œ›s ( tb , dodbm ); 443 `Saãä“ ( tb -> tbl_¬¿y ); 444 `Saãä“ ( tb ); 445 } } 448 $h™”š™ ( tb ) 449  HASH * tb ; 451 tb -> tbl_r™” = -1; 452 tb -> tbl_e™” = `NuÎ ( HENT *); 453  tb -> tbl_fžl ; 454 } } 456 HENT * 457 $h™”Ãxt ( tb ) 458  HASH * tb ; 460  HENT * ’Œy ; 461 #ifdeà SOME_DBM 462 d©um key ; 465 ’Œy = tb -> tbl_e™” ; 466 #ifdeà SOME_DBM 467 ià( tb -> tbl_dbm ) { 468 ià( ’Œy ) { 469 #ifdeà HAS_GDBM 470 key . d±r = ’Œy -> h’t_key ; 471 key . dsize = ’Œy -> h’t_kËn ; 472 key = `gdbm_Ãxtkey ( tb -> tbl_dbm , key); 474 #ifdeà HAS_NDBM 475 #ifdeà _CX_UX 476 key . d±r = ’Œy -> h’t_key ; 477 key . dsize = ’Œy -> h’t_kËn ; 478 key = `dbm_Ãxtkey ( tb -> tbl_dbm , key); 480 key = `dbm_Ãxtkey ( tb -> tbl_dbm ); 483 key . d±r = ’Œy -> h’t_key ; 484 key . dsize = ’Œy -> h’t_kËn ; 485 key = `Ãxtkey (key); 490 `Newz (504, ’Œy , 1, HENT ); 491 tb -> tbl_e™” = ’Œy ; 492 #ifdeà HAS_GDBM 493 key = `gdbm_fœ¡key ( tb -> tbl_dbm ); 495 key = `dbm_fœ¡key ( tb -> tbl_dbm ); 498 ’Œy -> h’t_key = key . d±r ; 499 ’Œy -> h’t_kËn = key . dsize ; 500 ià(! key . d±r ) { 501 ià( ’Œy -> h’t_v® ) 502 `¡r_ä“ ( ’Œy -> h’t_v® ); 503 `Saãä“ ( ’Œy ); 504 tb -> tbl_e™” = `NuÎ ( HENT *); 505  `NuÎ ( HENT *); 507  ’Œy ; 510 ià(! tb -> tbl_¬¿y ) 511 `Newz (506, tb -> tbl_¬¿y ,�b-> tbl_max + 1, HENT *); 513 ià( ’Œy ) 514 ’Œy =ƒÁry-> h’t_Ãxt ; 515 ià(! ’Œy ) { 516 tb -> tbl_r™” ++; 517 ià( tb -> tbl_r™” >�b-> tbl_max ) { 518 tb -> tbl_r™” = -1; 521 ’Œy = tb -> tbl_¬¿y [tb-> tbl_r™” ]; 523 } ! ’Œy ); 525 tb -> tbl_e™” = ’Œy ; 526  ’Œy ; 527 } } 530 $h™”key ( ’Œy , »Ž’ ) 531  HENT * ’Œy ; 532 * »Ž’ ; 534 * »Ž’ = ’Œy -> h’t_kËn ; 535  ’Œy -> h’t_key ; 536 } } 538 STR * 539 $h™”v® ( tb , ’Œy ) 540  HASH * tb ; 541  HENT * ’Œy ; 543 #ifdeà SOME_DBM 544 d©um key , cÚ‹Á ; 546 ià( tb -> tbl_dbm ) { 547 key . d±r = ’Œy -> h’t_key ; 548 key . dsize = ’Œy -> h’t_kËn ; 549 #ifdeà HAS_GDBM 550 cÚ‹Á = `gdbm_ãtch ( tb -> tbl_dbm , key ); 552 cÚ‹Á = `dbm_ãtch ( tb -> tbl_dbm , key ); 554 ià(! ’Œy -> h’t_v® ) 555 ’Œy -> h’t_v® = `SŒ_Ãw (62,0); 556 `¡r_n£t ( ’Œy -> h’t_v® , cÚ‹Á . d±r ,cÚ‹Á. dsize ); 559  ’Œy -> h’t_v® ; 560 } } 562 #ifdeà SOME_DBM 564 #iâdeà O_CREAT 565 #ifdeà I_FCNTL 566  ~ 568 #ifdeà I_SYS_FILE 569  ~ 573 #iâdeà O_RDONLY 574  #O_RDONLY 0 ) 576 #iâdeà O_RDWR 577  #O_RDWR 2 ) 579 #iâdeà O_CREAT 580  #O_CREAT 01000 ) 583 #ifdeà HAS_ODBM 584  gdbm»fút = 0; 587 boÞ 588 $hdbmÝ’ ( tb , âame , mode ) 589  HASH * tb ; 590 * âame ; 591  mode ; 593 ià(! tb ) 594  FALSE ; 595 #ifdeà HAS_ODBM 596 ià( tb -> tbl_dbm ) 597  TRUE ; 599 ià( tb -> tbl_dbm ) { 600 `hdbmþo£ ( tb ); 601 tb -> tbl_dbm = 0; 603 `hþ—r ( tb , FALSE ); 604 #ifdeà HAS_GDBM 605 ià( mode >= 0) 606 tb -> tbl_dbm = `gdbm_Ý’ ( âame , 0, GDBM_WRCREAT , mode , (*è NULL ); 607 ià(! tb -> tbl_dbm ) 608 tb -> tbl_dbm = `gdbm_Ý’ ( âame , 0, GDBM_WRITER , mode , (*è NULL ); 609 ià(! tb -> tbl_dbm ) 610 tb -> tbl_dbm = `gdbm_Ý’ ( âame , 0, GDBM_READER , mode , (*è NULL ); 612 #ifdeà HAS_NDBM 613 ià( mode >= 0) 614 tb -> tbl_dbm = `dbm_Ý’ ( âame , O_RDWR | O_CREAT , mode ); 615 ià(! tb -> tbl_dbm ) 616 tb -> tbl_dbm = `dbm_Ý’ ( âame , O_RDWR , mode ); 617 ià(! tb -> tbl_dbm ) 618 tb -> tbl_dbm = `dbm_Ý’ ( âame , O_RDONLY , mode ); 620 ià( dbm»fút ++) 621 `ç�l ("Old dbm can only open one database"); 622 `¥rštf ( buf ,"%s.dœ", âame ); 623 ià( `¡© ( buf , & ¡©buf ) < 0) { 624 ià( mode < 0 || `þo£ ( `ü—t ( buf ,mode)) < 0) 625  FALSE ; 626 `¥rštf ( buf ,"%s.·g", âame ); 627 ià( `þo£ ( `ü—t ( buf , mode )) < 0) 628  FALSE ; 630 tb -> tbl_dbm = `dbmš™ ( âame ) >= 0; 633 ià(! tb -> tbl_¬¿y &&�b-> tbl_dbm != 0) 634 `Newz (507, tb -> tbl_¬¿y ,�b-> tbl_max + 1, HENT *); 635  tb -> tbl_dbm != 0; 636 } } 639 $hdbmþo£ ( tb ) 640  HASH * tb ; 642 ià( tb &&�b-> tbl_dbm ) { 643 #ifdeà HAS_GDBM 644 `gdbm_þo£ ( tb -> tbl_dbm ); 645 tb -> tbl_dbm = 0; 647 #ifdeà HAS_NDBM 648 `dbm_þo£ ( tb -> tbl_dbm ); 649 tb -> tbl_dbm = 0; 655 ià( dow¬n ) 656 `w¬n ("Close on unopened dbm file"); 657 } } 659 boÞ 660 $hdbm¡Üe ( tb , key , kËn , ¡r ) 661  HASH * tb ; 662 * key ; 663  kËn ; 664  STR * ¡r ; 666 d©um dkey , dcÚ‹Á ; 667  ”rÜ ; 669 ià(! tb || !tb-> tbl_dbm ) 670  FALSE ; 671 dkey . d±r = key ; 672 dkey . dsize = kËn ; 673 dcÚ‹Á . d±r = `¡r_g‘ ( ¡r ); 674 dcÚ‹Á . dsize = ¡r -> ¡r_cur ; 675 #ifdeà HAS_GDBM 676 ”rÜ = `gdbm_¡Üe ( tb -> tbl_dbm , dkey , dcÚ‹Á , GDBM_REPLACE ); 678 ”rÜ = `dbm_¡Üe ( tb -> tbl_dbm , dkey , dcÚ‹Á , DBM_REPLACE ); 680 ià( ”rÜ ) { 681 ià( ”ºo =ð EPERM ) 682 `ç�l ("No write…ermission�o dbm file"); 683 `w¬n ("dbm stÜ�»tuºed %d,ƒ¼nØ%d, key \"%s\"", ”rÜ , ”ºo , key ); 684 #ifdeà HAS_NDBM 685 `dbm_þ—»¼ ( tb -> tbl_dbm ); 688  ! ”rÜ ; 689 } } @hash.h 14  #FILLPCT 80 ) 15  #DBM_CACHE_MAX 63 ) 18  #COEFFSIZE (16 * 8è ) 20  h’Œy tHENT ; 22  sh’Œy { 23 HENT * mh’t_Ãxt ; 24 * mh’t_key ; 25 STR * mh’t_v® ; 26  mh’t_hash ; 27  mh’t_kËn ; 30  shtbl { 31 HENT ** mtbl_¬¿y ; 32  mtbl_max ; 33  mtbl_do¥l™ ; 34  mtbl_fžl ; 35  mtbl_r™” ; 36 HENT * mtbl_e™” ; 37 SPAT * mtbl_¥©roÙ ; 38 * mtbl_Çme ; 39 #ifdeà SOME_DBM 40 #ifdeà HAS_GDBM 41 GDBM_FILE mtbl_dbm ; 43 #ifdeà HAS_NDBM 44 DBM * mtbl_dbm ; 46  mtbl_dbm ; 50  mtbl_cÛffsize ; 53 STR * hãtch (); 54 boÞ h¡Üe (); 55 STR * hd–‘e (); 56 HASH * hÃw (); 57  hþ—r (); 58  h’tä“ (); 59  h™”š™ (); 60 HENT * h™”Ãxt (); 61 * h™”key (); 62 STR * h™”v® (); 63 boÞ hdbmÝ’ (); 64  hdbmþo£ (); 65 boÞ hdbm¡Üe (); @malloc.c 12 #iâdeà lšt 13  gsccsid [] = "@(#)malloc.c 4.3 (Berkeley) 9/16/83"; 15 #ifdeà DEBUGGING 16  #RCHECK ) 30  ~"EXTERN.h " 31  ~"³¾.h " 33  fšdbuck‘ (), mÜecÜe (); 37  #u_ch¬  ) 38  #u_št  ) 39  #u_shÜt  ) 50  uov”h—d { 51  ov”h—d * mov_Ãxt ; 52 #ià ALIGNBYTES > 4 53  m¡rut ; 56 u_ch¬ movu_magic ; 57 u_ch¬ movu_šdex ; 58 #ifdeà RCHECK 59 u_shÜt movu_size ; 60 u_št movu_rmagic ; 62 } movu ; 63  #ov_magic ovu . ovu_magic ) 64  #ov_šdex ovu . ovu_šdex ) 65  #ov_size ovu . ovu_size ) 66  #ov_rmagic ovu . ovu_rmagic ) 69  #MAGIC 0xfà ) 70  #OLDMAGIC 0x7à ) 71  #RMAGIC 0x55555555 ) 72 #ifdeà RCHECK 73  #RSLOP  ( u_št ) ) 75  #RSLOP 0 ) 83  #NBUCKETS 30 ) 84  ov”h—d * gÃxtf [ NBUCKETS ]; 85 * sbrk (); 87 #ifdeà MSTATS 92  u_št gnm®loc [ NBUCKETS ]; 93  ~<¡dio.h > 96 #ifdeà debug 97  #ASSERT ( p èià(!Õ)è `bÙch ("p"); ) 99 $bÙch ( s ) 100 * s ; 103 `´štf ("as£¹iÚ bÙched: %s\n", s ); 104 `abÜt (); 105 } } 107  #ASSERT ( p ) ) 110 MALLOCPTRTYPE * 111 $m®loc ( nby‹s ) 112  nby‹s ; 114  ov”h—d * p ; 115  buck‘ = 0; 116  shiár ; 124 nby‹s +ð ( ov”h—d è+ RSLOP ; 125 nby‹s = (nbytes + 3) &~ 3; 126 shiár = ( nby‹s - 1) >> 2; 128  shiár >>= 1) 129 buck‘ ++; 134 ià( Ãxtf [ buck‘ ] =ð NULL ) 135 `mÜecÜe ( buck‘ ); 136 ià(( p = ( ov”h—d *) Ãxtf [ buck‘ ]è=ð NULL ) 137  ( NULL ); 139 #ifdeà RCHECK 140 ià(*((*) p è& (( ov”h—d ) - 1)) 141 #iâdeà I286 142 `årštf ( ¡d”r ,"CÜru± m®loø±¸0x%x‡ˆ0x%x\n",*((*) p ),p); 144 `årštf ( ¡d”r ,"CÜru± m®loø±¸0x%lx‡ˆ0x%lx\n",*((*) p ),p); 147 Ãxtf [ buck‘ ] = p -> ov_Ãxt ; 148 p -> ov_magic = MAGIC ; 149 p -> ov_šdex ð buck‘ ; 150 #ifdeà MSTATS 151 nm®loc [ buck‘ ]++; 153 #ifdeà RCHECK 158 ià( nby‹s <= 0x10000) 159 p -> ov_size = nby‹s - 1; 160 p -> ov_rmagic = RMAGIC ; 161 *(( u_št *)(( ÿddr_t ) p + nby‹s - RSLOP )èð RMAGIC ; 163  ((*)( p + 1)); 164 } } 170 $mÜecÜe ( buck‘ ) 171  buck‘ ; 173  ov”h—d * Ý ; 174  ºu ; 175  nblks ; 176  siz ; 178 ià( Ãxtf [ buck‘ ]) 185 Ý = ( ov”h—d *) `sbrk (0); 186 #iâdeà I286 187 ià(() Ý & 0x3ff) 188 () `sbrk (1024 - (() Ý & 0x3ff)); 193 #iâdeà I286 195 ºu = ( buck‘ <= 8) ? 11 : bucket + 3; 199 ºu = ( buck‘ <= 11) ? 14 : bucket + 3; 201 nblks = 1 << ( ºu - ( buck‘ + 3)); 202 ià( ºu < buck‘ ) 203 ºu = buck‘ ; 204 Ý = ( ov”h—d *) `sbrk (1 << ºu ); 206 ià(() Ý == -1) 212 #iâdeà I286 213 ià(() Ý & 7) { 214 Ý = ( ov”h—d *)((()op + 8) &~ 7); 215 nblks --; 224 Ãxtf [ buck‘ ] = Ý ; 225 siz = 1 << ( buck‘ + 3); 226 -- nblks > 0) { 227 Ý -> ov_Ãxt = ( ov”h—d *)(( ÿddr_t )Ý + siz ); 228 Ý = ( ov”h—d *)(( ÿddr_t )Ý + siz ); 230 } } 233 $ä“ ( tý ) 234 * tý ; 236 * ý = tý ; 237  size ; 238  ov”h—d * Ý ; 240 #ifdeà IGNOREFREE 243 ià( ý =ð NULL ) 245 Ý = ( ov”h—d *)(( ÿddr_t ) ý -  (overhead)); 246 #ifdeà debug 247 `ASSERT ( Ý -> ov_magic =ð MAGIC ); 249 ià( Ý -> ov_magic !ð MAGIC ) { 250 `w¬n ("%s free() ignored", 251 Ý -> ov_magic =ð OLDMAGIC ? "Duplicate" : "Bad"); 254 Ý -> ov_magic = OLDMAGIC ; 256 #ifdeà RCHECK 257 `ASSERT ( Ý -> ov_rmagic =ð RMAGIC ); 258 ià( Ý -> ov_šdex <= 13) 259 `ASSERT (*( u_št *)(( ÿddr_t ) Ý + op-> ov_size + 1 - RSLOP è=ð RMAGIC ); 261 `ASSERT ( Ý -> ov_šdex < NBUCKETS ); 262 size = Ý -> ov_šdex ; 263 Ý -> ov_Ãxt = Ãxtf [ size ]; 264 Ãxtf [ size ] = Ý ; 265 #ifdeà MSTATS 266 nm®loc [ size ]--; 269 } } 282  g»®l_¤chËn = 4; 284 MALLOCPTRTYPE * 285 $»®loc ( tý , nby‹s ) 286 * tý ; 287  nby‹s ; 289 * ý = tý ; 290  u_št Úb ; 291  ov”h—d * Ý ; 292 * »s ; 293  i ; 294  was_®loûd = 0; 296 ià( ý =ð NULL ) 297  ( `m®loc ( nby‹s )); 298 Ý = ( ov”h—d *)(( ÿddr_t ) ý -  (overhead)); 299 ià( Ý -> ov_magic =ð MAGIC ) { 300 was_®loûd ++; 301 i = Ý -> ov_šdex ; 314 ià(( i = `fšdbuck‘ ( Ý , 1)) < 0 && 315 ( i = `fšdbuck‘ ( Ý , »®l_¤chËn )) < 0) 316 i = 0; 318 Úb = (1 << ( i + 3)è-  (* Ý è- RSLOP ; 320 ià( was_®loûd && 321 nby‹s <ð Úb &&‚by‹ > (Úb >> 1è- (* Ý è- RSLOP ) { 322 #ifdeà RCHECK 327 ià( Ý -> ov_šdex <= 13) { 334 nby‹s +ð ( ov”h—d è+ RSLOP ; 335 nby‹s = (nbytes + 3) &~ 3; 336 Ý -> ov_size = nby‹s - 1; 337 *(( u_št *)(( ÿddr_t ) Ý + nby‹s - RSLOP )èð RMAGIC ; 340 ( ý ); 342 ià(( »s = `m®loc ( nby‹s )è=ð NULL ) 343  ( NULL ); 344 ià( ý !ð »s ) 345 () `bcÝy ( ý , »s , ()(( nby‹s < Úb ) ?‚bytes : onb)); 346 ià( was_®loûd ) 347 `ä“ ( ý ); 348  ( »s ); 349 } } 357 $fšdbuck‘ ( ä“p , ¤chËn ) 358  ov”h—d * ä“p ; 359  ¤chËn ; 361  ov”h—d * p ; 362  i , j ; 364  i = 0; i < NBUCKETS ; i++) { 365 j = 0; 366  p = Ãxtf [ i ];… && j !ð ¤chËn ;… =…-> ov_Ãxt ) { 367 ià( p =ð ä“p ) 368  ( i ); 369 j ++; 373 } } 375 #ifdeà MSTATS 383 $m¡©s ( s ) 384 * s ; 386  i , j ; 387  ov”h—d * p ; 388  tÙä“ = 0, 389 tÙu£d = 0; 391 `årštf ( ¡d”r , "MemÜy‡ÎoÿtiÚ s�ti¡ic %s\nä“:\t", s ); 392  i = 0; i < NBUCKETS ; i++) { 393  j = 0, p = Ãxtf [ i ];…;… =…-> ov_Ãxt , j++) 395 `årštf ( ¡d”r , " %d", j ); 396 tÙä“ +ð j * (1 << ( i + 3)); 398 `årštf ( ¡d”r , "\nused:\t"); 399  i = 0; i < NBUCKETS ; i++) { 400 `årštf ( ¡d”r , " %d", nm®loc [ i ]); 401 tÙu£d +ð nm®loc [ i ] * (1 << (i + 3)); 403 `årštf ( ¡d”r , "\n\tTotal in use: %d,�otal free: %d\n", 404 tÙu£d , tÙä“ ); 405 } } @patch-malloc.c 1 * m®loc (); 2 * bZa (), * bZr (), * bZc (); 3  ä“ (); 6 $m®loc ( n ) 7  n ; 9  `bZa ( n ); 10 } } 13 $ÿÎoc ( n ) 14  n ; 18 } } 20 $ä“ ( p ) 21 * p ; 23 `bZf ( p ); 24 } } 27 $»®loc ( ý , nby‹s ) 28 * ý ; 29  nby‹s ; 31  `bZr ( ý , nby‹s ); 32 } } @patchlevel.h 1  #PATCHLEVEL 3 ) @perl.c 1  grcsid [] = "$RCSfile$$Revision$$Date$\nPatch†evel: ###\n"; 17  ~"EXTERN.h " 18  ~"³¾.h " 19  ~"³¾y.h " 20 #ifdeà MSDOS 21  ~"·tchËv.h " 23  ~"·tchËv–.h " 26 #ifdeà IAMSUID 27 #iâdeà DOSUID 28  #DOSUID ) 32 #ifdeà SETUID_SCRIPTS_ARE_SECURE_NOW 33 #ifdeà DOSUID 34 #undeà DOSUID 38 * mÜesw™ches (); 39 * gcddœ ; 40  boÞ gmšus_c ; 41  g·tchËv– [6]; 42 * gÄs = "\n"; 43  gÄsch¬ = '\n'; 44  gĦ’ = 1; 46 $maš ( ¬gc , ¬gv , ’v ) 47  ¬gc ; 48 ** ¬gv ; 49 ** ’v ; 51  STR * ¡r ; 52 * s ; 53 * `šdex (), * `¡rýy (), * `g‘’v (); 54 boÞ do£¬ch = FALSE ; 55 #ifdeà DOSUID 56 * v®id¬g = ""; 59 #ifdeà SETUID_SCRIPTS_ARE_SECURE_NOW 60 #ifdeà IAMSUID 61 #undeà IAMSUID 62 `ç�l ("suidperl is‚o†onger‚eeded since�he kernel can‚owƒxecute\n\ …erl scripts securely.\n"); 67 #ifdeà BWGC 69 `gc_š™ (); 70 `gc_š™ (); 74 Üig¬gv = ¬gv ; 75 Üig¬gc = ¬gc ; 76 Üig’vœÚ = ’vœÚ ; 77 uid = () `g‘uid (); 78 euid = () `g‘euid (); 79 gid = () `g‘gid (); 80 egid = () `g‘egid (); 81 `¥rštf ( ·tchËv– ,"%3.3s%2.2d", `šdex ( rcsid ,'4'), PATCHLEVEL ); 82 #ifdeà MSDOS 88 () `fþo£ ( ¡daux ); 89 () `fþo£ ( ¡d´n ); 91 ià( do_undump ) { 92 Üigfž’ame = `§ve¡r ( ¬gv [0]); 93 do_undump = 0; 94 loÝ_±r = -1; 95  ju¡_do™ ; 97 () `¥rštf ( `šdex ( rcsid ,'#'), "%d\n", PATCHLEVEL ); 98 lše¡r = `SŒ_Ãw (65,80); 99 `¡r_n£t ( lše¡r ,"",0); 100 ¡r = `¡r_make ("",0); 101 cur¡ash = def¡ash = `hÃw (0); 102 cur¡Çme = `¡r_make ("main",4); 103 `¡ab_xhash ( `¡ab’t ("_maš", TRUE )èð def¡ash ; 104 def¡ash -> tbl_Çme = "main"; 105 šc¡ab = `hadd ( `¯dd ( `¡ab’t ("INC", TRUE ))); 106 šc¡ab -> ¡r_pok |ð SP_MULTI ; 107  ¬gc --, ¬gv ++;‡rgc > 0;‡rgc--,argv++) { 108 ià( ¬gv [0][0] != '-' || !argv[0][1]) 110 #ifdeà DOSUID 111 ià(* v®id¬g ) 112 v®id¬g = " PHOOEY "; 114 v®id¬g = ¬gv [0]; 116 s = ¬gv [0]+1; 117 »sw™ch : 118 * s ) { 132 ià( s = `mÜesw™ches (s)) 133  »sw™ch ; 137 #ifdeà TAINT 138 ià( euid !ð uid || egid !ð gid ) 139 `ç�l ("No -e‡llowed in setuid scripts"); 141 ià(! e_å ) { 142 e_tm²ame = `§ve¡r ( TMPPATH ); 143 () `mk‹mp ( e_tm²ame ); 144 e_å = `fÝ’ ( e_tm²ame ,"w"); 145 ià(! e_å ) 146 `ç�l ("Cannot open�emporary file"); 148 ià( ¬gv [1]) { 149 `åuts ( ¬gv [1], e_å ); 150 ¬gc --, ¬gv ++; 152 () `putc ('\n', e_å ); 155 #ifdeà TAINT 156 ià( euid !ð uid || egid !ð gid ) 157 `ç�l ("No -I‡llowed in setuid scripts"); 159 `¡r_ÿt ( ¡r ,"-"); 160 `¡r_ÿt ( ¡r , s ); 161 `¡r_ÿt ( ¡r ," "); 162 ià(*++ s ) { 163 () `­ush ( `¡ab_¬¿y ( šc¡ab ), `¡r_make ( s ,0)); 165 ià( ¬gv [1]) { 166 () `­ush ( `¡ab_¬¿y ( šc¡ab ), `¡r_make ( ¬gv [1],0)); 167 `¡r_ÿt ( ¡r , ¬gv [1]); 168 ¬gc --, ¬gv ++; 169 `¡r_ÿt ( ¡r ," "); 173 #ifdeà TAINT 174 ià( euid !ð uid || egid !ð gid ) 175 `ç�l ("No -P‡llowed in setuid scripts"); 177 ´•roûss = TRUE ; 178 s ++; 179  »sw™ch ; 181 #ifdeà TAINT 182 ià( euid !ð uid || egid !ð gid ) 183 `ç�l ("No -s‡llowed in setuid scripts"); 185 dosw™ches = TRUE ; 186 s ++; 187  »sw™ch ; 189 do£¬ch = TRUE ; 190 s ++; 191  »sw™ch ; 193 dÛxŒaù = TRUE ; 194 s ++; 195 ià(* s ) 196 cddœ = `§ve¡r ( s ); 199 ¬gc --, ¬gv ++; 200  sw™ch_’d ; 204 `ç�l ("UÄecognized sw™ch: -%s", s ); 207 sw™ch_’d : 208 ià( e_å ) { 209 () `fþo£ ( e_å ); 210 ¬gc ++, ¬gv --; 211 ¬gv [0] = e_tm²ame ; 214 #ifdeà MSDOS 215  #PERLLIB_SEP ';' ) 217  #PERLLIB_SEP ':' ) 219 #iâdeà TAINT 221 * s2 = `g‘’v ("PERLLIB"); 223 iàÐ s2 ) { 225  * s2 ) { 227  * s2 =ð PERLLIB_SEP ) { 230 s2 ++; 232 iàÐ( s = `šdex ( s2 , PERLLIB_SEP )è!ð NuÎch ) { 233 () `­ush ( `¡ab_¬¿y ( šc¡ab ), `¡r_make ( s2 ,()( s -s2))); 234 s2 = s +1; 236 () `­ush ( `¡ab_¬¿y ( šc¡ab ), `¡r_make ( s2 ,0)); 244 #iâdeà PRIVLIB 245  #PRIVLIB "/u¤/loÿl/lib/³¾" ) 247 () `­ush ( `¡ab_¬¿y ( šc¡ab ), `¡r_make ( PRIVLIB ,0)); 248 () `­ush ( `¡ab_¬¿y ( šc¡ab ), `¡r_make (".",1)); 250 `¡r_£t (& ¡r_no , No ); 251 `¡r_£t (& ¡r_yes , Yes ); 255 ià( ¬gv [0] =ð NuÎch ) 256 #ifdeà MSDOS 258 iàÐ `i§‰y ( `fž’o ( ¡dš )) ) 259 `mÜesw™ches ("v"); 260 ¬gv [0] = "-"; 263 ¬gv [0] = "-"; 265 ià( do£¬ch && ! `šdex ( ¬gv [0], '/'è&& ( s = `g‘’v ("PATH"))) { 266 * xfound = NuÎch , * xçžed = Nullch; 267  Ën ; 269 buãnd = s + `¡¾’ (s); 270 * s ) { 271 #iâdeà MSDOS 272 s = `ýytžl ( tok’buf ,s, buãnd ,':',& Ën ); 274  Ën = 0; * s && * !ð';'; tok’buf [len++] = *s++); 275 tok’buf [ Ën ] = '\0'; 277 ià(* s ) 278 s ++; 279 #iâdeà MSDOS 280 ià( Ën && tok’buf [len-1] != '/') 282 ià( Ën && tok’buf [len-1] != '\\') 284 () `¡rÿt ( tok’buf + Ën ,"/"); 285 () `¡rÿt ( tok’buf + Ën , ¬gv [0]); 286 #ifdeà DEBUGGING 287 ià( debug & 1) 288 `årštf ( ¡d”r ,"Lookšg fÜ %s\n", tok’buf ); 290 ià( `¡© ( tok’buf ,& ¡©buf ) < 0) 292 ià( `S_ISREG ( ¡©buf . ¡_mode ) 293 && `ÿndo ( S_IRUSR , TRUE ,& ¡©buf è&& cªdo( S_IXUSR ,TRUE,&statbuf)) { 294 xfound = tok’buf ; 297 ià(! xçžed ) 298 xçžed = `§ve¡r ( tok’buf ); 300 ià(! xfound ) 301 `ç�l ("Cª'ˆexecu‹ %s", xçžed ? xçžed : ¬gv [0] ); 302 ià( xçžed ) 303 `Saãä“ ( xçžed ); 304 ¬gv [0] = `§ve¡r ( xfound ); 307 fdpid = `ªew ( NuΡab ); 308 pid¡©us = `hÃw ( COEFFSIZE ); 310 Üigfž’ame = `§ve¡r ( ¬gv [0]); 311 curcmd -> c_fže¡ab = `f¡ab ( Üigfž’ame ); 312 ià( `¡rEQ ( Üigfž’ame ,"-")) 313 ¬gv [0] = ""; 314 ià( ´•roûss ) { 315 `¡r_ÿt ( ¡r ,"-I"); 316 `¡r_ÿt ( ¡r , PRIVLIB ); 317 () `¥rštf ( buf , "\ %ssed %s -e '/^[^#]/b' \ -e '/^#[ ]*include[ ]/b' \ -e '/^#[ ]*define[ ]/b' \ -e '/^#[ ]*if[ ]/b' \ -e '/^#[ ]*ifdef[ ]/b' \ -e '/^#[ ]*ifndef[ ]/b' \ -e '/^#[ ]*else/b' \ -e '/^#[ ]*endif/b' \ -e 's/^#.*//' \ %s | %s -C %s %s", 328 #ifdeà MSDOS 333 ( dÛxŒaù ? "-e '1,/^#/d\n'" : ""), 334 ¬gv [0], CPPSTDIN , `¡r_g‘ ( ¡r ), CPPMINUS ); 335 #ifdeà DEBUGGING 336 ià( debug & 64) { 337 `åuts ( buf , ¡d”r ); 338 `åuts ("\n", ¡d”r ); 341 dÛxŒaù = FALSE ; 342 #ifdeà IAMSUID 343 ià( euid !ð uid && !euid) 344 #ifdeà HAS_SETEUID 345 () `£‹uid ( uid ); 347 #ifdeà HAS_SETREUID 348 () `£Œeuid (-1, uid ); 350 `£tuid ( uid ); 354 rså = `mypÝ’ ( buf ,"r"); 356 ià(!* ¬gv [0]) 357 rså = ¡dš ; 359 rså = `fÝ’ ( ¬gv [0],"r"); 360 ià( rså =ð NuÎå ) { 361 #ifdeà DOSUID 362 #iâdeà IAMSUID 363 ià( euid && `¡© ( `¡ab_v® ( curcmd -> c_fže¡ab )-> ¡r_±r ,& ¡©buf ) >= 0 && 364 ¡©buf . ¡_mode & ( S_ISUID | S_ISGID )) { 365 () `¥rštf ( buf , "%s/¥”l%s", BIN , ·tchËv– ); 366 `execv ( buf , Üig¬gv ); 367 `ç�l ("Can't do setuid\n"); 371 `ç�l ("Can't open…erl script \"%s\": %s\n", 372 `¡ab_v® ( curcmd -> c_fže¡ab )-> ¡r_±r , `¡»¼Ü ( ”ºo )); 374 `¡r_ä“ ( ¡r ); 375 ¡r = NuΡr ; 404 #ifdeà DOSUID 405 ià( `f¡© ( `fž’o ( rså ),& ¡©buf ) < 0) 406 `ç�l ("Cª'ˆ¡© sü�ˆ\"%s\"", Üigfž’ame ); 407 ià( ¡©buf . ¡_mode & ( S_ISUID | S_ISGID )) { 408  Ën ; 410 #ifdeà IAMSUID 411 #iâdeà HAS_SETREUID 420 ià( `acûss ( `¡ab_v® ( curcmd -> c_fže¡ab )-> ¡r_±r ,1)) 421 `ç�l ("Permission denied"); 429  ¡© tmp¡©buf ; 431 ià( `£Œeuid ( euid , uid è< 0 || `g‘uid (è!ðeuid || `g‘euid () != uid) 432 `ç�l ("Can't swap uid‡ndƒuid"); 433 ià( `¡© ( `¡ab_v® ( curcmd -> c_fže¡ab )-> ¡r_±r ,& tmp¡©buf ) < 0) 434 `ç�l ("Permission denied"); 435 ià( tmp¡©buf . ¡_dev !ð ¡©buf .st_dev || 436 tmp¡©buf . ¡_šo !ð ¡©buf .st_ino) { 437 () `fþo£ ( rså ); 438 ià( rså = `mypÝ’ ("/bin/mail„oot","w")) { 439 `årštf ( rså , 442 uid , tmp¡©buf . ¡_dev ,�mp¡©buf. ¡_šo , 443 ¡©buf . ¡_dev , s�tbuf. ¡_šo , 444 `¡ab_v® ( curcmd -> c_fže¡ab )-> ¡r_±r , 445 ¡©buf . ¡_uid , s�tbuf. ¡_gid ); 446 () `mypþo£ ( rså ); 448 `ç�l ("Permission denied\n"); 450 ià( `£Œeuid ( uid , euid è< 0 || `g‘uid (è!ðuid || `g‘euid () !=ƒuid) 451 `ç�l ("Can't„eswap uid‡ndƒuid"); 452 ià(! `ÿndo ( S_IXUSR , FALSE ,& ¡©buf )) 453 `ç�l ("Permission denied\n"); 458 ià(! `S_ISREG ( ¡©buf . ¡_mode )) 459 `ç�l ("Permission denied"); 460 ià( ¡©buf . ¡_mode & S_IWOTH ) 461 `ç�l ("Setuid/gid script is writable by world"); 462 dosw™ches = FALSE ; 463 curcmd -> c_lše ++; 464 ià( `fg‘s ( tok’buf ,�ok’buf, rså è=ð NuÎch || 465 `¡ºNE ( tok’buf ,"#!",2) ) 466 `ç�l ("No #!†ine"); 467 s = tok’buf +2; 468 ià(* s == ' ') s++; 469 ! `is¥aû (* s )) s++; 470 ià( `¡ºNE ( s -4,"perl",4) && strnNE(s-9,"perl",4)) 471 `ç�l ("Not‡…erl script"); 472 * s == ' ' || *s == '\t') s++; 478 Ën = `¡¾’ ( v®id¬g ); 479 ià( `¡rEQ ( v®id¬g ," PHOOEY ") || 480 `¡ºNE ( s , v®id¬g , Ën è|| ! `is¥aû (s[len])) 481 `ç�l ("Args must match #!†ine"); 483 #iâdeà IAMSUID 484 ià( euid !ð uid && ( ¡©buf . ¡_mode & S_ISUID ) && 485 euid =ð ¡©buf . ¡_uid ) 486 ià(! do_undump ) 487 `ç�l ("YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!\n\ YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!\n"); 491 ià( euid ) { 492 () `fþo£ ( rså ); 493 #iâdeà IAMSUID 494 () `¥rštf ( buf , "%s/¥”l%s", BIN , ·tchËv– ); 495 `execv ( buf , Üig¬gv ); 497 `ç�l ("Can't do setuid\n"); 500 ià( ¡©buf . ¡_mode & S_ISGID && s�tbuf. ¡_gid !ð egid ) 501 #ifdeà HAS_SETEGID 502 () `£‹gid ( ¡©buf . ¡_gid ); 504 #ifdeà HAS_SETREGID 505 () `£Œegid (( GIDTYPE )-1, ¡©buf . ¡_gid ); 507 `£tgid ( ¡©buf . ¡_gid ); 510 ià( ¡©buf . ¡_mode & S_ISUID ) { 511 ià( ¡©buf . ¡_uid !ð euid ) 512 #ifdeà HAS_SETEUID 513 () `£‹uid ( ¡©buf . ¡_uid ); 515 #ifdeà HAS_SETREUID 516 () `£Œeuid (( UIDTYPE )-1, ¡©buf . ¡_uid ); 518 `£tuid ( ¡©buf . ¡_uid ); 522 ià( uid ) 523 #ifdeà HAS_SETEUID 524 () `£‹uid (( UIDTYPE ) uid ); 526 #ifdeà HAS_SETREUID 527 () `£Œeuid (( UIDTYPE )-1,(UIDTYPE) uid ); 529 `£tuid (( UIDTYPE ) uid ); 532 uid = () `g‘uid (); 533 euid = () `g‘euid (); 534 gid = () `g‘gid (); 535 egid = () `g‘egid (); 536 ià(! `ÿndo ( S_IXUSR , TRUE ,& ¡©buf )) 537 `ç�l ("Permission denied\n"); 539 #ifdeà IAMSUID 540 ià( ´•roûss ) 541 `ç�l ("-P‚ot‡llowed for setuid/setgid script\n"); 543 `ç�l ("Script is‚ot setuid/setgid in suidperl\n"); 545 #iâdeà TAINT 547 ià( euid !ð uid || egid !ð gid ) { 548 () `fþo£ ( rså ); 549 () `¥rštf ( buf , "%s/�”l%s", BIN , ·tchËv– ); 550 `execv ( buf , Üig¬gv ); 551 `ç�l ("Can't„un setuid script with�aint checks"); 556 #iâdeà TAINT 557 ià( euid !ð uid || egid !ð gid ) { 558 #iâdeà SETUID_SCRIPTS_ARE_SECURE_NOW 559 `f¡© ( `fž’o ( rså ),& ¡©buf ); 560 ià(( euid !ð uid &&ƒuid =ð ¡©buf . ¡_uid && s�tbuf. ¡_mode & S_ISUID ) 562 ( egid !ð gid &&ƒgid =ð ¡©buf . ¡_gid && s�tbuf. ¡_mode & S_ISGID ) 564 ià(! do_undump ) 565 `ç�l ("YOU HAVEN'T DISABLED SET-ID SCRIPTS IN THE KERNEL YET!\n\ YOUR KERNEL, PUT A C WRAPPER AROUND THIS SCRIPT, OR USE -u AND UNDUMP!\n"); 569 () `fþo£ ( rså ); 570 () `¥rštf ( buf , "%s/�”l%s", BIN , ·tchËv– ); 571 `execv ( buf , Üig¬gv ); 572 `ç�l ("Can't„un setuid script with�aint checks"); 577 #ià! `defšed ( IAMSUID è&& !defšed( TAINT ) 581  dÛxŒaù ) { 582 ià(( s = `¡r_g‘s ( lše¡r , rså , 0)è=ð NuÎch ) 583 `ç�l ("No Perl script found in input\n"); 584 ià(* s =ð'#' && s[1] =ð'!' && `š¡r (s,"perl")) { 585 `ung‘c ('\n', rså ); 586 dÛxŒaù = FALSE ; 587 ià( s = `š¡r (s,"perl -")) { 588 s += 6; 589  s = `mÜesw™ches (s)) ; 591 ià( cddœ && `chdœ (cddir) < 0) 592 `ç�l ("Cª'ˆchdœ�Ø%s", cddœ ); 597 def¡ab = `¡ab’t ("_", TRUE ); 599 ià( ³¾db ) { 600 deb¡ash = `hÃw (0); 601 `¡ab_xhash ( `¡ab’t ("_DB", TRUE )èð deb¡ash ; 602 cur¡ash = deb¡ash ; 603 db¬gs = `¡ab_x¬¿y ( `¯dd (( tmp¡ab = `¡ab’t ("¬gs", TRUE )))); 604 tmp¡ab -> ¡r_pok |ð SP_MULTI ; 605 db¬gs -> ¬y_æags = 0; 606 subÇme = `¡r_make ("main",4); 607 DB¡ab = `¡ab’t ("DB", TRUE ); 608 DB¡ab -> ¡r_pok |ð SP_MULTI ; 609 DBlše = `¡ab’t ("dblše", TRUE ); 610 DBlše -> ¡r_pok |ð SP_MULTI ; 611 DBsub = `hadd ( tmp¡ab = `¡ab’t ("sub", TRUE )); 612 tmp¡ab -> ¡r_pok |ð SP_MULTI ; 613 DBsšgË = `¡ab_v® (( tmp¡ab = `¡ab’t ("sšgË", TRUE ))); 614 tmp¡ab -> ¡r_pok |ð SP_MULTI ; 615 DBŒaû = `¡ab_v® (( tmp¡ab = `¡ab’t ("Œaû", TRUE ))); 616 tmp¡ab -> ¡r_pok |ð SP_MULTI ; 617 DBsigÇl = `¡ab_v® (( tmp¡ab = `¡ab’t ("sigÇl", TRUE ))); 618 tmp¡ab -> ¡r_pok |ð SP_MULTI ; 619 cur¡ash = def¡ash ; 624 buãnd = buåŒ = `¡r_g‘ ( lše¡r ); 626 §ve¡ack = `ªew ( NuΡab ); 627 ¡ack = `ªew ( NuΡab ); 628 ¡ack -> ¬y_æags = 0; 629 `afžl ( ¡ack ,63);‡fill(stack,-1); 630 `afžl ( §ve¡ack ,63);‡fill(savestack,-1); 634 ”rÜ_couÁ = 0; 635 ià( `yy·r£ (è|| ”rÜ_couÁ ) { 636 ià( mšus_c ) 637 `ç�l ("% had compž©iÚƒ¼Üs.\n", Üigfž’ame ); 639 `ç�l ("Execution of %s‡borted due�o compilationƒrrors.\n", 640 Üigfž’ame ); 644 `New (50, loÝ_¡ack ,128, loÝ ); 645 #ifdeà DEBUGGING 646 ià( debug ) { 647 `New (51, debÇme ,128,); 648 `New (52, debd–im ,128,); 651 cur¡ash = def¡ash ; 653 ´•roûss = FALSE ; 654 ià( e_å ) { 655 e_å = NuÎå ; 656 () `UNLINK ( e_tm²ame ); 661 ià( sig¡ab = `¡ab’t ("SIG", ®l¡abs )) { 662 sig¡ab -> ¡r_pok |ð SP_MULTI ; 663 () `hadd ( sig¡ab ); 666 `magiÿlize ("!#?^~=-%.+&*()<>,\\/[|`':\004\t\024\027"); 667 `u£rš™ (); 669 am³r¡ab = `¡ab’t ("&", ®l¡abs ); 670 Ëá¡ab = `¡ab’t ("`", ®l¡abs ); 671 right¡ab = `¡ab’t ("'", ®l¡abs ); 672 §wam³r§nd = ( am³r¡ab || Ëá¡ab || right¡ab ); 673 ià( tmp¡ab = `¡ab’t (":", ®l¡abs )) 674 `¡r_£t ( `STAB_STR ( tmp¡ab ), chÝ£t ); 675 ià( tmp¡ab = `¡ab’t ("\024", ®l¡abs )) 676 `time (& ba£time ); 679 ià( tmp¡ab = `¡ab’t (";", ®l¡abs )) 680 `¡r_£t ( `STAB_STR ( tmp¡ab ),"\034"); 681 ià( tmp¡ab = `¡ab’t ("]", ®l¡abs )) { 682 ¡r = `STAB_STR ( tmp¡ab ); 683 `¡r_£t ( ¡r , rcsid ); 684 ¡r -> ¡r_u . ¡r_nv® = `©of ( ·tchËv– ); 685 ¡r -> ¡r_nok = 1; 687 `¡r_n£t ( `¡ab_v® ( `¡ab’t ("\"", TRUE )), " ", 1); 689 ¡dš¡ab = `¡ab’t ("STDIN", TRUE ); 690 ¡dš¡ab -> ¡r_pok |ð SP_MULTI ; 691 `¡ab_io ( ¡dš¡ab èð `¡io_Ãw (); 692 `¡ab_io ( ¡dš¡ab )-> iå = ¡dš ; 693 tmp¡ab = `¡ab’t ("¡dš", TRUE ); 694 `¡ab_io ( tmp¡ab èð¡ab_io( ¡dš¡ab ); 695 tmp¡ab -> ¡r_pok |ð SP_MULTI ; 697 tmp¡ab = `¡ab’t ("STDOUT", TRUE ); 698 tmp¡ab -> ¡r_pok |ð SP_MULTI ; 699 `¡ab_io ( tmp¡ab èð `¡io_Ãw (); 700 `¡ab_io ( tmp¡ab )-> oå = s�b_ioÑmp¡ab)-> iå = ¡dout ; 701 defout¡ab = tmp¡ab ; 702 tmp¡ab = `¡ab’t ("¡dout", TRUE ); 703 `¡ab_io ( tmp¡ab èð¡ab_io( defout¡ab ); 704 tmp¡ab -> ¡r_pok |ð SP_MULTI ; 706 curout¡ab = `¡ab’t ("STDERR", TRUE ); 707 curout¡ab -> ¡r_pok |ð SP_MULTI ; 708 `¡ab_io ( curout¡ab èð `¡io_Ãw (); 709 `¡ab_io ( curout¡ab )-> oå = s�b_io(curout¡ab)-> iå = ¡d”r ; 710 tmp¡ab = `¡ab’t ("¡d”r", TRUE ); 711 `¡ab_io ( tmp¡ab èð¡ab_io( curout¡ab ); 712 tmp¡ab -> ¡r_pok |ð SP_MULTI ; 713 curout¡ab = defout¡ab ; 715 ¡©Çme = `SŒ_Ãw (66,0); 719 rs = Äs ; 720 r¦’ = Ħ’ ; 721 rsch¬ = Äsch¬ ; 722 `¡r_n£t ( `¡ab_v® ( `¡ab’t ("/", TRUE )), rs , r¦’ ); 724 ià( do_undump ) 725 `my_uÃxec (); 727 ju¡_do™ : 728 ¬gc --, ¬gv ++; 729 ià( dosw™ches ) { 730 ; ¬gc > 0 && ** ¬gv == '-';‡rgc--,argv++) { 731 ià( ¬gv [0][1] == '-') { 732 ¬gc --, ¬gv ++; 735 ià( s = `šdex ( ¬gv [0], '=')) { 736 * s ++ = '\0'; 737 `¡r_£t ( `¡ab_v® ( `¡ab’t ( ¬gv [0]+1, TRUE )), s ); 740 `¡r_num£t ( `¡ab_v® ( `¡ab’t ( ¬gv [0]+1, TRUE )),()1.0); 743 #ifdeà TAINT 744 �š‹d = 1; 746 ià( tmp¡ab = `¡ab’t ("0", ®l¡abs )) { 747 `¡r_£t ( `¡ab_v® ( tmp¡ab ), Üigfž’ame ); 748 `magiúame ("0", NuÎch , 0); 750 ià( tmp¡ab = `¡ab’t ("\020", ®l¡abs )) 751 `¡r_£t ( `¡ab_v® ( tmp¡ab ), Üig¬gv [0]); 752 ià( ¬gv¡ab = `¡ab’t ("ARGV", ®l¡abs )) { 753 ¬gv¡ab -> ¡r_pok |ð SP_MULTI ; 754 () `¯dd ( ¬gv¡ab ); 755 `aþ—r ( `¡ab_¬¿y ( ¬gv¡ab )); 756 ; ¬gc > 0;‡rgc--, ¬gv ++) { 757 () `­ush ( `¡ab_¬¿y ( ¬gv¡ab ), `¡r_make ( ¬gv [0],0)); 760 #ifdeà TAINT 761 (è `¡ab’t ("ENV", TRUE ); 763 ià( ’v¡ab = `¡ab’t ("ENV", ®l¡abs )) { 764 ’v¡ab -> ¡r_pok |ð SP_MULTI ; 765 () `hadd ( ’v¡ab ); 766 `hþ—r ( `¡ab_hash ( ’v¡ab ), FALSE ); 767 ià( ’v !ð ’vœÚ ) 768 ’vœÚ [0] = NuÎch ; 769 ; * ’v ;ƒnv++) { 770 ià(!( s = `šdex (* ’v ,'='))) 772 * s ++ = '\0'; 773 ¡r = `¡r_make ( s --,0); 774 `¡r_magic ( ¡r , ’v¡ab , 'E', * ’v , s - *env); 775 () `h¡Üe ( `¡ab_hash ( ’v¡ab ), * ’v , s - *’v, ¡r , 0); 776 * s = '='; 779 #ifdeà TAINT 780 �š‹d = 0; 782 ià( tmp¡ab = `¡ab’t ("$", ®l¡abs )) 783 `¡r_num£t ( `STAB_STR ( tmp¡ab ),() `g‘pid ()); 785 ià( dow¬n ) { 786 `¡ab_check ('A','Z'); 787 `¡ab_check ('a','z'); 790 ià( `£tjmp ( tÝ_’v )) 791 loÝ_±r = -1; 793 #ifdeà DEBUGGING 794 ià( debug & 1024) 795 `dump_®l (); 796 ià( debug ) 797 `årštf ( ¡d”r ,"\nEXECUTING...\n\n"); 800 ià( mšus_c ) { 801 `årštf ( ¡d”r ,"% syÁax OK\n", Üigfž’ame ); 802 `ex™ (0); 807 (è `cmd_exec ( maš_roÙ , G_SCALAR ,-1); 809 ià( gÙo_�rg ) 810 `ç�l ("Cª'ˆfšd†ab– \"%s\"--abÜtšg", gÙo_�rg ); 811 `ex™ (0); 813 } } 816 $magiÿlize ( li¡ ) 817 * li¡ ; 819  sym [2]; 821 sym [1] = '\0'; 822 * sym = * li¡ ++) 823 `magiúame ( sym , NuÎch , 0); 824 } } 827 $magiúame ( sym , Çme , ÇmËn ) 828 * sym ; 829 * Çme ; 830  ÇmËn ; 832  STAB * ¡ab ; 834 ià( ¡ab = `¡ab’t ( sym , ®l¡abs )) { 835 `¡ab_æags ( ¡ab èð SF_VMAGIC ; 836 `¡r_magic ( `¡ab_v® ( ¡ab ), s�b, 0, Çme , ÇmËn ); 838 } } 843 $do_ev® ( ¡r , Ýty³ , ¡ash , gimme , ¬gÏ¡ ) 844 STR * ¡r ; 845  Ýty³ ; 846 HASH * ¡ash ; 847  gimme ; 848 * ¬gÏ¡ ; 850 STR ** ¡ = ¡ack -> ¬y_¬¿y ; 851  »tv® ; 852 CMD * myroÙ = NuÎcmd ; 853 ARRAY * ¬ ; 854  i ; 855 CMD * VOLATILE Þdcurcmd = curcmd ; 856 VOLATILE  Þdtmps_ba£ = tmps_ba£ ; 857 VOLATILE  Þd§ve = §ve¡ack -> ¬y_fžl ; 858 VOLATILE  Þd³¾db = ³¾db ; 859 SPAT * VOLATILE Þd¥© = cur¥© ; 860 SPAT * VOLATILE Þdl¥© = Ï¡¥© ; 861 * Ï¡_ev® = NuÎch ; 862  CMD * Ï¡_roÙ = NuÎcmd ; 863 VOLATILE  ¥ = ¬gÏ¡ [0]; 864 * ¥ecfž’ame ; 865 * tmpfž’ame ; 866  ·rsšg = 1; 868 tmps_ba£ = tmps_max ; 869 ià( cur¡ash !ð ¡ash ) { 870 () `§veh±r (& cur¡ash ); 871 cur¡ash = ¡ash ; 873 `¡r_£t ( `¡ab_v® ( `¡ab’t ("@", TRUE )),""); 874 ià( curcmd -> c_lše == 0) 875 ³¾db = FALSE ; 876 curcmd = & compžšg ; 877 ià( Ýty³ =ð O_EVAL ) { 878 curcmd -> c_fže¡ab = `f¡ab ("(eval)"); 879 curcmd -> c_lše = 1; 880 `¡r_s£t ( lše¡r , ¡r ); 881 `¡r_ÿt ( lše¡r ,";"); 884 ià( Ï¡_roÙ && ! š_ev® ) { 885 `Saãä“ ( Ï¡_ev® ); 886 Ï¡_ev® = NuÎch ; 887 `cmd_ä“ ( Ï¡_roÙ ); 888 Ï¡_roÙ = NuÎcmd ; 890 ¥ecfž’ame = `¡r_g‘ ( ¡r ); 891 `¡r_£t ( lše¡r ,""); 892 ià( Ýty³ =ð O_REQUIRE && & ¡r_undef != 893 `hãtch ( `¡ab_hash ( šc¡ab ), ¥ecfž’ame , `¡¾’ (specfilename), 0)) { 894 curcmd = Þdcurcmd ; 895 tmps_ba£ = Þdtmps_ba£ ; 896 ¡ [++ ¥ ] = & ¡r_yes ; 897 ³¾db = Þd³¾db ; 898  ¥ ; 900 tmpfž’ame = `§ve¡r ( ¥ecfž’ame ); 901 ià( `šdex ("/.", * tmpfž’ame )) 902 rså = `fÝ’ ( tmpfž’ame ,"r"); 904 ¬ = `¡ab_¬¿y ( šc¡ab ); 905  i = 0; i <ð ¬ -> ¬y_fžl ; i++) { 906 () `¥rštf ( buf , "%s/%s", 907 `¡r_g‘ ( `aãtch ( ¬ , i , TRUE )), ¥ecfž’ame ); 908 rså = `fÝ’ ( buf ,"r"); 909 ià( rså ) { 910 * s = buf ; 912 ià(* s == '.' && s[1] == '/') 913 s += 2; 914 `Saãä“ ( tmpfž’ame ); 915 tmpfž’ame = `§ve¡r ( s ); 920 curcmd -> c_fže¡ab = `f¡ab ( tmpfž’ame ); 921 `Saãä“ ( tmpfž’ame ); 922 tmpfž’ame = NuÎch ; 923 ià(! rså ) { 924 curcmd = Þdcurcmd ; 925 tmps_ba£ = Þdtmps_ba£ ; 926 ià( Ýty³ =ð O_REQUIRE ) { 927 `¥rštf ( tok’buf ,"Cª'ˆloÿ‹ % š @INC", ¥ecfž’ame ); 928 ià( `š¡r ( tok’buf ,".h ")) 929 `¡rÿt ( tok’buf ," (change .h�o .ph maybe?)"); 930 ià( `š¡r ( tok’buf ,".ph ")) 931 `¡rÿt ( tok’buf ," (did you„un h2ph?)"); 932 `ç�l ("%s", tok’buf ); 934 ià( gimme !ð G_ARRAY ) 935 ¡ [++ ¥ ] = & ¡r_undef ; 936 ³¾db = Þd³¾db ; 937  ¥ ; 939 curcmd -> c_lše = 0; 941 š_ev® ++; 942 ÞdÞdbuåŒ = ÞdbuåŒ = buåŒ = `¡r_g‘ ( lše¡r ); 943 buãnd = buåŒ + lše¡r -> ¡r_cur ; 944 ià(++ loÝ_±r >ð loÝ_max ) { 945 loÝ_max += 128; 946 `R’ew ( loÝ_¡ack , loÝ_max ,  loÝ ); 948 loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– = "_EVAL_"; 949 loÝ_¡ack [ loÝ_±r ]. loÝ_¥ = ¥ ; 950 #ifdeà DEBUGGING 951 ià( debug & 4) { 952 `deb ("(Pushšg†ab– #%d _EVAL_)\n", loÝ_±r ); 955 ev®_roÙ = NuÎcmd ; 956 ià( `£tjmp ( loÝ_¡ack [ loÝ_±r ]. loÝ_’v )) { 957 »tv® = 1; 960 ”rÜ_couÁ = 0; 961 ià( rså ) { 962 »tv® = `yy·r£ (); 963 »tv® |ð ”rÜ_couÁ ; 965 ià( Ï¡_roÙ && * buåŒ =ð* Ï¡_ev® && `¡rEQ (bufptr,last_eval)){ 966 »tv® = 0; 967 ev®_roÙ = Ï¡_roÙ ; 969 ià( š_ev® == 1) { 970 ià( Ï¡_roÙ ) { 971 `Saãä“ ( Ï¡_ev® ); 972 Ï¡_ev® = NuÎch ; 973 `cmd_ä“ ( Ï¡_roÙ ); 975 Ï¡_roÙ = NuÎcmd ; 976 Ï¡_ev® = `§ve¡r ( buåŒ ); 977 »tv® = `yy·r£ (); 978 »tv® |ð ”rÜ_couÁ ; 979 ià(! »tv® ) 980 Ï¡_roÙ = ev®_roÙ ; 981 ià(! Ï¡_roÙ ) { 982 `Saãä“ ( Ï¡_ev® ); 983 Ï¡_ev® = NuÎch ; 987 »tv® = `yy·r£ (); 989 myroÙ = ev®_roÙ ; 991 ià( »tv® ) { 992 ¡ = ¡ack -> ¬y_¬¿y ; 993 ¥ = ¬gÏ¡ [0]; 994 ià( gimme !ð G_ARRAY ) 995 ¡ [++ ¥ ] = & ¡r_undef ; 996 ià( ·rsšg ) { 997 #iâdeà MANGLEDPARSE 998 #ifdeà DEBUGGING 999 ià( debug & 128) 1000 `årštf ( ¡d”r ,"F»ešgƒv®_roÙ %lx\n",() ev®_roÙ ); 1002 `cmd_ä“ ( ev®_roÙ ); 1004 ià( ev®_roÙ =ð Ï¡_roÙ ) 1005 Ï¡_roÙ = NuÎcmd ; 1006 ev®_roÙ = myroÙ = NuÎcmd ; 1008 ià( rså ) { 1009 `fþo£ ( rså ); 1010 rså = 0; 1014 ·rsšg = 0; 1015 ¥ = `cmd_exec ( ev®_roÙ , gimme ,sp); 1016 ¡ = ¡ack -> ¬y_¬¿y ; 1017  i = ¬gÏ¡ [0] + 1; i <ð ¥ ; i++) 1018 ¡ [ i ] = `¡r_mÜ�l (st[i]); 1020 ià( š_ev® !ð1 && myroÙ !ð Ï¡_roÙ ) 1021 `cmd_ä“ ( myroÙ ); 1024 ³¾db = Þd³¾db ; 1025 š_ev® --; 1026 #ifdeà DEBUGGING 1027 ià( debug & 4) { 1028 * tmps = loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ; 1029 `deb ("(PÝpšg†ab– #%d %s)\n", loÝ_±r , 1030 tmps ?�mps : "" ); 1033 loÝ_±r --; 1034 tmps_ba£ = Þdtmps_ba£ ; 1035 cur¥© = Þd¥© ; 1036 Ï¡¥© = Þdl¥© ; 1037 ià( §ve¡ack -> ¬y_fžl > Þd§ve ) 1038 `»¡Ü–i¡ ( Þd§ve ); 1040 ià( Ýty³ !ð O_EVAL ) { 1041 ià( »tv® ) { 1042 ià( Ýty³ =ð O_REQUIRE ) 1043 `ç�l ("%s", `¡r_g‘ ( `¡ab_v® ( `¡ab’t ("@", TRUE )))); 1046 curcmd = Þdcurcmd ; 1047 ià( gimme =ð G_SCALAR ? `¡r_Œue ( ¡ [ ¥ ]è: s°> ¬gÏ¡ [0]) { 1048 () `h¡Üe ( `¡ab_hash ( šc¡ab ), ¥ecfž’ame , 1049 `¡¾’ ( ¥ecfž’ame ), `¡r_smake ( `¡ab_v® ( curcmd -> c_fže¡ab )), 1052 ià( Ýty³ =ð O_REQUIRE ) 1053 `ç�l ("% did‚Ù„‘uº‡�ru�v®ue", ¥ecfž’ame ); 1056 curcmd = Þdcurcmd ; 1057  ¥ ; 1058 } } 1063 $mÜesw™ches ( s ) 1064 * s ; 1066  numËn ; 1068 »sw™ch : 1069 * s ) { 1071 Äsch¬ = `sÿnoù ( s , 4, & numËn ); 1072 Äs = `n§ve¡r ("\n",1); 1073 * Äs = Äsch¬ ; 1074 ià( Äsch¬ > 0377) { 1075 Ħ’ = 0; 1076 Äs = ""; 1078 ià(! Äsch¬ && numËn >= 2) { 1079 Ħ’ = 2; 1080 Äs = "\n\n"; 1081 Äsch¬ = '\n'; 1083  s + numËn ; 1085 mšus_a = TRUE ; 1086 s ++; 1087  s ; 1089 mšus_c = TRUE ; 1090 s ++; 1091  s ; 1093 #ifdeà TAINT 1094 ià( euid !ð uid || egid !ð gid ) 1095 `ç�l ("No -d‡llowed in setuid scripts"); 1097 ³¾db = TRUE ; 1098 s ++; 1099  s ; 1101 #ifdeà DEBUGGING 1102 #ifdeà TAINT 1103 ià( euid !ð uid || egid !ð gid ) 1104 `ç�l ("No -D‡llowed in setuid scripts"); 1106 debug = `©oi ( s +1) | 32768; 1108 `w¬n ("Recompile…erl with -DDEBUGGING�o use -D switch\n"); 1110  s ++; `isdig™ (*s); s++) ; 1111  s ; 1113 š¶aû = `§ve¡r ( s +1); 1114  s = š¶aû ; * && ! `is¥aû (*s); s++) ; 1115 * s = '\0'; 1118 #ifdeà TAINT 1119 ià( euid !ð uid || egid !ð gid ) 1120 `ç�l ("No -I‡llowed in setuid scripts"); 1122 ià(*++ s ) { 1123 () `­ush ( `¡ab_¬¿y ( šc¡ab ), `¡r_make ( s ,0)); 1126 `ç�l ("No space‡llowed‡fter -I"); 1129 mšus_l = TRUE ; 1130 s ++; 1131 ià( `isdig™ (* s )) { 1132 Üs = `§ve¡r ("\n"); 1133 ܦ’ = 1; 1134 * Üs = `sÿnoù ( s , 3 + (* =ð'0'), & numËn ); 1135 s +ð numËn ; 1138 Üs = `n§ve¡r ( Äs , Ħ’ ); 1139 ܦ’ = Ħ’ ; 1141  s ; 1143 mšus_n = TRUE ; 1144 s ++; 1145  s ; 1147 mšus_p = TRUE ; 1148 s ++; 1149  s ; 1151 do_undump = TRUE ; 1152 s ++; 1153  s ; 1155 un§ã = TRUE ; 1156 s ++; 1157  s ; 1159 `åuts ("\nThi i ³¾, v”siÚ 4.0\n\n", ¡dout ); 1160 `åuts ( rcsid , ¡dout ); 1161 `åuts ("\nCÝyrighˆ(cè1989, 1990, 1991, L¬ry W®l\n", ¡dout ); 1162 #ifdeà MSDOS 1163 `åuts ("MS-DOS…ort Copyright (c) 1989, 1990, Diomidis Spinellis\n", 1164 ¡dout ); 1165 #ifdeà OS2 1166 `åuts ("OS/2…ort Copyright (c) 1990, Raymond Chen, Kai Uwe Rommel\n", 1167 ¡dout ); 1170 `åuts ("\n\ may b�cÝ›d oÆy und”�h�‹rm oàth�GNU G’”® PubliøLiûn£,\n\ cÝy oàwhich cª b�found w™h�h�P”È4.0 di¡ributiÚ k™.\n", ¡dout ); 1173 #ifdeà MSDOS 1174 `u§ge ( Üig¬gv [0]); 1176 `ex™ (0); 1178 dow¬n = TRUE ; 1179 s ++; 1180  s ; 1186 `ç�l ("Sw™ch m—nšgËs aá” -x: -%s", s ); 1188  NuÎch ; 1189 } } 1195 $my_uÃxec () 1197 #ifdeà UNEXEC 1198  ¡©us ; 1199  ‘ext ; 1200  dum²ame [ BUFSIZ ]; 1201  ³¾·th [256]; 1203 `¥rštf ( dum²ame , "%s.³¾dump", Üigfž’ame ); 1204 `¥rštf ( ³¾·th , "%s/³¾", BIN ); 1206 ¡©us = `uÃxec ( dum²ame , ³¾·th , & ‘ext , `sbrk (0), 0); 1207 ià( ¡©us ) 1208 `årštf ( ¡d”r , "uÃxeøoà% štØ% çžed!\n", ³¾·th , dum²ame ); 1209 `ex™ ( ¡©us ); 1211 #iâdeà SIGABRT 1212  #SIGABRT SIGILL ) 1214 #iâdeà SIGILL 1215  #SIGILL 6 ) 1217 `kžl ( `g‘pid (), SIGABRT ); 1219 } } @perl.h 17  #VOIDWANT 1 ) 18  ~"cÚfig.h " 20 #ifdeà MSDOS 30  #HAS_ALARM ) 31  #HAS_CHOWN ) 32  #HAS_CHROOT ) 33  #HAS_FORK ) 34  #HAS_GETLOGIN ) 35  #HAS_GETPPID ) 36  #HAS_KILL ) 37  #HAS_LINK ) 38  #HAS_PIPE ) 39  #HAS_WAIT ) 40  #HAS_UMASK ) 45  #HAS_GROUP ) 46  #HAS_PASSWD ) 50 #ià defšed ( HASVOLATILE è|| defšed( __STDC__ ) 51  #VOLATILE vÞ©že ) 53  #VOLATILE ) 56 #ifdeà IAMSUID 57 #iâdeà TAINT 58  #TAINT ) 62 #iâdeà HAS_VFORK 63  #vfÜk fÜk ) 66 #ifdeà HAS_GETPGRP2 67 #iâdeà HAS_GETPGRP 68  #HAS_GETPGRP ) 70  #g‘pg½ g‘pg½2 ) 73 #ifdeà HAS_SETPGRP2 74 #iâdeà HAS_SETPGRP 75  #HAS_SETPGRP ) 77  #£�g½ £�g½2 ) 80  ~<¡dio.h > 81  ~<ùy³.h > 82  ~<£tjmp.h > 83 #iâdeà MSDOS 84  ~ 86 #ifdeà __STDC__ 89  ~<¡ršg.h > 92 #ià defšed ( HAS_MEMCMP è&& defšed( m�s è&& BYTEORDER == 0x1234 93 #undeà HAS_MEMCMP 96 #ifdeà HAS_MEMCPY 98 #iâdeà __STDC__ 99 #iâdeà memýy 100 * memýy (), * mem£t (); 101  memcmp (); 105  #bcÝy ( s1 , s2 , l è `memýy (s2,s1,l) ) 106  #bz”o ( s , l è `mem£t (s,0,l) ) 109 #iâdeà HAS_BCMP 110  #bcmp ( s1 , s2 , l è `memcmp (s1,s2,l) ) 113 #iâdeà _TYPES_ 114 #iâdeà majÜ 115  ~ 119 #ifdeà I_NETINET_IN 120  ~<Ãtš‘/š.h > 123  ~ 125 #ifdeà I_TIME 126  ~ 129 #ifdeà I_SYS_TIME 130 #ifdeà SYSTIMEKERNEL 131  #KERNEL ) 133  ~ 134 #ifdeà SYSTIMEKERNEL 135 #undeà KERNEL 139 #iâdeà MSDOS 140  ~ 143 #ià defšed ( HAS_STRERROR è&& (!defšed( HAS_MKDIR è|| !defšed( HAS_RMDIR )) 144 #undeà HAS_STRERROR 147  ~<”ºo.h > 148 #iâdeà MSDOS 149 #iâdeà ”ºo 150  ”ºo ; 154 #iâdeà ¡»¼Ü 155 #ifdeà HAS_STRERROR 156 * ¡»¼Ü (); 158  sys_ü ; 159 * sys_”¾i¡ []; 160  #¡»¼Ü ( e è(Óè< 0 || (eè>ð sys_ü ? "(unknown)" : sys_”¾i¡ [e]) ) 164 #ifdeà I_SYSIOCTL 165 #iâdeà _IOCTL_ 166  ~ 170 #ià defšed ( mc300 è|| defšed( mc500 è|| defšed( mc700 ) 171 #ifdeà HAS_SOCKETPAIR 172 #undeà HAS_SOCKETPAIR 174 #ifdeà HAS_NDBM 175 #undeà HAS_NDBM 179 #ifdeà HAS_GDBM 180 #ifdeà I_GDBM 181  ~ 183  #SOME_DBM ) 184 #ifdeà HAS_NDBM 185 #undeà HAS_NDBM 187 #ifdeà HAS_ODBM 188 #undeà HAS_ODBM 191 #ifdeà HAS_NDBM 192  ~ 193  #SOME_DBM ) 194 #ifdeà HAS_ODBM 195 #undeà HAS_ODBM 198 #ifdeà HAS_ODBM 199 #ifdeà NULL 200 #undeà NULL 202  ~ 203 #ifdeà NULL 204 #undeà NULL 206  #NULL 0 ) 207  #SOME_DBM ) 208  #dbm_ãtch ( db , dkey è `ãtch (dkey) ) 209  #dbm_d–‘e ( db , dkey è `d–‘e (dkey) ) 210  #dbm_¡Üe ( db , dkey , dcÚ‹Á , æags è `¡Üe (dkey,dcÚ‹Á) ) 211  #dbm_þo£ ( db è `dbmþo£ () ) 212  #dbm_fœ¡key ( db è `fœ¡key () ) 216 #ifdeà SOME_DBM 217 EXT * gdbmkey ; 218 EXT  gdbmËn ; 221 #ià INTSIZE == 2 222  #htÚi htÚs ) 223  #Áohi Áohs ) 225  #htÚi htÚl ) 226  #Áohi Áohl ) 229 #ià defšed ( I_DIRENT ) 230  ~ 231  #DIRENT dœ’t ) 233 #ifdeà I_SYS_NDIR 234  ~ 235  #DIRENT dœeù ) 237 #ifdeà I_SYS_DIR 238 #ifdeà hp9000s500 239  ~ 241  ~ 243  #DIRENT dœeù ) 254 #iâdeà S_IFMT 255 #ifdeà _S_IFMT 256  #S_IFMT _S_IFMT ) 258  #S_IFMT 0170000 ) 262 #iâdeà S_ISDIR 263  #S_ISDIR ( m è((m & S_IFMT è=ð S_IFDIR ) ) 266 #iâdeà S_ISCHR 267  #S_ISCHR ( m è((m & S_IFMT è=ð S_IFCHR ) ) 270 #iâdeà S_ISBLK 271 #ifdeà S_IFBLK 272  #S_ISBLK ( m è((m & S_IFMT è=ð S_IFBLK ) ) 274  #S_ISBLK ( m è(0) ) 278 #iâdeà S_ISREG 279  #S_ISREG ( m è((m & S_IFMT è=ð S_IFREG ) ) 282 #iâdeà S_ISFIFO 283 #ifdeà S_IFIFO 284  #S_ISFIFO ( m è((m & S_IFMT è=ð S_IFIFO ) ) 286  #S_ISFIFO ( m è(0) ) 290 #iâdeà S_ISLNK 291 #ifdeà _S_ISLNK 292  #S_ISLNK ( m è `_S_ISLNK (m) ) 294 #ifdeà _S_IFLNK 295  #S_ISLNK ( m è((m & S_IFMT è=ð _S_IFLNK ) ) 297 #ifdeà S_IFLNK 298  #S_ISLNK ( m è((m & S_IFMT è=ð S_IFLNK ) ) 300  #S_ISLNK ( m è(0) ) 306 #iâdeà S_ISSOCK 307 #ifdeà _S_ISSOCK 308  #S_ISSOCK ( m è `_S_ISSOCK (m) ) 310 #ifdeà _S_IFSOCK 311  #S_ISSOCK ( m è((m & S_IFMT è=ð _S_IFSOCK ) ) 313 #ifdeà S_IFSOCK 314  #S_ISSOCK ( m è((m & S_IFMT è=ð S_IFSOCK ) ) 316  #S_ISSOCK ( m è(0) ) 322 #iâdeà S_IRUSR 323 #ifdeà S_IREAD 324  #S_IRUSR S_IREAD ) 325  #S_IWUSR S_IWRITE ) 326  #S_IXUSR S_IEXEC ) 328  #S_IRUSR 0400 ) 329  #S_IWUSR 0200 ) 330  #S_IXUSR 0100 ) 332  #S_IRGRP ( S_IRUSR >>3) ) 333  #S_IWGRP ( S_IWUSR >>3) ) 334  #S_IXGRP ( S_IXUSR >>3) ) 335  #S_IROTH ( S_IRUSR >>6) ) 336  #S_IWOTH ( S_IWUSR >>6) ) 337  #S_IXOTH ( S_IXUSR >>6) ) 340 #iâdeà S_ISUID 341  #S_ISUID 04000 ) 344 #iâdeà S_ISGID 345  #S_ISGID 02000 ) 348  tSTRLEN ; 350  ¬g tARG ; 351  cmd tCMD ; 352  fÜmcmd tFCMD ; 353  sÿÅ© tSPAT ; 354  ¡io tSTIO ; 355  sub tSUBR ; 356  ¡ršg tSTR ; 357  ©bl tARRAY ; 358  htbl tHASH ; 359  »gexp tREGEXP ; 360  ¡ab±rs tSTBP ; 361  ¡ab tSTAB ; 362  ÿΧve tCSV ; 364  ~"hªdy.h " 365  ~"»gexp.h " 366  ~"¡r.h " 367  ~"utž.h " 368  ~"fÜm.h " 369  ~"¡ab.h " 370  ~"¥©.h " 371  ~"¬g.h " 372  ~"cmd.h " 373  ~"¬¿y.h " 374  ~"hash.h " 376 #ià defšed ( iAPX286 è|| defšed( M_I286 è|| defšed( I80286 ) 377  #I286 ) 380 #iâdef __STDC__ 381 #ifdeà CHARSPRINTF 382 * ¥rštf (); 384  ¥rštf (); 388 EXT * Yes INIT ("1"); 389 EXT * No INIT (""); 394  #G_SCALAR 0 ) 395  #G_ARRAY 1 ) 397 #ifdeà CRIPPLED_CC 398  ¡r_Œue (); 400  #¡r_Œue ( ¡r è( SŒ = (str), \ 401 ( SŒ -> ¡r_pok ? \ 402 ((* SŒ -> ¡r_±r > '0' || \ 403 SŒ -> ¡r_cur > 1 || \ 404 ( SŒ -> ¡r_cur && *SŒ-> ¡r_±r != '0')) ? 1 : 0) \ 406 ( SŒ -> ¡r_nok ? (SŒ-> ¡r_u . ¡r_nv® !ð0.0è: 0 ) )) ) 409 #ifdeà DEBUGGING 410  #¡r_³ek ( ¡r è( SŒ = (str), \ 411 ( SŒ -> ¡r_pok ? \ 412 SŒ -> ¡r_±r : \ 413 ( SŒ -> ¡r_nok ? \ 414 ( `¥rštf ( tok’buf ,"num(%g)", SŒ -> ¡r_u . ¡r_nv® ), \ 415 (*) tok’buf ) : \ 416 "" ))) ) 419 #ifdeà CRIPPLED_CC 420 * ¡r_g‘ (); 422 #ifdeà TAINT 423  #¡r_g‘ ( ¡r è( SŒ = (¡r), �š‹d |ðSŒ-> ¡r_�š‹d , \ 424 ( SŒ -> ¡r_pok ? SŒ-> ¡r_±r : `¡r_2±r (SŒ))) ) 426  #¡r_g‘ ( ¡r è( SŒ = (¡r), (SŒ-> ¡r_pok ? SŒ-> ¡r_±r : `¡r_2±r (SŒ))) ) 430 #ifdeà CRIPPLED_CC 431  ¡r_gnum (); 433 #ifdeà TAINT 434  #¡r_gnum ( ¡r è( SŒ = (¡r), �š‹d |ðSŒ-> ¡r_�š‹d , \ 435 ( SŒ -> ¡r_nok ? SŒ-> ¡r_u . ¡r_nv® : `¡r_2num (SŒ))) ) 437  #¡r_gnum ( ¡r è( SŒ = (¡r), (SŒ-> ¡r_nok ? SŒ-> ¡r_u . ¡r_nv® : `¡r_2num (SŒ))) ) 440 EXT STR * gSŒ ; 442  #GROWSTR ( µ , Í , Ën èià(*Öpè< (Ën)è `grow¡r Õp,Í,Ën) ) 444 #iâdeà MSDOS 445  #STR_GROW ( ¡r , Ën èià((¡r)-> ¡r_Ën < (Ën)è `¡r_grow (¡r,Ën) ) 446  #SŒ_Grow ¡r_grow ) 449  #STR_GROW ( ¡r , Ën èià((¡r)-> ¡r_Ën < ()len) \ 450 `¡r_grow ( ¡r ,() Ën ) ) 451  #SŒ_Grow ( ¡r , Ën è `¡r_grow (¡r,()Ö’)) ) 454 #iâdeà BYTEORDER 455  #BYTEORDER 0x1234 ) 458 #ià defšed ( htÚl è&& !defšed( HAS_HTONL ) 459  #HAS_HTONL ) 461 #ià defšed ( htÚs è&& !defšed( HAS_HTONS ) 462  #HAS_HTONS ) 464 #ià defšed ( Áohl è&& !defšed( HAS_NTOHL ) 465  #HAS_NTOHL ) 467 #ià defšed ( Áohs è&& !defšed( HAS_NTOHS ) 468  #HAS_NTOHS ) 470 #iâdeà HAS_HTONL 471 #ià( BYTEORDER & 0xffff) != 0x4321 472  #HAS_HTONS ) 473  #HAS_HTONL ) 474  #HAS_NTOHS ) 475  #HAS_NTOHL ) 476  #MYSWAP ) 477  #htÚs my_sw­ ) 478  #htÚl my_htÚl ) 479  #Áohs my_sw­ ) 480  #Áohl my_Áohl ) 483 #ià( BYTEORDER & 0xffff) == 0x4321 484 #undeà HAS_HTONS 485 #undeà HAS_HTONL 486 #undeà HAS_NTOHS 487 #undeà HAS_NTOHL 491 #ifdeà CASTNEGFLOAT 492  #U_S ( wh© è(()(wh©)) ) 493  #U_I ( wh© è(()(wh©)) ) 494  #U_L ( wh© è(()(wh©)) ) 496  ÿ¡ulÚg (); 497  #U_S ( wh© è(() `ÿ¡ulÚg (wh©)) ) 498  #U_I ( wh© è(() `ÿ¡ulÚg (wh©)) ) 499  #U_L ( wh© è( `ÿ¡ulÚg (wh©)) ) 502 CMD * add_Ïb– (); 503 CMD * block_h—d (); 504 CMD * ­³nd_lše (); 505 CMD * make_acmd (); 506 CMD * make_ccmd (); 507 CMD * make_icmd (); 508 CMD * šv”t (); 509 CMD * addcÚd (); 510 CMD * addloÝ (); 511 CMD * wÝt (); 512 CMD * ov” (); 514 STAB * ¡ab’t (); 515 STAB * g’¡ab (); 517 ARG * ¡ab2¬g (); 518 ARG * Ý_Ãw (); 519 ARG * make_Ý (); 520 ARG * make_m©ch (); 521 ARG * make_¥l™ (); 522 ARG * rÿtmaybe (); 523 ARG * li¡ish (); 524 ARG * mayb–i¡ish (); 525 ARG * loÿlize (); 526 ARG * fixev® (); 527 ARG * jmaybe (); 528 ARG * l (); 529 ARG * fixl (); 530 ARG * mod_m©ch (); 531 ARG * make_li¡ (); 532 ARG * cmd_to_¬g (); 533 ARG * addæags (); 534 ARG * hide_¬y (); 535 ARG * cv®_to_¬g (); 537 STR * ¡r_Ãw (); 538 STR * ¡ab_¡r (); 540  do_—ch (); 541  do_subr (); 542  do_m©ch (); 543  do_uÅack (); 544  ev® (); 545  do_ev® (); 546  do_assign (); 548 SUBR * make_sub (); 550 FCMD * lßd_fÜm© (); 552 * sÿÅ© (); 553 * sÿnsub¡ (); 554 * sÿÁ¿ns (); 555 * sÿn¡r (); 556 * sÿnid’t (); 557 * ¡r_­³nd_tžl (); 558 * ¡r_g‘s (); 559 * ¡r_grow (); 561 boÞ do_Ý’ (); 562 boÞ do_þo£ (); 563 boÞ do_´št (); 564 boÞ do_­ršt (); 565 boÞ do_exec (); 566 boÞ do_«xec (); 568  do_sub¡ (); 569  ÿndo (); 570  šgroup (); 572  ¡r_»¶aû (); 573  ¡r_šc (); 574  ¡r_dec (); 575  ¡r_ä“ (); 576  ¡ab_þ—r (); 577  do_još (); 578  do_¥rštf (); 579  do_acû± (); 580  do_p�e (); 581  do_vec£t (); 582  do_unshiá (); 583  do_execä“ (); 584  magiÿlize (); 585  magiúame (); 586  §v–i¡ (); 587  §ve™em (); 588  §vešt (); 589  §v–Úg (); 590  §ve¥Œ (); 591  §veh±r (); 592  »¡Ü–i¡ (); 593  »³©ýy (); 594 HASH * §vehash (); 595 ARRAY * §v—ry (); 597 EXT ** gÜig¬gv ; 598 EXT  gÜig¬gc ; 599 EXT ** gÜig’vœÚ ; 600 ** ’vœÚ ; 602 EXT lše_t sublše INIT (0); 603 EXT STR * subÇme INIT ( NuΡr ); 604 EXT  ¬yba£ INIT (0); 606  souŒec { 607  mo_lšes ; 608 * mo_¡r ; 609  mo_Ën ; 612 EXT  ouŒec gouŒec ; 613 EXT  ouŒec gtÝ»c ; 615 EXT STAB * ¡dš¡ab INIT ( NuΡab ); 616 EXT STAB * Ï¡_š_¡ab INIT ( NuΡab ); 617 EXT STAB * def¡ab INIT ( NuΡab ); 618 EXT STAB * ¬gv¡ab INIT ( NuΡab ); 619 EXT STAB * ’v¡ab INIT ( NuΡab ); 620 EXT STAB * sig¡ab INIT ( NuΡab ); 621 EXT STAB * defout¡ab INIT ( NuΡab ); 622 EXT STAB * curout¡ab INIT ( NuΡab ); 623 EXT STAB * ¬gvout¡ab INIT ( NuΡab ); 624 EXT STAB * šc¡ab INIT ( NuΡab ); 625 EXT STAB * Ëá¡ab INIT ( NuΡab ); 626 EXT STAB * am³r¡ab INIT ( NuΡab ); 627 EXT STAB * right¡ab INIT ( NuΡab ); 628 EXT STAB * DB¡ab INIT ( NuΡab ); 629 EXT STAB * DBlše INIT ( NuΡab ); 630 EXT STAB * DBsub INIT ( NuΡab ); 632 EXT HASH * gdef¡ash ; 633 EXT HASH * gcur¡ash ; 634 EXT HASH * gdeb¡ash ; 636 EXT STR * gcur¡Çme ; 638 EXT STR * ä“¡¼oÙ INIT ( NuΡr ); 639 EXT STR * Ï¡»t¡r INIT ( NuΡr ); 640 EXT STR * DBsšgË INIT ( NuΡr ); 641 EXT STR * DBŒaû INIT ( NuΡr ); 642 EXT STR * DBsigÇl INIT ( NuΡr ); 644 EXT  gÏ¡¥ba£ ; 645 EXT  gÏ¡size ; 647 EXT * hexdig™ INIT ("0123456789abcdef0123456789ABCDEF"); 648 EXT * gÜigfž’ame ; 649 EXT FILE * VOLATILE grså ; 650 EXT  gbuf [1024]; 651 EXT * gbuåŒ ; 652 EXT * gÞdbuåŒ ; 653 EXT * gÞdÞdbuåŒ ; 654 EXT * gbuãnd ; 656 EXT STR * lše¡r INIT ( NuΡr ); 658 EXT * rs INIT ("\n"); 659 EXT  rsch¬ INIT ('\n'); 660 EXT  r¦’ INIT (1); 661 EXT * ofs INIT ( NuÎch ); 662 EXT  of¦’ INIT (0); 663 EXT * Üs INIT ( NuÎch ); 664 EXT  ܦ’ INIT (0); 665 EXT * ofmt INIT ( NuÎch ); 666 EXT * š¶aû INIT ( NuÎch ); 667 EXT * nošŒp INIT (""); 669 EXT boÞ ´•roûss INIT ( FALSE ); 670 EXT boÞ mšus_n INIT ( FALSE ); 671 EXT boÞ mšus_p INIT ( FALSE ); 672 EXT boÞ mšus_l INIT ( FALSE ); 673 EXT boÞ mšus_a INIT ( FALSE ); 674 EXT boÞ dosw™ches INIT ( FALSE ); 675 EXT boÞ dow¬n INIT ( FALSE ); 676 EXT boÞ dÛxŒaù INIT ( FALSE ); 677 EXT boÞ ®l¡abs INIT ( FALSE ); 678 EXT boÞ §wam³r§nd INIT ( FALSE ); 679 EXT boÞ §w¡udy INIT ( FALSE ); 680 EXT boÞ §wi INIT ( FALSE ); 681 EXT boÞ §wvec INIT ( FALSE ); 682 EXT boÞ loÿlizšg INIT ( FALSE ); 684 #ifdeà CSH 685 * cshÇme INIT ( CSH ); 686  cshËn INIT (0); 689 #ifdeà TAINT 690 EXT boÞ �š‹d INIT ( FALSE ); 693 #iâdeà MSDOS 694  #TMPPATH "/tmp/³¾-eXXXXXX" ) 696  #TMPPATH "¶XXXXXX" ) 698 EXT * ge_tm²ame ; 699 EXT FILE * e_å INIT ( NuÎå ); 701 EXT  gtok’buf [256]; 702 EXT  ex³ù‹rm INIT ( TRUE ); 703 EXT VOLATILE  š_ev® INIT ( FALSE ); 704 EXT  muÉžše INIT (0); 705 EXT  gfÜk´oûss ; 706 EXT  do_undump INIT (0); 707 EXT  ”rÜ_couÁ INIT (0); 708 EXT  muÉi_¡¬t INIT (0); 709 EXT  muÉi_’d INIT (0); 710 EXT  muÉi_Ý’ INIT (0); 711 EXT  muÉi_þo£ INIT (0); 713 FILE * pÝ’ (); 715 STR * š‹½ (); 716  ä“_¬g (); 717 STIO * ¡io_Ãw (); 719 EXT  ¡© g¡©buf ; 720 EXT  ¡© g¡©ÿche ; 721 STAB * ¡©¡ab INIT ( NuΡab ); 722 STR * g¡©Çme ; 723 #iâdeà MSDOS 724 EXT  tms gtimesbuf ; 726 EXT  guid ; 727 EXT  geuid ; 728 EXT  ggid ; 729 EXT  gegid ; 730 UIDTYPE g‘uid (); 731 UIDTYPE g‘euid (); 732 GIDTYPE g‘gid (); 733 GIDTYPE g‘egid (); 734 EXT  gun§ã ; 736 #ifdeà DEBUGGING 737 EXT VOLATILE  debug INIT (0); 738 EXT  dËv– INIT (0); 739 EXT  dlmax INIT (128); 740 EXT * gdebÇme ; 741 EXT * gdebd–im ; 742  #YYDEBUG 1 ) 744 EXT  ³¾db INIT (0); 745  #YYMAXDEPTH 300 ) 747 EXT lše_t cmdlše INIT ( NOLINE ); 749 EXT STR g¡r_undef ; 750 EXT STR g¡r_no ; 751 EXT STR g¡r_yes ; 755 EXT  sloÝ { 756 * mloÝ_Ïb– ; 757  mloÝ_¥ ; 758 jmp_buf mloÝ_’v ; 759 } * gloÝ_¡ack ; 761 EXT  loÝ_±r INIT (-1); 762 EXT  loÝ_max INIT (128); 764 EXT jmp_buf gtÝ_’v ; 766 EXT * VOLATILE gÙo_�rg INIT ( NuÎch ); 768  sufuncs { 769 (* muf_v® )(); 770 (* muf_£t )(); 771  muf_šdex ; 774 EXT ARRAY * g¡ack ; 776 EXT ARRAY * VOLATILE g§ve¡ack ; 778 EXT ARRAY * gto§ve ; 780 EXT ARRAY * glš—ry ; 781 EXT ARRAY * gdb¬gs ; 783 EXT ARRAY * gfdpid ; 784 EXT HASH * gpid¡©us ; 786 EXT * gdi ; 787 EXT * gdc ; 788 EXT * gds ; 791 EXT  ba£time INIT (0); 792 * mk‹mp (); 793 #iâdeà __STDC__ 795  ©of (); 796  time (); 797  tm * gmtime (), * loÿÉime (); 798 * šdex (), * ršdex (); 799 * ¡rýy (), * ¡rÿt (); 802 #ifdeà EUNICE 803  #UNLINK uÆnk ) 804  uÆnk (); 806  #UNLINK uÆšk ) 809 #iâdeà HAS_SETREUID 810 #ifdeà HAS_SETRESUID 811  #£Œeuid ( r , e è `£Œesuid Ô,e,-1) ) 812  #HAS_SETREUID ) 815 #iâdeà HAS_SETREGID 816 #ifdeà HAS_SETRESGID 817  #£Œegid ( r , e è `£Œesgid Ô,e,-1) ) 818  #HAS_SETREGID ) 822 #iâdeà åuts 823  #åuts ( ¡r , å è `årštf (å,"%s",¡r) ) @perly.c 1 #iâdeà lšt 3 gyyrcsid [] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1.28 2000/01/17 02:04:06 bde Exp $"; 5  ~<¡dlib.h > 6  #YYBYACC 1 ) 7  #YYMAJOR 1 ) 8  #YYMINOR 9 ) 9  #YYLEX `yyËx () ) 10  #YYEMPTY -1 ) 11  #yyþ—rš ( yych¬ =( YYEMPTY )) ) 12  #yy”rok ( yy”ræag =0) ) 13  #YYRECOVERING (è( yy”ræag !=0) ) 14  yygrow¡ack (); 15  #YYPREFIX "yy" ) 17  ~"INTERN.h " 18  ~"³¾.h " 20 STAB * gsü¡ab ; 21 ARG * g¬g4 ; 22 ARG * g¬g5 ; 26  miv® ; 27 * mcv® ; 28 ARG * m¬g ; 29 CMD * mcmdv® ; 30  compcmd mcompv® ; 31 STAB * m¡abv® ; 32 FCMD * mfÜmv® ; 33 } tYYSTYPE ; 35  #YYERRCODE 256 ) 36  #WORD 257 ) 37  #APPEND 258 ) 38  #OPEN 259 ) 39  #SSELECT 260 ) 40  #LOOPEX 261 ) 41  #USING 262 ) 42  #FORMAT 263 ) 43  #DO 264 ) 44  #SHIFT 265 ) 45  #PUSH 266 ) 46  #POP 267 ) 47  #LVALFUN 268 ) 48  #WHILE 269 ) 49  #UNTIL 270 ) 50  #IF 271 ) 51  #UNLESS 272 ) 52  #ELSE 273 ) 53  #ELSIF 274 ) 54  #CONTINUE 275 ) 55  #SPLIT 276 ) 56  #FLIST 277 ) 57  #FOR 278 ) 58  #FILOP 279 ) 59  #FILOP2 280 ) 60  #FILOP3 281 ) 61  #FILOP4 282 ) 62  #FILOP22 283 ) 63  #FILOP25 284 ) 64  #FUNC0 285 ) 65  #FUNC1 286 ) 66  #FUNC2 287 ) 67  #FUNC2x 288 ) 68  #FUNC3 289 ) 69  #FUNC4 290 ) 70  #FUNC5 291 ) 71  #HSHFUN 292 ) 72  #HSHFUN3 293 ) 73  #FLIST2 294 ) 74  #SUB 295 ) 75  #FILETEST 296 ) 76  #LOCAL 297 ) 77  #DELETE 298 ) 78  #RELOP 299 ) 79  #EQOP 300 ) 80  #MULOP 301 ) 81  #ADDOP 302 ) 82  #PACKAGE 303 ) 83  #AMPER 304 ) 84  #FORMLIST 305 ) 85  #REG 306 ) 86  #ARYLEN 307 ) 87  #ARY 308 ) 88  #HSH 309 ) 89  #STAR 310 ) 90  #SUBST 311 ) 91  #PATTERN 312 ) 92  #RSTRING 313 ) 93  #TRANS 314 ) 94  #LISTOP 315 ) 95  #DOTDOT 316 ) 96  #OROR 317 ) 97  #ANDAND 318 ) 98  #UNIOP 319 ) 99  #LS 320 ) 100  #RS 321 ) 101  #MATCH 322 ) 102  #NMATCH 323 ) 103  #UMINUS 324 ) 104  #POW 325 ) 105  #INC 326 ) 106  #DEC 327 ) 107 cÚ¡  gyylhs [] = { -1, 128 cÚ¡  gyyËn [] = { 2, 149 cÚ¡  gyydeäed [] = { 1, 192 cÚ¡  gyydgÙo [] = { 1, 197 cÚ¡  gyysšdex [] = { 0, 240 cÚ¡  gyyršdex [] = { 0, 283 cÚ¡  gyygšdex [] = { 0, 288  #YYTABLESIZE 6272 ) 289 cÚ¡  gyy�bË [] = { 88, 919 cÚ¡  gyycheck [] = { 18, 1549  #YYFINAL 1 ) 1550 #iâdeà YYDEBUG 1551  #YYDEBUG 0 ) 1553  #YYMAXTOKEN 327 ) 1554 #ià YYDEBUG 1555 cÚ¡ * cÚ¡ gyyÇme [] = { 1572 cÚ¡ * cÚ¡ gyyruË [] = { 1757 #ià YYDEBUG 1758  ~<¡dio.h > 1760 #ifdeà YYSTACKSIZE 1761 #undeà YYMAXDEPTH 1762  #YYMAXDEPTH YYSTACKSIZE ) 1764 #ifdeà YYMAXDEPTH 1765  #YYSTACKSIZE YYMAXDEPTH ) 1767  #YYSTACKSIZE 10000 ) 1768  #YYMAXDEPTH 10000 ) 1771  #YYINITSTACKSIZE 200 ) 1772  gyydebug ; 1773  gyyüs ; 1774  gyy”ræag ; 1775  gyych¬ ; 1776 * gyys¥ ; 1777 YYSTYPE * gyyv¥ ; 1778 YYSTYPE gyyv® ; 1779 YYSTYPE gyylv® ; 1780 * gyyss ; 1781 * gyys¦im ; 1782 YYSTYPE * gyyvs ; 1783  gyy¡acksize ; 1788  $yygrow¡ack () 1790  Ãwsize , i ; 1791 * Ãwss ; 1792 YYSTYPE * Ãwvs ; 1794 ià(( Ãwsize = yy¡acksize ) == 0) 1795 Ãwsize = YYINITSTACKSIZE ; 1796 ià( Ãwsize >ð YYMAXDEPTH ) 1798 ià(( Ãwsize *ð2è> YYMAXDEPTH ) 1799 Ãwsize = YYMAXDEPTH ; 1800 i = yys¥ - yyss ; 1801 Ãwss = yyss ? (*) `»®loc (yyss, Ãwsize *  *newss) : 1802 (*) `m®loc ( Ãwsize *  * Ãwss ); 1803 ià( Ãwss =ð NULL ) 1805 yyss = Ãwss ; 1806 yys¥ = Ãwss + i ; 1807 Ãwvs = yyvs ? ( YYSTYPE *) `»®loc (yyvs, Ãwsize *  *newvs) : 1808 ( YYSTYPE *) `m®loc ( Ãwsize *  * Ãwvs ); 1809 ià( Ãwvs =ð NULL ) 1811 yyvs = Ãwvs ; 1812 yyv¥ = Ãwvs + i ; 1813 yy¡acksize = Ãwsize ; 1814 yys¦im = yyss + Ãwsize - 1; 1816 } } 1818  #YYABORT  yyabÜt ) 1819  #YYREJECT  yyabÜt ) 1820  #YYACCEPT  yyacû± ) 1821  #YYERROR  yy”¾ab ) 1823 #iâdeà YYPARSE_PARAM 1824 #ià defšed ( __ýlu¥lus è|| __STDC__ 1825  #YYPARSE_PARAM_ARG  ) 1826  #YYPARSE_PARAM_DECL ) 1828  #YYPARSE_PARAM_ARG ) 1829  #YYPARSE_PARAM_DECL ) 1832 #iâdeà YYPARSE_PARAM_TYPE 1833  #YYPARSE_PARAM_TYPE * ) 1835 #ià defšed ( __ýlu¥lus è|| __STDC__ 1836  #YYPARSE_PARAM_ARG YYPARSE_PARAM_TYPE YYPARSE_PARAM ) 1837  #YYPARSE_PARAM_DECL ) 1839  #YYPARSE_PARAM_ARG YYPARSE_PARAM ) 1840  #YYPARSE_PARAM_DECL YYPARSE_PARAM_TYPE YYPARSE_PARAM ; ) 1845 $yy·r£ ( YYPARSE_PARAM_ARG ) 1846 YYPARSE_PARAM_DECL 1848  yym , yyn , yy¡©e ; 1849 #ià YYDEBUG 1850 cÚ¡ * yys ; 1852 ià(( yys = `g‘’v ("YYDEBUG"))) 1854 yyn = * yys ; 1855 ià( yyn >= '0' && yyn <= '9') 1856 yydebug = yyn - '0'; 1860 yyüs = 0; 1861 yy”ræag = 0; 1862 yych¬ = (-1); 1864 ià( yyss =ð NULL && `yygrow¡ack ()è yyov”æow ; 1865 yys¥ = yyss ; 1866 yyv¥ = yyvs ; 1867 * yys¥ = yy¡©e = 0; 1869 yyloÝ : 1870 ià(( yyn = yydeäed [ yy¡©e ])è yy»duû ; 1871 ià( yych¬ < 0) 1873 ià(( yych¬ = `yyËx ()) < 0) yychar = 0; 1874 #ià YYDEBUG 1875 ià( yydebug ) 1877 yys = 0; 1878 ià( yych¬ <ð YYMAXTOKEN è yys = yyÇme [yychar]; 1879 ià(! yys ) yys = "illegal-symbol"; 1880 `´štf ("%sdebug: state %d,„eading %d (%s)\n", 1881 YYPREFIX , yy¡©e , yych¬ , yys ); 1885 ià(( yyn = yysšdex [ yy¡©e ]è&& (yyÀ+ð yych¬ ) >= 0 && 1886 yyn <ð YYTABLESIZE && yycheck [yyn] =ð yych¬ ) 1888 #ià YYDEBUG 1889 ià( yydebug ) 1890 `´štf ("%sdebug: state %d, shifting�o state %d\n", 1891 YYPREFIX , yy¡©e , yy�bË [ yyn ]); 1893 ià( yys¥ >ð yys¦im && `yygrow¡ack ()) 1895  yyov”æow ; 1897 *++ yys¥ = yy¡©e = yy�bË [ yyn ]; 1898 *++ yyv¥ = yylv® ; 1899 yych¬ = (-1); 1900 ià( yy”ræag > 0) --yyerrflag; 1901  yyloÝ ; 1903 ià(( yyn = yyršdex [ yy¡©e ]è&& (yyÀ+ð yych¬ ) >= 0 && 1904 yyn <ð YYTABLESIZE && yycheck [yyn] =ð yych¬ ) 1906 yyn = yy�bË [yyn]; 1907  yy»duû ; 1909 ià( yy”ræag è yyš»cov”y ; 1910 #ià `defšed ( lšt è|| defšed( __GNUC__ ) 1911  yyÃw”rÜ ; 1913 yyÃw”rÜ : 1914 `yy”rÜ ("syntaxƒrror"); 1915 #ià `defšed ( lšt è|| defšed( __GNUC__ ) 1916  yy”¾ab ; 1918 yy”¾ab : 1919 ++ yyüs ; 1920 yyš»cov”y : 1921 ià( yy”ræag < 3) 1923 yy”ræag = 3; 1926 ià(( yyn = yysšdex [* yys¥ ]è&& (yyÀ+ð YYERRCODE ) >= 0 && 1927 yyn <ð YYTABLESIZE && yycheck [yyn] =ð YYERRCODE ) 1929 #ià YYDEBUG 1930 ià( yydebug ) 1931 `´štf ("%sdebug: s�‹ %d,ƒ¼Ü„ecov”y shiášg\ s�‹ %d\n", YYPREFIX , * yys¥ , yy�bË [ yyn ]); 1934 ià( yys¥ >ð yys¦im && `yygrow¡ack ()) 1936  yyov”æow ; 1938 *++ yys¥ = yy¡©e = yy�bË [ yyn ]; 1939 *++ yyv¥ = yylv® ; 1940  yyloÝ ; 1944 #ià YYDEBUG 1945 ià( yydebug ) 1946 `´štf ("%sdebug:ƒrror„ecovery discarding state %d\n", 1947 YYPREFIX , * yys¥ ); 1949 ià( yys¥ <ð yyss è yyabÜt ; 1950 -- yys¥ ; 1951 -- yyv¥ ; 1957 ià( yych¬ =ð0è yyabÜt ; 1958 #ià YYDEBUG 1959 ià( yydebug ) 1961 yys = 0; 1962 ià( yych¬ <ð YYMAXTOKEN è yys = yyÇme [yychar]; 1963 ià(! yys ) yys = "illegal-symbol"; 1964 `´štf ("%sdebug: state %d,ƒrror„ecovery discards�oken %d (%s)\n", 1965 YYPREFIX , yy¡©e , yych¬ , yys ); 1968 yych¬ = (-1); 1969  yyloÝ ; 1971 yy»duû : 1972 #ià YYDEBUG 1973 ià( yydebug ) 1974 `´štf ("%sdebug: state %d,„educing by„ule %d (%s)\n", 1975 YYPREFIX , yy¡©e , yyn , yyruË [yyn]); 1977 yym = yyËn [ yyn ]; 1978 yyv® = yyv¥ [1- yym ]; 1979  yyn ) 1984 #ià `defšed ( YYDEBUG è&& defšed( DEBUGGING ) 1985 yydebug = ( debug & 1); 1991 { ià( š_ev® ) 1992 ev®_roÙ = `block_h—d ( yyv¥ [0]. cmdv® ); 1994 maš_roÙ = `block_h—d ( yyv¥ [0]. cmdv® ); } 1998 { yyv® . compv® . comp_Œue = yyv¥ [-2]. cmdv® ; yyv®.compv®. comp_®t = yyvsp[0].cmdval; } 2002 { yyv® . compv® . comp_Œue = yyv¥ [-1]. cmdv® ; yyv®.compv®. comp_®t = yyvsp[0].cmdval; } 2006 { yyv® . cmdv® = NuÎcmd ; } 2010 { yyv® . cmdv® = yyv¥ [0].cmdval; } 2014 { cmdlše = yyv¥ [-4]. iv® ; 2015 yyv® . cmdv® = `make_ccmd ( C_ELSIF , yyv¥ [-2]. ¬g ,yyv¥[0]. compv® ); } 2019 { yyv® . cmdv® = `block_h—d ( yyv¥ [-1].cmdval); 2020 ià( §ve¡ack -> ¬y_fžl > yyv¥ [-2]. iv® ) 2021 `»¡Ü–i¡ ( yyv¥ [-2]. iv® ); } 2025 { yyv® . iv® = §ve¡ack -> ¬y_fžl ; } 2029 { yyv® . cmdv® = NuÎcmd ; } 2033 { yyv® . cmdv® = `­³nd_lše ( yyv¥ [-1].cmdval,yyvsp[0].cmdval); } 2037 { yyv® . cmdv® = NuÎcmd ; } 2041 { yyv® . cmdv® = `add_Ïb– ( yyv¥ [-1]. cv® ,yyvsp[0].cmdval); } 2045 { ià( yyv¥ [-1]. cv® !ð NuÎch ) { 2046 yyv® . cmdv® = `add_Ïb– ( yyv¥ [-1]. cv® , `make_acmd ( C_EXPR , NuΡab , 2047 Nuάg , Nullarg) ); 2050 yyv® . cmdv® = NuÎcmd ; 2051 cmdlše = NOLINE ; 2056 { yyv® . cmdv® = `add_Ïb– ( yyv¥ [-2]. cv® ,yyvsp[-1].cmdval); } 2060 { yyv® . cmdv® = NuÎcmd ; } 2064 { yyv® . cmdv® = `make_acmd ( C_EXPR , NuΡab , yyv¥ [0]. ¬g , Nuάg ); } 2068 { yyv® . cmdv® = `addcÚd ( 2069 `make_acmd ( C_EXPR , NuΡab , Nuάg , yyv¥ [-2]. ¬g ), yyvsp[0].arg); } 2073 { yyv® . cmdv® = `addcÚd ( `šv”t ( 2074 `make_acmd ( C_EXPR , NuΡab , Nuάg , yyv¥ [-2]. ¬g )), yyvsp[0].arg); } 2078 { yyv® . cmdv® = `addloÝ ( 2079 `make_acmd ( C_EXPR , NuΡab , Nuάg , yyv¥ [-2]. ¬g ), yyvsp[0].arg); } 2083 { yyv® . cmdv® = `addloÝ ( `šv”t ( 2084 `make_acmd ( C_EXPR , NuΡab , Nuάg , yyv¥ [-2]. ¬g )), yyvsp[0].arg); } 2088 { cmdlše = yyv¥ [-4]. iv® ; 2089 yyv® . cmdv® = `make_icmd ( C_IF , yyv¥ [-2]. ¬g ,yyv¥[0]. compv® ); } 2093 { cmdlše = yyv¥ [-4]. iv® ; 2094 yyv® . cmdv® = `šv”t ( `make_icmd ( C_IF , yyv¥ [-2]. ¬g ,yyv¥[0]. compv® )); } 2098 { cmdlše = yyv¥ [-2]. iv® ; 2099 yyv® . cmdv® = `make_ccmd ( C_IF , `cmd_to_¬g ( yyv¥ [-1].cmdv®),yyv¥[0]. compv® ); } 2103 { cmdlše = yyv¥ [-2]. iv® ; 2104 yyv® . cmdv® = `šv”t ( `make_ccmd ( C_IF , `cmd_to_¬g ( yyv¥ [-1].cmdv®),yyv¥[0]. compv® )); } 2108 { cmdlše = yyv¥ [-4]. iv® ; 2109 yyv® . cmdv® = `wÝt ( `add_Ïb– ( yyv¥ [-5]. cv® , 2110 `make_ccmd ( C_WHILE , yyv¥ [-2]. ¬g ,yyv¥[0]. compv® ) )); } 2114 { cmdlše = yyv¥ [-4]. iv® ; 2115 yyv® . cmdv® = `wÝt ( `add_Ïb– ( yyv¥ [-5]. cv® , 2116 `šv”t ( `make_ccmd ( C_WHILE , yyv¥ [-2]. ¬g ,yyv¥[0]. compv® )) )); } 2120 { cmdlše = yyv¥ [-2]. iv® ; 2121 yyv® . cmdv® = `wÝt ( `add_Ïb– ( yyv¥ [-3]. cv® , 2122 `make_ccmd ( C_WHILE , `cmd_to_¬g ( yyv¥ [-1]. cmdv® ),yyv¥[0]. compv® ) )); } 2126 { cmdlše = yyv¥ [-2]. iv® ; 2127 yyv® . cmdv® = `wÝt ( `add_Ïb– ( yyv¥ [-3]. cv® , 2128 `šv”t ( `make_ccmd ( C_WHILE , `cmd_to_¬g ( yyv¥ [-1]. cmdv® ),yyv¥[0]. compv® )) )); } 2132 { cmdlše = yyv¥ [-5]. iv® ; 2145 ià( yyv¥ [-2]. ¬g -> ¬g_ty³ !ð O_ARRAY ) { 2146 sü¡ab = `¯dd ( `g’¡ab ()); 2147 yyv® . cmdv® = `­³nd_lše ( 2148 `make_acmd ( C_EXPR , NuΡab , 2149 `l ( `make_Ý ( O_ASSIGN ,2, 2150 `li¡ish ( `make_Ý ( O_ARRAY , 1, 2151 `¡ab2¬g ( A_STAB , sü¡ab ), 2152 Nuάg ,Nullarg )), 2153 `li¡ish ( `make_li¡ ( yyv¥ [-2]. ¬g )), 2154 Nuάg )), 2155 Nuάg ), 2156 `wÝt ( `ov” ( yyv¥ [-4]. ¡abv® , `add_Ïb– (yyv¥[-6]. cv® , 2157 `make_ccmd ( C_WHILE , 2158 `make_Ý ( O_ARRAY , 1, 2159 `¡ab2¬g ( A_STAB , sü¡ab ), 2160 Nuάg ,Nullarg ), 2161 yyv¥ [0]. compv® ))))); 2162 yyv® . cmdv® -> c_lše = yyv¥ [-5]. iv® ; 2163 yyv® . cmdv® -> c_h—d -> c_lše = yyv¥ [-5]. iv® ; 2166 yyv® . cmdv® = `wÝt ( `ov” ( yyv¥ [-4]. ¡abv® , `add_Ïb– (yyv¥[-6]. cv® , 2167 `make_ccmd ( C_WHILE , yyv¥ [-2]. ¬g ,yyv¥[0]. compv® ) ))); 2173 { cmdlše = yyv¥ [-4]. iv® ; 2174 ià( yyv¥ [-2]. ¬g -> ¬g_ty³ !ð O_ARRAY ) { 2175 sü¡ab = `¯dd ( `g’¡ab ()); 2176 yyv® . cmdv® = `­³nd_lše ( 2177 `make_acmd ( C_EXPR , NuΡab , 2178 `l ( `make_Ý ( O_ASSIGN ,2, 2179 `li¡ish ( `make_Ý ( O_ARRAY , 1, 2180 `¡ab2¬g ( A_STAB , sü¡ab ), 2181 Nuάg ,Nullarg )), 2182 `li¡ish ( `make_li¡ ( yyv¥ [-2]. ¬g )), 2183 Nuάg )), 2184 Nuάg ), 2185 `wÝt ( `ov” ( def¡ab , `add_Ïb– ( yyv¥ [-5]. cv® , 2186 `make_ccmd ( C_WHILE , 2187 `make_Ý ( O_ARRAY , 1, 2188 `¡ab2¬g ( A_STAB , sü¡ab ), 2189 Nuάg ,Nullarg ), 2190 yyv¥ [0]. compv® ))))); 2191 yyv® . cmdv® -> c_lše = yyv¥ [-4]. iv® ; 2192 yyv® . cmdv® -> c_h—d -> c_lše = yyv¥ [-4]. iv® ; 2195 yyv® . cmdv® = `wÝt ( `ov” ( def¡ab , `add_Ïb– ( yyv¥ [-5]. cv® , 2196 `make_ccmd ( C_WHILE , yyv¥ [-2]. ¬g ,yyv¥[0]. compv® ) ))); 2202 { yyv® . compv® . comp_Œue = yyv¥ [0]. cmdv® ; 2203 yyv® . compv® . comp_®t = yyv¥ [-2]. cmdv® ; 2204 cmdlše = yyv¥ [-8]. iv® ; 2205 yyv® . cmdv® = `­³nd_lše ( yyv¥ [-6].cmdv®, `wÝt ( `add_Ïb– (yyv¥[-9]. cv® , 2206 `make_ccmd ( C_WHILE , yyv¥ [-4]. ¬g , yyv® . compv® ) ))); } 2210 { yyv® . cmdv® = `add_Ïb– ( yyv¥ [-1]. cv® , `make_ccmd ( C_BLOCK , Nuάg ,yyv¥[0]. compv® )); } 2214 { yyv® . cmdv® = NuÎcmd ; } 2218 { () `sÿn¡r ("1"); yyv® . ¬g = yylv® .arg; } 2222 { yyv® . cv® = NuÎch ; } 2226 { yyv® . iv® = 0; } 2230 { yyv® . iv® = 0; } 2234 { yyv® . iv® = 0; } 2238 { ià( `¡rEQ ( yyv¥ [-2]. cv® ,"stdout")) 2239 `make_fÜm ( `¡ab’t ("STDOUT", TRUE ), yyv¥ [0]. fÜmv® ); 2240 ià( `¡rEQ ( yyv¥ [-2]. cv® ,"stderr")) 2241 `make_fÜm ( `¡ab’t ("STDERR", TRUE ), yyv¥ [0]. fÜmv® ); 2243 `make_fÜm ( `¡ab’t ( yyv¥ [-2]. cv® , TRUE ),yyv¥[0]. fÜmv® ); 2244 `Saãä“ ( yyv¥ [-2]. cv® ); yyv¥[-2].cv® = NuÎch ; } 2248 { `make_fÜm ( `¡ab’t ("STDOUT", TRUE ), yyv¥ [0]. fÜmv® ); } 2252 { `make_sub ( yyv¥ [-1]. cv® ,yyv¥[0]. cmdv® ); } 2256 {  tmpbuf [256]; 2257 STAB * tmp¡ab ; 2259 `§veh±r (& cur¡ash ); 2260 `§ve™em ( cur¡Çme ); 2261 `¡r_£t ( cur¡Çme , yyv¥ [-1]. cv® ); 2262 `¥rštf ( tmpbuf ,"'_%s", yyv¥ [-1]. cv® ); 2263 tmp¡ab = `¡ab’t ( tmpbuf , TRUE ); 2264 ià(! `¡ab_xhash ( tmp¡ab )) 2265 `¡ab_xhash ( tmp¡ab èð `hÃw (0); 2266 cur¡ash = `¡ab_xhash ( tmp¡ab ); 2267 ià(! cur¡ash -> tbl_Çme ) 2268 cur¡ash -> tbl_Çme = `§ve¡r ( yyv¥ [-1]. cv® ); 2269 cur¡ash -> tbl_cÛffsize = 0; 2270 `Saãä“ ( yyv¥ [-1]. cv® ); yyv¥[-1].cv® = NuÎch ; 2271 cmdlše = NOLINE ; 2276 { yyv® . ¬g = yyv¥ [0].arg; } 2280 { yyv® . ¬g = `make_Ý ( O_COMMA , 2, yyv¥ [-2].¬g, yyv¥[0].¬g, Nuάg ); } 2284 { yyv® . ¬g = yyv¥ [0].arg; } 2288 { yyv¥ [-2]. ¬g = `li¡ish (yyvsp[-2].arg); 2289 ià( yyv¥ [-2]. ¬g -> ¬g_ty³ =ð O_ASSIGN && yyv¥[-2].¬g-> ¬g_Ën == 1) 2290 yyv¥ [-2]. ¬g -> ¬g_ty³ = O_ITEM ; 2291 ià( yyv¥ [-2]. ¬g -> ¬g_ty³ =ð O_LIST ) 2292 yyv¥ [0]. ¬g = `li¡ish (yyvsp[0].arg); 2293 yyv® . ¬g = `l ( `make_Ý ( O_ASSIGN , 2, yyv¥ [-2].¬g, yyv¥[0].¬g, Nuάg )); } 2297 { yyv® . ¬g = `l ( `make_Ý ( O_POW , 2, yyv¥ [-3].¬g, yyv¥[0].¬g, Nuάg )); } 2301 { yyv® . ¬g = `l ( `make_Ý ( yyv¥ [-2]. iv® , 2, yyv¥[-3].¬g, yyv¥[0].¬g, Nuάg )); } 2305 { yyv® . ¬g = `rÿtmaybe ( `l ( `make_Ý ( yyv¥ [-2]. iv® , 2, yyv¥[-3].¬g, yyv¥[0].¬g, Nuάg )));} 2309 { yyv® . ¬g = `l ( `make_Ý ( O_LEFT_SHIFT , 2, yyv¥ [-3].¬g, yyv¥[0].¬g, Nuάg )); } 2313 { yyv® . ¬g = `l ( `make_Ý ( O_RIGHT_SHIFT , 2, yyv¥ [-3].¬g, yyv¥[0].¬g, Nuάg )); } 2317 { yyv® . ¬g = `l ( `make_Ý ( O_BIT_AND , 2, yyv¥ [-3].¬g, yyv¥[0].¬g, Nuάg )); } 2321 { yyv® . ¬g = `l ( `make_Ý ( O_XOR , 2, yyv¥ [-3].¬g, yyv¥[0].¬g, Nuάg )); } 2325 { yyv® . ¬g = `l ( `make_Ý ( O_BIT_OR , 2, yyv¥ [-3].¬g, yyv¥[0].¬g, Nuάg )); } 2329 { yyv® . ¬g = `make_Ý ( O_POW , 2, yyv¥ [-2].¬g, yyv¥[0].¬g, Nuάg ); } 2333 { ià( yyv¥ [-1]. iv® =ð O_REPEAT ) 2334 yyv¥ [-2]. ¬g = `li¡ish (yyvsp[-2].arg); 2335 yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® , 2, yyv¥[-2].¬g, yyv¥[0].¬g, Nuάg ); 2336 ià( yyv¥ [-1]. iv® =ð O_REPEAT ) { 2337 ià( yyv® . ¬g [1]. ¬g_ty³ !ð A_EXPR || 2338 yyv® . ¬g [1]. ¬g_±r . ¬g_¬g -> ¬g_ty³ !ð O_LIST ) 2339 yyv® . ¬g [1]. ¬g_æags &ð~ AF_ARYOK ; 2344 { yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® , 2, yyv¥[-2].¬g, yyv¥[0].¬g, Nuάg ); } 2348 { yyv® . ¬g = `make_Ý ( O_LEFT_SHIFT , 2, yyv¥ [-2].¬g, yyv¥[0].¬g, Nuάg ); } 2352 { yyv® . ¬g = `make_Ý ( O_RIGHT_SHIFT , 2, yyv¥ [-2].¬g, yyv¥[0].¬g, Nuάg ); } 2356 { yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® , 2, yyv¥[-2].¬g, yyv¥[0].¬g, Nuάg ); } 2360 { yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® , 2, yyv¥[-2].¬g, yyv¥[0].¬g, Nuάg ); } 2364 { yyv® . ¬g = `make_Ý ( O_BIT_AND , 2, yyv¥ [-2].¬g, yyv¥[0].¬g, Nuάg ); } 2368 { yyv® . ¬g = `make_Ý ( O_XOR , 2, yyv¥ [-2].¬g, yyv¥[0].¬g, Nuάg ); } 2372 { yyv® . ¬g = `make_Ý ( O_BIT_OR , 2, yyv¥ [-2].¬g, yyv¥[0].¬g, Nuάg ); } 2376 { ¬g4 = Nuάg ; 2377 yyv® . ¬g = `make_Ý ( O_F_OR_R , 4, yyv¥ [-2].¬g, yyv¥[0].¬g, Nuάg ); } 2381 { yyv® . ¬g = `make_Ý ( O_AND , 2, yyv¥ [-2].¬g, yyv¥[0].¬g, Nuάg ); } 2385 { yyv® . ¬g = `make_Ý ( O_OR , 2, yyv¥ [-2].¬g, yyv¥[0].¬g, Nuάg ); } 2389 { yyv® . ¬g = `make_Ý ( O_COND_EXPR , 3, yyv¥ [-4].arg, yyvsp[-2].arg, yyvsp[0].arg); } 2393 { yyv® . ¬g = `mod_m©ch ( O_MATCH , yyv¥ [-2].arg, yyvsp[0].arg); } 2397 { yyv® . ¬g = `mod_m©ch ( O_NMATCH , yyv¥ [-2].arg, yyvsp[0].arg); } 2401 { yyv® . ¬g = yyv¥ [0].arg; } 2405 { yyv® . ¬g = `make_Ý ( O_NEGATE , 1, yyv¥ [0].¬g, Nuάg , Nullarg); } 2409 { yyv® . ¬g = yyv¥ [0].arg; } 2413 { yyv® . ¬g = `make_Ý ( O_NOT , 1, yyv¥ [0].¬g, Nuάg , Nullarg); } 2417 { yyv® . ¬g = `make_Ý ( O_COMPLEMENT , 1, yyv¥ [0].¬g, Nuάg , Nullarg);} 2421 { yyv® . ¬g = `addæags (1, AF_POST | AF_UP , 2422 `l ( `make_Ý ( O_ITEM ,1, yyv¥ [-1]. ¬g , Nuάg ,Nullarg))); } 2426 { yyv® . ¬g = `addæags (1, AF_POST , 2427 `l ( `make_Ý ( O_ITEM ,1, yyv¥ [-1]. ¬g , Nuάg ,Nullarg))); } 2431 { yyv® . ¬g = `addæags (1, AF_PRE | AF_UP , 2432 `l ( `make_Ý ( O_ITEM ,1, yyv¥ [0]. ¬g , Nuάg ,Nullarg))); } 2436 { yyv® . ¬g = `addæags (1, AF_PRE , 2437 `l ( `make_Ý ( O_ITEM ,1, yyv¥ [0]. ¬g , Nuάg ,Nullarg))); } 2441 { ݬgs [ yyv¥ [-1]. iv® ] = 0; 2442 yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® , 1, 2443 `¡ab2¬g ( A_STAB , `¡ab’t ( yyv¥ [0]. cv® , TRUE )), 2444 Nuάg , Nullarg); 2449 { ݬgs [ yyv¥ [-1]. iv® ] = 1; 2450 yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® , 1, yyv¥[0].¬g, Nuάg , Nullarg); } 2454 { ݬgs [ yyv¥ [0]. iv® ] = (yyv¥[0].iv® !ð O_FTTTY ); 2455 yyv® . ¬g = `make_Ý ( yyv¥ [0]. iv® , 1, 2456 `¡ab2¬g ( A_STAB , 2457 yyv¥ [0]. iv® =ð O_FTTTY ? `¡ab’t ("STDIN", TRUE ): def¡ab ), 2458 Nuάg , Nullarg); } 2462 { yyv® . ¬g = `l ( `loÿlize ( `make_Ý ( O_ASSIGN , 1, 2463 `loÿlize ( `li¡ish ( `make_li¡ ( yyv¥ [-1]. ¬g ))), 2464 Nuάg ,Nullarg))); } 2468 { yyv® . ¬g = `make_li¡ ( yyv¥ [-2].arg); } 2472 { yyv® . ¬g = `make_li¡ ( yyv¥ [-1].arg); } 2476 { yyv® . ¬g = `make_li¡ ( Nuάg ); } 2480 { yyv® . ¬g = `make_Ý ( O_DOFILE ,2, yyv¥ [0].¬g, Nuάg ,Nullarg); 2481 ®l¡abs = TRUE ;} 2485 { yyv® . ¬g = `cmd_to_¬g ( yyv¥ [0]. cmdv® ); } 2489 { yyv® . ¬g = `¡ab2¬g ( A_STAB , yyv¥ [0]. ¡abv® ); } 2493 { yyv® . ¬g = `¡ab2¬g ( A_STAR , yyv¥ [0]. ¡abv® ); } 2497 { yyv® . ¬g = `make_Ý ( O_AELEM , 2, 2498 `¡ab2¬g ( A_STAB , `¯dd ( yyv¥ [-3]. ¡abv® )), yyv¥[-1]. ¬g , Nuάg ); } 2502 { yyv® . ¬g = `make_Ý ( O_HASH , 1, 2503 `¡ab2¬g ( A_STAB , yyv¥ [0]. ¡abv® ), 2504 Nuάg , Nullarg); } 2508 { yyv® . ¬g = `make_Ý ( O_ARRAY , 1, 2509 `¡ab2¬g ( A_STAB , yyv¥ [0]. ¡abv® ), 2510 Nuάg , Nullarg); } 2514 { yyv® . ¬g = `make_Ý ( O_HELEM , 2, 2515 `¡ab2¬g ( A_STAB , `hadd ( yyv¥ [-3]. ¡abv® )), 2516 `jmaybe ( yyv¥ [-1]. ¬g ), 2517 Nuάg ); } 2521 { yyv® . ¬g = `make_Ý ( O_LSLICE , 3, 2522 Nuάg , 2523 `li¡ish ( `make_li¡ ( yyv¥ [-1]. ¬g )), 2524 `li¡ish ( `make_li¡ ( yyv¥ [-4]. ¬g ))); } 2528 { yyv® . ¬g = `make_Ý ( O_LSLICE , 3, 2529 Nuάg , 2530 `li¡ish ( `make_li¡ ( yyv¥ [-1]. ¬g )), 2531 Nuάg ); } 2535 { yyv® . ¬g = `make_Ý ( O_ASLICE , 2, 2536 `¡ab2¬g ( A_STAB , `¯dd ( yyv¥ [-3]. ¡abv® )), 2537 `li¡ish ( `make_li¡ ( yyv¥ [-1]. ¬g )), 2538 Nuάg ); } 2542 { yyv® . ¬g = `make_Ý ( O_HSLICE , 2, 2543 `¡ab2¬g ( A_STAB , `hadd ( yyv¥ [-3]. ¡abv® )), 2544 `li¡ish ( `make_li¡ ( yyv¥ [-1]. ¬g )), 2545 Nuάg ); } 2549 { yyv® . ¬g = `make_Ý ( O_DELETE , 2, 2550 `¡ab2¬g ( A_STAB , `hadd ( yyv¥ [-3]. ¡abv® )), 2551 `jmaybe ( yyv¥ [-1]. ¬g ), 2552 Nuάg ); } 2556 { yyv® . ¬g = `¡ab2¬g ( A_ARYLEN , yyv¥ [0]. ¡abv® ); } 2560 { yyv® . ¬g = yyv¥ [0].arg; } 2564 { yyv® . ¬g = yyv¥ [0].arg; } 2568 { yyv® . ¬g = yyv¥ [0].arg; } 2572 { yyv® . ¬g = yyv¥ [0].arg; } 2576 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 2577 `¡ab2¬g ( A_WORD , `¡ab’t ( yyv¥ [-3]. cv® , TRUE )), 2578 `make_li¡ ( yyv¥ [-1]. ¬g ), 2579 Nuάg ); `Saãä“ ( yyv¥ [-3]. cv® ); yyv¥[-3].cv® = NuÎch ; 2580 yyv® . ¬g -> ¬g_æags |ð AF_DEPR ; } 2584 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 2585 `¡ab2¬g ( A_WORD , `¡ab’t ( yyv¥ [-3]. cv® , TRUE )), 2586 `make_li¡ ( yyv¥ [-1]. ¬g ), 2587 Nuάg ); `Saãä“ ( yyv¥ [-3]. cv® ); yyv¥[-3].cv® = NuÎch ; } 2591 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 2592 `¡ab2¬g ( A_WORD , `¡ab’t ( yyv¥ [-2]. cv® , TRUE )), 2593 `make_li¡ ( Nuάg ), 2594 Nuάg ); 2595 yyv® . ¬g -> ¬g_æags |ð AF_DEPR ; } 2599 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 2600 `¡ab2¬g ( A_WORD , `¡ab’t ( yyv¥ [-2]. cv® , TRUE )), 2601 `make_li¡ ( Nuάg ), 2602 Nuάg ); } 2606 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 2607 `¡ab2¬g ( A_WORD , `¡ab’t ( yyv¥ [0]. cv® , TRUE )), 2608 Nuάg , 2609 Nuάg ); } 2613 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 2614 `¡ab2¬g ( A_STAB , yyv¥ [-3]. ¡abv® ), 2615 `make_li¡ ( yyv¥ [-1]. ¬g ), 2616 Nuάg ); 2617 yyv® . ¬g -> ¬g_æags |ð AF_DEPR ; } 2621 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 2622 `¡ab2¬g ( A_STAB , yyv¥ [-3]. ¡abv® ), 2623 `make_li¡ ( yyv¥ [-1]. ¬g ), 2624 Nuάg ); } 2628 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 2629 `¡ab2¬g ( A_STAB , yyv¥ [-2]. ¡abv® ), 2630 `make_li¡ ( Nuάg ), 2631 Nuάg ); 2632 yyv® . ¬g -> ¬g_æags |ð AF_DEPR ; } 2636 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 2637 `¡ab2¬g ( A_STAB , yyv¥ [-2]. ¡abv® ), 2638 `make_li¡ ( Nuάg ), 2639 Nuάg ); } 2643 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 2644 `¡ab2¬g ( A_STAB , yyv¥ [0]. ¡abv® ), 2645 Nuάg , 2646 Nuάg ); } 2650 { yyv® . ¬g = `make_Ý ( yyv¥ [0]. iv® ,0, Nuάg ,Nullarg,Nullarg); } 2654 { yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® ,1, `cv®_to_¬g (yyv¥[0]. cv® ), 2655 Nuάg ,Nullarg); } 2659 { yyv® . ¬g = `make_Ý ( yyv¥ [0]. iv® ,0, Nuάg ,Nullarg,Nullarg); } 2663 { yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® ,1,yyv¥[0].¬g, Nuάg ,Nullarg); } 2667 { yyv® . ¬g = `make_Ý ( O_SELECT , 0, Nuάg , Nullarg, Nullarg);} 2671 { yyv® . ¬g = `make_Ý ( O_SELECT , 1, yyv¥ [-1].¬g, Nuάg , Nullarg); } 2675 { ¬g4 = yyv¥ [-1]. ¬g ; 2676 yyv® . ¬g = `make_Ý ( O_SSELECT , 4, yyv¥ [-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); } 2680 { yyv® . ¬g = `make_Ý ( O_OPEN , 2, 2681 `¡ab2¬g ( A_WORD , `¡ab’t ( yyv¥ [0]. cv® , TRUE )), 2682 `¡ab2¬g ( A_STAB , `¡ab’t ( yyv¥ [0]. cv® , TRUE )), 2683 Nuάg ); } 2687 { yyv® . ¬g = `make_Ý ( O_OPEN , 2, 2688 `¡ab2¬g ( A_WORD , `¡ab’t ( yyv¥ [-1]. cv® , TRUE )), 2689 `¡ab2¬g ( A_STAB , `¡ab’t ( yyv¥ [-1]. cv® , TRUE )), 2690 Nuάg ); } 2694 { yyv® . ¬g = `make_Ý ( O_OPEN , 2, 2695 yyv¥ [-2]. ¬g , 2696 yyv¥ [-1]. ¬g , Nuάg ); } 2700 { yyv® . ¬g = `make_Ý ( yyv¥ [-3]. iv® , 1, 2701 yyv¥ [-1]. ¬g , 2702 Nuάg , Nullarg); } 2706 { yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® , 1, 2707 `¡ab2¬g ( A_WORD , `¡ab’t ( yyv¥ [0]. cv® , TRUE )), 2708 Nuάg , Nullarg); 2709 `Saãä“ ( yyv¥ [0]. cv® ); yyv¥[0].cv® = NuÎch ; } 2713 { yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® , 1, 2714 `¡ab2¬g ( A_STAB , yyv¥ [0]. ¡abv® ), 2715 Nuάg , Nullarg); } 2719 { yyv® . ¬g = `make_Ý ( yyv¥ [-2]. iv® , 1, 2720 `¡ab2¬g ( A_WORD , NuΡab ), 2721 Nuάg , Nullarg); } 2725 { yyv® . ¬g = `make_Ý ( yyv¥ [0]. iv® , 0, 2726 Nuάg , Nullarg, Nullarg); } 2730 { yyv® . ¬g = `make_Ý ( yyv¥ [-4]. iv® , 2, yyv¥[-2].¬g, yyv¥[-1].¬g, Nuάg ); } 2734 { yyv® . ¬g = `make_Ý ( yyv¥ [-5]. iv® , 3, yyv¥[-3].¬g, yyv¥[-2].¬g, `make_li¡ (yyvsp[-1].arg)); } 2738 { yyv® . ¬g = `make_Ý ( yyv¥ [-5]. iv® , 2, yyv¥[-3].¬g, yyv¥[-1].¬g, Nuάg ); } 2742 { ¬g4 = yyv¥ [-1]. ¬g ; yyv® .¬g = `make_Ý (yyv¥[-6]. iv® , 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); } 2746 { ¬g4 = yyv¥ [-2]. ¬g ; ¬g5 = yyvsp[-1].arg; 2747 yyv® . ¬g = `make_Ý ( yyv¥ [-8]. iv® , 5, yyvsp[-6].arg, yyvsp[-4].arg, yyvsp[-3].arg); } 2751 { yyv® . ¬g = `make_Ý ( yyv¥ [-4]. iv® , 2, 2752 yyv¥ [-2]. ¬g , 2753 `make_li¡ ( yyv¥ [-1]. ¬g ), 2754 Nuάg ); } 2758 { yyv® . ¬g = `make_Ý ( O_POP , 1, yyv¥ [0].¬g, Nuάg , Nullarg); } 2762 { yyv® . ¬g = `make_Ý ( O_POP , 1, yyv¥ [-1].¬g, Nuάg , Nullarg); } 2766 { yyv® . ¬g = `make_Ý ( O_SHIFT , 1, yyv¥ [0].¬g, Nuάg , Nullarg); } 2770 { yyv® . ¬g = `make_Ý ( O_SHIFT , 1, yyv¥ [-1].¬g, Nuάg , Nullarg); } 2774 { yyv® . ¬g = `make_Ý ( O_SHIFT , 1, 2775 `¡ab2¬g ( A_STAB , 2776 `¯dd ( `¡ab’t ( sublše ? "_" : "ARGV", TRUE ))), 2777 Nuάg , Nullarg); } 2781 {  p []="/\\s+/"; 2782 * Þd’d = buãnd ; 2783 ARG * Þd¬g = yylv® . ¬g ; 2785 buãnd = p +5; 2786 () `sÿÅ© ( p ); 2787 buãnd = Þd’d ; 2788 yyv® . ¬g = `make_¥l™ ( def¡ab , yylv® .¬g, Nuάg ); 2789 yylv® . ¬g = Þd¬g ; } 2793 { yyv® . ¬g = `mod_m©ch ( O_MATCH , yyv¥ [-2].arg, 2794 `make_¥l™ ( def¡ab , yyv¥ [-3]. ¬g ,yyvsp[-1].arg));} 2798 { yyv® . ¬g = `mod_m©ch ( O_MATCH , yyv¥ [-1].arg, 2799 `make_¥l™ ( def¡ab , yyv¥ [-2]. ¬g , Nuάg ) ); } 2803 { yyv® . ¬g = `mod_m©ch ( O_MATCH , 2804 `¡ab2¬g ( A_STAB , def¡ab ), 2805 `make_¥l™ ( def¡ab , yyv¥ [-1]. ¬g , Nuάg ) ); } 2809 { yyv® . ¬g = `make_Ý ( yyv¥ [-4]. iv® , 2, 2810 yyv¥ [-2]. ¬g , 2811 `li¡ish ( `make_li¡ ( yyv¥ [-1]. ¬g )), 2812 Nuάg ); } 2816 { yyv® . ¬g = `make_Ý ( yyv¥ [-3]. iv® , 1, 2817 `make_li¡ ( yyv¥ [-1]. ¬g ), 2818 Nuάg , 2819 Nuάg ); } 2823 { yyv® . ¬g = `l ( `make_Ý ( yyv¥ [-1]. iv® , 1, `fixl (yyvsp[-1].ival,yyvsp[0].arg), 2824 Nuάg , Nullarg)); } 2828 { yyv® . ¬g = `l ( `make_Ý ( yyv¥ [0]. iv® , 1, 2829 `¡ab2¬g ( A_STAB , def¡ab ), 2830 Nuάg , Nullarg)); } 2834 { yyv® . ¬g = `make_Ý ( yyv¥ [0]. iv® , 0, Nuάg , Nullarg, Nullarg); } 2838 { yyv® . ¬g = `make_Ý ( yyv¥ [-2]. iv® , 0, Nuάg , Nullarg, Nullarg); } 2842 { yyv® . ¬g = `make_Ý ( yyv¥ [-2]. iv® , 0, Nuάg , Nullarg, Nullarg); } 2846 { yyv® . ¬g = `make_Ý ( yyv¥ [-3]. iv® , 1, yyv¥[-1].¬g, Nuάg , Nullarg); } 2850 { yyv® . ¬g = `make_Ý ( yyv¥ [-4]. iv® , 2, yyv¥[-2].¬g, yyv¥[-1].¬g, Nuάg ); 2851 ià( yyv¥ [-4]. iv® =ð O_INDEX && yyv® . ¬g [2]. ¬g_ty³ =ð A_SINGLE ) 2852 `fbmcompže ( yyv® . ¬g [2]. ¬g_±r . ¬g_¡r ,0); } 2856 { yyv® . ¬g = `make_Ý ( yyv¥ [-4]. iv® , 2, yyv¥[-2].¬g, yyv¥[-1].¬g, Nuάg ); 2857 ià( yyv¥ [-4]. iv® =ð O_INDEX && yyv® . ¬g [2]. ¬g_ty³ =ð A_SINGLE ) 2858 `fbmcompže ( yyv® . ¬g [2]. ¬g_±r . ¬g_¡r ,0); } 2862 { yyv® . ¬g = `make_Ý ( yyv¥ [-5]. iv® , 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); 2863 ià( yyv¥ [-5]. iv® =ð O_INDEX && yyv® . ¬g [2]. ¬g_ty³ =ð A_SINGLE ) 2864 `fbmcompže ( yyv® . ¬g [2]. ¬g_±r . ¬g_¡r ,0); } 2868 { yyv® . ¬g = `make_Ý ( yyv¥ [-5]. iv® , 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); } 2872 { ¬g4 = yyv¥ [-1]. ¬g ; 2873 yyv® . ¬g = `make_Ý ( yyv¥ [-6]. iv® , 4, yyvsp[-4].arg, yyvsp[-3].arg, yyvsp[-2].arg); } 2877 { ¬g4 = yyv¥ [-2]. ¬g ; ¬g5 = yyvsp[-1].arg; 2878 yyv® . ¬g = `make_Ý ( yyv¥ [-7]. iv® , 5, yyvsp[-5].arg, yyvsp[-4].arg, yyvsp[-3].arg); } 2882 { yyv® . ¬g = `make_Ý ( yyv¥ [-3]. iv® , 1, 2883 yyv¥ [-1]. ¬g , 2884 Nuάg , 2885 Nuάg ); } 2889 { yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® , 1, 2890 yyv¥ [0]. ¬g , 2891 Nuάg , 2892 Nuάg ); } 2896 { yyv® . ¬g = `make_Ý ( yyv¥ [-5]. iv® , 3, yyvsp[-3].arg, yyvsp[-2].arg, yyvsp[-1].arg); } 2900 { yyv® . ¬g = `make_Ý ( yyv¥ [0]. iv® ,2, 2901 `¡ab2¬g ( A_WORD , NuΡab ), 2902 `¡ab2¬g ( A_STAB , def¡ab ), 2903 Nuάg ); } 2907 { yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® ,2, 2908 `¡ab2¬g ( A_WORD , NuΡab ), 2909 `mayb–i¡ish ( yyv¥ [-1]. iv® , `make_li¡ (yyv¥[0]. ¬g )), 2910 Nuάg ); } 2914 { yyv® . ¬g = `make_Ý ( yyv¥ [-1]. iv® ,2, 2915 `¡ab2¬g ( A_WORD , `¡ab’t ( yyv¥ [0]. cv® , TRUE )), 2916 `¡ab2¬g ( A_STAB , def¡ab ), 2917 Nuάg ); } 2921 { yyv® . ¬g = `make_Ý ( yyv¥ [-2]. iv® ,2, 2922 `¡ab2¬g ( A_WORD , `¡ab’t ( yyv¥ [-1]. cv® , TRUE )), 2923 `mayb–i¡ish ( yyv¥ [-2]. iv® , `make_li¡ (yyv¥[0]. ¬g )), 2924 Nuάg ); `Saãä“ ( yyv¥ [-1]. cv® ); yyv¥[-1].cv® = NuÎch ; } 2928 { yyv® . ¬g = `make_Ý ( yyv¥ [-2]. iv® ,2, 2929 `¡ab2¬g ( A_STAB , yyv¥ [-1]. ¡abv® ), 2930 `mayb–i¡ish ( yyv¥ [-2]. iv® , `make_li¡ (yyv¥[0]. ¬g )), 2931 Nuάg ); } 2935 { yyv® . ¬g = `¡ab2¬g ( A_WORD , `¡ab’t ( yyv¥ [0]. cv® , TRUE )); 2936 `Saãä“ ( yyv¥ [0]. cv® ); yyv¥[0].cv® = NuÎch ;} 2940 { yyv® . ¬g = `¡ab2¬g ( A_WORD , `¯dd ( `¡ab’t ( yyv¥ [0]. cv® , TRUE ))); 2941 `Saãä“ ( yyv¥ [0]. cv® ); yyv¥[0].cv® = NuÎch ; } 2945 { yyv® . ¬g = `¡ab2¬g ( A_STAB , yyv¥ [0]. ¡abv® ); } 2949 { yyv® . ¬g = `¡ab2¬g ( A_WORD , `hadd ( `¡ab’t ( yyv¥ [0]. cv® , TRUE ))); 2950 `Saãä“ ( yyv¥ [0]. cv® ); yyv¥[0].cv® = NuÎch ; } 2954 { yyv® . ¬g = `¡ab2¬g ( A_STAB , yyv¥ [0]. ¡abv® ); } 2958 { * s ; 2959 yyv® . ¬g = `Ý_Ãw (1); 2960 yyv® . ¬g -> ¬g_ty³ = O_ITEM ; 2961 yyv® . ¬g [1]. ¬g_ty³ = A_SINGLE ; 2962 yyv® . ¬g [1]. ¬g_±r . ¬g_¡r = `¡r_make ( yyv¥ [0]. cv® ,0); 2963  s = yyv¥ [0]. cv® ; * && `i¦ow” (*s); s++) ; 2964 ià( dow¬n && !* s ) 2965 `w¬n ( 2967 yyv¥ [0]. cv® ); 2972 yys¥ -ð yym ; 2973 yy¡©e = * yys¥ ; 2974 yyv¥ -ð yym ; 2975 yym = yylhs [ yyn ]; 2976 ià( yy¡©e =ð0 && yym == 0) 2978 #ià YYDEBUG 2979 ià( yydebug ) 2980 `´štf ("%sdebug:‡á”„eduùiÚ, shiášg from s�‹ 0�o\ %d\n", YYPREFIX , YYFINAL ); 2983 yy¡©e = YYFINAL ; 2984 *++ yys¥ = YYFINAL ; 2985 *++ yyv¥ = yyv® ; 2986 ià( yych¬ < 0) 2988 ià(( yych¬ = `yyËx ()) < 0) yychar = 0; 2989 #ià YYDEBUG 2990 ià( yydebug ) 2992 yys = 0; 2993 ià( yych¬ <ð YYMAXTOKEN è yys = yyÇme [yychar]; 2994 ià(! yys ) yys = "illegal-symbol"; 2995 `´štf ("%sdebug: state %d,„eading %d (%s)\n", 2996 YYPREFIX , YYFINAL , yych¬ , yys ); 3000 ià( yych¬ =ð0è yyacû± ; 3001  yyloÝ ; 3003 ià(( yyn = yygšdex [ yym ]è&& (yyÀ+ð yy¡©e ) >= 0 && 3004 yyn <ð YYTABLESIZE && yycheck [yyn] =ð yy¡©e ) 3005 yy¡©e = yy�bË [ yyn ]; 3007 yy¡©e = yydgÙo [ yym ]; 3008 #ià YYDEBUG 3009 ià( yydebug ) 3010 `´štf ("%sdebug:‡á”„eduùiÚ, shiášg from s�‹ %d \ s�‹ %d\n", YYPREFIX , * yys¥ , yy¡©e ); 3013 ià( yys¥ >ð yys¦im && `yygrow¡ack ()) 3015  yyov”æow ; 3017 *++ yys¥ = yy¡©e ; 3018 *++ yyv¥ = yyv® ; 3019  yyloÝ ; 3020 yyov”æow : 3021 `yy”rÜ ("yacc stack overflow"); 3022 yyabÜt : 3024 yyacû± : 3026 } } @perly.h 1 #iâdeà YYERRCODE 2  #YYERRCODE 256 ) 5  #WORD 257 ) 6  #APPEND 258 ) 7  #OPEN 259 ) 8  #SSELECT 260 ) 9  #LOOPEX 261 ) 10  #USING 262 ) 11  #FORMAT 263 ) 12  #DO 264 ) 13  #SHIFT 265 ) 14  #PUSH 266 ) 15  #POP 267 ) 16  #LVALFUN 268 ) 17  #WHILE 269 ) 18  #UNTIL 270 ) 19  #IF 271 ) 20  #UNLESS 272 ) 21  #ELSE 273 ) 22  #ELSIF 274 ) 23  #CONTINUE 275 ) 24  #SPLIT 276 ) 25  #FLIST 277 ) 26  #FOR 278 ) 27  #FILOP 279 ) 28  #FILOP2 280 ) 29  #FILOP3 281 ) 30  #FILOP4 282 ) 31  #FILOP22 283 ) 32  #FILOP25 284 ) 33  #FUNC0 285 ) 34  #FUNC1 286 ) 35  #FUNC2 287 ) 36  #FUNC2x 288 ) 37  #FUNC3 289 ) 38  #FUNC4 290 ) 39  #FUNC5 291 ) 40  #HSHFUN 292 ) 41  #HSHFUN3 293 ) 42  #FLIST2 294 ) 43  #SUB 295 ) 44  #FILETEST 296 ) 45  #LOCAL 297 ) 46  #DELETE 298 ) 47  #RELOP 299 ) 48  #EQOP 300 ) 49  #MULOP 301 ) 50  #ADDOP 302 ) 51  #PACKAGE 303 ) 52  #AMPER 304 ) 53  #FORMLIST 305 ) 54  #REG 306 ) 55  #ARYLEN 307 ) 56  #ARY 308 ) 57  #HSH 309 ) 58  #STAR 310 ) 59  #SUBST 311 ) 60  #PATTERN 312 ) 61  #RSTRING 313 ) 62  #TRANS 314 ) 63  #LISTOP 315 ) 64  #DOTDOT 316 ) 65  #OROR 317 ) 66  #ANDAND 318 ) 67  #UNIOP 319 ) 68  #LS 320 ) 69  #RS 321 ) 70  #MATCH 322 ) 71  #NMATCH 323 ) 72  #UMINUS 324 ) 73  #POW 325 ) 74  #INC 326 ) 75  #DEC 327 ) 77  miv® ; 78 * mcv® ; 79 ARG * m¬g ; 80 CMD * mcmdv® ; 81  compcmd mcompv® ; 82 STAB * m¡abv® ; 83 FCMD * mfÜmv® ; 84 } tYYSTYPE ; 85 YYSTYPE yylv® ; 86 YYSTYPE yylv® ; @regcomp.c 53  ~"EXTERN.h " 54  ~"³¾.h " 55  ~"INTERN.h " 56  ~"»gcomp.h " 58 #ifdeà MSDOS 59 #ià defšed ( BUGGY_MSC6 ) 61 #´agm¨ Ýtimize ("a", off ) 63 #´agm¨ Ýtimize ("w", Ú ) 67 #iâdeà STATIC 68  #STATIC  ) 71  #ISMULT1 ( c è((cè=ð'*' || (cè=ð'+' || (cè=ð'?') ) 72  #ISMULT2 ( s ) ((*s) == '*' || (*s) == '+' || (*s) == '?' || \ 73 ((* s è=ð'{' && `»gcu¾y (s))) ) 74  #META "^$.[()|?+*\\" ) 76 #ifdeà SPSTART 77 #undeà SPSTART 82  #HASWIDTH 01 ) 83  #SIMPLE 02 ) 84  #SPSTART 04 ) 85  #WORST 0 ) 90 * g»g´ecomp ; 91 * g»g·r£ ; 92 * g»gx’d ; 93  g»gŬ ; 94 * g»gcode ; 95  g»gsize ; 96  g»gfÞd ; 97  g»g§wb¿ck‘ ; 102 STATIC  »gcu¾y (); 103 STATIC * »g (); 104 STATIC * »gb¿nch (); 105 STATIC * »gp›û (); 106 STATIC * »g©om (); 107 STATIC * »gþass (); 108 STATIC * »gnode (); 109 STATIC * »gªode (); 110 STATIC  »gc (); 111 STATIC  »g𣹠(); 112 STATIC  »g�ž (); 113 STATIC  »gÝ�ž (); 130 »gexp * 131 $»gcomp ( exp , x’d , fÞd ) 132 * exp ; 133 * x’d ; 134  fÞd ; 136  »gexp * r ; 137 * sÿn ; 138  STR * lÚgish ; 139 STR * lÚge¡ ; 140  Ën ; 141 * fœ¡ ; 142  æags ; 143  backish ; 144  backe¡ ; 145  curback ; 146 * `§ãm®loc (); 147 * `§ve¡r (); 148  §w¶us = 0; 150 ià( exp =ð NULL ) 151 `ç�l ("NULL„egexp‡rgument"); 154 »gfÞd = fÞd ; 155 »g·r£ = exp ; 156 »gx’d = x’d ; 157 »g´ecomp = `n§ve¡r ( exp , x’d -exp); 158 »g§wb¿ck‘ = 0; 159 »gŬ = 1; 160 »gsize = 0L; 161 »gcode = & »gdummy ; 162 `»gc ( MAGIC ); 163 ià( `»g (0, & æags è=ð NULL ) { 164 `Saãä“ ( »g´ecomp ); 165 »g´ecomp = NuÎch ; 166 ( NULL ); 170 ià( »gsize >= 32767L) 171 `FAIL ("regexp�oo big"); 174 `Newc (1001, r , ( »gexp è+ () »gsize , ,„egexp); 175 ià( r =ð NULL ) 176 `FAIL ("regexp out of space"); 179 ià( »g§wb¿ck‘ ) 180 `bcÝy ( »g´ecomp , exp , x’d -exp); 181 r -> ´ecomp = »g´ecomp ; 182 r -> subba£ = NULL ; 183 »g·r£ = exp ; 184 »gŬ = 1; 185 »gcode = r -> ´og¿m ; 186 `»gc ( MAGIC ); 187 ià( `»g (0, & æags è=ð NULL ) 188 ( NULL ); 191 r -> »g¡¬t = NuΡr ; 192 r -> »gªch = 0; 193 r -> »gmu¡ = NuΡr ; 194 r -> »gback = -1; 195 r -> »g¡þass = NuÎch ; 196 sÿn = r -> ´og¿m +1; 197 ià( `OP ( `»gÃxt ( sÿn )è=ð END ) { 198 sÿn = `NEXTOPER (scan); 200 fœ¡ = sÿn ; 201  `OP ( fœ¡ è=ð OPEN || 202 ( `OP ( fœ¡ è=ð BRANCH && OP( `»gÃxt (first)) != BRANCH) || 203 ( `OP ( fœ¡ è=ð PLUS ) || 204 ( `OP ( fœ¡ è=ð CURLY && `ARG1 (first) > 0) ) { 205 ià( `OP ( fœ¡ è=ð PLUS ) 206 §w¶us = 2; 208 fœ¡ +ð »g¬gËn [ `OP (first)]; 209 fœ¡ = `NEXTOPER (first); 213 ià( `OP ( fœ¡ è=ð EXACTLY ) { 214 r -> »g¡¬t = 215 `¡r_make ( `OPERAND ( fœ¡ )+1,*OPERAND(first)); 216 ià( r -> »g¡¬t -> ¡r_cur > !( §w¡udy | fÞd )) 217 `fbmcompže ( r -> »g¡¬t , fÞd ); 219 ià(( exp = `šdex ( sim¶e , `OP ( fœ¡ ))) &&ƒxp > simple) 220 r -> »g¡þass = fœ¡ ; 221 ià( `OP ( fœ¡ è=ð BOUND || OP(fœ¡è=ð NBOUND ) 222 r -> »g¡þass = fœ¡ ; 223 ià( `OP ( fœ¡ è=ð BOL || 224 ( `OP ( fœ¡ è=ð STAR && OP( `NEXTOPER (fœ¡)è=ð ANY ) ) 225 r -> »gªch = 1; 226 r -> »gªch |ð §w¶us ; 228 #ifdeà DEBUGGING 229 ià( debug & 512) 230 `årštf ( ¡d”r ,"first %d‚ext %d offset %d\n", 231 `OP ( fœ¡ ), OP( `NEXTOPER (fœ¡)), fœ¡ - sÿn ); 244 lÚgish = `¡r_make ("",0); 245 lÚge¡ = `¡r_make ("",0); 246 Ën = 0; 247 curback = 0; 248 backish = 0; 249 backe¡ = 0; 250  `OP ( sÿn è!ð END ) { 251 ià( `OP ( sÿn è=ð BRANCH ) { 252 ià( `OP ( `»gÃxt ( sÿn )è=ð BRANCH ) { 253 curback = -30000; 254  `OP ( sÿn è=ð BRANCH ) 255 sÿn = `»gÃxt (scan); 258 sÿn = `NEXTOPER (scan); 260 ià( `OP ( sÿn è=ð EXACTLY ) { 261 * t ; 263 fœ¡ = sÿn ; 264  `OP ( t = `»gÃxt ( sÿn )è=ð CLOSE ) 265 sÿn = t ; 266 ià( curback - backish =ð Ën ) { 267 `¡r_nÿt ( lÚgish , `OPERAND ( fœ¡ )+1, 268 * `OPERAND ( fœ¡ )); 269 Ën +ð* `OPERAND ( fœ¡ ); 270 curback +ð* `OPERAND ( fœ¡ ); 271 fœ¡ = `»gÃxt ( sÿn ); 273 ià(* `OPERAND ( fœ¡ è>ð Ën + ( curback >= 0)) { 274 Ën = * `OPERAND ( fœ¡ ); 275 `¡r_n£t ( lÚgish , `OPERAND ( fœ¡ )+1, Ën ); 276 backish = curback ; 277 curback +ð Ën ; 278 fœ¡ = `»gÃxt ( sÿn ); 281 curback +ð* `OPERAND ( fœ¡ ); 283 ià( `šdex ( v¬›s , `OP ( sÿn ))) { 284 curback = -30000; 285 Ën = 0; 286 ià( lÚgish -> ¡r_cur > lÚge¡ ->str_cur) { 287 `¡r_s£t ( lÚge¡ , lÚgish ); 288 backe¡ = backish ; 290 `¡r_n£t ( lÚgish ,"",0); 292 ià( `šdex ( sim¶e , `OP ( sÿn ))) { 293 curback ++; 294 Ën = 0; 295 ià( lÚgish -> ¡r_cur > lÚge¡ ->str_cur) { 296 `¡r_s£t ( lÚge¡ , lÚgish ); 297 backe¡ = backish ; 299 `¡r_n£t ( lÚgish ,"",0); 301 sÿn = `»gÃxt (scan); 306 ià( lÚgish -> ¡r_cur + ( `OP ( fœ¡ è=ð EOL è> lÚge¡ ->str_cur) { 307 `¡r_s£t ( lÚge¡ , lÚgish ); 308 backe¡ = backish ; 311 `¡r_n£t ( lÚgish ,"",0); 312 ià( lÚge¡ -> ¡r_cur 314 (! r -> »g¡¬t 316 ! `fbmš¡r ( r -> »g¡¬t -> ¡r_±r , 317 r -> »g¡¬t -> ¡r_±r +„->»g¡¬t-> ¡r_cur , 318 lÚge¡ ) 322 r -> »gmu¡ = lÚge¡ ; 323 ià( backe¡ < 0) 324 backe¡ = -1; 325 r -> »gback = backe¡ ; 326 ià( lÚge¡ -> ¡r_cur 327 > !( §w¡udy || fÞd || `OP ( fœ¡ è=ð EOL ) ) 328 `fbmcompže ( r -> »gmu¡ , fÞd ); 329 r -> »gmu¡ -> ¡r_u . ¡r_u£ful = 100; 330 ià( `OP ( fœ¡ è=ð EOL && lÚgish -> ¡r_cur ) 331 r -> »gmu¡ -> ¡r_pok |ð SP_TAIL ; 334 `¡r_ä“ ( lÚge¡ ); 335 lÚge¡ = NuΡr ; 337 `¡r_ä“ ( lÚgish ); 340 r -> do_fÞdšg = fÞd ; 341 r -> Ŭ’s = »gŬ - 1; 342 `New (1002, r -> ¡¬� , »gŬ , *); 343 `New (1002, r -> ’dp , »gŬ , *); 344 #ifdeà DEBUGGING 345 ià( debug & 512) 346 `»gdump ( r ); 348 ( r ); 349 } } 361 $»g ( ·»n , æagp ) 362  ·»n ; 363 * æagp ; 365 * »t ; 366 * br ; 367 * ’d” ; 368  ·ºo ; 369  æags ; 371 * æagp = HASWIDTH ; 374 ià( ·»n ) { 375 ·ºo = »gŬ ; 376 »gŬ ++; 377 »t = `»gªode ( OPEN , ·ºo ); 379 »t = NULL ; 382 br = `»gb¿nch (& æags ); 383 ià( br =ð NULL ) 384 ( NULL ); 385 ià( »t !ð NULL ) 386 `»g�ž ( »t , br ); 388 »t = br ; 389 ià(!( æags & HASWIDTH )) 390 * æagp &ð~ HASWIDTH ; 391 * æagp |ð æags & SPSTART ; 392 * »g·r£ == '|') { 393 »g·r£ ++; 394 br = `»gb¿nch (& æags ); 395 ià( br =ð NULL ) 396 ( NULL ); 397 `»g�ž ( »t , br ); 398 ià(!( æags & HASWIDTH )) 399 * æagp &ð~ HASWIDTH ; 400 * æagp |ð æags & SPSTART ; 404 ià( ·»n ) 405 ’d” = `»gªode ( CLOSE , ·ºo ); 407 ’d” = `»gnode ( END ); 408 `»g�ž ( »t , ’d” ); 411  br = »t ; b¸!ð NULL ; b¸ð `»gÃxt (br)) 412 `»gÝ�ž ( br , ’d” ); 415 ià( ·»n && * »g·r£ ++ != ')') { 416 `FAIL ("unmatched () in„egexp"); 417 } ià(! ·»n && »g·r£ < »gx’d ) { 418 ià(* »g·r£ == ')') { 419 `FAIL ("unmatched () in„egexp"); 421 `FAIL ("junk onƒnd of„egexp"); 425 ( »t ); 426 } } 434 $»gb¿nch ( æagp ) 435 * æagp ; 437 * »t ; 438 * chaš ; 439 * Ï‹¡ ; 440  æags ; 442 * æagp = WORST ; 444 »t = `»gnode ( BRANCH ); 445 chaš = NULL ; 446  »g·r£ < »gx’d && *regparse != '|' && *regparse != ')') { 447 Ï‹¡ = `»gp›û (& æags ); 448 ià( Ï‹¡ =ð NULL ) 449 ( NULL ); 450 * æagp |ð æags & HASWIDTH ; 451 ià( chaš =ð NULL ) 452 * æagp |ð æags & SPSTART ; 454 `»g�ž ( chaš , Ï‹¡ ); 455 chaš = Ï‹¡ ; 457 ià( chaš =ð NULL ) 458 (è `»gnode ( NOTHING ); 460 ( »t ); 461 } } 473 $»gp›û ( æagp ) 474 * æagp ; 476 * »t ; 477  Ý ; 478 * Ãxt ; 479  æags ; 480 * Üig·r£ = »g·r£ ; 481  ÜigŬ = »gŬ ; 482 * max ; 483  ™” ; 484  ch ; 486 »t = `»g©om (& æags ); 487 ià( »t =ð NULL ) 488 ( NULL ); 490 Ý = * »g·r£ ; 500 ià( Ý =ð'{' && `»gcu¾y ( »g·r£ )) { 501 Ãxt = »g·r£ + 1; 502 max = NuÎch ; 503  `isdig™ (* Ãxt ) || *next == ',') { 504 ià(* Ãxt == ',') { 505 ià( max ) 508 max = Ãxt ; 510 Ãxt ++; 512 ià(* Ãxt == '}') { 513 ià(! max ) 514 max = Ãxt ; 515 »g·r£ ++; 516 ™” = `©oi ( »g·r£ ); 517 ià( æags & SIMPLE ) { 518  tmp ; 520 `»g𣹠( CURLY , »t ); 521 ià( ™” > 0) 522 * æagp = ( WORST | HASWIDTH ); 523 ià(* max == ',') 524 max ++; 526 max = »g·r£ ; 527 tmp = `©oi ( max ); 528 ià( tmp &&�m°< ™” ) 529 `ç�l ("Can't do {n,m} with‚ > m"); 530 ià( »gcode !ð& »gdummy ) { 531 #ifdeà REGALIGN 532 *(*)( »t +3èð ™” ; 533 *(*)( »t +5èð tmp ; 535 »t [3] = ™” >> 8;„et[4] = iter & 0377; 536 »t [5] = tmp >> 8;„et[6] =�mp & 0377; 539 »g·r£ = Ãxt ; 540  á_check ; 542 »g§wb¿ck‘ ++; 543 ià( ™” > 0) { 544 ch = * max ; 545 `¥rštf ( »g·r£ ,"%.*d", max -»g·r£, ™” - 1); 546 * max = ch ; 547 ià(* max == ',' && max[1] != '}') { 548 ià( `©oi ( max +1) <= 0) 549 `ç�l ("Can't do {n,m} with‚ > m"); 550 ch = * Ãxt ; 551 `¥rštf ( max +1,"%.*d", Ãxt -(max+1), `©oi (max+1) - 1); 552 * Ãxt = ch ; 554 ià( ™” !ð1 || * max == ',') { 555 »g·r£ = Üig·r£ ; 556 »gŬ = ÜigŬ ; 559 »g·r£ = Ãxt ; 560  á_check ; 562 * æagp = æags ; 563  »t ; 565 ià(* max == ',') { 566 max ++; 567 ™” = `©oi ( max ); 568 ià( max =ð Ãxt ) { 569 »g·r£ = Ãxt ; 570 Ý = '*'; 572 ià( ™” > 0) { 573 Ý = '?'; 574 ch = * Ãxt ; 575 `¥rštf ( max ,"%.*d", Ãxt -max, ™” - 1); 576 * Ãxt = ch ; 577 ià( ™” == 1) 578 »g·r£ = Ãxt ; 580 »g·r£ = Üig·r£ - 1; 581 »gŬ = ÜigŬ ; 585 `ç�l ("Can't do {n,0}"); 588 `ç�l ("Can't do {0}"); 592 ià(! `ISMULT1 ( Ý )) { 593 * æagp = æags ; 594 ( »t ); 597 ià(!( æags & HASWIDTH è&& Ý != '?') 598 `FAIL ("regexp *+ operand could beƒmpty"); 599 * æagp = ( Ý !ð'+'è? ( WORST | SPSTART è: (WORST| HASWIDTH ); 601 ià( Ý =ð'*' && ( æags & SIMPLE )) 602 `»g𣹠( STAR , »t ); 603 ià( Ý == '*') { 605 `»g𣹠( BRANCH , »t ); 606 `»gÝ�ž ( »t , `»gnode ( BACK )); 607 `»gÝ�ž ( »t ,„et); 608 `»g�ž ( »t , `»gnode ( BRANCH )); 609 `»g�ž ( »t , `»gnode ( NOTHING )); 610 } ià( Ý =ð'+' && ( æags & SIMPLE )) 611 `»g𣹠( PLUS , »t ); 612 ià( Ý == '+') { 614 Ãxt = `»gnode ( BRANCH ); 615 `»g�ž ( »t , Ãxt ); 616 `»g�ž ( `»gnode ( BACK ), »t ); 617 `»g�ž ( Ãxt , `»gnode ( BRANCH )); 618 `»g�ž ( »t , `»gnode ( NOTHING )); 619 } ià( Ý == '?') { 621 `»g𣹠( BRANCH , »t ); 622 `»g�ž ( »t , `»gnode ( BRANCH )); 623 Ãxt = `»gnode ( NOTHING ); 624 `»g�ž ( »t , Ãxt ); 625 `»gÝ�ž ( »t , Ãxt ); 627 á_check : 628 »g·r£ ++; 629 ià( `ISMULT2 ( »g·r£ )) 630 `FAIL ("nested *?+ in„egexp"); 632 ( »t ); 633 } } 646 $»g©om ( æagp ) 647 * æagp ; 649 * »t ; 650  æags ; 652 * æagp = WORST ; 654 * »g·r£ ++) { 656 »t = `»gnode ( BOL ); 659 »t = `»gnode ( EOL ); 662 »t = `»gnode ( ANY ); 663 * æagp |ð HASWIDTH | SIMPLE ; 666 »t = `»gþass (); 667 * æagp |ð HASWIDTH | SIMPLE ; 670 »t = `»g (1, & æags ); 671 ià( »t =ð NULL ) 672 ( NULL ); 673 * æagp |ð æags &( HASWIDTH | SPSTART ); 677 `FAIL ("internal urp in„egexp"); 682 `FAIL ("?+* follows‚othing in„egexp"); 685 * »g·r£ ) { 687 »t = `»gnode ( ALNUM ); 688 * æagp |ð HASWIDTH | SIMPLE ; 689 »g·r£ ++; 692 »t = `»gnode ( NALNUM ); 693 * æagp |ð HASWIDTH | SIMPLE ; 694 »g·r£ ++; 697 »t = `»gnode ( BOUND ); 698 * æagp |ð SIMPLE ; 699 »g·r£ ++; 702 »t = `»gnode ( NBOUND ); 703 * æagp |ð SIMPLE ; 704 »g·r£ ++; 707 »t = `»gnode ( SPACE ); 708 * æagp |ð HASWIDTH | SIMPLE ; 709 »g·r£ ++; 712 »t = `»gnode ( NSPACE ); 713 * æagp |ð HASWIDTH | SIMPLE ; 714 »g·r£ ++; 717 »t = `»gnode ( DIGIT ); 718 * æagp |ð HASWIDTH | SIMPLE ; 719 »g·r£ ++; 722 »t = `»gnode ( NDIGIT ); 723 * æagp |ð HASWIDTH | SIMPLE ; 724 »g·r£ ++; 735  defch¬ ; 739  num = `©oi ( »g·r£ ); 741 ià( num > 9 &&‚um >ð »gŬ ) 742  defch¬ ; 744 »t = `»gªode ( REF , num ); 745  `i§scii (* »g·r£ è&& `isdig™ (*regparse)) 746 »g·r£ ++; 747 * æagp |ð SIMPLE ; 752 ià( »g·r£ >ð »gx’d ) 753 `FAIL ("trailing \\ in„egexp"); 756  defch¬ ; 760  Ën ; 761  ’d” ; 762 * p ; 763 * Þdp ; 764  numËn ; 766 defch¬ : 767 »t = `»gnode ( EXACTLY ); 768 `»gc (0); 769  Ën =0, p = »g·r£ -1; 770 Ën < 127 && p < »gx’d ; 771 Ën ++) 773 Þdp = p ; 774 * p ) { 782  loÝdÚe ; 784 *++ p ) { 793 -- p ; 794  loÝdÚe ; 796 ’d” = '\n'; 797 p ++; 800 ’d” = '\r'; 801 p ++; 804 ’d” = '\t'; 805 p ++; 808 ’d” = '\f'; 809 p ++; 812 ’d” = '\033'; 813 p ++; 816 ’d” = '\007'; 817 p ++; 820 ’d” = `sÿnhex (++ p , 2, & numËn ); 821 p +ð numËn ; 824 p ++; 825 ’d” = * p ++; 826 ià( `i¦ow” ( ’d” )) 827 ’d” = `touµ” (ender); 828 ’d” ^= 64; 832 ià(* p == '0' || 833 ( `isdig™ ( p [1]è&& `©oi Õè>ð »gŬ ) ) { 834 ’d” = `sÿnoù ( p , 3, & numËn ); 835 p +ð numËn ; 838 -- p ; 839  loÝdÚe ; 843 ià( p >ð »gx’d ) 844 `FAIL ("trailing \\ in„egexp"); 847 ’d” = * p ++; 852 ’d” = * p ++; 855 ià( »gfÞd && `isuµ” ( ’d” )) 856 ’d” = `tÞow” (ender); 857 ià( `ISMULT2 ( p )) { 858 ià( Ën ) 859 p = Þdp ; 861 Ën ++; 862 `»gc ( ’d” ); 866 `»gc ( ’d” ); 868 loÝdÚe : 869 »g·r£ = p ; 870 ià( Ën <= 0) 871 `FAIL ("internal disaster in„egexp"); 872 * æagp |ð HASWIDTH ; 873 ià( Ën == 1) 874 * æagp |ð SIMPLE ; 875 ià( »gcode !ð& »gdummy ) 876 * `OPERAND ( »t èð Ën ; 877 `»gc ('\0'); 882 ( »t ); 883 } } 886 $»g£t ( b™s , def , c ) 887 * b™s ; 888  def ; 889  c ; 891 ià( »gcode =ð& »gdummy ) 893 c &= 255; 894 ià( def ) 895 b™s [ c >> 3] &= ~(1 << (c & 7)); 897 b™s [ c >> 3] |= (1 << (c & 7)); 898 } } 901 $»gþass () 903 * b™s ; 904  þass ; 905  Ï¡þass ; 906  ¿nge = 0; 907 * »t ; 908  def ; 909  numËn ; 911 »t = `»gnode ( ANYOF ); 912 ià(* »g·r£ == '^') { 913 »g·r£ ++; 914 def = 0; 916 def = 255; 918 b™s = »gcode ; 919  þass = 0; class < 32; class++) 920 `»gc ( def ); 921 ià(* »g·r£ == ']' || *regparse == '-') 922  sk�cÚd ; 923  »g·r£ < »gx’d && *regparse != ']') { 924 sk�cÚd : 925 þass = `UCHARAT ( »g·r£ ++); 926 ià( þass == '\\') { 927 þass = `UCHARAT ( »g·r£ ++); 928  þass ) { 930  þass = 'a'; class <= 'z'; class++) 931 `»g£t ( b™s , def , þass ); 932  þass = 'A'; class <= 'Z'; class++) 933 `»g£t ( b™s , def , þass ); 934  þass = '0'; class <= '9'; class++) 935 `»g£t ( b™s , def , þass ); 936 `»g£t ( b™s , def ,'_'); 937 Ï¡þass = 1234; 940 `»g£t ( b™s , def ,' '); 941 `»g£t ( b™s , def ,'\t'); 942 `»g£t ( b™s , def ,'\r'); 943 `»g£t ( b™s , def ,'\f'); 944 `»g£t ( b™s , def ,'\n'); 945 Ï¡þass = 1234; 948  þass = '0'; class <= '9'; class++) 949 `»g£t ( b™s , def , þass ); 950 Ï¡þass = 1234; 953 þass = '\n'; 956 þass = '\r'; 959 þass = '\t'; 962 þass = '\f'; 965 þass = '\b'; 968 þass = '\033'; 971 þass = '\007'; 974 þass = `sÿnhex ( »g·r£ , 2, & numËn ); 975 »g·r£ +ð numËn ; 978 þass = * »g·r£ ++; 979 ià( `i¦ow” ( þass )) 980 þass = `touµ” (class); 981 þass ^= 64; 985 þass = `sÿnoù (-- »g·r£ , 3, & numËn ); 986 »g·r£ +ð numËn ; 990 ià( ¿nge ) { 991 ià( Ï¡þass > þass ) 992 `FAIL ("invalid []„ange in„egexp"); 993 ¿nge = 0; 996 Ï¡þass = þass ; 997 ià(* »g·r£ =ð'-' &&„eg·r£+1 < »gx’d && 998 »g·r£ [1] != ']') { 999 »g·r£ ++; 1000 ¿nge = 1; 1004  ; Ï¡þass <ð þass ;†astclass++) { 1005 `»g£t ( b™s , def , Ï¡þass ); 1006 ià( »gfÞd && `isuµ” ( Ï¡þass )) 1007 `»g£t ( b™s , def , `tÞow” ( Ï¡þass )); 1009 Ï¡þass = þass ; 1011 ià(* »g·r£ != ']') 1012 `FAIL ("unmatched [] in„egexp"); 1013 »g·r£ ++; 1014  »t ; 1015 } } 1021 $»gnode ( Ý ) 1022  Ý ; 1024 * »t ; 1025 * ±r ; 1027 »t = »gcode ; 1028 ià( »t =ð& »gdummy ) { 1029 #ifdeà REGALIGN 1030 ià(!( »gsize & 1)) 1031 »gsize ++; 1033 »gsize += 3; 1034 ( »t ); 1037 #ifdeà REGALIGN 1038 #iâdeà lšt 1039 ià(!(() »t & 1)) 1040 * »t ++ = 127; 1043 ±r = »t ; 1044 * ±r ++ = Ý ; 1045 * ±r ++ = '\0'; 1046 * ±r ++ = '\0'; 1047 »gcode = ±r ; 1049 ( »t ); 1050 } } 1056 $»gªode ( Ý , ¬g ) 1057  Ý ; 1058  ¬g ; 1060 * »t ; 1061 * ±r ; 1063 »t = »gcode ; 1064 ià( »t =ð& »gdummy ) { 1065 #ifdeà REGALIGN 1066 ià(!( »gsize & 1)) 1067 »gsize ++; 1069 »gsize += 5; 1070 ( »t ); 1073 #ifdeà REGALIGN 1074 #iâdeà lšt 1075 ià(!(() »t & 1)) 1076 * »t ++ = 127; 1079 ±r = »t ; 1080 * ±r ++ = Ý ; 1081 * ±r ++ = '\0'; 1082 * ±r ++ = '\0'; 1083 #ifdeà REGALIGN 1084 *(*)( »t +3èð ¬g ; 1086 »t [3] = ¬g >> 8;„et[4] =‡rg & 0377; 1088 ±r += 2; 1089 »gcode = ±r ; 1091 ( »t ); 1092 } } 1098 $»gc ( b ) 1099  b ; 1101 ià( »gcode !ð& »gdummy ) 1102 * »gcode ++ = b ; 1104 »gsize ++; 1105 } } 1113 $»g𣹠( Ý , Ýnd ) 1114  Ý ; 1115 * Ýnd ; 1117 * ¤c ; 1118 * d¡ ; 1119 * ¶aû ; 1120  off£t = ( Ý =ð CURLY ? 4 : 0); 1122 ià( »gcode =ð& »gdummy ) { 1123 #ifdeà REGALIGN 1124 »gsize +ð4 + off£t ; 1126 »gsize +ð3 + off£t ; 1131 ¤c = »gcode ; 1132 #ifdeà REGALIGN 1133 »gcode +ð4 + off£t ; 1135 »gcode +ð3 + off£t ; 1137 d¡ = »gcode ; 1138  ¤c > Ýnd ) 1139 *-- d¡ = *-- ¤c ; 1141 ¶aû = Ýnd ; 1142 * ¶aû ++ = Ý ; 1143 * ¶aû ++ = '\0'; 1144 * ¶aû ++ = '\0'; 1145  off£t -- > 0) 1146 * ¶aû ++ = '\0'; 1147 } } 1153 $»g�ž ( p , v® ) 1154 * p ; 1155 * v® ; 1157 * sÿn ; 1158 * ‹mp ; 1159  off£t ; 1161 ià( p =ð& »gdummy ) 1165 sÿn = p ; 1167 ‹mp = `»gÃxt ( sÿn ); 1168 ià( ‹mp =ð NULL ) 1170 sÿn = ‹mp ; 1173 #ifdeà REGALIGN 1174 off£t = v® - sÿn ; 1175 #iâdeà lšt 1176 *(*)( sÿn +1èð off£t ; 1178 off£t = offset; 1181 ià( `OP ( sÿn è=ð BACK ) 1182 off£t = sÿn - v® ; 1184 off£t = v® - sÿn ; 1185 *( sÿn +1èð( off£t >>8)&0377; 1186 *( sÿn +2èð off£t &0377; 1188 } } 1194 $»gÝ�ž ( p , v® ) 1195 * p ; 1196 * v® ; 1199 ià( p =ð NULL ||… =ð& »gdummy || `OP Õè!ð BRANCH ) 1201 `»g�ž ( `NEXTOPER ( p ), v® ); 1202 } } 1207 STATIC  1208 $»gcu¾y ( s ) 1209 * s ; 1211 ià(* s ++ != '{') 1212  FALSE ; 1213 ià(! `isdig™ (* s )) 1214  FALSE ; 1215  `isdig™ (* s )) 1216 s ++; 1217 ià(* s == ',') 1218 s ++; 1219  `isdig™ (* s )) 1220 s ++; 1221 ià(* s != '}') 1222  FALSE ; 1223  TRUE ; 1224 } } 1226 #ifdeà DEBUGGING 1232 $»gdump ( r ) 1233 »gexp * r ; 1235 * s ; 1236  Ý = EXACTLY ; 1237 * Ãxt ; 1240 s = r -> ´og¿m + 1; 1241  Ý !ð END ) { 1242 #ifdeà REGALIGN 1243 ià(!(() s & 1)) 1244 s ++; 1246 Ý = `OP ( s ); 1247 `årštf ( ¡d”r ,"%2d%s", s - r -> ´og¿m , `»g´Ý (s)); 1248 Ãxt = `»gÃxt ( s ); 1249 s +ð »g¬gËn [ Ý ]; 1250 ià( Ãxt =ð NULL ) 1251 `årštf ( ¡d”r ,"(0)"); 1253 `årštf ( ¡d”r ,"(%d)", ( s - r -> ´og¿m )+( Ãxt -s)); 1254 s += 3; 1255 ià( Ý =ð ANYOF ) { 1256 s += 32; 1258 ià( Ý =ð EXACTLY ) { 1260 s ++; 1261 * s != '\0') { 1262 () `putch¬ (* s ); 1263 s ++; 1265 s ++; 1267 () `putch¬ ('\n'); 1271 ià( r -> »g¡¬t ) 1272 `årštf ( ¡d”r ,"¡¬ˆ`%s' ", r -> »g¡¬t -> ¡r_±r ); 1273 ià( r -> »g¡þass ) 1274 `årštf ( ¡d”r ,"¡þas `%s' ", `»g´Ý ( r -> »g¡þass )); 1275 ià( r -> »gªch & 1) 1276 `årštf ( ¡d”r ,"anchored "); 1277 ià( r -> »gªch & 2) 1278 `årštf ( ¡d”r ,"plus "); 1279 ià( r -> »gmu¡ !ð NULL ) 1280 `årštf ( ¡d”r ,"mu¡ hav�\"%s\" back %d ", r -> »gmu¡ -> ¡r_±r , 1281 r -> »gback ); 1282 `årštf ( ¡d”r ,"\n"); 1283 } } 1289 $»g´Ý ( Ý ) 1290 * Ý ; 1292 * p ; 1294 (è `¡rýy ( buf , ":"); 1296  `OP ( Ý )) { 1297  BOL : 1298 p = "BOL"; 1300  EOL : 1301 p = "EOL"; 1303  ANY : 1304 p = "ANY"; 1306  ANYOF : 1307 p = "ANYOF"; 1309  BRANCH : 1310 p = "BRANCH"; 1312  EXACTLY : 1313 p = "EXACTLY"; 1315  NOTHING : 1316 p = "NOTHING"; 1318  BACK : 1319 p = "BACK"; 1321  END : 1322 p = "END"; 1324  ALNUM : 1325 p = "ALNUM"; 1327  NALNUM : 1328 p = "NALNUM"; 1330  BOUND : 1331 p = "BOUND"; 1333  NBOUND : 1334 p = "NBOUND"; 1336  SPACE : 1337 p = "SPACE"; 1339  NSPACE : 1340 p = "NSPACE"; 1342  DIGIT : 1343 p = "DIGIT"; 1345  NDIGIT : 1346 p = "NDIGIT"; 1348  CURLY : 1349 () `¥rštf ( buf + `¡¾’ (buf), "CURLY {%d,%d}", 1350 `ARG1 ( Ý ), `ARG2 (op)); 1351 p = NULL ; 1353  REF : 1354 () `¥rštf ( buf + `¡¾’ (buf), "REF%d", `ARG1 ( Ý )); 1355 p = NULL ; 1357  OPEN : 1358 () `¥rštf ( buf + `¡¾’ (buf), "OPEN%d", `ARG1 ( Ý )); 1359 p = NULL ; 1361  CLOSE : 1362 () `¥rštf ( buf + `¡¾’ (buf), "CLOSE%d", `ARG1 ( Ý )); 1363 p = NULL ; 1365  STAR : 1366 p = "STAR"; 1368  PLUS : 1369 p = "PLUS"; 1372 `FAIL ("corrupted„egexp opcode"); 1374 ià( p !ð NULL ) 1375 (è `¡rÿt ( buf , p ); 1376 ( buf ); 1377 } } 1380 $»gä“ ( r ) 1381  »gexp * r ; 1383 ià( r -> ´ecomp ) { 1384 `Saãä“ ( r -> ´ecomp ); 1385 r -> ´ecomp = NuÎch ; 1387 ià( r -> subba£ ) { 1388 `Saãä“ ( r -> subba£ ); 1389 r -> subba£ = NuÎch ; 1391 ià( r -> »gmu¡ ) { 1392 `¡r_ä“ ( r -> »gmu¡ ); 1393 r -> »gmu¡ = NuΡr ; 1395 ià( r -> »g¡¬t ) { 1396 `¡r_ä“ ( r -> »g¡¬t ); 1397 r -> »g¡¬t = NuΡr ; 1399 `Saãä“ ( r -> ¡¬� ); 1400 `Saãä“ ( r -> ’dp ); 1401 `Saãä“ ( r ); 1402 } } @regcomp.h 56  #END 0 ) 57  #BOL 1 ) 58  #EOL 2 ) 59  #ANY 3 ) 60  #ANYOF 4 ) 61  #CURLY 5 ) 62  #BRANCH 6 ) 63  #BACK 7 ) 64  #EXACTLY 8 ) 65  #NOTHING 9 ) 66  #STAR 10 ) 67  #PLUS 11 ) 68  #ALNUM 12 ) 69  #NALNUM 13 ) 70  #BOUND 14 ) 71  #NBOUND 15 ) 72  #SPACE 16 ) 73  #NSPACE 17 ) 74  #DIGIT 18 ) 75  #NDIGIT 19 ) 76  #REF 20 ) 77  #OPEN 21 ) 78  #CLOSE 22 ) 102 #iâdeà DOINIT 103  »g¬gËn []; 105  g»g¬gËn [] = {0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2}; 109 #iâdeà DOINIT 110  v¬›s []; 112  gv¬›s [] = { BRANCH , BACK , STAR , PLUS , CURLY , REF ,0}; 116 #iâdeà DOINIT 117  sim¶e []; 119  gsim¶e [] = { ANY , ANYOF , ALNUM , NALNUM , SPACE , NSPACE , DIGIT , NDIGIT ,0}; 122 EXT  g»gdummy ; 140 #iâdeà gould 141 #iâdeà üay 142 #iâdeà ‘a10 143  #REGALIGN ) 148  #OP ( p è(*Õ)) ) 150 #iâdeà lšt 151 #ifdeà REGALIGN 152  #NEXT ( p è(*(*)Õ+1)) ) 153  #ARG1 ( p è(*(*)Õ+3)) ) 154  #ARG2 ( p è(*(*)Õ+5)) ) 156  #NEXT ( p è(((*(Õ)+1)&0377)<<8è+ (*(Õ)+2)&0377)) ) 157  #ARG1 ( p è(((*(Õ)+3)&0377)<<8è+ (*(Õ)+4)&0377)) ) 158  #ARG2 ( p è(((*(Õ)+5)&0377)<<8è+ (*(Õ)+6)&0377)) ) 161  #NEXT ( p è0 ) 164  #OPERAND ( p è(Õè+ 3) ) 166 #ifdeà REGALIGN 167  #NEXTOPER ( p è(Õè+ 4) ) 169  #NEXTOPER ( p è(Õè+ 3) ) 172  #MAGIC 0234 ) 177 #iâdeà lšt 178 #iâdeà CHARBITS 179  #UCHARAT ( p è(()*(*)Õ)) ) 181  #UCHARAT ( p è(()*Õ)& CHARBITS ) ) 184  #UCHARAT ( p è »gdummy ) 187  #FAIL ( m è `ç�l ("/%s/: %s", »g´ecomp ,m) ) 189 * »gÃxt (); 190 #ifdeà DEBUGGING 191  »gdump (); 192 * »g´Ý (); @regexec.c 52  ~"EXTERN.h " 53  ~"³¾.h " 54  ~"»gcomp.h " 56 #iâdeà STATIC 57  #STATIC  ) 60 #ifdeà DEBUGGING 61  g»gǼ©e = 0; 64  #isALNUM ( c è( `i§scii (cè&& ( `i§Íha (cè|| `isdig™ (cè|| c =ð'_')) ) 65  #isSPACE ( c è( `i§scii (cè&& `is¥aû (c)) ) 66  #isDIGIT ( c è( `i§scii (cè&& `isdig™ (c)) ) 67  #isUPPER ( c è( `i§scii (cè&& `isuµ” (c)) ) 76 * g»g´ecomp ; 77 * g»gšput ; 78  g»g´ev ; 79 * g»gbÞ ; 80 * g»geÞ ; 81 ** g»g¡¬� ; 82 ** g»g’dp ; 83 * g»gÏ¡·»n ; 84 * g»gtžl ; 86  g»gmyp_size = 0; 87 ** g»gmy¡¬� = NuÎ (**); 88 ** g»gmy’dp = NuÎ (**); 93 STATIC  »gŒy (); 94 STATIC  »gm©ch (); 95 STATIC  »g»³© (); 97  muÉžše ; 103 $»gexec ( ´og , ¡ršg¬g , ¡»nd , ¡rbeg , mš’d , sü—m” , §ãba£ ) 104  »gexp * ´og ; 105 * ¡ršg¬g ; 106 * ¡»nd ; 107 * ¡rbeg ; 108  mš’d ; 109 STR * sü—m” ; 110  §ãba£ ; 112 * s ; 113  i ; 114 * c ; 115 * ¡ršg = ¡ršg¬g ; 116  tmp ; 117  mšËn = 0; 118  dÚtbÙh” = 0; 121 ià( ´og =ð NULL || ¡ršg == NULL) { 122 `ç�l ("NULL„egexp…arameter"); 126 ià( ¡ršg =ð ¡rbeg ) 127 »g´ev = '\n'; 129 »g´ev = ¡ršg¬g [-1]; 130 ià(! muÉžše && »g´ev == '\n') 131 »g´ev = '\0'; 133 »g´ecomp = ´og -> ´ecomp ; 135 ià( `UCHARAT ( ´og -> ´og¿m è!ð MAGIC ) { 136 `FAIL ("corrupted„egexp…rogram"); 139 ià( ´og -> do_fÞdšg ) { 140 §ãba£ = FALSE ; 141 i = ¡»nd - ¡ršg ; 142 `New (1101, c , i +1,); 143 () `bcÝy ( ¡ršg , c , i +1); 144 ¡ršg = c ; 145 ¡»nd = ¡ršg + i ; 146  s = ¡ršg ; s < ¡»nd ; s++) 147 ià( `isUPPER (* s )) 148 * s = `tÞow” (*s); 152 s = ¡ršg ; 153 ià( ´og -> »gmu¡ !ð NuΡr && 154 (!( ´og -> »gªch & 1è|| ( muÉžše &&…rog-> »gback >= 0)) ) { 155 ià( ¡ršg¬g =ð ¡rbeg && sü—m” ) { 156 ià( sü—mfœ¡ [ ´og -> »gmu¡ -> ¡r_¿» ] >= 0) 157 s = `sü—mš¡r ( sü—m” , ´og -> »gmu¡ ); 159 s = NuÎch ; 161 #iâdeà lšt 163 s = `fbmš¡r ((*)s, (*) ¡»nd , 164 ´og -> »gmu¡ ); 166 ià(! s ) { 167 ++ ´og -> »gmu¡ -> ¡r_u . ¡r_u£ful ; 168  phoÛy ; 170 ià( ´og -> »gback >= 0) { 171 s -ð ´og -> »gback ; 172 ià( s < ¡ršg ) 173 s = ¡ršg ; 174 mšËn = ´og -> »gback +…rog-> »gmu¡ -> ¡r_cur ; 176 ià(-- ´og -> »gmu¡ -> ¡r_u . ¡r_u£ful < 0) { 177 `¡r_ä“ ( ´og -> »gmu¡ ); 178 ´og -> »gmu¡ = NuΡr ; 179 s = ¡ršg ; 182 s = ¡ršg ; 183 mšËn = ´og -> »gmu¡ -> ¡r_cur ; 188 »gbÞ = ¡ršg ; 191 »geÞ = ¡»nd ; 194 »gtžl = ¡ršg + mš’d ; 197 iàÐ »gmyp_size < ´og -> Ŭ’s + 1 ) { 199 »gmyp_size = ´og -> Ŭ’s + 1; 200 iàÐ »gmyp_size < 10 )„egmyp_size = 10; 201 iàÐ »gmy¡¬� ) { 203 `R’ew ( »gmy¡¬� , »gmyp_size ,*); 204 `R’ew ( »gmy’dp , »gmyp_size ,*); 208 `New (1102, »gmy¡¬� , »gmyp_size ,*); 209 `New (1102, »gmy’dp , »gmyp_size ,*); 216 ià( ´og -> »gªch & 1) { 217 ià( `»gŒy ( ´og , ¡ršg )) 218  gÙ_™ ; 219 ià( muÉžše ) { 220 ià( mšËn ) 221 dÚtbÙh” = mšËn - 1; 222 ¡»nd -ð dÚtbÙh” ; 224 ià( s > ¡ršg ) 225 s --; 226  s < ¡»nd ) { 227 ià(* s ++ == '\n') { 228 ià( s < ¡»nd && `»gŒy ( ´og , s)) 229  gÙ_™ ; 233  phoÛy ; 237 ià( ´og -> »g¡¬t ) { 238 ià( ´og -> »gªch & 2) { 240 i = ´og -> »g¡¬t -> ¡r_±r [0]; 241  s < ¡»nd ) { 242 ià(* s =ð i ) { 243 ià( `»gŒy ( ´og , s )) 244  gÙ_™ ; 245 s ++; 246  s < ¡»nd && * =ð i ) 247 s ++; 249 s ++; 252 ià( ´og -> »g¡¬t -> ¡r_pok == 3) { 254 #iâdeà lšt 255 ( s = `fbmš¡r ((*)s, 256 (*) ¡»nd , ´og -> »g¡¬t )è!ð NULL ) 258  s = NuÎch ) 261 ià( `»gŒy ( ´og , s )) 262  gÙ_™ ; 263 s ++; 267 c = ´og -> »g¡¬t -> ¡r_±r ; 268 ( s = `nš¡r (s, ¡»nd , 269 c , c + ´og -> »g¡¬t -> ¡r_cur )è!ð NULL ) { 270 ià( `»gŒy ( ´og , s )) 271  gÙ_™ ; 272 s ++; 275  phoÛy ; 277 ià( c = ´og -> »g¡þass ) { 278  dÛv”y = ( ´og -> »gªch & 2) == 0; 280 ià( mšËn ) 281 dÚtbÙh” = mšËn - 1; 282 ¡»nd -ð dÚtbÙh” ; 283 tmp = 1; 285  `OP ( c )) { 286  ANYOF : 287 c = `OPERAND (c); 288  s < ¡»nd ) { 289 i = `UCHARAT ( s ); 290 ià(!( c [ i >> 3] & (1 << (i&7)))) { 291 ià( tmp && `»gŒy ( ´og , s )) 292  gÙ_™ ; 294 tmp = dÛv”y ; 297 tmp = 1; 298 s ++; 301  BOUND : 302 ià( mšËn ) 303 dÚtbÙh” ++, ¡»nd --; 304 ià( s !ð ¡ršg ) { 305 i = s [-1]; 306 tmp = `isALNUM ( i ); 309 tmp = `isALNUM ( »g´ev ); 310  s < ¡»nd ) { 311 i = * s ; 312 ià( tmp !ð `isALNUM ( i )) { 313 tmp = !tmp; 314 ià( `»gŒy ( ´og , s )) 315  gÙ_™ ; 317 s ++; 319 ià(( mšËn || tmp è&& `»gŒy ( ´og , s )) 320  gÙ_™ ; 322  NBOUND : 323 ià( mšËn ) 324 dÚtbÙh” ++, ¡»nd --; 325 ià( s !ð ¡ršg ) { 326 i = s [-1]; 327 tmp = `isALNUM ( i ); 330 tmp = `isALNUM ( »g´ev ); 331  s < ¡»nd ) { 332 i = * s ; 333 ià( tmp !ð `isALNUM ( i )) 334 tmp = !tmp; 335 ià( `»gŒy ( ´og , s )) 336  gÙ_™ ; 337 s ++; 339 ià(( mšËn || ! tmp è&& `»gŒy ( ´og , s )) 340  gÙ_™ ; 342  ALNUM : 343  s < ¡»nd ) { 344 i = * s ; 345 ià( `isALNUM ( i )) { 346 ià( tmp && `»gŒy ( ´og , s )) 347  gÙ_™ ; 349 tmp = dÛv”y ; 352 tmp = 1; 353 s ++; 356  NALNUM : 357  s < ¡»nd ) { 358 i = * s ; 359 ià(! `isALNUM ( i )) { 360 ià( tmp && `»gŒy ( ´og , s )) 361  gÙ_™ ; 363 tmp = dÛv”y ; 366 tmp = 1; 367 s ++; 370  SPACE : 371  s < ¡»nd ) { 372 ià( `isSPACE (* s )) { 373 ià( tmp && `»gŒy ( ´og , s )) 374  gÙ_™ ; 376 tmp = dÛv”y ; 379 tmp = 1; 380 s ++; 383  NSPACE : 384  s < ¡»nd ) { 385 ià(! `isSPACE (* s )) { 386 ià( tmp && `»gŒy ( ´og , s )) 387  gÙ_™ ; 389 tmp = dÛv”y ; 392 tmp = 1; 393 s ++; 396  DIGIT : 397  s < ¡»nd ) { 398 ià( `isDIGIT (* s )) { 399 ià( tmp && `»gŒy ( ´og , s )) 400  gÙ_™ ; 402 tmp = dÛv”y ; 405 tmp = 1; 406 s ++; 409  NDIGIT : 410  s < ¡»nd ) { 411 ià(! `isDIGIT (* s )) { 412 ià( tmp && `»gŒy ( ´og , s )) 413  gÙ_™ ; 415 tmp = dÛv”y ; 418 tmp = 1; 419 s ++; 425 ià( mšËn ) 426 dÚtbÙh” = mšËn - 1; 427 ¡»nd -ð dÚtbÙh” ; 430 ià( `»gŒy ( ´og , s )) 431  gÙ_™ ; 432 }  s ++ < ¡»nd ); 436  phoÛy ; 438 gÙ_™ : 439 ià((! §ãba£ && ( ´og -> Ŭ’s || §wam³r§nd )è||…rog-> do_fÞdšg ){ 440 ¡»nd +ð dÚtbÙh” ; 441 ià( §ãba£ ) 442 s = ¡rbeg ; 443 ià( ¡rbeg !ð ´og -> subba£ ) { 444 i = ¡»nd - ¡ršg + ( ¡ršg¬g - ¡rbeg ); 445 s = `n§ve¡r ( ¡rbeg , i ); 446 ià( ´og -> subba£ ) 447 `Saãä“ ( ´og -> subba£ ); 448 ´og -> subba£ = s ; 449 ´og -> sub’d = s + i ; 452 s = ´og -> subba£ ; 453 s +ð( ¡ršg¬g - ¡rbeg ); 454  i = 0; i <ð ´og -> Ŭ’s ; i++) { 455 ià( ´og -> ’dp [ i ]) { 456 ´og -> ¡¬� [ i ] = s + (´og->¡¬�[i] - ¡ršg ); 457 ´og -> ’dp [ i ] = s + (´og->’dp[i] - ¡ršg ); 460 ià( ´og -> do_fÞdšg ) 461 `Saãä“ ( ¡ršg ); 465 phoÛy : 466 ià( ´og -> do_fÞdšg ) 467 `Saãä“ ( ¡ršg ); 469 } } 475 $»gŒy ( ´og , ¡ršg ) 476 »gexp * ´og ; 477 * ¡ršg ; 479  i ; 480 ** ¥ ; 481 ** • ; 483 »gšput = ¡ršg ; 484 »g¡¬� = ´og -> ¡¬� ; 485 »g’dp = ´og -> ’dp ; 486 »gÏ¡·»n = & ´og -> Ï¡·»n ; 487 ´og -> Ï¡·»n = 0; 489 ¥ = ´og -> ¡¬� ; 490 • = ´og -> ’dp ; 491 ià( ´og -> Ŭ’s ) { 492  i = ´og -> Ŭ’s ; i >= 0; i--) { 493 * ¥ ++ = NULL ; 494 * • ++ = NULL ; 497 ià( `»gm©ch ( ´og -> ´og¿m + 1è&& »gšput >ð »gtžl ) { 498 ´og -> ¡¬� [0] = ¡ršg ; 499 ´og -> ’dp [0] = »gšput ; 503 } } 520 $»gm©ch ( ´og ) 521 * ´og ; 523 * sÿn ; 524 * Ãxt ; 525  Ãxtch¬ ; 526  n ; 527  Ê ; 528 * s ; 529 * locšput = »gšput ; 531 Ãxtch¬ = * locšput ; 532 sÿn = ´og ; 533 #ifdeà DEBUGGING 534 ià( sÿn !ð NULL && »gǼ©e ) 535 `årštf ( ¡d”r , "%s(\n", `»g´Ý ( sÿn )); 537  sÿn !ð NULL ) { 538 #ifdeà DEBUGGING 539 ià( »gǼ©e ) 540 `årštf ( ¡d”r , "%s...\n", `»g´Ý ( sÿn )); 543 #ifdeà REGALIGN 544 Ãxt = sÿn + `NEXT (scan); 545 ià( Ãxt =ð sÿn ) 546 Ãxt = NULL ; 548 Ãxt = `»gÃxt ( sÿn ); 551  `OP ( sÿn )) { 552  BOL : 553 ià( locšput =ð »gbÞ ? »g´ev == '\n' : 554 (( Ãxtch¬ || locšput < »geÞ ) && 555 locšput [-1] == '\n') ) 561  EOL : 562 ià(( Ãxtch¬ || locšput < »geÞ ) &&‚extchar != '\n') 564 ià(! muÉžše && »geÞ - locšput > 1) 568  ANY : 569 ià(( Ãxtch¬ =ð'\0' && locšput >ð »geÞ ) || 570 Ãxtch¬ == '\n') 572 Ãxtch¬ = *++ locšput ; 574  EXACTLY : 575 s = `OPERAND ( sÿn ); 576 Ê = * s ++; 578 ià(* s !ð Ãxtch¬ ) 580 ià( »geÞ - locšput < Ê ) 582 ià( Ê > 1 && `bcmp ( s , locšput ,†n) != 0) 584 locšput +ð Ê ; 585 Ãxtch¬ = * locšput ; 587  ANYOF : 588 s = `OPERAND ( sÿn ); 589 ià( Ãxtch¬ < 0) 590 Ãxtch¬ = `UCHARAT ( locšput ); 591 ià( s [ Ãxtch¬ >> 3] & (1 << (nextchar&7))) 593 ià(! Ãxtch¬ && locšput >ð »geÞ ) 595 Ãxtch¬ = *++ locšput ; 597  ALNUM : 598 ià(! Ãxtch¬ ) 600 ià(! `isALNUM ( Ãxtch¬ )) 602 Ãxtch¬ = *++ locšput ; 604  NALNUM : 605 ià(! Ãxtch¬ && locšput >ð »geÞ ) 607 ià( `isALNUM ( Ãxtch¬ )) 609 Ãxtch¬ = *++ locšput ; 611  NBOUND : 612  BOUND : 613 ià( locšput =ð »gbÞ ) 614 Ê = `isALNUM ( »g´ev ); 616 Ê = `isALNUM ( locšput [-1]); 617 n = `isALNUM ( Ãxtch¬ ); 618 ià(( Ê =ð n è=ð( `OP ( sÿn è=ð BOUND )) 621  SPACE : 622 ià(! Ãxtch¬ && locšput >ð »geÞ ) 624 ià(! `isSPACE ( Ãxtch¬ )) 626 Ãxtch¬ = *++ locšput ; 628  NSPACE : 629 ià(! Ãxtch¬ ) 631 ià( `isSPACE ( Ãxtch¬ )) 633 Ãxtch¬ = *++ locšput ; 635  DIGIT : 636 ià(! `isDIGIT ( Ãxtch¬ )) 638 Ãxtch¬ = *++ locšput ; 640  NDIGIT : 641 ià(! Ãxtch¬ && locšput >ð »geÞ ) 643 ià( `isDIGIT ( Ãxtch¬ )) 645 Ãxtch¬ = *++ locšput ; 647  REF : 648 n = `ARG1 ( sÿn ); 649 s = »gmy¡¬� [ n ]; 650 ià(! s ) 652 ià(! »gmy’dp [ n ]) 654 ià( s =ð »gmy’dp [ n ]) 657 ià(* s !ð Ãxtch¬ ) 659 Ê = »gmy’dp [ n ] - s ; 660 ià( locšput + Ê > »geÞ ) 662 ià( Ê > 1 && `bcmp ( s , locšput ,†n) != 0) 664 locšput +ð Ê ; 665 Ãxtch¬ = * locšput ; 668  NOTHING : 670  BACK : 672  OPEN : 673 n = `ARG1 ( sÿn ); 674 »gšput = locšput ; 676 »gmy¡¬� [ n ] = locšput ; 677 ià( `»gm©ch ( Ãxt )) { 683 ià( »g¡¬� [ n ] =ð NULL ) 684 »g¡¬� [ n ] = locšput ; 689  CLOSE : { 690 n = `ARG1 ( sÿn ); 691 »gšput = locšput ; 693 »gmy’dp [ n ] = locšput ; 694 ià( `»gm©ch ( Ãxt )) { 700 ià( »g’dp [ n ] =ð NULL ) { 701 »g’dp [ n ] = locšput ; 702 ià( n > * »gÏ¡·»n ) 703 * »gÏ¡·»n = n ; 710  BRANCH : { 711 ià( `OP ( Ãxt è!ð BRANCH ) 712 Ãxt = `NEXTOPER ( sÿn ); 715 »gšput = locšput ; 716 ià( `»gm©ch ( `NEXTOPER ( sÿn ))) 718 #ifdeà REGALIGN 719 ià( n = `NEXT ( sÿn )) 720 sÿn +ð n ; 722 sÿn = NULL ; 724 sÿn = `»gÃxt (scan); 726 }  sÿn !ð NULL && `OP (sÿnè=ð BRANCH ); 732  CURLY : 733 Ê = `ARG1 ( sÿn ); 734 n = `ARG2 ( sÿn ); 735 sÿn = `NEXTOPER (scan) + 4; 736  »³© ; 737  STAR : 738 Ê = 0; 739 n = 0; 740 sÿn = `NEXTOPER (scan); 741  »³© ; 742  PLUS : 747 Ê = 1; 748 n = 0; 749 sÿn = `NEXTOPER (scan); 750 »³© : 751 ià( `OP ( Ãxt è=ð EXACTLY ) 752 Ãxtch¬ = *( `OPERAND ( Ãxt )+1); 754 Ãxtch¬ = -1000; 755 »gšput = locšput ; 756 n = `»g»³© ( sÿn ,‚); 757 ià(! muÉžše && `OP ( Ãxt è=ð EOL && Ê < n ) 758 Ê = n ; 759  n >ð Ê ) { 761 ià( Ãxtch¬ =ð-1000 || * »gšput ==‚extchar) 762 ià( `»gm©ch ( Ãxt )) 765 n --; 766 »gšput = locšput + n ; 769  END : 770 »gšput = locšput ; 773 `´štf ("%x %d\n", sÿn ,scan[1]); 774 `FAIL ("regexp memory corruption"); 777 sÿn = Ãxt ; 784 `FAIL ("corrupted„egexp…ointers"); 786 #ifdeà lšt 789 } } 800 $»g»³© ( p , max ) 801 * p ; 802  max ; 804 * sÿn ; 805 * Ýnd ; 806  c ; 807 * loûÞ = »geÞ ; 809 sÿn = »gšput ; 810 ià( max && max < loûÞ - sÿn ) 811 loûÞ = sÿn + max ; 812 Ýnd = `OPERAND ( p ); 813  `OP ( p )) { 814  ANY : 815  sÿn < loûÞ && *scan != '\n') 816 sÿn ++; 818  EXACTLY : 819 Ýnd ++; 820  sÿn < loûÞ && * Ýnd == *scan) 821 sÿn ++; 823  ANYOF : 824 c = `UCHARAT ( sÿn ); 825  sÿn < loûÞ && !( Ýnd [ c >> 3] & (1 << (c & 7)))) { 826 sÿn ++; 827 c = `UCHARAT ( sÿn ); 830  ALNUM : 831  sÿn < loûÞ && `isALNUM (*scan)) 832 sÿn ++; 834  NALNUM : 835  sÿn < loûÞ && ! `isALNUM (*scan)) 836 sÿn ++; 838  SPACE : 839  sÿn < loûÞ && `isSPACE (*scan)) 840 sÿn ++; 842  NSPACE : 843  sÿn < loûÞ && ! `isSPACE (*scan)) 844 sÿn ++; 846  DIGIT : 847  sÿn < loûÞ && `isDIGIT (*scan)) 848 sÿn ++; 850  NDIGIT : 851  sÿn < loûÞ && ! `isDIGIT (*scan)) 852 sÿn ++; 855 `FAIL ("internal„egexp foulup"); 859 c = sÿn - »gšput ; 860 »gšput = sÿn ; 862 ( c ); 863 } } 872 $»gÃxt ( p ) 873 * p ; 875  off£t ; 877 ià( p =ð& »gdummy ) 878 ( NULL ); 880 off£t = `NEXT ( p ); 881 ià( off£t == 0) 882 ( NULL ); 884 #ifdeà REGALIGN 885 ( p + off£t ); 887 ià( `OP ( p è=ð BACK ) 888 ( p - off£t ); 890 ( p + off£t ); 892 } } @regexp.h 16  s»gexp { 17 ** m¡¬� ; 18 ** m’dp ; 19 STR * m»g¡¬t ; 20 * m»g¡þass ; 21 STR * m»gmu¡ ; 22  m»gback ; 23 * m´ecomp ; 24 * msubba£ ; 25 * msub’d ; 26  m»gªch ; 27  mdo_fÞdšg ; 28  mÏ¡·»n ; 29  mŬ’s ; 30  m´og¿m [1]; 31 } t»gexp ; 33 »gexp * »gcomp (); 34  »gexec (); @spat.h 14  ssÿÅ© { 15 SPAT * m¥©_Ãxt ; 16 REGEXP * m¥©_»gexp ; 17 ARG * m¥©_»¶ ; 18 ARG * m¥©_ruÁime ; 19 STR * m¥©_shÜt ; 20 boÞ m¥©_æags ; 21  m¥©_¦’ ; 24  #SPAT_USED 1 ) 25  #SPAT_ONCE 2 ) 26  #SPAT_SCANFIRST 4 ) 27  #SPAT_ALL 8 ) 28  #SPAT_SKIPWHITE 16 ) 29  #SPAT_FOLD 32 ) 30  #SPAT_CONST 64 ) 31  #SPAT_KEEP 128 ) 33 EXT SPAT * gcur¥© ; 34 EXT SPAT * gÏ¡¥© ; 36 EXT * hšt INIT ( NuÎch ); 38  #NuÎ¥© `NuÎ ( SPAT *) ) @stab.c 18  ~"EXTERN.h " 19  ~"³¾.h " 21 #ià! defšed ( NSIG è|| defšed( M_UNIX è|| defšed( M_XENIX ) 22  ~ 25 * gsig_Çme [] = { 26 SIG_NAME ,0 29 #ifdeà VOIDSIG 30  #hªd˹y³  ) 32  #hªd˹y³  ) 35  hªd˹y³ sighªdËr (); 37  gÜig®’ = 0; 39 STR * 40 $¡ab_¡r ( ¡r ) 41 STR * ¡r ; 43 STAB * ¡ab = ¡r -> ¡r_u . ¡r_¡ab ; 44  ·»n ; 45 * s ; 46  i ; 48 ià( ¡r -> ¡r_¿» ) 49  `¡ab_v® ( ¡ab ); 51 * ¡ab -> ¡r_magic -> ¡r_±r ) { 53 #ifdeà DEBUGGING 54 `¡r_num£t ( `¡ab_v® ( ¡ab ),()( debug & 32767)); 58 ià( š¶aû ) 59 `¡r_£t ( `¡ab_v® ( ¡ab ), š¶aû ); 61 `¡r_s£t ( `¡ab_v® ( ¡ab ),& ¡r_undef ); 64 `¡r_num£t ( `¡ab_v® ( ¡ab ),() ba£time ); 67 `¡r_num£t ( `¡ab_v® ( ¡ab ),() dow¬n ); 71 ià( cur¥© ) { 72 ·»n = `©oi ( `¡ab_Çme ( ¡ab )); 73 g‘·»n : 74 ià( cur¥© -> ¥©_»gexp && 75 ·»n <ð cur¥© -> ¥©_»gexp -> Ŭ’s && 76 ( s = cur¥© -> ¥©_»gexp -> ¡¬� [ ·»n ]) ) { 77 i = cur¥© -> ¥©_»gexp -> ’dp [ ·»n ] - s ; 78 ià( i >= 0) 79 `¡r_n£t ( `¡ab_v® ( ¡ab ), s , i ); 81 `¡r_s£t ( `¡ab_v® ( ¡ab ),& ¡r_undef ); 84 `¡r_s£t ( `¡ab_v® ( ¡ab ),& ¡r_undef ); 88 ià( cur¥© ) { 89 ·»n = cur¥© -> ¥©_»gexp -> Ï¡·»n ; 90  g‘·»n ; 94 ià( cur¥© ) { 95 ià( cur¥© -> ¥©_»gexp && 96 ( s = cur¥© -> ¥©_»gexp -> subba£ ) ) { 97 i = cur¥© -> ¥©_»gexp -> ¡¬� [0] - s ; 98 ià( i >= 0) 99 `¡r_n£t ( `¡ab_v® ( ¡ab ), s , i ); 101 `¡r_n£t ( `¡ab_v® ( ¡ab ),"",0); 104 `¡r_n£t ( `¡ab_v® ( ¡ab ),"",0); 108 ià( cur¥© ) { 109 ià( cur¥© -> ¥©_»gexp && 110 ( s = cur¥© -> ¥©_»gexp -> ’dp [0]) ) { 111 `¡r_n£t ( `¡ab_v® ( ¡ab ), s , cur¥© -> ¥©_»gexp -> sub’d - s); 114 `¡r_n£t ( `¡ab_v® ( ¡ab ),"",0); 118 #iâdeà lšt 119 ià( Ï¡_š_¡ab ) { 120 `¡r_num£t ( `¡ab_v® ( ¡ab ),() `¡ab_io ( Ï¡_š_¡ab )-> lšes ); 125 `¡r_num£t ( `¡ab_v® ( ¡ab ),() ¡©usv®ue ); 128 s = `¡ab_io ( curout¡ab )-> tÝ_Çme ; 129 `¡r_£t ( `¡ab_v® ( ¡ab ), s ); 132 s = `¡ab_io ( curout¡ab )-> fmt_Çme ; 133 `¡r_£t ( `¡ab_v® ( ¡ab ), s ); 135 #iâdeà lšt 137 `¡r_num£t ( `¡ab_v® ( ¡ab ),() `¡ab_io ( curout¡ab )-> ·ge_Ën ); 140 `¡r_num£t ( `¡ab_v® ( ¡ab ),() `¡ab_io ( curout¡ab )-> lšes_Ëá ); 143 `¡r_num£t ( `¡ab_v® ( ¡ab ),() `¡ab_io ( curout¡ab )-> ·ge ); 149 `¡r_num£t ( `¡ab_v® ( ¡ab ),() ¬yba£ ); 152 ià(! `¡ab_io ( curout¡ab )) 153 `¡ab_io ( curout¡ab èð `¡io_Ãw (); 154 `¡r_num£t ( `¡ab_v® ( ¡ab ), 155 ()(( `¡ab_io ( curout¡ab )-> æags & IOF_FLUSH ) != 0) ); 158 `¡r_n£t ( `¡ab_v® ( ¡ab ), ofs , of¦’ ); 161 `¡r_n£t ( `¡ab_v® ( ¡ab ), Üs , ܦ’ ); 164 `¡r_£t ( `¡ab_v® ( ¡ab ), ofmt ); 167 `¡r_num£t ( `¡ab_v® ( ¡ab ), () ”ºo ); 168 `¡r_£t ( `¡ab_v® ( ¡ab ), ”ºo ? `¡»¼Ü (errno) : ""); 169 `¡ab_v® ( ¡ab )-> ¡r_nok = 1; 172 `¡r_num£t ( `¡ab_v® ( ¡ab ),() uid ); 175 `¡r_num£t ( `¡ab_v® ( ¡ab ),() euid ); 178 s = buf ; 179 () `¥rštf ( s ,"%d",() gid ); 180  add_groups ; 182 s = buf ; 183 () `¥rštf ( s ,"%d",() egid ); 184 add_groups : 185 * s ) s++; 186 #ifdeà HAS_GETGROUPS 187 #iâdeà NGROUPS 188  #NGROUPS 32 ) 191 GROUPSTYPE g¬y [ NGROUPS ]; 193 i = `g‘groups ( NGROUPS , g¬y ); 194 -- i >= 0) { 195 () `¥rštf ( s ," %ld", () g¬y [ i ]); 196 * s ) s++; 200 `¡r_£t ( `¡ab_v® ( ¡ab ), buf ); 208  ufuncs * uf = (ufunc *) ¡r -> ¡r_±r ; 210 ià( uf && uf-> uf_v® ) 211 (* uf -> uf_v® )(uf-> uf_šdex , `¡ab_v® ( ¡ab )); 215  `¡ab_v® ( ¡ab ); 216 } } 218 $¡ab£t ( m¡r , ¡r ) 219  STR * m¡r ; 220 STR * ¡r ; 222 STAB * ¡ab = m¡r -> ¡r_u . ¡r_¡ab ; 223 * s ; 224  i ; 226  m¡r -> ¡r_¿» ) { 228 `my_£‹nv ( m¡r -> ¡r_±r , `¡r_g‘ ( ¡r )); 231 #ifdeà TAINT 232 ià( `¡rEQ ( m¡r -> ¡r_±r ,"PATH")) { 233 * ¡»nd = ¡r -> ¡r_±r + sŒ-> ¡r_cur ; 235 s = ¡r -> ¡r_±r ; 236  s < ¡»nd ) { 237 s = `ýytžl ( tok’buf ,s, ¡»nd ,':',& i ); 238 s ++; 239 ià(* tok’buf != '/' 240 || ( `¡© ( tok’buf ,& ¡©buf è&& (¡©buf. ¡_mode & 2)) ) 241 ¡r -> ¡r_�š‹d = 2; 247 s = `¡r_g‘ ( ¡r ); 248 i = `whichsig ( m¡r -> ¡r_±r ); 249 ià( `¡rEQ ( s ,"IGNORE")) 250 #iâdeà lšt 251 () `sigÇl ( i , SIG_IGN ); 255 ià( `¡rEQ ( s ,"DEFAULT") || !*s) 256 () `sigÇl ( i , SIG_DFL ); 258 () `sigÇl ( i , sighªdËr ); 259 ià(! `šdex ( s ,'\'')) { 260 `¥rštf ( tok’buf , "maš'%s", s ); 261 `¡r_£t ( ¡r , tok’buf ); 265 #ifdeà SOME_DBM 267 `hdbm¡Üe ( `¡ab_hash ( ¡ab ), m¡r -> ¡r_±r ,m¡r-> ¡r_cur , ¡r ); 272 CMD * cmd ; 274 i = `¡r_Œue ( ¡r ); 275 ¡r = `aãtch ( `¡ab_x¬¿y ( ¡ab ), `©oi ( m¡r -> ¡r_±r ), FALSE ); 276 cmd = ¡r -> ¡r_magic -> ¡r_u . ¡r_cmd ; 277 cmd -> c_æags &ð~ CF_OPTIMIZE ; 278 cmd -> c_æags |ð i ? CFT_D1 : CFT_D0 ; 282 `afžl ( `¡ab_¬¿y ( ¡ab ), () `¡r_gnum ( ¡r è- ¬yba£ ); 287 s = `¡r_g‘ ( ¡r ); 288 ià( `¡rNE ( s ,"StB"è|| ¡r -> ¡r_cur !ð( STBP )) { 289 ià(!* s ) { 290 STBP * ¡bp ; 292 () `§v’o¡ab ( ¡ab ); 293 ià( ¡ab -> ¡r_Ën ) 294 `Saãä“ ( ¡ab -> ¡r_±r ); 295 `Newz (601, ¡bp , 1, STBP ); 296 ¡ab -> ¡r_±r = ¡bp ; 297 ¡ab -> ¡r_Ën = s�b-> ¡r_cur = ( STBP ); 298 ¡ab -> ¡r_pok = 1; 299 `¡rýy ( `¡ab_magic ( ¡ab ),"StB"); 300 `¡ab_v® ( ¡ab èð `SŒ_Ãw (70,0); 301 `¡ab_lše ( ¡ab èð curcmd -> c_lše ; 302 `¡ab_¡ash ( ¡ab èð curcmd -> c_¡ash ; 305 ¡ab = `¡ab’t ( s , TRUE ); 306 ià(! `¡ab_x¬¿y ( ¡ab )) 307 `¯dd ( ¡ab ); 308 ià(! `¡ab_xhash ( ¡ab )) 309 `hadd ( ¡ab ); 310 ià(! `¡ab_io ( ¡ab )) 311 `¡ab_io ( ¡ab èð `¡io_Ãw (); 313 `¡r_s£t ( ¡r , ¡ab ); 317  l¡ršg * l¡r = (l¡ršg*) ¡r ; 318 * tmps ; 320 m¡r -> ¡r_¿» = 0; 321 ¡r -> ¡r_magic = NuΡr ; 322 tmps = `¡r_g‘ ( ¡r ); 323 `¡r_𣹠( m¡r , l¡r -> l¡r_off£t ,l¡r-> l¡r_Ën , 324 tmps , ¡r -> ¡r_cur ); 329 `do_vec£t ( m¡r , ¡r ); 333 * ¡ab -> ¡r_magic -> ¡r_±r ) { 335 #ifdeà DEBUGGING 336 debug = ()( `¡r_gnum ( ¡r )) | 32768; 340 ià( š¶aû ) 341 `Saãä“ ( š¶aû ); 342 ià( ¡r -> ¡r_pok || sŒ-> ¡r_nok ) 343 š¶aû = `§ve¡r ( `¡r_g‘ ( ¡r )); 345 š¶aû = NuÎch ; 348 ba£time = () `¡r_gnum ( ¡r ); 351 dow¬n = ( boÞ ) `¡r_gnum ( ¡r ); 354 ià( loÿlizšg ) 355 `§ve¥Œ (( STR **)& Ï¡_š_¡ab ); 358 `Saãä“ ( `¡ab_io ( curout¡ab )-> tÝ_Çme ); 359 `¡ab_io ( curout¡ab )-> tÝ_Çme = s = `§ve¡r ( `¡r_g‘ ( ¡r )); 360 `¡ab_io ( curout¡ab )-> tÝ_¡ab = `¡ab’t ( s , TRUE ); 363 `Saãä“ ( `¡ab_io ( curout¡ab )-> fmt_Çme ); 364 `¡ab_io ( curout¡ab )-> fmt_Çme = s = `§ve¡r ( `¡r_g‘ ( ¡r )); 365 `¡ab_io ( curout¡ab )-> fmt_¡ab = `¡ab’t ( s , TRUE ); 368 `¡ab_io ( curout¡ab )-> ·ge_Ën = () `¡r_gnum ( ¡r ); 371 `¡ab_io ( curout¡ab )-> lšes_Ëá = () `¡r_gnum ( ¡r ); 372 ià( `¡ab_io ( curout¡ab )-> lšes_Ëá < 0L) 373 `¡ab_io ( curout¡ab )-> lšes_Ëá = 0L; 376 `¡ab_io ( curout¡ab )-> ·ge = () `¡r_gnum ( ¡r ); 379 ià(! `¡ab_io ( curout¡ab )) 380 `¡ab_io ( curout¡ab èð `¡io_Ãw (); 381 `¡ab_io ( curout¡ab )-> æags &ð~ IOF_FLUSH ; 382 ià( `¡r_gnum ( ¡r ) != 0.0) { 383 `¡ab_io ( curout¡ab )-> æags |ð IOF_FLUSH ; 387 i = () `¡r_gnum ( ¡r ); 388 muÉžše = ( i != 0); 391 ià( ¡r -> ¡r_pok ) { 392 rs = `¡r_g‘ ( ¡r ); 393 r¦’ = ¡r -> ¡r_cur ; 394 ià(! r¦’ ) { 395 rs = "\n\n"; 396 r¦’ = 2; 398 rsch¬ = rs [ r¦’ - 1]; 401 rsch¬ = 0777; 402 r¦’ = 1; 406 ià( Üs ) 407 `Saãä“ ( Üs ); 408 Üs = `§ve¡r ( `¡r_g‘ ( ¡r )); 409 ܦ’ = ¡r -> ¡r_cur ; 412 ià( ofs ) 413 `Saãä“ ( ofs ); 414 ofs = `§ve¡r ( `¡r_g‘ ( ¡r )); 415 of¦’ = ¡r -> ¡r_cur ; 418 ià( ofmt ) 419 `Saãä“ ( ofmt ); 420 ofmt = `§ve¡r ( `¡r_g‘ ( ¡r )); 423 ¬yba£ = () `¡r_gnum ( ¡r ); 426 ¡©usv®ue = `U_S ( `¡r_gnum ( ¡r )); 429 ”ºo = () `¡r_gnum ( ¡r ); 432 uid = () `¡r_gnum ( ¡r ); 433 #ifdeà HAS_SETREUID 434 ià( d–aymagic ) { 435 d–aymagic |ð DM_REUID ; 439 #ifdeà HAS_SETRUID 440 ià( `£Œuid (( UIDTYPE ) uid ) < 0) 441 uid = () `g‘uid (); 443 #ifdeà HAS_SETREUID 444 ià( `£Œeuid (( UIDTYPE ) uid , (UIDTYPE)-1) < 0) 445 uid = () `g‘uid (); 447 ià( uid =ð euid ) 448 `£tuid ( uid ); 450 `ç�l ("setruid()‚ot implemented"); 455 euid = () `¡r_gnum ( ¡r ); 456 #ifdeà HAS_SETREUID 457 ià( d–aymagic ) { 458 d–aymagic |ð DM_REUID ; 462 #ifdeà HAS_SETEUID 463 ià( `£‹uid (( UIDTYPE ) euid ) < 0) 464 euid = () `g‘euid (); 466 #ifdeà HAS_SETREUID 467 ià( `£Œeuid (( UIDTYPE )-1, (UIDTYPE) euid ) < 0) 468 euid = () `g‘euid (); 470 ià( euid =ð uid ) 471 `£tuid ( euid ); 473 `ç�l ("seteuid()‚ot implemented"); 478 gid = () `¡r_gnum ( ¡r ); 479 #ifdeà HAS_SETREGID 480 ià( d–aymagic ) { 481 d–aymagic |ð DM_REGID ; 485 #ifdeà HAS_SETRGID 486 () `£Œgid (( GIDTYPE ) gid ); 488 #ifdeà HAS_SETREGID 489 () `£Œegid (( GIDTYPE ) gid , (GIDTYPE)-1); 491 `ç�l ("setrgid()‚ot implemented"); 496 egid = () `¡r_gnum ( ¡r ); 497 #ifdeà HAS_SETREGID 498 ià( d–aymagic ) { 499 d–aymagic |ð DM_REGID ; 503 #ifdeà HAS_SETEGID 504 () `£‹gid (( GIDTYPE ) egid ); 506 #ifdeà HAS_SETREGID 507 () `£Œegid (( GIDTYPE )-1, (GIDTYPE) egid ); 509 `ç�l ("setegid()‚ot implemented"); 514 chÝ£t = `¡r_g‘ ( ¡r ); 517 ià(! Üig®’ ) { 518 s = Üig¬gv [0]; 519 s +ð `¡¾’ (s); 521  i = 1; i < Üig¬gc ; i++) { 522 ià( Üig¬gv [ i ] =ð s + 1) 523 s +ð `¡¾’ (++s); 525 ià( Üig’vœÚ [0] =ð s + 1) { 526 `my_£‹nv ("NoNeSuCh", NuÎch ); 527  i = 0; Üig’vœÚ [i]; i++) 528 ià( Üig’vœÚ [ i ] =ð s + 1) 529 s +ð `¡¾’ (++s); 531 Üig®’ = s - Üig¬gv [0]; 533 s = `¡r_g‘ ( ¡r ); 534 i = ¡r -> ¡r_cur ; 535 ià( i >ð Üig®’ ) { 536 i = Üig®’ ; 537 ¡r -> ¡r_cur = i ; 538 ¡r -> ¡r_±r [ i ] = '\0'; 539 `bcÝy ( s , Üig¬gv [0], i ); 542 `bcÝy ( s , Üig¬gv [0], i ); 543 s = Üig¬gv [0]+ i ; 544 * s ++ = '\0'; 545 ++ i < Üig®’ ) 546 * s ++ = ' '; 551  ufuncs * uf = (ufunc *) ¡r -> ¡r_magic -> ¡r_±r ; 553 ià( uf && uf-> uf_£t ) 554 (* uf -> uf_£t )(uf-> uf_šdex , ¡r ); 560 } } 562 $whichsig ( sig ) 563 * sig ; 565 ** sigv ; 567  sigv = sig_Çme +1; *sigv; sigv++) 568 ià( `¡rEQ ( sig ,* sigv )) 569  sigv - sig_Çme ; 570 #ifdeà SIGCLD 571 ià( `¡rEQ ( sig ,"CHLD")) 572  SIGCLD ; 574 #ifdeà SIGCHLD 575 ià( `¡rEQ ( sig ,"CLD")) 576  SIGCHLD ; 579 } } 581  hªd˹y³ 582 $sighªdËr ( sig ) 583  sig ; 585 STAB * ¡ab ; 586 STR * ¡r ; 587  Þd§ve = §ve¡ack -> ¬y_fžl ; 588  Þdtmps_ba£ = tmps_ba£ ; 589  CSV * csv ; 590 SUBR * sub ; 592 #ifdeà OS2 593 `sigÇl ( sig , SIG_ACK ); 595 ¡ab = `¡ab’t ( 596 `¡r_g‘ ( `hãtch ( `¡ab_hash ( sig¡ab ), sig_Çme [ sig ], `¡¾’ (sig_name[sig]), 597 TRUE )), TRUE); 598 sub = `¡ab_sub ( ¡ab ); 599 ià(! sub && * sig_Çme [ sig ] =ð'C' && `š¡r (sig_name[sig],"LD")) { 600 ià( sig_Çme [ sig ][1] == 'H') 601 ¡ab = `¡ab’t ( `¡r_g‘ ( `hãtch ( `¡ab_hash ( sig¡ab ),"CLD",3, TRUE )), 602 TRUE ); 604 ¡ab = `¡ab’t ( `¡r_g‘ ( `hãtch ( `¡ab_hash ( sig¡ab ),"CHLD",4, TRUE )), 605 TRUE ); 606 sub = `¡ab_sub ( ¡ab ); 608 ià(! sub ) { 609 ià( dow¬n ) 610 `w¬n ("SIG%s handler \"%s\"‚ot defined.\n", 611 sig_Çme [ sig ], `¡ab_Çme ( ¡ab ) ); 614 `§v—±r (& ¡ack ); 615 ¡r = `SŒ_Ãw (15, ( CSV )); 616 ¡r -> ¡r_¡©e = SS_SCSV ; 617 () `­ush ( §ve¡ack , ¡r ); 618 csv = ( CSV *) ¡r -> ¡r_±r ; 619 csv -> sub = sub; 620 csv -> ¡ab = stab; 621 csv -> curcsv = curcsv; 622 csv -> curcmd = curcmd; 623 csv -> d•th = sub ->depth; 624 csv -> wª�¼ay = G_SCALAR ; 625 csv -> ha§rgs = TRUE ; 626 csv -> §v—¼ay = `¡ab_x¬¿y ( def¡ab ); 627 csv -> ¬g¬¿y = `¡ab_x¬¿y ( def¡ab èð ¡ack = `ªew (defstab); 628 ¡ack -> ¬y_æags = 0; 629 curcsv = csv ; 630 ¡r = `¡r_mÜ�l (& ¡r_undef ); 631 `¡r_£t ( ¡r , sig_Çme [ sig ]); 632 () `­ush ( `¡ab_x¬¿y ( def¡ab ), ¡r ); 633 sub -> d•th ++; 634 ià( sub -> d•th >= 2) { 635 ià( sub -> d•th =ð100 && dow¬n ) 636 `w¬n ("D“°»cursiÚ oÀsubroutš�\"%s\"", `¡ab_Çme ( ¡ab )); 637 `§v–i¡ ( sub -> to§ve -> ¬y_¬¿y ,sub->to§ve-> ¬y_fžl ); 640 tmps_ba£ = tmps_max ; 641 () `cmd_exec ( sub -> cmd , G_SCALAR ,0); 642 tmps_ba£ = Þdtmps_ba£ ; 644 `»¡Ü–i¡ ( Þd§ve ); 645 } } 647 STAB * 648 $¯dd ( ¡ab ) 649  STAB * ¡ab ; 651 ià(! `¡ab_x¬¿y ( ¡ab )) 652 `¡ab_x¬¿y ( ¡ab èð `ªew (stab); 653  ¡ab ; 654 } } 656 STAB * 657 $hadd ( ¡ab ) 658  STAB * ¡ab ; 660 ià(! `¡ab_xhash ( ¡ab )) 661 `¡ab_xhash ( ¡ab èð `hÃw ( COEFFSIZE ); 662  ¡ab ; 663 } } 665 STAB * 666 $f¡ab ( Çme ) 667 * Çme ; 669  tmpbuf [1200]; 670 STAB * ¡ab ; 672 `¥rštf ( tmpbuf ,"'_<%s", Çme ); 673 ¡ab = `¡ab’t ( tmpbuf , TRUE ); 674 `¡r_£t ( `¡ab_v® ( ¡ab ), Çme ); 675 ià( ³¾db ) 676 () `hadd ( `¯dd ( ¡ab )); 677  ¡ab ; 678 } } 680 STAB * 681 $¡ab’t ( Çme , add ) 682 * Çme ; 683  add ; 685  STAB * ¡ab ; 686  STBP * ¡bp ; 687  Ën ; 688 * Çm’d ; 689 HASH * ¡ash ; 690 * §wquÙe = NuÎch ; 691 * ´evquÙe = NuÎch ; 692 boÞ glob® = FALSE ; 694 ià( `i§scii (* Çme è&& `isuµ” (*name)) { 695 ià(* Çme > 'I') { 696 ià(* Çme == 'S' && ( 697 `¡rEQ ( Çme , "SIG") || 698 `¡rEQ ( Çme , "STDIN") || 699 `¡rEQ ( Çme , "STDOUT") || 700 `¡rEQ ( Çme , "STDERR") )) 701 glob® = TRUE ; 703 ià(* Çme > 'E') { 704 ià(* Çme =ð'I' && `¡rEQ (name, "INC")) 705 glob® = TRUE ; 707 ià(* Çme > 'A') { 708 ià(* Çme =ð'E' && `¡rEQ (name, "ENV")) 709 glob® = TRUE ; 711 ià(* Çme == 'A' && ( 712 `¡rEQ ( Çme , "ARGV") || 713 `¡rEQ ( Çme , "ARGVOUT") )) 714 glob® = TRUE ; 716  Çm’d = Çme ; *namend;‚amend++) { 717 ià(* Çm’d == '\'' &&‚amend[1]) 718 ´evquÙe = §wquÙe , sawquÙ�ð Çm’d ; 720 ià( §wquÙe =ð Çme &&‚ame[1]) { 721 ¡ash = def¡ash ; 722 §wquÙe = NuÎch ; 723 Çme ++; 725 ià(! `i§Íha (* Çme è|| glob® ) 726 ¡ash = def¡ash ; 727 ià( curcmd =ð& compžšg ) 728 ¡ash = cur¡ash ; 730 ¡ash = curcmd -> c_¡ash ; 731 ià( §wquÙe ) { 732  tmpbuf [256]; 733 * s , * d ; 735 * §wquÙe = '\0'; 736 ià( s = ´evquÙe ) { 737 `¡ºýy ( tmpbuf , Çme , s -name+1); 738 d = tmpbuf +( s - Çme +1); 739 * d ++ = '_'; 740 `¡rýy ( d , s +1); 743 * tmpbuf = '_'; 744 `¡rýy ( tmpbuf +1, Çme ); 746 ¡ab = `¡ab’t ( tmpbuf , TRUE ); 747 ià(!( ¡ash = `¡ab_xhash ( ¡ab ))) 748 ¡ash = `¡ab_xhash ( ¡ab èð `hÃw (0); 749 ià(! ¡ash -> tbl_Çme ) 750 ¡ash -> tbl_Çme = `§ve¡r ( Çme ); 751 Çme = §wquÙe +1; 752 * §wquÙe = '\''; 754 Ën = Çm’d - Çme ; 755 ¡ab = ( STAB *) `hãtch ( ¡ash , Çme , Ën , add ); 756 ià( ¡ab =ð( STAB *)& ¡r_undef ) 757  NuΡab ; 758 ià( ¡ab -> ¡r_pok ) { 759 ¡ab -> ¡r_pok |ð SP_MULTI ; 760  ¡ab ; 763 ià( ¡ab -> ¡r_Ën ) 764 `Saãä“ ( ¡ab -> ¡r_±r ); 765 `Newz (602, ¡bp , 1, STBP ); 766 ¡ab -> ¡r_±r = ¡bp ; 767 ¡ab -> ¡r_Ën = s�b-> ¡r_cur = ( STBP ); 768 ¡ab -> ¡r_pok = 1; 769 `¡rýy ( `¡ab_magic ( ¡ab ),"StB"); 770 `¡ab_v® ( ¡ab èð `SŒ_Ãw (72,0); 771 `¡ab_lše ( ¡ab èð curcmd -> c_lše ; 772 `¡r_magic ( ¡ab ,¡ab,'*', Çme , Ën ); 773 `¡ab_¡ash ( ¡ab èð ¡ash ; 774 ià( `isdig™ (* Çme ) && *name != '0') { 775 `¡ab_æags ( ¡ab èð SF_VMAGIC ; 776 `¡r_magic ( `¡ab_v® ( ¡ab ), s�b, 0, NuÎch , 0); 778  ¡ab ; 780 } } 782 $¡ab_fuÎÇme ( ¡r , ¡ab ) 783 STR * ¡r ; 784 STAB * ¡ab ; 786 HASH * tb = `¡ab_¡ash ( ¡ab ); 788 ià(! tb ) 790 `¡r_£t ( ¡r , tb -> tbl_Çme ); 791 `¡r_nÿt ( ¡r ,"'", 1); 792 `¡r_sÿt ( ¡r , ¡ab -> ¡r_magic ); 793 } } 795 STIO * 796 $¡io_Ãw () 798 STIO * ¡io ; 800 `Newz (603, ¡io ,1, STIO ); 801 ¡io -> ·ge_Ën = 60; 802  ¡io ; 803 } } 805 $¡ab_check ( mš , max ) 806  mš ; 807  max ; 809  HENT * ’Œy ; 810  i ; 811  STAB * ¡ab ; 813  i = mš ; i <ð max ; i++) { 814  ’Œy = def¡ash -> tbl_¬¿y [ i ];ƒÁry;ƒÁry =ƒÁry-> h’t_Ãxt ) { 815 ¡ab = ( STAB *) ’Œy -> h’t_v® ; 816 ià( ¡ab -> ¡r_pok & SP_MULTI ) 818 curcmd -> c_lše = `¡ab_lše ( ¡ab ); 819 `w¬n ("PossibË�ypo: \"%s\"", `¡ab_Çme ( ¡ab )); 822 } } 824  gg’sym = 0; 826 STAB * 827 $g’¡ab () 829 () `¥rštf ( tok’buf ,"_GEN_%d", g’sym ++); 830  `¡ab’t ( tok’buf , TRUE ); 831 } } 836 $¡ab_þ—r ( ¡ab ) 837  STAB * ¡ab ; 839 STIO * ¡io ; 840 SUBR * sub ; 842 `aä“ ( `¡ab_x¬¿y ( ¡ab )); 843 `¡ab_x¬¿y ( ¡ab èð `NuÎ ( ARRAY *); 844 () `hä“ ( `¡ab_xhash ( ¡ab ), FALSE ); 845 `¡ab_xhash ( ¡ab èð `NuÎ ( HASH *); 846 `¡r_ä“ ( `¡ab_v® ( ¡ab )); 847 `¡ab_v® ( ¡ab èð NuΡr ; 848 ià( ¡io = `¡ab_io ( ¡ab )) { 849 `do_þo£ ( ¡ab , FALSE ); 850 `Saãä“ ( ¡io -> tÝ_Çme ); 851 `Saãä“ ( ¡io -> fmt_Çme ); 853 ià( sub = `¡ab_sub ( ¡ab )) { 854 `aä“ ( sub -> to§ve ); 855 `cmd_ä“ ( sub -> cmd ); 857 `Saãä“ ( ¡ab -> ¡r_±r ); 858 ¡ab -> ¡r_±r = `NuÎ ( STBP *); 859 ¡ab -> ¡r_Ën = 0; 860 ¡ab -> ¡r_cur = 0; 861 } } 863 #ià defšed ( CRIPPLED_CC è&& (defšed( iAPX286 è|| defšed( M_I286 è|| defšed( I80286 )) 864  #MICROPORT ) 867 #ifdef MICROPORT 868 ARRAY * $¡ab_¬¿y ( ¡ab ) 869  STAB * ¡ab ; 871 ià((( STBP *)( ¡ab -> ¡r_±r ))-> ¡bp_¬¿y ) 872  (( STBP *)( ¡ab -> ¡r_±r ))-> ¡bp_¬¿y ; 874  (( STBP *)( `¯dd ( ¡ab )-> ¡r_±r ))-> ¡bp_¬¿y ; 875 } } 877 HASH * $¡ab_hash ( ¡ab ) 878  STAB * ¡ab ; 880 ià((( STBP *)( ¡ab -> ¡r_±r ))-> ¡bp_hash ) 881  (( STBP *)( ¡ab -> ¡r_±r ))-> ¡bp_hash ; 883  (( STBP *)( `hadd ( ¡ab )-> ¡r_±r ))-> ¡bp_hash ; 884 } } @stab.h 14  s¡ab±rs { 15  m¡bp_magic [4]; 16 STR * m¡bp_v® ; 17  ¡io * m¡bp_io ; 18 FCMD * m¡bp_fÜm ; 19 ARRAY * m¡bp_¬¿y ; 20 HASH * m¡bp_hash ; 21 HASH * m¡bp_¡ash ; 22 SUBR * m¡bp_sub ; 23  m¡bp_Ï¡ex´ ; 24 lše_t m¡bp_lše ; 25  m¡bp_æags ; 28 #ià defšed ( CRIPPLED_CC è&& (defšed( iAPX286 è|| defšed( M_I286 è|| defšed( I80286 )) 29  #MICROPORT ) 32  #¡ab_magic ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_magic ) ) 33  #¡ab_v® ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_v® ) ) 34  #¡ab_io ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_io ) ) 35  #¡ab_fÜm ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_fÜm ) ) 36  #¡ab_x¬¿y ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_¬¿y ) ) 37 #ifdef MICROPORT 38 ARRAY * ¡ab_¬¿y (); 40  #¡ab_¬¿y ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_¬¿y ? \ 41 (( STBP *)( ¡ab -> ¡r_±r ))-> ¡bp_¬¿y : \ 42 (( STBP *)( `¯dd ( ¡ab )-> ¡r_±r ))-> ¡bp_¬¿y ) ) 44  #¡ab_xhash ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_hash ) ) 45 #ifdef MICROPORT 46 HASH * ¡ab_hash (); 48  #¡ab_hash ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_hash ? \ 49 (( STBP *)( ¡ab -> ¡r_±r ))-> ¡bp_hash : \ 50 (( STBP *)( `hadd ( ¡ab )-> ¡r_±r ))-> ¡bp_hash ) ) 52  #¡ab_¡ash ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_¡ash ) ) 53  #¡ab_sub ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_sub ) ) 54  #¡ab_Ï¡ex´ ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_Ï¡ex´ ) ) 55  #¡ab_lše ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_lše ) ) 56  #¡ab_æags ( ¡ab è((( STBP *)(¡ab-> ¡r_±r ))-> ¡bp_æags ) ) 57  #¡ab_Çme ( ¡ab è(¡ab-> ¡r_magic -> ¡r_±r ) ) 59  #SF_VMAGIC 1 ) 60  #SF_MULTI 2 ) 62  s¡io { 63 FILE * miå ; 64 FILE * moå ; 65 #ifdeà HAS_READDIR 66 DIR * mdœp ; 68  mlšes ; 69  m·ge ; 70  m·ge_Ën ; 71  mlšes_Ëá ; 72 * mtÝ_Çme ; 73 STAB * mtÝ_¡ab ; 74 * mfmt_Çme ; 75 STAB * mfmt_¡ab ; 76  msub´oûss ; 77  mty³ ; 78  mæags ; 81  #IOF_ARGV 1 ) 82  #IOF_START 2 ) 83  #IOF_FLUSH 4 ) 85  ssub { 86 CMD * mcmd ; 87 (* mu£rsub )(); 88  mu£ršdex ; 89 STAB * mfže¡ab ; 90  md•th ; 91 ARRAY * mto§ve ; 94  #NuΡab `NuÎ ( STAB *) ) 96  #STAB_STR ( s è( tmp¡ab = (s), `¡ab_æags Ñmp¡abè& SF_VMAGIC ? `¡ab_¡r ( `¡ab_v® Ñmp¡ab)-> ¡r_magic è: s�b_v®Ñmp¡ab)) ) 97  #STAB_GET ( s è( tmp¡ab = (s), `¡r_g‘ ( `¡ab_æags Ñmp¡abè& SF_VMAGIC ? `¡ab_¡r Ñmp¡ab-> ¡r_magic è: `¡ab_v® Ñmp¡ab))) ) 98  #STAB_GNUM ( s è( tmp¡ab = (s), `¡r_gnum ( `¡ab_æags Ñmp¡abè& SF_VMAGIC ? `¡ab_¡r Ñmp¡ab-> ¡r_magic è: `¡ab_v® Ñmp¡ab))) ) 100 EXT STAB * gtmp¡ab ; 102 EXT STAB * g¡ab_šdex [128]; 104 EXT  g¡©usv®ue ; 106 EXT  d–aymagic INIT (0); 107  #DM_DELAY 1 ) 108  #DM_REUID 2 ) 109  #DM_REGID 4 ) 111 STAB * ¯dd (); 112 STAB * hadd (); 113 STAB * f¡ab (); @str.c 19  ~"EXTERN.h " 20  ~"³¾.h " 21  ~"³¾y.h " 23 #iâdeà ¡r_g‘ 25 $¡r_g‘ ( ¡r ) 26 STR * ¡r ; 28 #ifdeà TAINT 29 �š‹d |ð ¡r -> ¡r_�š‹d ; 31  ¡r -> ¡r_pok ? sŒ-> ¡r_±r : `¡r_2±r (str); 32 } } 38 #iâdeà ¡r_Œue 39 $¡r_Œue ( SŒ ) 40 STR * SŒ ; 42 ià( SŒ -> ¡r_pok ) { 43 ià(* SŒ -> ¡r_±r > '0' || 44 SŒ -> ¡r_cur > 1 || 45 ( SŒ -> ¡r_cur && *SŒ-> ¡r_±r != '0')) 49 ià( SŒ -> ¡r_nok ) 50  ( SŒ -> ¡r_u . ¡r_nv® != 0.0); 52 } } 55 #iâdeà ¡r_gnum 56  $¡r_gnum ( SŒ ) 57 STR * SŒ ; 59 #ifdeà TAINT 60 �š‹d |ð SŒ -> ¡r_�š‹d ; 62 ià( SŒ -> ¡r_nok ) 63  SŒ -> ¡r_u . ¡r_nv® ; 64  `¡r_2num ( SŒ ); 65 } } 70 $¡r_grow ( ¡r , ÃwËn ) 71  STR * ¡r ; 72 #iâdeà MSDOS 73  ÃwËn ; 75  ÃwËn ; 78 * s = ¡r -> ¡r_±r ; 80 #ifdeà MSDOS 81 ià( ÃwËn >= 0x10000) { 82 `årštf ( ¡d”r , "AÎoÿtiÚ�oØÏrge: %lx\n", ÃwËn ); 83 `ex™ (1); 86 ià( ¡r -> ¡r_¡©e =ð SS_INCR ) { 87 ¡r -> ¡r_Ën +ð¡r-> ¡r_u . ¡r_u£ful ; 88 ¡r -> ¡r_±r -ð¡r-> ¡r_u . ¡r_u£ful ; 89 ¡r -> ¡r_u . ¡r_u£ful = 0L; 90 `bcÝy ( s , ¡r -> ¡r_±r , sŒ-> ¡r_cur +1); 91 s = ¡r -> ¡r_±r ; 92 ¡r -> ¡r_¡©e = SS_NORM ; 93 ià( ÃwËn > ¡r -> ¡r_Ën ) 94 ÃwËn +ð10 * (ÃwËÀ- ¡r -> ¡r_cur ); 96 ià( ÃwËn > ¡r -> ¡r_Ën ) { 97 ià( ¡r -> ¡r_Ën ) 98 `R’ew ( s , ÃwËn ,); 100 `New (703, s , ÃwËn ,); 101 ¡r -> ¡r_±r = s ; 102 ¡r -> ¡r_Ën = ÃwËn ; 104  s ; 105 } } 107 $¡r_num£t ( ¡r , num ) 108  STR * ¡r ; 109  num ; 111 ià( ¡r -> ¡r_pok ) { 112 ¡r -> ¡r_pok = 0; 113 ià( ¡r -> ¡r_¡©e =ð SS_INCR ) 114 `SŒ_Grow ( ¡r ,0); 116 ¡r -> ¡r_u . ¡r_nv® = num ; 117 ¡r -> ¡r_¡©e = SS_NORM ; 118 ¡r -> ¡r_nok = 1; 119 #ifdeà TAINT 120 ¡r -> ¡r_�š‹d = �š‹d ; 122 } } 125 $¡r_2±r ( ¡r ) 126  STR * ¡r ; 128 * s ; 129  Þd”ºo ; 131 ià(! ¡r ) 133 ià( ¡r -> ¡r_nok ) { 134 `STR_GROW ( ¡r , 30); 135 s = ¡r -> ¡r_±r ; 136 Þd”ºo = ”ºo ; 137 #ià `defšed ( scs è&& defšed( ns32000 ) 138 `gcvt ( ¡r -> ¡r_u . ¡r_nv® ,20, s ); 140 #ifdeà ­Þlo 141 ià( ¡r -> ¡r_u . ¡r_nv® == 0.0) 142 () `¡rýy ( s ,"0"); 145 () `¥rštf ( s ,"%.20g", ¡r -> ¡r_u . ¡r_nv® ); 147 ”ºo = Þd”ºo ; 148 * s ) s++; 149 #ifdeà hcx 150 ià( s [-1] == '.') 151 s --; 155 ià( ¡r =ð& ¡r_undef ) 156  No ; 157 ià( dow¬n ) 158 `w¬n ("Use of uninitialized variable"); 159 `STR_GROW ( ¡r , 30); 160 s = ¡r -> ¡r_±r ; 162 * s = '\0'; 163 ¡r -> ¡r_cur = s - sŒ-> ¡r_±r ; 164 ¡r -> ¡r_pok = 1; 165 #ifdeà DEBUGGING 166 ià( debug & 32) 167 `årštf ( ¡d”r ,"0x%lx…Œ(%s)\n", ¡r ,¡r-> ¡r_±r ); 169  ¡r -> ¡r_±r ; 170 } } 173 $¡r_2num ( ¡r ) 174  STR * ¡r ; 176 ià(! ¡r ) 178 ià( ¡r -> ¡r_¡©e =ð SS_INCR ) 179 `SŒ_Grow ( ¡r ,0); 180 ¡r -> ¡r_¡©e = SS_NORM ; 181 ià( ¡r -> ¡r_Ën && sŒ-> ¡r_pok ) 182 ¡r -> ¡r_u . ¡r_nv® = `©of (¡r-> ¡r_±r ); 184 ià( ¡r =ð& ¡r_undef ) 186 ià( dow¬n ) 187 `w¬n ("Use of uninitialized variable"); 188 ¡r -> ¡r_u . ¡r_nv® = 0.0; 190 ¡r -> ¡r_nok = 1; 191 #ifdeà DEBUGGING 192 ià( debug & 32) 193 `årštf ( ¡d”r ,"0x%lx‚um(%g)\n", ¡r ,¡r-> ¡r_u . ¡r_nv® ); 195  ¡r -> ¡r_u . ¡r_nv® ; 196 } } 203 $¡r_s£t ( d¡r , s¡r ) 204 STR * d¡r ; 205  STR * s¡r ; 207 #ifdeà TAINT 208 ià( s¡r ) 209 �š‹d |ð s¡r -> ¡r_�š‹d ; 211 ià( s¡r =ð d¡r || d¡¸=ð& ¡r_undef ) 213 ià(! s¡r ) 214 d¡r -> ¡r_pok = d¡r-> ¡r_nok = 0; 215 ià( s¡r -> ¡r_pok ) { 224 ià( s¡r -> ¡r_pok & SP_TEMP ) { 225 ià( d¡r -> ¡r_±r ) { 226 ià( d¡r -> ¡r_¡©e =ð SS_INCR ) 227 d¡r -> ¡r_±r -ðd¡r-> ¡r_u . ¡r_u£ful ; 228 `Saãä“ ( d¡r -> ¡r_±r ); 230 d¡r -> ¡r_±r = s¡r ->str_ptr; 231 d¡r -> ¡r_Ën = s¡r ->str_len; 232 d¡r -> ¡r_cur = s¡r ->str_cur; 233 d¡r -> ¡r_¡©e = s¡r ->str_state; 234 d¡r -> ¡r_pok = s¡r ->¡r_pok & ~ SP_TEMP ; 235 #ifdeà TAINT 236 d¡r -> ¡r_�š‹d = s¡r ->str_tainted; 238 s¡r -> ¡r_±r = NuÎch ; 239 s¡r -> ¡r_Ën = 0; 240 s¡r -> ¡r_pok = 0; 241 s¡r -> ¡r_¡©e = 0; 244 ià( d¡r -> ¡r_±r ) { 245 ià( d¡r -> ¡r_¡©e =ð SS_INCR ) { 246 `SŒ_Grow ( d¡r ,0); 249 `¡r_n£t ( d¡r , s¡r -> ¡r_±r ,s¡r-> ¡r_cur ); 251 ià( d¡r -> ¡r_nok = s¡r ->str_nok) 252 d¡r -> ¡r_u . ¡r_nv® = s¡r ->str_u.str_nval; 254 #ifdeà STRUCTCOPY 255 d¡r -> ¡r_u = s¡r ->str_u; 257 d¡r -> ¡r_u . ¡r_nv® = s¡r ->str_u.str_nval; 259 ià( d¡r -> ¡r_cur =ð( STBP )) { 260 * tmps = d¡r -> ¡r_±r ; 262 ià(* tmps =ð'S' && `bcmp (tmps,"StB",4) == 0) { 263 ià(! d¡r -> ¡r_magic ) { 264 d¡r -> ¡r_magic = `¡r_smake ( s¡r ->str_magic); 265 d¡r -> ¡r_magic -> ¡r_¿» = 'X'; 271 ià( s¡r -> ¡r_nok ) 272 `¡r_num£t ( d¡r , s¡r -> ¡r_u . ¡r_nv® ); 274 ià( d¡r -> ¡r_¡©e =ð SS_INCR ) 275 `SŒ_Grow ( d¡r ,0); 277 #ifdeà STRUCTCOPY 278 d¡r -> ¡r_u = s¡r ->str_u; 280 d¡r -> ¡r_u . ¡r_nv® = s¡r ->str_u.str_nval; 282 d¡r -> ¡r_pok = d¡r-> ¡r_nok = 0; 284 } } 286 $¡r_n£t ( ¡r , ±r , Ën ) 287  STR * ¡r ; 288 * ±r ; 289  STRLEN Ën ; 291 ià( ¡r =ð& ¡r_undef ) 293 `STR_GROW ( ¡r , Ën + 1); 294 ià( ±r ) 295 () `bcÝy ( ±r , ¡r -> ¡r_±r , Ën ); 296 ¡r -> ¡r_cur = Ën ; 297 *( ¡r -> ¡r_±r +¡r-> ¡r_cur ) = '\0'; 298 ¡r -> ¡r_nok = 0; 299 ¡r -> ¡r_pok = 1; 300 #ifdeà TAINT 301 ¡r -> ¡r_�š‹d = �š‹d ; 303 } } 305 $¡r_£t ( ¡r , ±r ) 306  STR * ¡r ; 307 * ±r ; 309  STRLEN Ën ; 311 ià( ¡r =ð& ¡r_undef ) 313 ià(! ±r ) 314 ±r = ""; 315 Ën = `¡¾’ ( ±r ); 316 `STR_GROW ( ¡r , Ën + 1); 317 () `bcÝy ( ±r , ¡r -> ¡r_±r , Ën +1); 318 ¡r -> ¡r_cur = Ën ; 319 ¡r -> ¡r_nok = 0; 320 ¡r -> ¡r_pok = 1; 321 #ifdeà TAINT 322 ¡r -> ¡r_�š‹d = �š‹d ; 324 } } 326 $¡r_chÝ ( ¡r , ±r ) 327  STR * ¡r ; 328 * ±r ; 330  STRLEN d–� ; 332 ià(! ±r || !( ¡r -> ¡r_pok )) 334 d–� = ±r - ¡r -> ¡r_±r ; 335 ¡r -> ¡r_Ën -ð d–� ; 336 ¡r -> ¡r_cur -ð d–� ; 337 ¡r -> ¡r_±r +ð d–� ; 338 ià( ¡r -> ¡r_¡©e =ð SS_INCR ) 339 ¡r -> ¡r_u . ¡r_u£ful +ð d–� ; 341 ¡r -> ¡r_u . ¡r_u£ful = d–� ; 342 ¡r -> ¡r_¡©e = SS_INCR ; 344 ¡r -> ¡r_nok = 0; 345 ¡r -> ¡r_pok = 1; 346 } } 348 $¡r_nÿt ( ¡r , ±r , Ën ) 349  STR * ¡r ; 350 * ±r ; 351  STRLEN Ën ; 353 ià( ¡r =ð& ¡r_undef ) 355 ià(!( ¡r -> ¡r_pok )) 356 () `¡r_2±r ( ¡r ); 357 `STR_GROW ( ¡r , sŒ-> ¡r_cur + Ën + 1); 358 () `bcÝy ( ±r , ¡r -> ¡r_±r +¡r-> ¡r_cur , Ën ); 359 ¡r -> ¡r_cur +ð Ën ; 360 *( ¡r -> ¡r_±r +¡r-> ¡r_cur ) = '\0'; 361 ¡r -> ¡r_nok = 0; 362 ¡r -> ¡r_pok = 1; 363 #ifdeà TAINT 364 ¡r -> ¡r_�š‹d |ð �š‹d ; 366 } } 368 $¡r_sÿt ( d¡r , s¡r ) 369 STR * d¡r ; 370  STR * s¡r ; 372 #ifdeà TAINT 373 �š‹d |ð s¡r -> ¡r_�š‹d ; 375 ià(! s¡r ) 377 ià(!( s¡r -> ¡r_pok )) 378 () `¡r_2±r ( s¡r ); 379 ià( s¡r ) 380 `¡r_nÿt ( d¡r , s¡r -> ¡r_±r ,s¡r-> ¡r_cur ); 381 } } 383 $¡r_ÿt ( ¡r , ±r ) 384  STR * ¡r ; 385 * ±r ; 387  STRLEN Ën ; 389 ià( ¡r =ð& ¡r_undef ) 391 ià(! ±r ) 393 ià(!( ¡r -> ¡r_pok )) 394 () `¡r_2±r ( ¡r ); 395 Ën = `¡¾’ ( ±r ); 396 `STR_GROW ( ¡r , sŒ-> ¡r_cur + Ën + 1); 397 () `bcÝy ( ±r , ¡r -> ¡r_±r +¡r-> ¡r_cur , Ën +1); 398 ¡r -> ¡r_cur +ð Ën ; 399 ¡r -> ¡r_nok = 0; 400 ¡r -> ¡r_pok = 1; 401 #ifdeà TAINT 402 ¡r -> ¡r_�š‹d |ð �š‹d ; 404 } } 407 $¡r_­³nd_tžl ( ¡r , äom , äom’d , d–im , k“¶i¡ ) 408  STR * ¡r ; 409 * äom ; 410 * äom’d ; 411  d–im ; 412 * k“¶i¡ ; 414 * to ; 415  STRLEN Ën ; 417 ià( ¡r =ð& ¡r_undef ) 418  NuÎch ; 419 ià(! äom ) 420  NuÎch ; 421 Ën = äom’d - äom ; 422 `STR_GROW ( ¡r , sŒ-> ¡r_cur + Ën + 1); 423 ¡r -> ¡r_nok = 0; 424 ¡r -> ¡r_pok = 1; 425 to = ¡r -> ¡r_±r +¡r-> ¡r_cur ; 426 ; äom < äom’d ; from++, to ++) { 427 ià(* äom =ð'\\' && from+1 < äom’d && d–im != '\\') { 428 ià(! k“¶i¡ ) { 429 ià( äom [1] =ð d–im || from[1] == '\\') 430 äom ++; 432 * to ++ = * äom ++; 434 ià( äom [1] && `šdex ( k“¶i¡ ,from[1])) 435 * to ++ = * äom ++; 437 äom ++; 439 ià(* äom =ð d–im ) 441 * to = * äom ; 443 * to = '\0'; 444 ¡r -> ¡r_cur = to - sŒ-> ¡r_±r ; 445  äom ; 446 } } 448 gSTR * 449 #ifdeà LEAKTEST 450 $¡r_Ãw ( x , Ën ) 451  x ; 453 $¡r_Ãw ( Ën ) 455 STRLEN Ën ; 457  STR * ¡r ; 459 #ià `defšed ( NOMEMOPT ) 460 `Newz (700+ x , ¡r ,1, STR ); 462 ià( ä“¡¼oÙ ) { 463 ¡r = ä“¡¼oÙ ; 464 ä“¡¼oÙ = ¡r -> ¡r_magic ; 465 ¡r -> ¡r_magic = NuΡr ; 466 ¡r -> ¡r_¡©e = SS_NORM ; 469 `Newz (700+ x , ¡r ,1, STR ); 472 ià( Ën ) 473 `STR_GROW ( ¡r , Ën + 1); 474  ¡r ; 475 } } 478 $¡r_magic ( ¡r , ¡ab , how , Çme , ÇmËn ) 479  STR * ¡r ; 480 STAB * ¡ab ; 481  how ; 482 * Çme ; 483 STRLEN ÇmËn ; 485 ià( ¡r =ð& ¡r_undef || sŒ-> ¡r_magic ) 487 ¡r -> ¡r_magic = `SŒ_Ãw (75, ÇmËn ); 488 ¡r = sŒ-> ¡r_magic ; 489 ¡r -> ¡r_u . ¡r_¡ab = ¡ab ; 490 ¡r -> ¡r_¿» = how ; 491 ià( Çme ) 492 `¡r_n£t ( ¡r , Çme , ÇmËn ); 493 } } 496 $¡r_𣹠( big¡r , off£t , Ën , l™Že , l™Ž–’ ) 497 STR * big¡r ; 498 STRLEN off£t ; 499 STRLEN Ën ; 500 * l™Že ; 501 STRLEN l™Ž–’ ; 503 * big ; 504 * mid ; 505 * mid’d ; 506 * big’d ; 507  i ; 509 ià( big¡r =ð& ¡r_undef ) 511 big¡r -> ¡r_nok = 0; 512 big¡r -> ¡r_pok = SP_VALID ; 514 i = l™Ž–’ - Ën ; 515 ià( i > 0) { 516 `STR_GROW ( big¡r , big¡r-> ¡r_cur + i + 1); 517 big = big¡r -> ¡r_±r ; 518 mid = big + off£t + Ën ; 519 mid’d = big’d = big + big¡r -> ¡r_cur ; 520 big’d +ð i ; 521 * big’d = '\0'; 522  mid’d > mid ) 523 *-- big’d = *-- mid’d ; 524 () `bcÝy ( l™Že , big + off£t , l™Ž–’ ); 525 big¡r -> ¡r_cur +ð i ; 526 `STABSET ( big¡r ); 529 ià( i == 0) { 530 () `bcÝy ( l™Že , big¡r -> ¡r_±r + off£t , Ën ); 531 `STABSET ( big¡r ); 535 big = big¡r -> ¡r_±r ; 536 mid = big + off£t ; 537 mid’d = mid + Ën ; 538 big’d = big + big¡r -> ¡r_cur ; 540 ià( mid’d > big’d ) 541 `ç�l ("panic: str_insert"); 543 ià( mid - big > big’d - mid’d ) { 544 ià( l™Ž–’ ) { 545 () `bcÝy ( l™Že , mid , l™Ž–’ ); 546 mid +ð l™Ž–’ ; 548 i = big’d - mid’d ; 549 ià( i > 0) { 550 () `bcÝy ( mid’d , mid , i ); 551 mid +ð i ; 553 * mid = '\0'; 554 big¡r -> ¡r_cur = mid - big ; 556 ià( i = mid - big ) { 557 mid’d -ð l™Ž–’ ; 558 mid = mid’d ; 559 `¡r_chÝ ( big¡r , mid’d - i ); 560 big +ð i ; 561  i --) 562 *-- mid’d = *-- big ; 563 ià( l™Ž–’ ) 564 () `bcÝy ( l™Že , mid , l™Ž–’ ); 566 ià( l™Ž–’ ) { 567 mid’d -ð l™Ž–’ ; 568 `¡r_chÝ ( big¡r , mid’d ); 569 () `bcÝy ( l™Že , mid’d , l™Ž–’ ); 572 `¡r_chÝ ( big¡r , mid’d ); 574 `STABSET ( big¡r ); 575 } } 580 $¡r_»¶aû ( ¡r , n¡r ) 581  STR * ¡r ; 582  STR * n¡r ; 584 ià( ¡r =ð& ¡r_undef ) 586 ià( ¡r -> ¡r_¡©e =ð SS_INCR ) 587 `SŒ_Grow ( ¡r ,0); 588 ià( n¡r -> ¡r_¡©e =ð SS_INCR ) 589 `SŒ_Grow ( n¡r ,0); 590 ià( ¡r -> ¡r_±r ) 591 `Saãä“ ( ¡r -> ¡r_±r ); 592 ¡r -> ¡r_±r = n¡r ->str_ptr; 593 ¡r -> ¡r_Ën = n¡r ->str_len; 594 ¡r -> ¡r_cur = n¡r ->str_cur; 595 ¡r -> ¡r_pok = n¡r ->str_pok; 596 ¡r -> ¡r_nok = n¡r ->str_nok; 597 #ifdeà STRUCTCOPY 598 ¡r -> ¡r_u = n¡r ->str_u; 600 ¡r -> ¡r_u . ¡r_nv® = n¡r ->str_u.str_nval; 602 #ifdeà TAINT 603 ¡r -> ¡r_�š‹d = n¡r ->str_tainted; 605 ià( n¡r -> ¡r_magic ) 606 `¡r_ä“ ( n¡r -> ¡r_magic ); 607 `Saãä“ ( n¡r ); 608 } } 611 $¡r_ä“ ( ¡r ) 612  STR * ¡r ; 614 ià(! ¡r || sŒ =ð& ¡r_undef ) 616 ià( ¡r -> ¡r_¡©e ) { 617 ià( ¡r -> ¡r_¡©e =ð SS_FREE ) 619 ià( ¡r -> ¡r_¡©e =ð SS_INCR && !(¡r-> ¡r_pok & 2)) { 620 ¡r -> ¡r_±r -ð¡r-> ¡r_u . ¡r_u£ful ; 621 ¡r -> ¡r_Ën +ð¡r-> ¡r_u . ¡r_u£ful ; 624 ià( ¡r -> ¡r_magic ) 625 `¡r_ä“ ( ¡r -> ¡r_magic ); 626 ¡r -> ¡r_magic = ä“¡¼oÙ ; 627 #ià `defšed ( LEAKTEST è|| defšed( NOMEMOPT ) 628 ià( ¡r -> ¡r_Ën ) { 629 `Saãä“ ( ¡r -> ¡r_±r ); 630 ¡r -> ¡r_±r = NuÎch ; 632 ià(( ¡r -> ¡r_pok & SP_INTRP è&& sŒ-> ¡r_u . ¡r_¬gs ) 633 `¬g_ä“ ( ¡r -> ¡r_u . ¡r_¬gs ); 634 `Saãä“ ( ¡r ); 636 ià( ¡r -> ¡r_Ën ) { 637 ià( ¡r -> ¡r_Ën > 127) { 638 `Saãä“ ( ¡r -> ¡r_±r ); 639 ¡r -> ¡r_±r = NuÎch ; 640 ¡r -> ¡r_Ën = 0; 643 ¡r -> ¡r_±r [0] = '\0'; 645 ià(( ¡r -> ¡r_pok & SP_INTRP è&& sŒ-> ¡r_u . ¡r_¬gs ) 646 `¬g_ä“ ( ¡r -> ¡r_u . ¡r_¬gs ); 647 ¡r -> ¡r_cur = 0; 648 ¡r -> ¡r_nok = 0; 649 ¡r -> ¡r_pok = 0; 650 ¡r -> ¡r_¡©e = SS_FREE ; 651 #ifdeà TAINT 652 ¡r -> ¡r_�š‹d = 0; 654 ä“¡¼oÙ = ¡r ; 656 } } 658 STRLEN 659 $¡r_Ën ( ¡r ) 660  STR * ¡r ; 662 ià(! ¡r ) 664 ià(!( ¡r -> ¡r_pok )) 665 () `¡r_2±r ( ¡r ); 666 ià( ¡r -> ¡r_±r ) 667  ¡r -> ¡r_cur ; 670 } } 672 $¡r_eq ( ¡r1 , ¡r2 ) 673  STR * ¡r1 ; 674  STR * ¡r2 ; 676 ià(! ¡r1 || sŒ1 =ð& ¡r_undef ) 677  ( ¡r2 =ð NuΡr || sŒ2 =ð& ¡r_undef || !¡r2-> ¡r_cur ); 678 ià(! ¡r2 || sŒ2 =ð& ¡r_undef ) 679  ! ¡r1 -> ¡r_cur ; 681 ià(! ¡r1 -> ¡r_pok ) 682 () `¡r_2±r ( ¡r1 ); 683 ià(! ¡r2 -> ¡r_pok ) 684 () `¡r_2±r ( ¡r2 ); 686 ià( ¡r1 -> ¡r_cur !ð ¡r2 ->str_cur) 689  ! `bcmp ( ¡r1 -> ¡r_±r , ¡r2 ->¡r_±r, sŒ1-> ¡r_cur ); 690 } } 692 $¡r_cmp ( ¡r1 , ¡r2 ) 693  STR * ¡r1 ; 694  STR * ¡r2 ; 696  »tv® ; 698 ià(! ¡r1 || sŒ1 =ð& ¡r_undef ) 699  ( ¡r2 =ð NuΡr || sŒ2 =ð& ¡r_undef || !¡r2-> ¡r_cur )?0:-1; 700 ià(! ¡r2 || sŒ2 =ð& ¡r_undef ) 701  ¡r1 -> ¡r_cur != 0; 703 ià(! ¡r1 -> ¡r_pok ) 704 () `¡r_2±r ( ¡r1 ); 705 ià(! ¡r2 -> ¡r_pok ) 706 () `¡r_2±r ( ¡r2 ); 708 ià( ¡r1 -> ¡r_cur < ¡r2 ->str_cur) { 709 ià( »tv® = `memcmp ( ¡r1 -> ¡r_±r , ¡r2 ->¡r_±r, sŒ1-> ¡r_cur )) 710  »tv® < 0 ? -1 : 1; 714 ià( »tv® = `memcmp ( ¡r1 -> ¡r_±r , ¡r2 ->¡r_±r, sŒ2-> ¡r_cur )) 715  »tv® < 0 ? -1 : 1; 716 ià( ¡r1 -> ¡r_cur =ð ¡r2 ->str_cur) 720 } } 723 $¡r_g‘s ( ¡r , å , ­³nd ) 724  STR * ¡r ; 725  FILE * å ; 726  ­³nd ; 728 * bp ; 729  út ; 730  STDCHAR * ±r ; 731  Ãwlše = rsch¬ ; 732  i ; 733 STRLEN bpx ; 734  shÜtbufã»d ; 736 ià( ¡r =ð& ¡r_undef ) 737  NuÎch ; 738 #ifdeà STDSTDIO 739 út = å -> _út ; 740 ¡r -> ¡r_nok = 0; 741 ¡r -> ¡r_pok = 1; 742 ià( ¡r -> ¡r_Ën <ð út + 1) { 743 ià( út > 80 && ¡r -> ¡r_Ën > ­³nd ) { 744 shÜtbufã»d = út - ¡r -> ¡r_Ën + ­³nd + 1; 745 út -ð shÜtbufã»d ; 748 shÜtbufã»d = 0; 749 `STR_GROW ( ¡r , ­³nd + út +2); 753 shÜtbufã»d = 0; 754 bp = ¡r -> ¡r_±r + ­³nd ; 755 ±r = å -> _±r ; 757 sü—m” : 758 -- út >= 0) { 759 ià((* bp ++ = * ±r ++è=ð Ãwlše ) 760  th©s_®l_fÞks ; 763 ià( shÜtbufã»d ) { 764 út = shÜtbufã»d ; 765 shÜtbufã»d = 0; 766 bpx = bp - ¡r -> ¡r_±r ; 767 ¡r -> ¡r_cur = bpx ; 768 `STR_GROW ( ¡r , sŒ-> ¡r_Ën + ­³nd + út + 2); 769 bp = ¡r -> ¡r_±r + bpx ; 773 å -> _út = út ; 774 å -> _±r = ±r ; 775 i = `_fžbuf ( å ); 776 út = å -> _út ; 777 ±r = å -> _±r ; 779 bpx = bp - ¡r -> ¡r_±r ; 780 ¡r -> ¡r_cur = bpx ; 781 `STR_GROW ( ¡r , bpx + út + 2); 782 bp = ¡r -> ¡r_±r + bpx ; 784 ià( i =ð Ãwlše ) { 785 * bp ++ = i ; 786  th©s_®l_fÞks ; 788 ià( i =ð EOF ) 789  th©s_»®ly_®l_fÞks ; 790 * bp ++ = i ; 793 th©s_®l_fÞks : 794 ià( r¦’ > 1 && ( bp - ¡r -> ¡r_±r <„¦’ || `bcmp (b°-„¦’, rs ,„slen))) 795  sü—m” ; 796 th©s_»®ly_®l_fÞks : 797 ià( shÜtbufã»d ) 798 út +ð shÜtbufã»d ; 799 å -> _út = út ; 800 å -> _±r = ±r ; 801 * bp = '\0'; 802 ¡r -> ¡r_cur = bp - sŒ-> ¡r_±r ; 807  buf [8192]; 808 * b³ = buf + (buf) - 3; 810 sü—m” : 811 bp = buf ; 812 ( i = `g‘c ( å )è!ð EOF && (* bp ++ = iè!ð Ãwlše && b°< b³ ) ; 814 * bp = '\0'; 815 ià( ­³nd ) 816 `¡r_ÿt ( ¡r , buf ); 818 `¡r_£t ( ¡r , buf ); 819 ià( i !ð EOF 821 ( i !ð Ãwlše 823 ( r¦’ > 1 825 ( ¡r -> ¡r_cur < r¦’ 827 `bcmp ( ¡r -> ¡r_±r + sŒ-> ¡r_cur - r¦’ , rs ,„slen) 833 ­³nd = -1; 834  sü—m” ; 840  ¡r -> ¡r_cur - ­³nd ? sŒ-> ¡r_±r : NuÎch ; 841 } } 843 ARG * 844 $·r£li¡ ( ¡r ) 845 STR * ¡r ; 847  CMD * cmd ; 848  ARG * ¬g ; 849 CMD * Þdcurcmd = curcmd ; 850  Þd³¾db = ³¾db ; 851  »tv® ; 853 ³¾db = 0; 854 `¡r_s£t ( lše¡r , ¡r ); 855 š_ev® ++; 856 ÞdÞdbuåŒ = ÞdbuåŒ = buåŒ = `¡r_g‘ ( lše¡r ); 857 buãnd = buåŒ + lše¡r -> ¡r_cur ; 858 ià(++ loÝ_±r >ð loÝ_max ) { 859 loÝ_max += 128; 860 `R’ew ( loÝ_¡ack , loÝ_max ,  loÝ ); 862 loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– = "_EVAL_"; 863 loÝ_¡ack [ loÝ_±r ]. loÝ_¥ = 0; 864 #ifdeà DEBUGGING 865 ià( debug & 4) { 866 `deb ("(Pushšg†ab– #%d _EVAL_)\n", loÝ_±r ); 869 ià( `£tjmp ( loÝ_¡ack [ loÝ_±r ]. loÝ_’v )) { 870 š_ev® --; 871 loÝ_±r --; 872 ³¾db = Þd³¾db ; 873 `ç�l ("%s\n", `¡ab_v® ( `¡ab’t ("@", TRUE ))-> ¡r_±r ); 875 #ifdeà DEBUGGING 876 ià( debug & 4) { 877 * tmps = loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ; 878 `deb ("(PÝpšg†ab– #%d %s)\n", loÝ_±r , 879 tmps ?�mps : "" ); 882 loÝ_±r --; 883 ”rÜ_couÁ = 0; 884 curcmd = & compžšg ; 885 curcmd -> c_lše = Þdcurcmd ->c_line; 886 »tv® = `yy·r£ (); 887 curcmd = Þdcurcmd ; 888 ³¾db = Þd³¾db ; 889 š_ev® --; 890 ià( »tv® || ”rÜ_couÁ ) 891 `ç�l ("Invalid component in string or format"); 892 cmd = ev®_roÙ ; 893 ¬g = cmd -> c_ex´ ; 894 ià( cmd -> c_ty³ !ð C_EXPR || cmd-> c_Ãxt || ¬g -> ¬g_ty³ !ð O_LIST ) 895 `ç�l ("·nic:ƒ¼Ü iÀ·r£li¡ %d %x %d", cmd -> c_ty³ , 896 cmd -> c_Ãxt , ¬g ?‡rg-> ¬g_ty³ : -1); 897 `Saãä“ ( cmd ); 898 ev®_roÙ = NuÎcmd ; 899  ¬g ; 900 } } 903 $šŒpcompže ( ¤c ) 904 STR * ¤c ; 906 * s = `¡r_g‘ ( ¤c ); 907 * £nd = s + ¤c -> ¡r_cur ; 908  STR * ¡r ; 909 * t ; 910 STR * tݬ£ ; 911 STRLEN Ën ; 912  b¿ck‘s ; 913 * d ; 914 STAB * ¡ab ; 915 * checkpošt ; 916  §wÿ£ = 0; 918 tݬ£ = `SŒ_Ãw (76,0); 919 ¡r = `SŒ_Ãw (77,0); 921 `¡r_n£t ( ¡r ,"",0); 922 `¡r_n£t ( tݬ£ ,"",0); 923 t = s ; 924  s < £nd ) { 925 ià(* s =ð'\\' && s[1] && `šdex ("$@[{\\]}lLuUE",s[1])) { 926 `¡r_nÿt ( ¡r , t , s -�); 927 ++ s ; 928 ià( `i§Íha (* s )) { 929 `¡r_nÿt ( ¡r , "$c", 2); 930 §wÿ£ = (* s != 'E'); 933 ià(* nošŒp && s +1 < £nd ) 934 ià(* s !ð'@' && (* !ð'$' || `šdex ( nošŒp ,s[1]))) 935 `¡r_nÿt ( ¡r , s -1,1); 936 `¡r_nÿt ( ¡r , "$b", 2); 938 `¡r_nÿt ( ¡r , s , 1); 939 ++ s ; 940 t = s ; 942 ià((* s =ð'@' || (* =ð'$' && ! `šdex ( nošŒp ,s[1]))) && 943 s +1 < £nd ) { 944 `¡r_nÿt ( ¡r , t , s -t); 945 t = s ; 946 ià(* s =ð'$' && s[1] =ð'#' && ( `i§Íha (s[2]) || s[2] == '_')) 947 s ++; 948 s = `sÿnid’t (s, £nd , tok’buf ); 949 ià(* t == '@' && 950 (!( ¡ab = `¡ab’t ( tok’buf , FALSE )) || 951 (* s =ð'{' ? ! `¡ab_xhash ( ¡ab è: ! `¡ab_x¬¿y (stab)) )) { 952 `¡r_nÿt ( ¡r ,"@",1); 953 s = ++ t ; 956 `¡r_nÿt ( ¡r ,"$a",2); 957 `¡r_nÿt ( tݬ£ ,",",1); 958 ià( t [1] !ð'{' && (* s == '[' || *s == '{' ) && 959 ( ¡ab = `¡ab’t ( tok’buf , FALSE )) && 960 ((* s =ð'['è? ( `¡ab_x¬¿y ( ¡ab è!ð0è: ( `¡ab_xhash (stab) != 0)) ) { 961 b¿ck‘s = 0; 962 checkpošt = s ; 964 * s ) { 966 ià( s [-1] != '$') 967 b¿ck‘s ++; 970 b¿ck‘s ++; 973 ià( s [-1] != '$') 974 b¿ck‘s --; 977 b¿ck‘s --; 981 ià( s [-1] != '$') { 982 s = `ýytžl ( tok’buf ,s+1, £nd ,*s,& Ën ); 983 ià( s >ð £nd ) 984 `ç�l ("Unterminated string"); 988 s ++; 989 }  b¿ck‘s > 0 && s < £nd ); 990 ià( s > £nd ) 991 `ç�l ("Unmatched brackets in string"); 992 ià(* nošŒp ) { 993 d = checkpošt ; 994 ià(* d =ð'{' && s [-1] == '}') { 995 ++ d ; 996 ià( `isdig™ (* d )) { 997 ià(*++ d == ',') 998 ++ d ; 999  `isdig™ (* d )) 1000 d ++; 1001 ià( d =ð s - 1) 1002 s = checkpošt ; 1005 ià(* d =ð'[' && s [-1] == ']') { 1006  weight = 2; 1007  £’ [256]; 1008  un_ch¬ = 0, Ï¡_un_ch¬ ; 1010 `Z”o ( £’ ,256,); 1011 *-- s = '\0'; 1012 ià( d [1] == '^') 1013 weight += 150; 1014 ià( d [1] == '$') 1015 weight -= 3; 1016 ià( `isdig™ ( d [1])) { 1017 ià( d [2]) { 1018 ià( `isdig™ ( d [2]) && !d[3]) 1019 weight -= 10; 1022 weight -= 100; 1024  d ++; d < s ; d++) { 1025 Ï¡_un_ch¬ = un_ch¬ ; 1026 un_ch¬ = ()* d ; 1027 * d ) { 1030 weight -ð £’ [ un_ch¬ ] * 10; 1031 ià( `i§Íha ( d [1]è|| `isdig™ (d[1]) || 1032 d [1] == '_') { 1033 d = `sÿnid’t (d, s , tok’buf ); 1034 ià( `¡ab’t ( tok’buf , FALSE )) 1035 weight -= 100; 1037 weight -= 10; 1039 ià(* d == '$' && d[1] && 1040 `šdex ("[#!%*<>()-=", d [1])) { 1041 ià(! d [2] || `šdex ("])} =",d[2])) 1042 weight -= 10; 1044 weight -= 1; 1048 un_ch¬ = 254; 1049 ià( d [1]) { 1050 ià( `šdex ("wds", d [1])) 1051 weight += 100; 1052 ià( £’ ['\''] || seen['"']) 1053 weight += 1; 1054 ià( `šdex ("ºáb", d [1])) 1055 weight += 40; 1056 ià( `isdig™ ( d [1])) { 1057 weight += 40; 1058  d [1] && `isdig™ (d[1])) 1059 d ++; 1063 weight += 100; 1066 ià( Ï¡_un_ch¬ < (è d [1] 1067 || d [1] == '\\') { 1068 ià( `šdex ("aA01! ", Ï¡_un_ch¬ )) 1069 weight += 30; 1070 ià( `šdex ("zZ79~", d [1])) 1071 weight += 30; 1074 weight -= 1; 1076 ià( `i§Íha (* d ) && d[1] && isalpha(d[1])) { 1077 buåŒ = d ; 1078 ià( `yyËx (è!ð WORD ) 1079 weight -= 150; 1080 d = buåŒ ; 1082 ià( un_ch¬ =ð Ï¡_un_ch¬ + 1) 1083 weight += 5; 1084 weight -ð £’ [ un_ch¬ ]; 1087 £’ [ un_ch¬ ]++; 1089 #ifdeà DEBUGGING 1090 ià( debug & 512) 1091 `årštf ( ¡d”r ,"[%s] weight %d\n", 1092 checkpošt +1, weight ); 1094 * s ++ = ']'; 1095 ià( weight >= 0) 1096 s = checkpošt ; 1100 ià(* t == '@') 1101 `¡r_nÿt ( tݬ£ , "join($\",", 8); 1102 ià( t [1] =ð'{' && s [-1] == '}') { 1103 `¡r_nÿt ( tݬ£ , t , 1); 1104 `¡r_nÿt ( tݬ£ , t +2, s -� - 3); 1107 `¡r_nÿt ( tݬ£ , t , s -�); 1108 ià(* t == '@') 1109 `¡r_nÿt ( tݬ£ , ")", 1); 1110 t = s ; 1113 s ++; 1115 `¡r_nÿt ( ¡r , t , s -t); 1116 ià( §wÿ£ ) 1117 `¡r_nÿt ( ¡r , "$cE", 3); 1118 ià( tݬ£ -> ¡r_±r && *toparse->str_ptr == ',') { 1119 * tݬ£ -> ¡r_±r = '('; 1120 `¡r_nÿt ( tݬ£ ,",$$);",5); 1121 ¡r -> ¡r_u . ¡r_¬gs = `·r£li¡ ( tݬ£ ); 1122 ¡r -> ¡r_u . ¡r_¬gs -> ¬g_Ën --; 1125 ¡r -> ¡r_u . ¡r_¬gs = Nuάg ; 1126 `¡r_ä“ ( tݬ£ ); 1127 ¡r -> ¡r_pok |ð SP_INTRP ; 1128 ¡r -> ¡r_nok = 0; 1129 `¡r_»¶aû ( ¤c , ¡r ); 1130 } } 1132 STR * 1133 $š‹½ ( ¡r , ¤c , ¥ ) 1134  STR * ¡r ; 1135 STR * ¤c ; 1136  ¥ ; 1138 * s ; 1139 * t ; 1140 * £nd ; 1141  STR ** –em ; 1142  doÿ£ = 0; 1143  l = 0; 1144  u = 0; 1145  L = 0; 1146  U = 0; 1148 ià( ¡r =ð& ¡r_undef ) 1149  NuΡr ; 1150 ià(!( ¤c -> ¡r_pok & SP_INTRP )) { 1151  Þd§ve = §ve¡ack -> ¬y_fžl ; 1153 () `§veh±r (& cur¡ash ); 1154 cur¡ash = curcmd -> c_¡ash ; 1155 `šŒpcompže ( ¤c ); 1156 `»¡Ü–i¡ ( Þd§ve ); 1158 s = ¤c -> ¡r_±r ; 1159 t = s ; 1160 £nd = s + ¤c -> ¡r_cur ; 1162 ià( ¤c -> ¡r_u . ¡r_¬gs ) { 1163 () `ev® ( ¤c -> ¡r_u . ¡r_¬gs , G_ARRAY , ¥ ); 1165 –em = ¡ack -> ¬y_¬¿y + ¥ ; 1168 `¡r_n£t ( ¡r ,"",0); 1169  s < £nd ) { 1170 ià(* s =ð'$' && s+1 < £nd ) { 1171 ià( s - t > 0) 1172 `¡r_nÿt ( ¡r , t , s -t); 1173 *++ s ) { 1175 `¡r_sÿt ( ¡r ,*++ –em ); 1178 `¡r_nÿt ( ¡r ,++ s ,1); 1181 ià( doÿ£ && ¡r -> ¡r_cur >= docase) { 1182 * b = ¡r -> ¡r_±r + -- doÿ£ ; 1184 ià( L ) 1185 `lÿ£ ( b , ¡r -> ¡r_±r + sŒ-> ¡r_cur ); 1186 ià( U ) 1187 `uÿ£ ( b , ¡r -> ¡r_±r + sŒ-> ¡r_cur ); 1189 ià( u ) 1190 `uÿ£ ( b , b+1); 1191 ià( l ) 1192 `lÿ£ ( b , b+1); 1193 l = u = 0; 1195 doÿ£ = ¡r -> ¡r_cur + 1; 1196 *++ s ) { 1198 u = 1; 1199 l = 0; 1202 U = 1; 1203 L = 0; 1206 l = 1; 1207 u = 0; 1210 L = 1; 1211 U = 0; 1214 doÿ£ = L = U = l = u = 0; 1219 t = ++ s ; 1222 s ++; 1224 ià( s - t > 0) 1225 `¡r_nÿt ( ¡r , t , s -t); 1226  ¡r ; 1227 } } 1229 $uÿ£ ( s , £nd ) 1230 * s ; 1231 * £nd ; 1233  s < £nd ) { 1234 ià( `i§scii (* s è&& `i¦ow” (*s)) 1235 * s = `touµ” (*s); 1236 s ++; 1238 } } 1240 $lÿ£ ( s , £nd ) 1241 * s ; 1242 * £nd ; 1244  s < £nd ) { 1245 ià( `i§scii (* s è&& `isuµ” (*s)) 1246 * s = `tÞow” (*s); 1247 s ++; 1249 } } 1252 $¡r_šc ( ¡r ) 1253  STR * ¡r ; 1255 * d ; 1257 ià(! ¡r || sŒ =ð& ¡r_undef ) 1259 ià( ¡r -> ¡r_nok ) { 1260 ¡r -> ¡r_u . ¡r_nv® += 1.0; 1261 ¡r -> ¡r_pok = 0; 1264 ià(! ¡r -> ¡r_pok || !*¡r-> ¡r_±r ) { 1265 ¡r -> ¡r_u . ¡r_nv® = 1.0; 1266 ¡r -> ¡r_nok = 1; 1267 ¡r -> ¡r_pok = 0; 1270 d = ¡r -> ¡r_±r ; 1271  `i§Íha (* d )) d++; 1272  `isdig™ (* d )) d++; 1273 ià(* d ) { 1274 `¡r_num£t ( ¡r , `©of (¡r-> ¡r_±r ) + 1.0); 1277 d --; 1278  d >ð ¡r -> ¡r_±r ) { 1279 ià( `isdig™ (* d )) { 1280 ià(++* d <= '9') 1282 *( d --) = '0'; 1285 ++* d ; 1286 ià( `i§Íha (* d )) 1288 *( d --) -= 'z' - 'a' + 1; 1292 `STR_GROW ( ¡r , sŒ-> ¡r_cur + 2); 1293 ¡r -> ¡r_cur ++; 1294  d = ¡r -> ¡r_±r + sŒ-> ¡r_cur ; d > str->str_ptr; d--) 1295 * d = d[-1]; 1296 ià( `isdig™ ( d [1])) 1297 * d = '1'; 1299 * d = d[1]; 1300 } } 1303 $¡r_dec ( ¡r ) 1304  STR * ¡r ; 1306 ià(! ¡r || sŒ =ð& ¡r_undef ) 1308 ià( ¡r -> ¡r_nok ) { 1309 ¡r -> ¡r_u . ¡r_nv® -= 1.0; 1310 ¡r -> ¡r_pok = 0; 1313 ià(! ¡r -> ¡r_pok ) { 1314 ¡r -> ¡r_u . ¡r_nv® = -1.0; 1315 ¡r -> ¡r_nok = 1; 1318 `¡r_num£t ( ¡r , `©of (¡r-> ¡r_±r ) - 1.0); 1319 } } 1326  gtmps_size = -1; 1328 STR * 1329 $¡r_mÜ�l ( Þd¡r ) 1330 STR * Þd¡r ; 1332  STR * ¡r = `SŒ_Ãw (78,0); 1334 `¡r_s£t ( ¡r , Þd¡r ); 1335 ià(++ tmps_max > tmps_size ) { 1336 tmps_size = tmps_max ; 1337 ià(!( tmps_size & 127)) { 1338 ià( tmps_size ) 1339 `R’ew ( tmps_li¡ , tmps_size + 128, STR *); 1341 `New (702, tmps_li¡ , 128, STR *); 1344 tmps_li¡ [ tmps_max ] = ¡r ; 1345 ià( ¡r -> ¡r_pok ) 1346 ¡r -> ¡r_pok |ð SP_TEMP ; 1347  ¡r ; 1348 } } 1352 STR * 1353 $¡r_2mÜ�l ( ¡r ) 1354  STR * ¡r ; 1356 ià( ¡r =ð& ¡r_undef ) 1357  ¡r ; 1358 ià(++ tmps_max > tmps_size ) { 1359 tmps_size = tmps_max ; 1360 ià(!( tmps_size & 127)) { 1361 ià( tmps_size ) 1362 `R’ew ( tmps_li¡ , tmps_size + 128, STR *); 1364 `New (704, tmps_li¡ , 128, STR *); 1367 tmps_li¡ [ tmps_max ] = ¡r ; 1368 ià( ¡r -> ¡r_pok ) 1369 ¡r -> ¡r_pok |ð SP_TEMP ; 1370  ¡r ; 1371 } } 1373 STR * 1374 $¡r_make ( s , Ën ) 1375 * s ; 1376 STRLEN Ën ; 1378  STR * ¡r = `SŒ_Ãw (79,0); 1380 ià(! Ën ) 1381 Ën = `¡¾’ ( s ); 1382 `¡r_n£t ( ¡r , s , Ën ); 1383  ¡r ; 1384 } } 1386 STR * 1387 $¡r_nmake ( n ) 1388  n ; 1390  STR * ¡r = `SŒ_Ãw (80,0); 1392 `¡r_num£t ( ¡r , n ); 1393  ¡r ; 1394 } } 1398 STR * 1399 $¡r_smake ( Þd ) 1400  STR * Þd ; 1402  STR * Ãw = `SŒ_Ãw (81,0); 1404 ià(! Þd ) 1405  NuΡr ; 1406 ià( Þd -> ¡r_¡©e =ð SS_FREE ) { 1407 `w¬n ("semi-panic:‡ttempt�o dup freed string"); 1408  NuΡr ; 1410 ià( Þd -> ¡r_¡©e =ð SS_INCR && !(Þd-> ¡r_pok & 2)) 1411 `SŒ_Grow ( Þd ,0); 1412 ià( Ãw -> ¡r_±r ) 1413 `Saãä“ ( Ãw -> ¡r_±r ); 1414 `CÝy ( Þd , Ãw ,1, STR ); 1415 ià( Þd -> ¡r_±r ) { 1416 Ãw -> ¡r_±r = `n§ve¡r ( Þd ->¡r_±r,Þd-> ¡r_Ën ); 1417 Ãw -> ¡r_pok &ð~ SP_TEMP ; 1419  Ãw ; 1420 } } 1422 $¡r_»£t ( s , ¡ash ) 1423 * s ; 1424 HASH * ¡ash ; 1426  HENT * ’Œy ; 1427  STAB * ¡ab ; 1428  STR * ¡r ; 1429  i ; 1430  SPAT * ¥© ; 1431  max ; 1433 ià(!* s ) { 1434  ¥© = ¡ash -> tbl_¥©roÙ ; 1435 ¥© !ð NuÎ¥© ; 1436 ¥© = s·t-> ¥©_Ãxt ) { 1437 ¥© -> ¥©_æags &ð~ SPAT_USED ; 1444 ià(! ¡ash -> tbl_¬¿y ) 1446 * s ) { 1447 i = * s ; 1448 ià( s [1] == '-') { 1449 s += 2; 1451 max = * s ++; 1452  ; i <ð max ; i++) { 1453  ’Œy = ¡ash -> tbl_¬¿y [ i ]; 1454 ’Œy ; 1455 ’Œy =ƒÁry-> h’t_Ãxt ) { 1456 ¡ab = ( STAB *) ’Œy -> h’t_v® ; 1457 ¡r = `¡ab_v® ( ¡ab ); 1458 ¡r -> ¡r_cur = 0; 1459 ¡r -> ¡r_nok = 0; 1460 #ifdeà TAINT 1461 ¡r -> ¡r_�š‹d = �š‹d ; 1463 ià( ¡r -> ¡r_±r !ð NuÎch ) 1464 ¡r -> ¡r_±r [0] = '\0'; 1465 ià( `¡ab_x¬¿y ( ¡ab )) { 1466 `aþ—r ( `¡ab_x¬¿y ( ¡ab )); 1468 ià( `¡ab_xhash ( ¡ab )) { 1469 `hþ—r ( `¡ab_xhash ( ¡ab ), FALSE ); 1470 ià( ¡ab =ð ’v¡ab ) 1471 ’vœÚ [0] = NuÎch ; 1476 } } 1478 #ifdeà TAINT 1479 $�š�rÝ” ( s ) 1480 * s ; 1482 #ifdeà DEBUGGING 1483 ià( debug & 2048) 1484 `årštf ( ¡d”r ,"% %d %d %d\n", s , �š‹d , uid , euid ); 1486 ià( �š‹d && (! euid ||ƒuid !ð uid || egid !ð gid )) { 1487 ià(! un§ã ) 1488 `ç�l ("%s", s ); 1489 ià( dow¬n ) 1490 `w¬n ("%s", s ); 1492 } } 1494 $�š‹nv () 1496  STR * ’v¡r ; 1498 ’v¡r = `hãtch ( `¡ab_hash ( ’v¡ab ),"PATH",4, FALSE ); 1499 ià( ’v¡r =ð& ¡r_undef ||ƒnv¡r-> ¡r_�š‹d ) { 1500 �š‹d = 1; 1501 ià( ’v¡r -> ¡r_�š‹d == 2) 1502 `�š�rÝ” ("Insecure directory in PATH"); 1504 `�š�rÝ” ("Insecure PATH"); 1506 ’v¡r = `hãtch ( `¡ab_hash ( ’v¡ab ),"IFS",3, FALSE ); 1507 ià( ’v¡r !ð& ¡r_undef &&ƒnv¡r-> ¡r_�š‹d ) { 1508 �š‹d = 1; 1509 `�š�rÝ” ("Insecure IFS"); 1511 } } @str.h 17  s¡ršg { 18 * m¡r_±r ; 19 STRLEN m¡r_Ën ; 21  m¡r_nv® ; 22 STAB * m¡r_¡ab ; 23  m¡r_u£ful ; 24 ARG * m¡r_¬gs ; 25 HASH * m¡r_hash ; 26 ARRAY * m¡r_¬¿y ; 27 CMD * m¡r_cmd ; 28 } m¡r_u ; 29 STRLEN m¡r_cur ; 30 STR * m¡r_magic ; 32  m¡r_pok ; 33  m¡r_nok ; 34  m¡r_¿» ; 35  m¡r_¡©e ; 37 #ifdeà TAINT 38 boÞ m¡r_�š‹d ; 42  s¡ab { 43 STBP * m¡r_±r ; 44 STRLEN m¡r_Ën ; 46  m¡r_nv® ; 47 STAB * m¡r_¡ab ; 48  m¡r_u£ful ; 49 ARG * m¡r_¬gs ; 50 HASH * m¡r_hash ; 51 ARRAY * m¡r_¬¿y ; 52 CMD * m¡r_cmd ; 53 } m¡r_u ; 54 STRLEN m¡r_cur ; 55 STR * m¡r_magic ; 57  m¡r_pok ; 58  m¡r_nok ; 59  m¡r_¿» ; 60  m¡r_¡©e ; 62 #ifdeà TAINT 63 boÞ m¡r_�š‹d ; 69  sl¡ršg { 70  ¡ršg ml¡r ; 71 STRLEN ml¡r_off£t ; 72 STRLEN ml¡r_Ën ; 76  #SP_VALID 1 ) 77  #SP_FBM 2 ) 78  #SP_STUDIED 4 ) 79  #SP_CASEFOLD 8 ) 80  #SP_INTRP 16 ) 81  #SP_TAIL 32 ) 82  #SP_MULTI 64 ) 83  #SP_TEMP 128 ) 85  #NuΡr `NuÎ ( STR *) ) 88  #SS_NORM 0 ) 89  #SS_INCR 1 ) 90  #SS_SARY 2 ) 91  #SS_SHASH 3 ) 92  #SS_SINT 4 ) 93  #SS_SLONG 5 ) 94  #SS_SSTRP 6 ) 95  #SS_SHPTR 7 ) 96  #SS_SNSTAB 8 ) 97  #SS_SCSV 9 ) 98  #SS_SAPTR 10 ) 99  #SS_HASH 253 ) 100  #SS_ARY 254 ) 101  #SS_FREE 255 ) 107 #ifdeà TAINT 108  #STABSET ( x ) \ 109 ( x )-> ¡r_�š‹d |ð �š‹d ; \ 110 ià(( x )-> ¡r_magic ) \ 111 `¡ab£t (( x )-> ¡r_magic ,(x)) ) 113  #STABSET ( x ) \ 114 ià(( x )-> ¡r_magic ) \ 115 `¡ab£t (( x )-> ¡r_magic ,(x)) ) 118  #STR_SSET ( d¡ , ¤c èià(d¡ !ð¤cè `¡r_s£t (d¡,¤c) ) 120 EXT STR ** gtmps_li¡ ; 121 EXT  tmps_max INIT (-1); 122 EXT  tmps_ba£ INIT (-1); 124 * ¡r_2±r (); 125  ¡r_2num (); 126 STR * ¡r_mÜ�l (); 127 STR * ¡r_2mÜ�l (); 128 STR * ¡r_make (); 129 STR * ¡r_nmake (); 130 STR * ¡r_smake (); 131  ¡r_cmp (); 132  ¡r_eq (); 133  ¡r_magic (); 134  ¡r_𣹠(); 135 STRLEN ¡r_Ën (); @toke.c 17  ~"EXTERN.h " 18  ~"³¾.h " 19  ~"³¾y.h " 21 #ifdeà I_FCNTL 22  ~ 24 #ifdeà I_SYS_FILE 25  ~ 30 * g·Ž—ve = "\\.^$@dDwWsSbB+*?|()-nrtf0123456789[{]}"; 32 * g»·r£ ; 34  checkcomma (); 36 #ifdeà CLINE 37 #undeà CLINE 39  #CLINE ( cmdlše = ( curcmd -> c_lše < cmdlš�? curcmd->c_lš�: cmdlše)) ) 41  #META ( c è((cè| 128) ) 43  #RETURN ( »tv® è ( buåŒ = s ,(ì‘v®) ) 44  #OPERATOR ( »tv® è ( ex³ù‹rm = TRUE , buåŒ = s ,(ì‘v®) ) 45  #TERM ( »tv® è ( CLINE , ex³ù‹rm = FALSE , buåŒ = s ,(ì‘v®) ) 46  #LOOPX ( f è( yylv® . iv® =f, ex³ù‹rm = FALSE , buåŒ = s ,() LOOPEX ) ) 47  #FTST ( f è( yylv® . iv® =f, ex³ù‹rm = TRUE , buåŒ = s ,() FILETEST ) ) 48  #FUN0 ( f è( yylv® . iv® = f, ex³ù‹rm = FALSE , buåŒ = s ,() FUNC0 ) ) 49  #FUN1 ( f è( yylv® . iv® = f, ex³ù‹rm = FALSE , buåŒ = s ,() FUNC1 ) ) 50  #FUN2 ( f è( yylv® . iv® = f, ex³ù‹rm = FALSE , buåŒ = s ,() FUNC2 ) ) 51  #FUN2x ( f è( yylv® . iv® = f, ex³ù‹rm = FALSE , buåŒ = s ,() FUNC2x ) ) 52  #FUN3 ( f è( yylv® . iv® = f, ex³ù‹rm = FALSE , buåŒ = s ,() FUNC3 ) ) 53  #FUN4 ( f è( yylv® . iv® = f, ex³ù‹rm = FALSE , buåŒ = s ,() FUNC4 ) ) 54  #FUN5 ( f è( yylv® . iv® = f, ex³ù‹rm = FALSE , buåŒ = s ,() FUNC5 ) ) 55  #FL ( f è( yylv® . iv® =f, ex³ù‹rm = FALSE , buåŒ = s ,() FLIST ) ) 56  #FL2 ( f è( yylv® . iv® =f, ex³ù‹rm = FALSE , buåŒ = s ,() FLIST2 ) ) 57  #HFUN ( f è( yylv® . iv® =f, ex³ù‹rm = TRUE , buåŒ = s ,() HSHFUN ) ) 58  #HFUN3 ( f è( yylv® . iv® =f, ex³ù‹rm = FALSE , buåŒ = s ,() HSHFUN3 ) ) 59  #LFUN ( f è( yylv® . iv® =f, ex³ù‹rm = TRUE , buåŒ = s ,() LVALFUN ) ) 60  #AOP ( f è( yylv® . iv® =f, ex³ù‹rm = TRUE , buåŒ = s ,() ADDOP ) ) 61  #MOP ( f è( yylv® . iv® =f, ex³ù‹rm = TRUE , buåŒ = s ,() MULOP ) ) 62  #EOP ( f è( yylv® . iv® =f, ex³ù‹rm = TRUE , buåŒ = s ,() EQOP ) ) 63  #ROP ( f è( yylv® . iv® =f, ex³ù‹rm = TRUE , buåŒ = s ,() RELOP ) ) 64  #FOP ( f è( yylv® . iv® =f, ex³ù‹rm = FALSE , buåŒ = s ,() FILOP ) ) 65  #FOP2 ( f è( yylv® . iv® =f, ex³ù‹rm = FALSE , buåŒ = s ,() FILOP2 ) ) 66  #FOP3 ( f è( yylv® . iv® =f, ex³ù‹rm = FALSE , buåŒ = s ,() FILOP3 ) ) 67  #FOP4 ( f è( yylv® . iv® =f, ex³ù‹rm = FALSE , buåŒ = s ,() FILOP4 ) ) 68  #FOP22 ( f è( yylv® . iv® =f, ex³ù‹rm = FALSE , buåŒ = s ,() FILOP22 ) ) 69  #FOP25 ( f è( yylv® . iv® =f, ex³ù‹rm = FALSE , buåŒ = s ,() FILOP25 ) ) 74  #UNI ( f è( yylv® . iv® = f, ex³ù‹rm = TRUE , buåŒ = s , \ 75 (* s =ð'(' || ( ð `sk�¥aû (s), * =ð'('è? () FUNC1 : () UNIOP è) ) 80  #LOP ( f è( CLINE , * s =ð'(' || ( ð `sk�¥aû (s), *s == '(') ? \ 81 (* s = `META ('('), buåŒ = ÞdbuåŒ , '(') : \ 82 ( yylv® . iv® = f , ex³ù‹rm = TRUE , buåŒ = s ,() LISTOP )) ) 84  #OLDLOP ( f è( yylv® . iv® =f, ex³ù‹rm = TRUE , buåŒ = s ,() LISTOP ) ) 87 $sk�¥aû ( s ) 88 * s ; 90  s < buãnd && `i§scii (*sè&& `is¥aû (*s)) 91 s ++; 92  s ; 93 } } 95 #ifdeà CRIPPLED_CC 97 #undeà UNI 98 #undeà LOP 99  #UNI ( f è `uni (f, s ) ) 100  #LOP ( f è `lÝ (f, s ) ) 103 $uni ( f , s ) 104  f ; 105 * s ; 107 yylv® . iv® = f ; 108 ex³ù‹rm = TRUE ; 109 buåŒ = s ; 110 ià(* s == '(') 111  FUNC1 ; 112 s = `sk�¥aû (s); 113 ià(* s == '(') 114  FUNC1 ; 116  UNIOP ; 117 } } 120 $lÝ ( f , s ) 121  f ; 122 * s ; 124 CLINE ; 125 ià(* s != '(') 126 s = `sk�¥aû (s); 127 ià(* s == '(') { 128 * s = `META ('('); 129 buåŒ = ÞdbuåŒ ; 133 yylv® . iv® = f ; 134 ex³ù‹rm = TRUE ; 135 buåŒ = s ; 136  LISTOP ; 138 } } 142 $yyËx () 144 * s = buåŒ ; 145 * d ; 146  tmp ; 147  boÞ š_fÜm© = FALSE ; 148  boÞ fœ¡lše = TRUE ; 149  yych¬ ; 151 ÞdÞdbuåŒ = ÞdbuåŒ ; 152 ÞdbuåŒ = s ; 154 »Œy : 155 #ifdeà YYDEBUG 156 ià( debug & 1) 157 ià( `šdex ( s ,'\n')) 158 `årštf ( ¡d”r ,"Tok’”‡ˆ%s", s ); 160 `årštf ( ¡d”r ,"Tok’”‡ˆ%s\n", s ); 162 #ifdeà BADSWITCH 163 ià(* s & 128) { 164 ià((* s & 127) == '(') 165 * s ++ = '('; 167 `w¬n ("UÄecognized ch¬aù” \\%03ØignÜed", * s ++ & 255); 168  »Œy ; 171 * s ) { 173 ià((* s & 127) == '(') 174 * s ++ = '('; 176 `w¬n ("UÄecognized ch¬aù” \\%03ØignÜed", * s ++ & 255); 177  »Œy ; 180  çke_eof ; 182 ià(! rså ) 183 `RETURN (0); 184 ià( s ++ < buãnd ) 185  »Œy ; 186 ià( fœ¡lše ) { 187 fœ¡lše = FALSE ; 188 ià( mšus_n || mšus_p || ³¾db ) { 189 `¡r_£t ( lše¡r ,""); 190 ià( ³¾db ) { 191 * `g‘’v (); 192 * pdb = `g‘’v ("PERLDB"); 194 `¡r_ÿt ( lše¡r , pdb ?…db : "require 'perldb.pl'"); 195 `¡r_ÿt ( lše¡r , ";"); 197 ià( mšus_n || mšus_p ) { 198 `¡r_ÿt ( lše¡r ,"line: while (<>) {"); 199 ià( mšus_l ) 200 `¡r_ÿt ( lše¡r ,"chop;"); 201 ià( mšus_a ) 202 `¡r_ÿt ( lše¡r ,"@F=split(' ');"); 204 ÞdÞdbuåŒ = ÞdbuåŒ = s = `¡r_g‘ ( lše¡r ); 205 buãnd = lše¡r -> ¡r_±r +†še¡r-> ¡r_cur ; 206  »Œy ; 209 ià( š_fÜm© ) { 210 buåŒ = buãnd ; 211 yylv® . fÜmv® = `lßd_fÜm© (); 212 š_fÜm© = FALSE ; 213 ÞdÞdbuåŒ = ÞdbuåŒ = s = `¡r_g‘ ( lše¡r ) + 1; 214 buãnd = lše¡r -> ¡r_±r +†še¡r-> ¡r_cur ; 215 `OPERATOR ( FORMLIST ); 217 curcmd -> c_lše ++; 218 #ifdeà CRYPTSCRIPT 219 `üy±sw™ch (); 222 ià(( s = `¡r_g‘s ( lše¡r , rså , 0)è=ð NuÎch ) { 223 çke_eof : 224 ià( rså ) { 225 ià( ´•roûss ) 226 () `mypþo£ ( rså ); 227 ià( rså =ð ¡dš ) 228 `þ—»¼ ( ¡dš ); 230 () `fþo£ ( rså ); 231 rså = NuÎå ; 233 ià( mšus_n || mšus_p ) { 234 `¡r_£t ( lše¡r , mšus_p ? ";}continue{print" : ""); 235 `¡r_ÿt ( lše¡r ,";}"); 236 ÞdÞdbuåŒ = ÞdbuåŒ = s = `¡r_g‘ ( lše¡r ); 237 buãnd = lše¡r -> ¡r_±r +†še¡r-> ¡r_cur ; 238 mšus_n = mšus_p = 0; 239  »Œy ; 241 ÞdÞdbuåŒ = ÞdbuåŒ = s = `¡r_g‘ ( lše¡r ); 242 `¡r_£t ( lše¡r ,""); 243 `RETURN (';'); 245 ià( dÛxŒaù && * lše¡r -> ¡r_±r == '#') 246 dÛxŒaù = FALSE ; 247 }  dÛxŒaù ); 248 ÞdÞdbuåŒ = ÞdbuåŒ = buåŒ = s ; 249 ià( ³¾db ) { 250 STR * ¡r = `SŒ_Ãw (85,0); 252 `¡r_s£t ( ¡r , lše¡r ); 253 `a¡Üe ( `¡ab_x¬¿y ( curcmd -> c_fže¡ab ),()curcmd-> c_lše , ¡r ); 255 #ifdeà DEBUG 256 ià( fœ¡lše ) { 257 * `showšput (); 258 s = `showšput (); 261 buãnd = lše¡r -> ¡r_±r +†še¡r-> ¡r_cur ; 262 ià( curcmd -> c_lše == 1) { 263 ià(* s == '#' && s[1] == '!') { 264 ià(! š_ev® && ! `š¡r ( s ,"³¾"è&& in¡r( Üig¬gv [0],"perl")) { 265 ** Ãw¬gv ; 266 * cmd ; 268 s += 2; 269 ià(* s == ' ') 270 s ++; 271 cmd = s ; 272  s < buãnd && ! `is¥aû (*s)) 273 s ++; 274 * s ++ = '\0'; 275  s < buãnd && `is¥aû (*s)) 276 s ++; 277 ià( s < buãnd ) { 278 `Newz (899, Ãw¬gv , Üig¬gc +3,*); 279 Ãw¬gv [1] = s ; 280  s < buãnd && ! `is¥aû (*s)) 281 s ++; 282 * s = '\0'; 283 `CÝy ( Üig¬gv +1, Ãw¬gv +2, Üig¬gc +1, *); 286 Ãw¬gv = Üig¬gv ; 287 Ãw¬gv [0] = cmd ; 288 `execv ( cmd , Ãw¬gv ); 289 `ç�l ("Cª'ˆexeø%s", cmd ); 293  s < buãnd && `is¥aû (*s)) 294 s ++; 295 ià(* s == ':') 296 s ++; 299  »Œy ; 301 s ++; 302  »Œy ; 304 ià( ´•roûss && s =ð `¡r_g‘ ( lše¡r ) && 305 s [1] =ð' ' && `isdig™ (s[2])) { 306 curcmd -> c_lše = `©oi ( s +2)-1; 307  s +ð2; `isdig™ (*s); s++) ; 308 d = buãnd ; 309  s < d && `is¥aû (*s)) s++; 310 s [ `¡¾’ (s)-1] = '\0'; 311 ià(* s == '"') { 312 s ++; 313 s [ `¡¾’ (s)-1] = '\0'; 315 ià(* s ) 316 curcmd -> c_fže¡ab = `f¡ab ( s ); 318 curcmd -> c_fže¡ab = `f¡ab ( Üigfž’ame ); 319 ÞdÞdbuåŒ = ÞdbuåŒ = s = `¡r_g‘ ( lše¡r ); 323 ià( š_ev® && ! rså ) { 324 d = buãnd ; 325  s < d && *s != '\n') 326 s ++; 327 ià( s < d ) 328 s ++; 329 ià( ³¾db ) { 330 STR * ¡r = `SŒ_Ãw (85,0); 332 `¡r_n£t ( ¡r , lše¡r -> ¡r_±r , s -†inestr->str_ptr); 333 `a¡Üe ( `¡ab_x¬¿y ( curcmd -> c_fže¡ab ),()curcmd-> c_lše , ¡r ); 334 `¡r_chÝ ( lše¡r , s ); 336 ià( š_fÜm© ) { 337 buåŒ = s ; 338 yylv® . fÜmv® = `lßd_fÜm© (); 339 š_fÜm© = FALSE ; 340 ÞdÞdbuåŒ = ÞdbuåŒ = s = buåŒ + 1; 341 `TERM ( FORMLIST ); 343 curcmd -> c_lše ++; 346 * s = '\0'; 347 buãnd = s ; 349  »Œy ; 351 ià( s [1] && `i§Íha (s[1]) && !isalpha(s[2])) { 352 s ++; 353 * s ++) { 354 'r': `FTST ( O_FTEREAD ); 355 'w': `FTST ( O_FTEWRITE ); 356 'x': `FTST ( O_FTEEXEC ); 357 'o': `FTST ( O_FTEOWNED ); 358 'R': `FTST ( O_FTRREAD ); 359 'W': `FTST ( O_FTRWRITE ); 360 'X': `FTST ( O_FTREXEC ); 361 'O': `FTST ( O_FTROWNED ); 362 'e': `FTST ( O_FTIS ); 363 'z': `FTST ( O_FTZERO ); 364 's': `FTST ( O_FTSIZE ); 365 'f': `FTST ( O_FTFILE ); 366 'd': `FTST ( O_FTDIR ); 367 'l': `FTST ( O_FTLINK ); 368 'p': `FTST ( O_FTPIPE ); 369 'S': `FTST ( O_FTSOCK ); 370 'u': `FTST ( O_FTSUID ); 371 'g': `FTST ( O_FTSGID ); 372 'k': `FTST ( O_FTSVTX ); 373 'b': `FTST ( O_FTBLK ); 374 'c': `FTST ( O_FTCHR ); 375 't': `FTST ( O_FTTTY ); 376 'T': `FTST ( O_FTTEXT ); 377 'B': `FTST ( O_FTBINARY ); 378 'M': `¡ab’t ("\024", TRUE ); `FTST ( O_FTMTIME ); 379 'A': `¡ab’t ("\024", TRUE ); `FTST ( O_FTATIME ); 380 'C': `¡ab’t ("\024", TRUE ); `FTST ( O_FTCTIME ); 382 s -= 2; 386 tmp = * s ++; 387 ià(* s =ð tmp ) { 388 s ++; 389 `RETURN ( DEC ); 391 ià( ex³ù‹rm ) 392 `OPERATOR ('-'); 394 `AOP ( O_SUBTRACT ); 396 tmp = * s ++; 397 ià(* s =ð tmp ) { 398 s ++; 399 `RETURN ( INC ); 401 ià( ex³ù‹rm ) 402 `OPERATOR ('+'); 404 `AOP ( O_ADD ); 407 ià( ex³ù‹rm ) { 408 s = `sÿnid’t (s, buãnd , tok’buf ); 409 yylv® . ¡abv® = `¡ab’t ( tok’buf , TRUE ); 410 `TERM ( STAR ); 412 tmp = * s ++; 413 ià(* s =ð tmp ) { 414 s ++; 415 `OPERATOR ( POW ); 417 `MOP ( O_MULTIPLY ); 419 ià( ex³ù‹rm ) { 420 s = `sÿnid’t (s, buãnd , tok’buf ); 421 yylv® . ¡abv® = `hadd ( `¡ab’t ( tok’buf , TRUE )); 422 `TERM ( HSH ); 424 s ++; 425 `MOP ( O_MODULO ); 433 tmp = * s ++; 434 `OPERATOR ( tmp ); 436 tmp = * s ++; 437 ià( `is¥aû (* s ) || *s == '#') 438 cmdlše = NOLINE ; 439 `OPERATOR ( tmp ); 441 ià( curcmd -> c_lše < cmdlše ) 442 cmdlše = curcmd -> c_lše ; 443 tmp = * s ++; 444 `OPERATOR ( tmp ); 447 tmp = * s ++; 448 `TERM ( tmp ); 450 tmp = * s ++; 451 `RETURN ( tmp ); 453 s ++; 454 tmp = * s ++; 455 ià( tmp == '&') 456 `OPERATOR ( ANDAND ); 457 s --; 458 ià( ex³ù‹rm ) { 459 d = buãnd ; 460  s < d && `is¥aû (*s)) 461 s ++; 462 ià( `i§Íha (* s ) || *s == '_' || *s == '\'') 463 *(-- s ) = '\\'; 464 `OPERATOR ( AMPER ); 466 `OPERATOR ('&'); 468 s ++; 469 tmp = * s ++; 470 ià( tmp == '|') 471 `OPERATOR ( OROR ); 472 s --; 473 `OPERATOR ('|'); 475 s ++; 476 tmp = * s ++; 477 ià( tmp == '=') 478 `EOP ( O_EQ ); 479 ià( tmp == '~') 480 `OPERATOR ( MATCH ); 481 s --; 482 `OPERATOR ('='); 484 s ++; 485 tmp = * s ++; 486 ià( tmp == '=') 487 `EOP ( O_NE ); 488 ià( tmp == '~') 489 `OPERATOR ( NMATCH ); 490 s --; 491 `OPERATOR ('!'); 493 ià( ex³ù‹rm ) { 494 s = `sÿn¡r (s); 495 `TERM ( RSTRING ); 497 s ++; 498 tmp = * s ++; 499 ià( tmp == '<') 500 `OPERATOR ( LS ); 501 ià( tmp == '=') { 502 tmp = * s ++; 503 ià( tmp == '>') 504 `EOP ( O_NCMP ); 505 s --; 506 `ROP ( O_LE ); 508 s --; 509 `ROP ( O_LT ); 511 s ++; 512 tmp = * s ++; 513 ià( tmp == '>') 514 `OPERATOR ( RS ); 515 ià( tmp == '=') 516 `ROP ( O_GE ); 517 s --; 518 `ROP ( O_GT ); 520  #SNARFWORD \ 521 d = tok’buf ; \ 522  `i§scii (* s ) && \ 523 ( `i§Íha (* s è|| `isdig™ (*s) || *s == '_' || *s == '\'')) \ 524 * d ++ = * s ++; \ 525  d [-1] == '\'') \ 526 d --, s --; \ 527 * d = '\0'; \ 528 d = tok’buf ; ) 531 ià( s [1] =ð'#' && ( `i§Íha (s[2]) || s[2] == '_')) { 532 s ++; 533 s = `sÿnid’t (s, buãnd , tok’buf ); 534 yylv® . ¡abv® = `¯dd ( `¡ab’t ( tok’buf , TRUE )); 535 `TERM ( ARYLEN ); 537 d = s ; 538 s = `sÿnid’t (s, buãnd , tok’buf ); 539 ià( »·r£ ) { 540 do_»·r£ : 541 s [-1] = ')'; 542 s = d ; 543 s [1] = s[0]; 544 s [0] = '('; 545  »Œy ; 547 yylv® . ¡abv® = `¡ab’t ( tok’buf , TRUE ); 548 `TERM ( REG ); 551 d = s ; 552 s = `sÿnid’t (s, buãnd , tok’buf ); 553 ià( »·r£ ) 554  do_»·r£ ; 555 yylv® . ¡abv® = `¯dd ( `¡ab’t ( tok’buf , TRUE )); 556 `TERM ( ARY ); 560 ià( ex³ù‹rm ) { 561 s = `sÿÅ© (s); 562 `TERM ( PATTERN ); 564 tmp = * s ++; 565 ià( tmp == '/') 566 `MOP ( O_DIVIDE ); 567 `OPERATOR ( tmp ); 570 ià(! ex³ù‹rm || ! `isdig™ ( s [1])) { 571 tmp = * s ++; 572 ià(* s =ð tmp ) { 573 s ++; 574 `OPERATOR ( DOTDOT ); 576 `AOP ( O_CONCAT ); 582 s = `sÿn¡r (s); 583 `TERM ( RSTRING ); 586 s ++; 589 SNARFWORD ; 590 ià( d [1] == '_') { 591 ià( `¡rEQ ( d ,"__LINE__") || strEQ(d,"__FILE__")) { 592 ARG * ¬g = `Ý_Ãw (1); 594 yylv® . ¬g =‡rg; 595 ¬g -> ¬g_ty³ = O_ITEM ; 596 ià( d [2] == 'L') 597 () `¥rštf ( tok’buf ,"%ld",() curcmd -> c_lše ); 599 `¡rýy ( tok’buf , `¡ab_v® ( curcmd -> c_fže¡ab )-> ¡r_±r ); 600 ¬g [1]. ¬g_ty³ = A_SINGLE ; 601 ¬g [1]. ¬g_±r . ¬g_¡r = `¡r_make ( tok’buf , `¡¾’ (tokenbuf)); 602 `TERM ( RSTRING ); 604 ià( `¡rEQ ( d ,"__END__")) { 605 #iâdeà TAINT 606 STAB * ¡ab ; 607  fd ; 609 ià( ¡ab = `¡ab’t ("DATA", FALSE )) { 610 ¡ab -> ¡r_pok |ð SP_MULTI ; 611 `¡ab_io ( ¡ab èð `¡io_Ãw (); 612 `¡ab_io ( ¡ab )-> iå = rså ; 613 #ià `defšed ( HAS_FCNTL è&& defšed( F_SETFD ) 614 fd = `fž’o ( rså ); 615 `fúŽ ( fd , F_SETFD ,fd >= 3); 617 ià( ´•roûss ) 618 `¡ab_io ( ¡ab )-> ty³ = '|'; 619 ià( rså =ð ¡dš ) 620 `¡ab_io ( ¡ab )-> ty³ = '-'; 622 `¡ab_io ( ¡ab )-> ty³ = '<'; 623 rså = NuÎå ; 626  çke_eof ; 631 SNARFWORD ; 632 ià( `¡rEQ ( d ,"alarm")) 633 `UNI ( O_ALARM ); 634 ià( `¡rEQ ( d ,"accept")) 635 `FOP22 ( O_ACCEPT ); 636 ià( `¡rEQ ( d ,"atan2")) 637 `FUN2 ( O_ATAN2 ); 640 SNARFWORD ; 641 ià( `¡rEQ ( d ,"bind")) 642 `FOP2 ( O_BIND ); 643 ià( `¡rEQ ( d ,"binmode")) 644 `FOP ( O_BINMODE ); 647 SNARFWORD ; 648 ià( `¡rEQ ( d ,"chop")) 649 `LFUN ( O_CHOP ); 650 ià( `¡rEQ ( d ,"continue")) 651 `OPERATOR ( CONTINUE ); 652 ià( `¡rEQ ( d ,"chdir")) { 653 () `¡ab’t ("ENV", TRUE ); 654 `UNI ( O_CHDIR ); 656 ià( `¡rEQ ( d ,"close")) 657 `FOP ( O_CLOSE ); 658 ià( `¡rEQ ( d ,"closedir")) 659 `FOP ( O_CLOSEDIR ); 660 ià( `¡rEQ ( d ,"cmp")) 661 `EOP ( O_SCMP ); 662 ià( `¡rEQ ( d ,"caller")) 663 `UNI ( O_CALLER ); 664 ià( `¡rEQ ( d ,"crypt")) { 665 #ifdeà FCRYPT 666 `š™_des (); 668 `FUN2 ( O_CRYPT ); 670 ià( `¡rEQ ( d ,"chmod")) 671 `LOP ( O_CHMOD ); 672 ià( `¡rEQ ( d ,"chown")) 673 `LOP ( O_CHOWN ); 674 ià( `¡rEQ ( d ,"connect")) 675 `FOP2 ( O_CONNECT ); 676 ià( `¡rEQ ( d ,"cos")) 677 `UNI ( O_COS ); 678 ià( `¡rEQ ( d ,"chroot")) 679 `UNI ( O_CHROOT ); 682 SNARFWORD ; 683 ià( `¡rEQ ( d ,"do")) { 684 d = buãnd ; 685  s < d && `is¥aû (*s)) 686 s ++; 687 ià( `i§Íha (* s ) || *s == '_') 688 *(-- s ) = '\\'; 689 `OPERATOR ( DO ); 691 ià( `¡rEQ ( d ,"die")) 692 `LOP ( O_DIE ); 693 ià( `¡rEQ ( d ,"defined")) 694 `LFUN ( O_DEFINED ); 695 ià( `¡rEQ ( d ,"delete")) 696 `OPERATOR ( DELETE ); 697 ià( `¡rEQ ( d ,"dbmopen")) 698 `HFUN3 ( O_DBMOPEN ); 699 ià( `¡rEQ ( d ,"dbmclose")) 700 `HFUN ( O_DBMCLOSE ); 701 ià( `¡rEQ ( d ,"dump")) 702 `LOOPX ( O_DUMP ); 705 SNARFWORD ; 706 ià( `¡rEQ ( d ,"else")) 707 `OPERATOR ( ELSE ); 708 ià( `¡rEQ ( d ,"elsif")) { 709 yylv® . iv® = curcmd -> c_lše ; 710 `OPERATOR ( ELSIF ); 712 ià( `¡rEQ ( d ,"eq") || strEQ(d,"EQ")) 713 `EOP ( O_SEQ ); 714 ià( `¡rEQ ( d ,"exit")) 715 `UNI ( O_EXIT ); 716 ià( `¡rEQ ( d ,"eval")) { 717 ®l¡abs = TRUE ; 718 `UNI ( O_EVAL ); 720 ià( `¡rEQ ( d ,"eof")) 721 `FOP ( O_EOF ); 722 ià( `¡rEQ ( d ,"exp")) 723 `UNI ( O_EXP ); 724 ià( `¡rEQ ( d ,"each")) 725 `HFUN ( O_EACH ); 726 ià( `¡rEQ ( d ,"exec")) { 727 `£t_csh (); 728 `LOP ( O_EXEC_OP ); 730 ià( `¡rEQ ( d ,"endhostent")) 731 `FUN0 ( O_EHOSTENT ); 732 ià( `¡rEQ ( d ,"endnetent")) 733 `FUN0 ( O_ENETENT ); 734 ià( `¡rEQ ( d ,"endservent")) 735 `FUN0 ( O_ESERVENT ); 736 ià( `¡rEQ ( d ,"endprotoent")) 737 `FUN0 ( O_EPROTOENT ); 738 ià( `¡rEQ ( d ,"endpwent")) 739 `FUN0 ( O_EPWENT ); 740 ià( `¡rEQ ( d ,"endgrent")) 741 `FUN0 ( O_EGRENT ); 744 SNARFWORD ; 745 ià( `¡rEQ ( d ,"for") || strEQ(d,"foreach")) { 746 yylv® . iv® = curcmd -> c_lše ; 747 `OPERATOR ( FOR ); 749 ià( `¡rEQ ( d ,"format")) { 750 d = buãnd ; 751  s < d && `is¥aû (*s)) 752 s ++; 753 ià( `i§Íha (* s ) || *s == '_') 754 *(-- s ) = '\\'; 755 š_fÜm© = TRUE ; 756 ®l¡abs = TRUE ; 757 `OPERATOR ( FORMAT ); 759 ià( `¡rEQ ( d ,"fork")) 760 `FUN0 ( O_FORK ); 761 ià( `¡rEQ ( d ,"fcntl")) 762 `FOP3 ( O_FCNTL ); 763 ià( `¡rEQ ( d ,"fileno")) 764 `FOP ( O_FILENO ); 765 ià( `¡rEQ ( d ,"flock")) 766 `FOP2 ( O_FLOCK ); 769 SNARFWORD ; 770 ià( `¡rEQ ( d ,"gt") || strEQ(d,"GT")) 771 `ROP ( O_SGT ); 772 ià( `¡rEQ ( d ,"ge") || strEQ(d,"GE")) 773 `ROP ( O_SGE ); 774 ià( `¡rEQ ( d ,"grep")) 775 `FL2 ( O_GREP ); 776 ià( `¡rEQ ( d ,"goto")) 777 `LOOPX ( O_GOTO ); 778 ià( `¡rEQ ( d ,"gmtime")) 779 `UNI ( O_GMTIME ); 780 ià( `¡rEQ ( d ,"getc")) 781 `FOP ( O_GETC ); 782 ià( `¡ºEQ ( d ,"get",3)) { 783 d += 3; 784 ià(* d == 'p') { 785 ià( `¡rEQ ( d ,"ppid")) 786 `FUN0 ( O_GETPPID ); 787 ià( `¡rEQ ( d ,"pgrp")) 788 `UNI ( O_GETPGRP ); 789 ià( `¡rEQ ( d ,"priority")) 790 `FUN2 ( O_GETPRIORITY ); 791 ià( `¡rEQ ( d ,"protobyname")) 792 `UNI ( O_GPBYNAME ); 793 ià( `¡rEQ ( d ,"protobynumber")) 794 `FUN1 ( O_GPBYNUMBER ); 795 ià( `¡rEQ ( d ,"protoent")) 796 `FUN0 ( O_GPROTOENT ); 797 ià( `¡rEQ ( d ,"pwent")) 798 `FUN0 ( O_GPWENT ); 799 ià( `¡rEQ ( d ,"pwnam")) 800 `FUN1 ( O_GPWNAM ); 801 ià( `¡rEQ ( d ,"pwuid")) 802 `FUN1 ( O_GPWUID ); 803 ià( `¡rEQ ( d ,"peername")) 804 `FOP ( O_GETPEERNAME ); 806 ià(* d == 'h') { 807 ià( `¡rEQ ( d ,"hostbyname")) 808 `UNI ( O_GHBYNAME ); 809 ià( `¡rEQ ( d ,"hostbyaddr")) 810 `FUN2 ( O_GHBYADDR ); 811 ià( `¡rEQ ( d ,"hostent")) 812 `FUN0 ( O_GHOSTENT ); 814 ià(* d == 'n') { 815 ià( `¡rEQ ( d ,"netbyname")) 816 `UNI ( O_GNBYNAME ); 817 ià( `¡rEQ ( d ,"netbyaddr")) 818 `FUN2 ( O_GNBYADDR ); 819 ià( `¡rEQ ( d ,"netent")) 820 `FUN0 ( O_GNETENT ); 822 ià(* d == 's') { 823 ià( `¡rEQ ( d ,"servbyname")) 824 `FUN2 ( O_GSBYNAME ); 825 ià( `¡rEQ ( d ,"servbyport")) 826 `FUN2 ( O_GSBYPORT ); 827 ià( `¡rEQ ( d ,"servent")) 828 `FUN0 ( O_GSERVENT ); 829 ià( `¡rEQ ( d ,"sockname")) 830 `FOP ( O_GETSOCKNAME ); 831 ià( `¡rEQ ( d ,"sockopt")) 832 `FOP3 ( O_GSOCKOPT ); 834 ià(* d == 'g') { 835 ià( `¡rEQ ( d ,"grent")) 836 `FUN0 ( O_GGRENT ); 837 ià( `¡rEQ ( d ,"grnam")) 838 `FUN1 ( O_GGRNAM ); 839 ià( `¡rEQ ( d ,"grgid")) 840 `FUN1 ( O_GGRGID ); 842 ià(* d == 'l') { 843 ià( `¡rEQ ( d ,"login")) 844 `FUN0 ( O_GETLOGIN ); 846 d -= 3; 850 SNARFWORD ; 851 ià( `¡rEQ ( d ,"hex")) 852 `UNI ( O_HEX ); 855 SNARFWORD ; 856 ià( `¡rEQ ( d ,"if")) { 857 yylv® . iv® = curcmd -> c_lše ; 858 `OPERATOR ( IF ); 860 ià( `¡rEQ ( d ,"index")) 861 `FUN2x ( O_INDEX ); 862 ià( `¡rEQ ( d ,"int")) 863 `UNI ( O_INT ); 864 ià( `¡rEQ ( d ,"ioctl")) 865 `FOP3 ( O_IOCTL ); 868 SNARFWORD ; 869 ià( `¡rEQ ( d ,"join")) 870 `FL2 ( O_JOIN ); 873 SNARFWORD ; 874 ià( `¡rEQ ( d ,"keys")) 875 `HFUN ( O_KEYS ); 876 ià( `¡rEQ ( d ,"kill")) 877 `LOP ( O_KILL ); 880 SNARFWORD ; 881 ià( `¡rEQ ( d ,"last")) 882 `LOOPX ( O_LAST ); 883 ià( `¡rEQ ( d ,"local")) 884 `OPERATOR ( LOCAL ); 885 ià( `¡rEQ ( d ,"length")) 886 `UNI ( O_LENGTH ); 887 ià( `¡rEQ ( d ,"lt") || strEQ(d,"LT")) 888 `ROP ( O_SLT ); 889 ià( `¡rEQ ( d ,"le") || strEQ(d,"LE")) 890 `ROP ( O_SLE ); 891 ià( `¡rEQ ( d ,"localtime")) 892 `UNI ( O_LOCALTIME ); 893 ià( `¡rEQ ( d ,"log")) 894 `UNI ( O_LOG ); 895 ià( `¡rEQ ( d ,"link")) 896 `FUN2 ( O_LINK ); 897 ià( `¡rEQ ( d ,"listen")) 898 `FOP2 ( O_LISTEN ); 899 ià( `¡rEQ ( d ,"lstat")) 900 `FOP ( O_LSTAT ); 903 ià( s [1] == '\'') { 904 d = "m"; 905 s ++; 908 SNARFWORD ; 910 ià( `¡rEQ ( d ,"m")) { 911 s = `sÿÅ© (s-1); 912 ià( yylv® . ¬g ) 913 `TERM ( PATTERN ); 915 `RETURN (1); 917  d [1]) { 919 ià( `¡rEQ ( d ,"mkdir")) 920 `FUN2 ( O_MKDIR ); 923 ià( `¡rEQ ( d ,"msgctl")) 924 `FUN3 ( O_MSGCTL ); 925 ià( `¡rEQ ( d ,"msgget")) 926 `FUN2 ( O_MSGGET ); 927 ià( `¡rEQ ( d ,"msgrcv")) 928 `FUN5 ( O_MSGRCV ); 929 ià( `¡rEQ ( d ,"msgsnd")) 930 `FUN3 ( O_MSGSND ); 935 SNARFWORD ; 936 ià( `¡rEQ ( d ,"next")) 937 `LOOPX ( O_NEXT ); 938 ià( `¡rEQ ( d ,"ne") || strEQ(d,"NE")) 939 `EOP ( O_SNE ); 942 SNARFWORD ; 943 ià( `¡rEQ ( d ,"open")) 944 `OPERATOR ( OPEN ); 945 ià( `¡rEQ ( d ,"ord")) 946 `UNI ( O_ORD ); 947 ià( `¡rEQ ( d ,"oct")) 948 `UNI ( O_OCT ); 949 ià( `¡rEQ ( d ,"opendir")) 950 `FOP2 ( O_OPENDIR ); 953 SNARFWORD ; 954 ià( `¡rEQ ( d ,"print")) { 955 `checkcomma ( s ,"filehandle"); 956 `LOP ( O_PRINT ); 958 ià( `¡rEQ ( d ,"printf")) { 959 `checkcomma ( s ,"filehandle"); 960 `LOP ( O_PRTF ); 962 ià( `¡rEQ ( d ,"push")) { 963 yylv® . iv® = O_PUSH ; 964 `OPERATOR ( PUSH ); 966 ià( `¡rEQ ( d ,"pop")) 967 `OPERATOR ( POP ); 968 ià( `¡rEQ ( d ,"pack")) 969 `FL2 ( O_PACK ); 970 ià( `¡rEQ ( d ,"package")) 971 `OPERATOR ( PACKAGE ); 972 ià( `¡rEQ ( d ,"pipe")) 973 `FOP22 ( O_PIPE ); 976 SNARFWORD ; 977 ià( `¡rEQ ( d ,"q")) { 978 s = `sÿn¡r (s-1); 979 `TERM ( RSTRING ); 981 ià( `¡rEQ ( d ,"qq")) { 982 s = `sÿn¡r (s-2); 983 `TERM ( RSTRING ); 985 ià( `¡rEQ ( d ,"qx")) { 986 s = `sÿn¡r (s-2); 987 `TERM ( RSTRING ); 991 SNARFWORD ; 992 ià( `¡rEQ ( d ,"return")) 993 `OLDLOP ( O_RETURN ); 994 ià( `¡rEQ ( d ,"require")) { 995 ®l¡abs = TRUE ; 996 `UNI ( O_REQUIRE ); 998 ià( `¡rEQ ( d ,"reset")) 999 `UNI ( O_RESET ); 1000 ià( `¡rEQ ( d ,"redo")) 1001 `LOOPX ( O_REDO ); 1002 ià( `¡rEQ ( d ,"rename")) 1003 `FUN2 ( O_RENAME ); 1004 ià( `¡rEQ ( d ,"rand")) 1005 `UNI ( O_RAND ); 1006 ià( `¡rEQ ( d ,"rmdir")) 1007 `UNI ( O_RMDIR ); 1008 ià( `¡rEQ ( d ,"rindex")) 1009 `FUN2x ( O_RINDEX ); 1010 ià( `¡rEQ ( d ,"read")) 1011 `FOP3 ( O_READ ); 1012 ià( `¡rEQ ( d ,"readdir")) 1013 `FOP ( O_READDIR ); 1014 ià( `¡rEQ ( d ,"rewinddir")) 1015 `FOP ( O_REWINDDIR ); 1016 ià( `¡rEQ ( d ,"recv")) 1017 `FOP4 ( O_RECV ); 1018 ià( `¡rEQ ( d ,"reverse")) 1019 `LOP ( O_REVERSE ); 1020 ià( `¡rEQ ( d ,"readlink")) 1021 `UNI ( O_READLINK ); 1024 ià( s [1] == '\'') { 1025 d = "s"; 1026 s ++; 1029 SNARFWORD ; 1031 ià( `¡rEQ ( d ,"s")) { 1032 s = `sÿnsub¡ (s); 1033 ià( yylv® . ¬g ) 1034 `TERM ( SUBST ); 1036 `RETURN (1); 1038  d [1]) { 1043 ià( `¡rEQ ( d ,"scalar")) 1044 `UNI ( O_SCALAR ); 1049 ià( `¡rEQ ( d ,"select")) 1050 `OPERATOR ( SSELECT ); 1051 ià( `¡rEQ ( d ,"seek")) 1052 `FOP3 ( O_SEEK ); 1053 ià( `¡rEQ ( d ,"semctl")) 1054 `FUN4 ( O_SEMCTL ); 1055 ià( `¡rEQ ( d ,"semget")) 1056 `FUN3 ( O_SEMGET ); 1057 ià( `¡rEQ ( d ,"semop")) 1058 `FUN2 ( O_SEMOP ); 1059 ià( `¡rEQ ( d ,"send")) 1060 `FOP3 ( O_SEND ); 1061 ià( `¡rEQ ( d ,"setpgrp")) 1062 `FUN2 ( O_SETPGRP ); 1063 ià( `¡rEQ ( d ,"setpriority")) 1064 `FUN3 ( O_SETPRIORITY ); 1065 ià( `¡rEQ ( d ,"sethostent")) 1066 `FUN1 ( O_SHOSTENT ); 1067 ià( `¡rEQ ( d ,"setnetent")) 1068 `FUN1 ( O_SNETENT ); 1069 ià( `¡rEQ ( d ,"setservent")) 1070 `FUN1 ( O_SSERVENT ); 1071 ià( `¡rEQ ( d ,"setprotoent")) 1072 `FUN1 ( O_SPROTOENT ); 1073 ià( `¡rEQ ( d ,"setpwent")) 1074 `FUN0 ( O_SPWENT ); 1075 ià( `¡rEQ ( d ,"setgrent")) 1076 `FUN0 ( O_SGRENT ); 1077 ià( `¡rEQ ( d ,"seekdir")) 1078 `FOP2 ( O_SEEKDIR ); 1079 ià( `¡rEQ ( d ,"setsockopt")) 1080 `FOP4 ( O_SSOCKOPT ); 1086 ià( `¡rEQ ( d ,"shift")) 1087 `TERM ( SHIFT ); 1088 ià( `¡rEQ ( d ,"shmctl")) 1089 `FUN3 ( O_SHMCTL ); 1090 ià( `¡rEQ ( d ,"shmget")) 1091 `FUN3 ( O_SHMGET ); 1092 ià( `¡rEQ ( d ,"shmread")) 1093 `FUN4 ( O_SHMREAD ); 1094 ià( `¡rEQ ( d ,"shmwrite")) 1095 `FUN4 ( O_SHMWRITE ); 1096 ià( `¡rEQ ( d ,"shutdown")) 1097 `FOP2 ( O_SHUTDOWN ); 1100 ià( `¡rEQ ( d ,"sin")) 1101 `UNI ( O_SIN ); 1107 ià( `¡rEQ ( d ,"sleep")) 1108 `UNI ( O_SLEEP ); 1114 ià( `¡rEQ ( d ,"socket")) 1115 `FOP4 ( O_SOCKET ); 1116 ià( `¡rEQ ( d ,"socketpair")) 1117 `FOP25 ( O_SOCKPAIR ); 1118 ià( `¡rEQ ( d ,"sort")) { 1119 `checkcomma ( s ,"subroutine‚ame"); 1120 d = buãnd ; 1121  s < d && `i§scii (*sè&& `is¥aû (*s)) s++; 1122 ià(* s == ';' || *s == ')') 1123 `ç�l ("sort is‚ow‡„eserved word"); 1124 ià( `i§scii (* s è&& ( `i§Íha (*s) || *s == '_')) { 1125  d = s ; `i§Íha (*dè|| `isdig™ (*d) || *d == '_'; d++) ; 1126 `¡ºýy ( tok’buf , s , d -s); 1127 ià( `¡rNE ( tok’buf ,"keys") && 1128 `¡rNE ( tok’buf ,"values") && 1129 `¡rNE ( tok’buf ,"split") && 1130 `¡rNE ( tok’buf ,"grep") && 1131 `¡rNE ( tok’buf ,"readdir") && 1132 `¡rNE ( tok’buf ,"unpack") && 1133 `¡rNE ( tok’buf ,"do") && 1134 ( d >ð buãnd || `is¥aû (*d)) ) 1135 *(-- s ) = '\\'; 1137 `LOP ( O_SORT ); 1141 ià( `¡rEQ ( d ,"split")) 1142 `TERM ( SPLIT ); 1143 ià( `¡rEQ ( d ,"sprintf")) 1144 `FL ( O_SPRINTF ); 1145 ià( `¡rEQ ( d ,"splice")) { 1146 yylv® . iv® = O_SPLICE ; 1147 `OPERATOR ( PUSH ); 1151 ià( `¡rEQ ( d ,"sqrt")) 1152 `UNI ( O_SQRT ); 1155 ià( `¡rEQ ( d ,"srand")) 1156 `UNI ( O_SRAND ); 1161 ià( `¡rEQ ( d ,"stat")) 1162 `FOP ( O_STAT ); 1163 ià( `¡rEQ ( d ,"study")) { 1164 §w¡udy ++; 1165 `LFUN ( O_STUDY ); 1169 ià( `¡rEQ ( d ,"substr")) 1170 `FUN2x ( O_SUBSTR ); 1171 ià( `¡rEQ ( d ,"sub")) { 1172 sublše = curcmd -> c_lše ; 1173 d = buãnd ; 1174  s < d && `is¥aû (*s)) 1175 s ++; 1176 ià( `i§Íha (* s ) || *s == '_' || *s == '\'') { 1177 ià( ³¾db ) { 1178 `¡r_s£t ( subÇme , cur¡Çme ); 1179 `¡r_nÿt ( subÇme ,"'",1); 1180  d = s +1; 1181 `i§Íha (* d è|| `isdig™ (*d) || *d == '_' || *d == '\''; 1182 d ++); 1183 ià( d [-1] == '\'') 1184 d --; 1185 `¡r_nÿt ( subÇme , s , d -s); 1187 *(-- s ) = '\\'; 1189 ià( ³¾db ) 1190 `¡r_£t ( subÇme ,"?"); 1191 `OPERATOR ( SUB ); 1199 ià( `¡rEQ ( d ,"system")) { 1200 `£t_csh (); 1201 `LOP ( O_SYSTEM ); 1203 ià( `¡rEQ ( d ,"symlink")) 1204 `FUN2 ( O_SYMLINK ); 1205 ià( `¡rEQ ( d ,"syscall")) 1206 `LOP ( O_SYSCALL ); 1207 ià( `¡rEQ ( d ,"sysread")) 1208 `FOP3 ( O_SYSREAD ); 1209 ià( `¡rEQ ( d ,"syswrite")) 1210 `FOP3 ( O_SYSWRITE ); 1217 SNARFWORD ; 1218 ià( `¡rEQ ( d ,"tr")) { 1219 s = `sÿÁ¿ns (s); 1220 ià( yylv® . ¬g ) 1221 `TERM ( TRANS ); 1223 `RETURN (1); 1225 ià( `¡rEQ ( d ,"tell")) 1226 `FOP ( O_TELL ); 1227 ià( `¡rEQ ( d ,"telldir")) 1228 `FOP ( O_TELLDIR ); 1229 ià( `¡rEQ ( d ,"time")) 1230 `FUN0 ( O_TIME ); 1231 ià( `¡rEQ ( d ,"times")) 1232 `FUN0 ( O_TMS ); 1233 ià( `¡rEQ ( d ,"truncate")) 1234 `FOP2 ( O_TRUNCATE ); 1237 SNARFWORD ; 1238 ià( `¡rEQ ( d ,"using")) 1239 `OPERATOR ( USING ); 1240 ià( `¡rEQ ( d ,"until")) { 1241 yylv® . iv® = curcmd -> c_lše ; 1242 `OPERATOR ( UNTIL ); 1244 ià( `¡rEQ ( d ,"unless")) { 1245 yylv® . iv® = curcmd -> c_lše ; 1246 `OPERATOR ( UNLESS ); 1248 ià( `¡rEQ ( d ,"unlink")) 1249 `LOP ( O_UNLINK ); 1250 ià( `¡rEQ ( d ,"undef")) 1251 `LFUN ( O_UNDEF ); 1252 ià( `¡rEQ ( d ,"unpack")) 1253 `FUN2 ( O_UNPACK ); 1254 ià( `¡rEQ ( d ,"utime")) 1255 `LOP ( O_UTIME ); 1256 ià( `¡rEQ ( d ,"umask")) 1257 `UNI ( O_UMASK ); 1258 ià( `¡rEQ ( d ,"unshift")) { 1259 yylv® . iv® = O_UNSHIFT ; 1260 `OPERATOR ( PUSH ); 1264 SNARFWORD ; 1265 ià( `¡rEQ ( d ,"values")) 1266 `HFUN ( O_VALUES ); 1267 ià( `¡rEQ ( d ,"vec")) { 1268 §wvec = TRUE ; 1269 `FUN3 ( O_VEC ); 1273 SNARFWORD ; 1274 ià( `¡rEQ ( d ,"while")) { 1275 yylv® . iv® = curcmd -> c_lše ; 1276 `OPERATOR ( WHILE ); 1278 ià( `¡rEQ ( d ,"warn")) 1279 `LOP ( O_WARN ); 1280 ià( `¡rEQ ( d ,"wait")) 1281 `FUN0 ( O_WAIT ); 1282 ià( `¡rEQ ( d ,"waitpid")) 1283 `FUN2 ( O_WAITPID ); 1284 ià( `¡rEQ ( d ,"wantarray")) { 1285 yylv® . ¬g = `Ý_Ãw (1); 1286 yylv® . ¬g -> ¬g_ty³ = O_ITEM ; 1287 yylv® . ¬g [1]. ¬g_ty³ = A_WANTARRAY ; 1288 `TERM ( RSTRING ); 1290 ià( `¡rEQ ( d ,"write")) 1291 `FOP ( O_WRITE ); 1294 SNARFWORD ; 1295 ià(! ex³ù‹rm && `¡rEQ ( d ,"x")) 1296 `MOP ( O_REPEAT ); 1299 ià( s [1] == '\'') { 1300 d = "y"; 1301 s ++; 1304 SNARFWORD ; 1306 ià( `¡rEQ ( d ,"y")) { 1307 s = `sÿÁ¿ns (s); 1308 `TERM ( TRANS ); 1312 SNARFWORD ; 1315 yylv® . cv® = `§ve¡r ( d ); 1316 ex³ù‹rm = FALSE ; 1317 ià( ÞdÞdbuåŒ && oldÞdbuåŒ < buåŒ ) { 1318  `is¥aû (* ÞdÞdbuåŒ )) 1319 ÞdÞdbuåŒ ++; 1320 ià(* ÞdÞdbuåŒ =ð'p' && `¡ºEQ (oldoldbufptr,"print",5)) 1321 ex³ù‹rm = TRUE ; 1322 ià(* ÞdÞdbuåŒ =ð's' && `¡ºEQ (oldoldbufptr,"sort",4)) 1323 ex³ù‹rm = TRUE ; 1325  ( CLINE , buåŒ = s , () WORD ); 1326 } } 1329 $checkcomma ( s , wh© ) 1330 * s ; 1331 * wh© ; 1333 * somewÜd ; 1335 ià(* s == '(') 1336 s ++; 1337  s < buãnd && `i§scii (*sè&& `is¥aû (*s)) 1338 s ++; 1339 ià( `i§scii (* s è&& ( `i§Íha (*s) || *s == '_')) { 1340 somewÜd = s ++; 1341  `i§Íha (* s è|| `isdig™ (*s) || *s == '_') 1342 s ++; 1343  s < buãnd && `is¥aû (*s)) 1344 s ++; 1345 ià(* s == ',') { 1346 * s = '\0'; 1347 somewÜd = `š¡r ( 1350 somewÜd ); 1351 * s = ','; 1352 ià( somewÜd ) 1354 `ç�l ("NØcomm¨®lowed‡á” %s", wh© ); 1357 } } 1360 $sÿnid’t ( s , £nd , de¡ ) 1361 * s ; 1362 * £nd ; 1363 * de¡ ; 1365 * d ; 1366  b¿ck‘s = 0; 1368 »·r£ = NuÎch ; 1369 s ++; 1370 d = de¡ ; 1371 ià( `isdig™ (* s )) { 1372  `isdig™ (* s )) 1373 * d ++ = * s ++; 1376  `i§Íha (* s è|| `isdig™ (*s) || *s == '_' || *s == '\'') 1377 * d ++ = * s ++; 1379  d > de¡ +1 && d[-1] == '\'') 1380 d --, s --; 1381 * d = '\0'; 1382 d = de¡ ; 1383 ià(!* d ) { 1384 * d = * s ++; 1385 ià(* d == '{' ) { 1386 d = de¡ ; 1387 b¿ck‘s ++; 1388  s < £nd && b¿ck‘s ) { 1389 ià(! »·r£ && ( d =ð de¡ || (* s && `i§scii (*s) && 1390 ( `i§Íha (* s è|| `isdig™ (*s) || *s == '_') ))) { 1391 * d ++ = * s ++; 1394 ià(! »·r£ ) 1395 »·r£ = s ; 1396 * s ++) { 1399 b¿ck‘s --; 1400 ià( »·r£ &&„•¬£ =ð s - 1) 1401 »·r£ = NuÎch ; 1404 b¿ck‘s ++; 1408 * d = '\0'; 1409 d = de¡ ; 1412 d [1] = '\0'; 1414 ià(* d =ð'^' && ( `isuµ” (* s è|| `šdex ("[\\]^_?",*s))) 1415 * d = * s ++ ^ 64; 1416  s ; 1417 } } 1419 STR * 1420 $sÿncÚ¡ ( ¡ršg , Ën ) 1421 * ¡ršg ; 1422  Ën ; 1424  STR * »t¡r ; 1425 * t ; 1426 * d ; 1427 * e ; 1429 ià( `šdex ( ¡ršg ,'|')) { 1430  NuΡr ; 1432 »t¡r = `SŒ_Ãw (86, Ën ); 1433 `¡r_n£t ( »t¡r , ¡ršg , Ën ); 1434 t = `¡r_g‘ ( »t¡r ); 1435 e = t + Ën ; 1436 »t¡r -> ¡r_u . ¡r_u£ful = 100; 1437  d = t ; d < e ; ) { 1438 * d ) { 1440 ià( `isdig™ ( d [1])) 1441 e = d ; 1443  defch¬ ; 1446 e = d ; 1449 ià( d [1] && `šdex ("wWbB0123456789sSdDlLuUE",d[1])) { 1450 e = d ; 1453 () `bcÝy ( d +1,d, e -d); 1454 e --; 1455 * d ) { 1457 * d = '\n'; 1460 * d = '\t'; 1463 * d = '\f'; 1466 * d = '\r'; 1469 * d = '\033'; 1472 * d = '\007'; 1477 defch¬ : 1478 ià( d [1] == '*' || (d[1] == '{' && d[2] == '0') || d[1] == '?') { 1479 e = d ; 1482 d ++; 1485 ià( d =ð t ) { 1486 `¡r_ä“ ( »t¡r ); 1487  NuΡr ; 1489 * d = '\0'; 1490 »t¡r -> ¡r_cur = d - t ; 1491  »t¡r ; 1492 } } 1495 $sÿÅ© ( s ) 1496 * s ; 1498  SPAT * ¥© ; 1499 * d ; 1500 * e ; 1501  Ën ; 1502 SPAT §ve¥© ; 1503 STR * ¡r = `SŒ_Ãw (93,0); 1505 `Newz (801, ¥© ,1, SPAT ); 1506 ¥© -> ¥©_Ãxt = cur¡ash -> tbl_¥©roÙ ; 1507 cur¡ash -> tbl_¥©roÙ = ¥© ; 1509 * s ++) { 1511 s ++; 1516 ¥© -> ¥©_æags |ð SPAT_ONCE ; 1519 `ç�l ("panic: scanpat"); 1521 s = `¡r_­³nd_tžl ( ¡r ,s, buãnd ,s[-1], ·Ž—ve ); 1522 ià( s >ð buãnd ) { 1523 `¡r_ä“ ( ¡r ); 1524 `yy”rÜ ("Search…attern‚ot�erminated"); 1525 yylv® . ¬g = Nuάg ; 1526  s ; 1528 s ++; 1529 * s == 'i' || *s == 'o') { 1530 ià(* s == 'i') { 1531 s ++; 1532 §wi = TRUE ; 1533 ¥© -> ¥©_æags |ð SPAT_FOLD ; 1535 ià(* s == 'o') { 1536 s ++; 1537 ¥© -> ¥©_æags |ð SPAT_KEEP ; 1540 Ën = ¡r -> ¡r_cur ; 1541 e = ¡r -> ¡r_±r + Ën ; 1542  d = ¡r -> ¡r_±r ; d < e ; d++) { 1543 ià(* d == '\\') 1544 d ++; 1545 ià((* d == '$' && d[1] && d[1] != '|' && d[1] != ')') || 1546 (* d == '@')) { 1547  ARG * ¬g ; 1549 ¥© -> ¥©_ruÁime = ¬g = `Ý_Ãw (1); 1550 ¬g -> ¬g_ty³ = O_ITEM ; 1551 ¬g [1]. ¬g_ty³ = A_DOUBLE ; 1552 ¬g [1]. ¬g_±r . ¬g_¡r = `¡r_smake ( ¡r ); 1553 d = `sÿnid’t (d, buãnd , buf ); 1554 () `¡ab’t ( buf , TRUE ); 1555 ; d < e ; d++) { 1556 ià(* d == '\\') 1557 d ++; 1558 ià(* d == '$' && d[1] && d[1] != '|' && d[1] != ')') { 1559 d = `sÿnid’t (d, buãnd , buf ); 1560 () `¡ab’t ( buf , TRUE ); 1562 ià(* d == '@') { 1563 d = `sÿnid’t (d, buãnd , buf ); 1564 ià( `¡rEQ ( buf ,"ARGV") || strEQ(buf,"ENV") || 1565 `¡rEQ ( buf ,"SIG") || strEQ(buf,"INC")) 1566 () `¡ab’t ( buf , TRUE ); 1569  gÙ_·t ; 1572 ià( ¥© -> ¥©_æags & SPAT_FOLD ) 1573 #ifdeà STRUCTCOPY 1574 §ve¥© = * ¥© ; 1576 () `bcÝy ((*) ¥© , (*)& §ve¥© , ( SPAT )); 1578 ià(* ¡r -> ¡r_±r == '^') { 1579 ¥© -> ¥©_shÜt = `sÿncÚ¡ ( ¡r -> ¡r_±r +1, Ën -1); 1580 ià( ¥© -> ¥©_shÜt ) { 1581 ¥© -> ¥©_¦’ = s·t-> ¥©_shÜt -> ¡r_cur ; 1582 ià( ¥© -> ¥©_¦’ =ð Ën - 1) 1583 ¥© -> ¥©_æags |ð SPAT_ALL ; 1587 ¥© -> ¥©_æags |ð SPAT_SCANFIRST ; 1588 ¥© -> ¥©_shÜt = `sÿncÚ¡ ( ¡r -> ¡r_±r , Ën ); 1589 ià( ¥© -> ¥©_shÜt ) { 1590 ¥© -> ¥©_¦’ = s·t-> ¥©_shÜt -> ¡r_cur ; 1591 ià( ¥© -> ¥©_¦’ =ð Ën ) 1592 ¥© -> ¥©_æags |ð SPAT_ALL ; 1595 ià(( ¥© -> ¥©_æags & SPAT_ALL è&& (¥©->¥©_æag & SPAT_SCANFIRST )) { 1596 `fbmcompže ( ¥© -> ¥©_shÜt , s·t-> ¥©_æags & SPAT_FOLD ); 1597 ¥© -> ¥©_»gexp = `»gcomp ( ¡r -> ¡r_±r ,¡r->¡r_±r+ Ën , 1598 ¥© -> ¥©_æags & SPAT_FOLD ); 1604 ià( ¥© -> ¥©_æags & SPAT_FOLD ) 1605 #ifdeà STRUCTCOPY 1606 * ¥© = §ve¥© ; 1608 () `bcÝy ((*)& §ve¥© , (*) ¥© , ( SPAT )); 1610 ià( ¥© -> ¥©_shÜt ) 1611 `fbmcompže ( ¥© -> ¥©_shÜt , s·t-> ¥©_æags & SPAT_FOLD ); 1612 ¥© -> ¥©_»gexp = `»gcomp ( ¡r -> ¡r_±r ,¡r->¡r_±r+ Ën , 1613 ¥© -> ¥©_æags & SPAT_FOLD ); 1614 `hoi¡mu¡ ( ¥© ); 1616 gÙ_·t : 1617 `¡r_ä“ ( ¡r ); 1618 yylv® . ¬g = `make_m©ch ( O_MATCH , `¡ab2¬g ( A_STAB , def¡ab ), ¥© ); 1619  s ; 1620 } } 1623 $sÿnsub¡ ( s ) 1624 * s ; 1626  SPAT * ¥© ; 1627 * d ; 1628 * e ; 1629  Ën ; 1630 STR * ¡r = `SŒ_Ãw (93,0); 1632 `Newz (802, ¥© ,1, SPAT ); 1633 ¥© -> ¥©_Ãxt = cur¡ash -> tbl_¥©roÙ ; 1634 cur¡ash -> tbl_¥©roÙ = ¥© ; 1636 s = `¡r_­³nd_tžl ( ¡r ,s+1, buãnd ,*s, ·Ž—ve ); 1637 ià( s >ð buãnd ) { 1638 `¡r_ä“ ( ¡r ); 1639 `yy”rÜ ("Substitution…attern‚ot�erminated"); 1640 yylv® . ¬g = Nuάg ; 1641  s ; 1643 Ën = ¡r -> ¡r_cur ; 1644 e = ¡r -> ¡r_±r + Ën ; 1645  d = ¡r -> ¡r_±r ; d < e ; d++) { 1646 ià(* d == '\\') 1647 d ++; 1648 ià((* d == '$' && d[1] && d[1] != '|' && d[1] != ')') || 1649 * d == '@' ) { 1650  ARG * ¬g ; 1652 ¥© -> ¥©_ruÁime = ¬g = `Ý_Ãw (1); 1653 ¬g -> ¬g_ty³ = O_ITEM ; 1654 ¬g [1]. ¬g_ty³ = A_DOUBLE ; 1655 ¬g [1]. ¬g_±r . ¬g_¡r = `¡r_smake ( ¡r ); 1656 d = `sÿnid’t (d, buãnd , buf ); 1657 () `¡ab’t ( buf , TRUE ); 1658 ; * d ; d++) { 1659 ià(* d == '$' && d[1] && d[-1] != '\\' && d[1] != '|') { 1660 d = `sÿnid’t (d, buãnd , buf ); 1661 () `¡ab’t ( buf , TRUE ); 1663 ià(* d == '@' && d[-1] != '\\') { 1664 d = `sÿnid’t (d, buãnd , buf ); 1665 ià( `¡rEQ ( buf ,"ARGV") || strEQ(buf,"ENV") || 1666 `¡rEQ ( buf ,"SIG") || strEQ(buf,"INC")) 1667 () `¡ab’t ( buf , TRUE ); 1670  g‘_»¶ ; 1673 ià(* ¡r -> ¡r_±r == '^') { 1674 ¥© -> ¥©_shÜt = `sÿncÚ¡ ( ¡r -> ¡r_±r +1, Ën -1); 1675 ià( ¥© -> ¥©_shÜt ) 1676 ¥© -> ¥©_¦’ = s·t-> ¥©_shÜt -> ¡r_cur ; 1679 ¥© -> ¥©_æags |ð SPAT_SCANFIRST ; 1680 ¥© -> ¥©_shÜt = `sÿncÚ¡ ( ¡r -> ¡r_±r , Ën ); 1681 ià( ¥© -> ¥©_shÜt ) 1682 ¥© -> ¥©_¦’ = s·t-> ¥©_shÜt -> ¡r_cur ; 1684 g‘_»¶ : 1685 s = `sÿn¡r (s); 1686 ià( s >ð buãnd ) { 1687 `¡r_ä“ ( ¡r ); 1688 `yy”rÜ ("Substitution„eplacement‚ot�erminated"); 1689 yylv® . ¬g = Nuάg ; 1690  s ; 1692 ¥© -> ¥©_»¶ = yylv® . ¬g ; 1693 ¥© -> ¥©_æags |ð SPAT_ONCE ; 1694 ià(( ¥© -> ¥©_»¶ [1]. ¬g_ty³ & A_MASK è=ð A_SINGLE ) 1695 ¥© -> ¥©_æags |ð SPAT_CONST ; 1696 ià(( ¥© -> ¥©_»¶ [1]. ¬g_ty³ & A_MASK è=ð A_DOUBLE ) { 1697 STR * tmp¡r ; 1698 * t ; 1700 ¥© -> ¥©_æags |ð SPAT_CONST ; 1701 tmp¡r = ¥© -> ¥©_»¶ [1]. ¬g_±r . ¬g_¡r ; 1702 e = tmp¡r -> ¡r_±r +�mp¡r-> ¡r_cur ; 1703  t = tmp¡r -> ¡r_±r ;� < e ;�++) { 1704 ià(* t =ð'$' &&�[1] && ( `šdex ("`'&+0123456789",t[1]) || 1705 ( t [1] =ð'{' && `isdig™ (t[2])) )) 1706 ¥© -> ¥©_æags &ð~ SPAT_CONST ; 1709 * s == 'g' || *s == 'i' || *s == 'e' || *s == 'o') { 1710 ià(* s == 'e') { 1711 s ++; 1712 ià(( ¥© -> ¥©_»¶ [1]. ¬g_ty³ & A_MASK è=ð A_DOUBLE ) 1713 ¥© -> ¥©_»¶ [1]. ¬g_ty³ = A_SINGLE ; 1714 ¥© -> ¥©_»¶ = `make_Ý ( O_EVAL ,2, 1715 ¥© -> ¥©_»¶ , 1716 Nuάg , 1717 Nuάg ); 1718 ¥© -> ¥©_æags &ð~ SPAT_CONST ; 1720 ià(* s == 'g') { 1721 s ++; 1722 ¥© -> ¥©_æags &ð~ SPAT_ONCE ; 1724 ià(* s == 'i') { 1725 s ++; 1726 §wi = TRUE ; 1727 ¥© -> ¥©_æags |ð SPAT_FOLD ; 1728 ià(!( ¥© -> ¥©_æags & SPAT_SCANFIRST )) { 1729 `¡r_ä“ ( ¥© -> ¥©_shÜt ); 1730 ¥© -> ¥©_shÜt = NuΡr ; 1731 ¥© -> ¥©_¦’ = 0; 1734 ià(* s == 'o') { 1735 s ++; 1736 ¥© -> ¥©_æags |ð SPAT_KEEP ; 1739 ià( ¥© -> ¥©_shÜt && (¥©-> ¥©_æags & SPAT_SCANFIRST )) 1740 `fbmcompže ( ¥© -> ¥©_shÜt , s·t-> ¥©_æags & SPAT_FOLD ); 1741 ià(! ¥© -> ¥©_ruÁime ) { 1742 ¥© -> ¥©_»gexp = `»gcomp ( ¡r -> ¡r_±r ,¡r->¡r_±r+ Ën , 1743 ¥© -> ¥©_æags & SPAT_FOLD ); 1744 `hoi¡mu¡ ( ¥© ); 1746 yylv® . ¬g = `make_m©ch ( O_SUBST , `¡ab2¬g ( A_STAB , def¡ab ), ¥© ); 1747 `¡r_ä“ ( ¡r ); 1748  s ; 1749 } } 1751 $hoi¡mu¡ ( ¥© ) 1752  SPAT * ¥© ; 1754 ià( ¥© -> ¥©_»gexp -> »gmu¡ ) { 1755 ià( ¥© -> ¥©_shÜt && 1756 `¡r_eq ( ¥© -> ¥©_shÜt ,¥©-> ¥©_»gexp -> »gmu¡ )) 1758 ià( ¥© -> ¥©_æags & SPAT_SCANFIRST ) { 1759 `¡r_ä“ ( ¥© -> ¥©_shÜt ); 1760 ¥© -> ¥©_shÜt = NuΡr ; 1763 `¡r_ä“ ( ¥© -> ¥©_»gexp -> »gmu¡ ); 1764 ¥© -> ¥©_»gexp -> »gmu¡ = NuΡr ; 1768 ià(! ¥© -> ¥©_shÜt || 1769 (( ¥© -> ¥©_æags & SPAT_SCANFIRST ) && 1770 ( ¥© -> ¥©_shÜt -> ¡r_cur < s·t-> ¥©_»gexp -> »gmu¡ ->str_cur) )){ 1771 `¡r_ä“ ( ¥© -> ¥©_shÜt ); 1772 ¥© -> ¥©_shÜt = s·t-> ¥©_»gexp -> »gmu¡ ; 1773 ¥© -> ¥©_»gexp -> »gmu¡ = NuΡr ; 1774 ¥© -> ¥©_æags |ð SPAT_SCANFIRST ; 1777 } } 1780 $ex·nd_ch¬£t ( s , Ën , »Ž’ ) 1781 * s ; 1782  Ën ; 1783 * »Ž’ ; 1785  t [520]; 1786 * d = t ; 1787  i ; 1788 * £nd = s + Ën ; 1790  s < £nd && d - t <= 256) { 1791 ià( s [1] =ð'-' && s+2 < £nd ) { 1792  i = ( s [0] & 0377); i <= (s[2] & 0377); i++) 1793 * d ++ = i ; 1794 s += 3; 1797 * d ++ = * s ++; 1799 * d = '\0'; 1800 * »Ž’ = d - t ; 1801  `n§ve¡r ( t , d -t); 1802 } } 1805 $sÿÁ¿ns ( s ) 1806 * s ; 1808 ARG * ¬g = 1809 `l ( `make_Ý ( O_TRANS ,2, `¡ab2¬g ( A_STAB , def¡ab ), Nuάg ,Nullarg)); 1810 * t ; 1811 * r ; 1812 * tbl ; 1813  i ; 1814  j ; 1815  Ž’ , ¾’ ; 1816  squash ; 1817  d–‘e ; 1818  com¶em’t ; 1820 `New (803, tbl ,256,); 1821 ¬g [2]. ¬g_ty³ = A_NULL ; 1822 ¬g [2]. ¬g_±r . ¬g_cv® = (*è tbl ; 1823 s = `sÿn¡r (s); 1824 ià( s >ð buãnd ) { 1825 `yy”rÜ ("Translation…attern‚ot�erminated"); 1826 yylv® . ¬g = Nuάg ; 1827  s ; 1829 t = `ex·nd_ch¬£t ( yylv® . ¬g [1]. ¬g_±r . ¬g_¡r -> ¡r_±r , 1830 yylv® . ¬g [1]. ¬g_±r . ¬g_¡r -> ¡r_cur ,& Ž’ ); 1831 `¬g_ä“ ( yylv® . ¬g ); 1832 s = `sÿn¡r (s-1); 1833 ià( s >ð buãnd ) { 1834 `yy”rÜ ("Translation„eplacement‚ot�erminated"); 1835 yylv® . ¬g = Nuάg ; 1836  s ; 1838 com¶em’t = d–‘e = squash = 0; 1839 * s == 'c' || *s == 'd' || *s == 's') { 1840 ià(* s == 'c') 1841 com¶em’t = 1; 1842 ià(* s == 'd') 1843 d–‘e = 2; 1845 squash = 1; 1846 s ++; 1848 r = `ex·nd_ch¬£t ( yylv® . ¬g [1]. ¬g_±r . ¬g_¡r -> ¡r_±r , 1849 yylv® . ¬g [1]. ¬g_±r . ¬g_¡r -> ¡r_cur ,& ¾’ ); 1850 `¬g_ä“ ( yylv® . ¬g ); 1851 ¬g [2]. ¬g_Ën = d–‘e | squash ; 1852 yylv® . ¬g =‡rg; 1853 ià(! ¾’ && ! d–‘e ) { 1854 `Saãä“ ( r ); 1855 r = t ; ¾’ = Ž’ ; 1857 ià( com¶em’t ) { 1858 `Z”o ( tbl , 256, ); 1859  i = 0; i < Ž’ ; i++) 1860 tbl [ t [ i ] & 0377] = -1; 1861  i = 0, j = 0; i < 256; i++) { 1862 ià(! tbl [ i ]) { 1863 ià( j >ð ¾’ ) { 1864 ià( d–‘e ) 1865 tbl [ i ] = -2; 1867 tbl [ i ] = r [ j -1]; 1870 tbl [ i ] = r [ j ++]; 1875  i = 0; i < 256; i++) 1876 tbl [ i ] = -1; 1877  i = 0, j = 0; i < Ž’ ; i++,j++) { 1878 ià( j >ð ¾’ ) { 1879 ià( d–‘e ) { 1880 ià( tbl [ t [ i ] & 0377] == -1) 1881 tbl [ t [ i ] & 0377] = -2; 1884 -- j ; 1886 ià( tbl [ t [ i ] & 0377] == -1) 1887 tbl [ t [ i ] & 0377] = r [ j ] & 0377; 1890 ià( r !ð t ) 1891 `Saãä“ ( r ); 1892 `Saãä“ ( t ); 1893  s ; 1894 } } 1897 $sÿn¡r ( s ) 1898 * s ; 1900  ‹rm ; 1901 * d ; 1902  ARG * ¬g ; 1903 * £nd ; 1904  boÞ makesšgË = FALSE ; 1905  STAB * ¡ab ; 1906 boÞ ®waysdÞÏr = FALSE ; 1907 boÞ h”eis = FALSE ; 1908 STR * h”ewas ; 1909 STR * ¡r ; 1910 * Ëave = "\\$@nrtfbeacx0123456789[{]}lLuUE"; 1911  Ën ; 1913 ¬g = `Ý_Ãw (1); 1914 yylv® . ¬g =‡rg; 1915 ¬g -> ¬g_ty³ = O_ITEM ; 1917 * s ) { 1919 ¬g [1]. ¬g_ty³ = A_DOUBLE ; 1920 makesšgË = TRUE ; 1921 ‹rm = * s ; 1922 ià( ‹rm == '\'') 1923 Ëave = NuÎch ; 1924  ¢¬f_™ ; 1927  i ; 1928  shiá ; 1930 ¬g [1]. ¬g_ty³ = A_SINGLE ; 1931 ià( s [1] == 'x') { 1932 shiá = 4; 1933 s += 2; 1935 ià( s [1] == '.') 1936  decim® ; 1938 shiá = 3; 1939 i = 0; 1941 * s ) { 1943  out ; 1945 ià( shiá != 4) 1946 `yy”rÜ ("Illegal octal digit"); 1950 i <<ð shiá ; 1951 i +ð* s ++ & 15; 1955 ià( shiá != 4) 1956  out ; 1957 i <<= 4; 1958 i +ð(* s ++ & 7) + 9; 1962 out : 1963 ¡r = `SŒ_Ãw (92,0); 1964 `¡r_num£t ( ¡r ,() i ); 1965 ià( ¡r -> ¡r_±r ) { 1966 `Saãä“ ( ¡r -> ¡r_±r ); 1967 ¡r -> ¡r_±r = NuÎch ; 1968 ¡r -> ¡r_Ën = sŒ-> ¡r_cur = 0; 1970 ¬g [1]. ¬g_±r . ¬g_¡r = ¡r ; 1975 decim® : 1976 ¬g [1]. ¬g_ty³ = A_SINGLE ; 1977 d = tok’buf ; 1978  `isdig™ (* s ) || *s == '_') { 1979 ià(* s == '_') 1980 s ++; 1982 * d ++ = * s ++; 1984 ià(* s =ð'.' && s[1] && `šdex ("0123456789eE ;",s[1])) { 1985 * d ++ = * s ++; 1986  `isdig™ (* s ) || *s == '_') { 1987 ià(* s == '_') 1988 s ++; 1990 * d ++ = * s ++; 1993 ià(* s && `šdex ("eE",*s) && index("+-0123456789",s[1])) { 1994 * d ++ = * s ++; 1995 ià(* s == '+' || *s == '-') 1996 * d ++ = * s ++; 1997  `isdig™ (* s )) 1998 * d ++ = * s ++; 2000 * d = '\0'; 2001 ¡r = `SŒ_Ãw (92,0); 2002 `¡r_num£t ( ¡r , `©of ( tok’buf )); 2003 ià( ¡r -> ¡r_±r ) { 2004 `Saãä“ ( ¡r -> ¡r_±r ); 2005 ¡r -> ¡r_±r = NuÎch ; 2006 ¡r -> ¡r_Ën = sŒ-> ¡r_cur = 0; 2008 ¬g [1]. ¬g_±r . ¬g_¡r = ¡r ; 2011 ià(*++ s == '<') { 2012 h”eis = TRUE ; 2013 d = tok’buf ; 2014 ià(! rså ) 2015 * d ++ = '\n'; 2016 ià(*++ s && `šdex ("`'\"",*s)) { 2017 ‹rm = * s ++; 2018 s = `ýytžl ( d ,s, buãnd , ‹rm ,& Ën ); 2019 ià( s < buãnd ) 2020 s ++; 2021 d +ð Ën ; 2024 ià(* s == '\\') 2025 s ++, ‹rm = '\''; 2027 ‹rm = '"'; 2028  `i§scii (* s è&& ( `i§Íha (*sè|| `isdig™ (*s) || *s == '_')) 2029 * d ++ = * s ++; 2031 * d ++ = '\n'; 2032 * d = '\0'; 2033 Ën = d - tok’buf ; 2034 d = "\n"; 2035 ià( rså || !( d = `nš¡r ( s , buãnd ,d,d+1))) 2036 h”ewas = `¡r_make ( s , buãnd -s); 2038 s --, h”ewas = `¡r_make (s, d -s); 2039 s +ð h”ewas -> ¡r_cur ; 2040 ià( ‹rm == '\'') 2041  do_sšgË ; 2042 ià( ‹rm == '`') 2043  do_back ; 2044  do_doubË ; 2046 d = tok’buf ; 2047 s = `ýytžl ( d ,s, buãnd ,'>',& Ën ); 2048 ià( s < buãnd ) 2049 s ++; 2050 ià(* d == '$') d++; 2051 * d && 2052 ( `i§Íha (* d è|| `isdig™ (*d) || *d == '_' || *d == '\'')) 2053 d ++; 2054 ià( d - tok’buf !ð Ën ) { 2055 d = tok’buf ; 2056 ¬g [1]. ¬g_ty³ = A_GLOB ; 2057 d = `n§ve¡r (d, Ën ); 2058 ¬g [1]. ¬g_±r . ¬g_¡ab = ¡ab = `g’¡ab (); 2059 `¡ab_io ( ¡ab èð `¡io_Ãw (); 2060 `¡ab_v® ( ¡ab èð `¡r_make ( d , Ën ); 2061 `Saãä“ ( d ); 2062 `£t_csh (); 2065 d = tok’buf ; 2066 ià(! Ën ) 2067 () `¡rýy ( d ,"ARGV"); 2068 ià(* d == '$') { 2069 ¬g [1]. ¬g_ty³ = A_INDREAD ; 2070 ¬g [1]. ¬g_±r . ¬g_¡ab = `¡ab’t ( d +1, TRUE ); 2073 ¬g [1]. ¬g_ty³ = A_READ ; 2074 ¬g [1]. ¬g_±r . ¬g_¡ab = `¡ab’t ( d , TRUE ); 2075 ià(! `¡ab_io ( ¬g [1]. ¬g_±r . ¬g_¡ab )) 2076 `¡ab_io ( ¬g [1]. ¬g_±r . ¬g_¡ab èð `¡io_Ãw (); 2077 ià( `¡rEQ ( d ,"ARGV")) { 2078 () `¯dd ( ¬g [1]. ¬g_±r . ¬g_¡ab ); 2079 `¡ab_io ( ¬g [1]. ¬g_±r . ¬g_¡ab )-> æags |= 2080 IOF_ARGV | IOF_START ; 2087 s ++; 2088 ià(* s == 'q') { 2089 s ++; 2090  do_doubË ; 2092 ià(* s == 'x') { 2093 s ++; 2094  do_back ; 2098 do_sšgË : 2099 ‹rm = * s ; 2100 ¬g [1]. ¬g_ty³ = A_SINGLE ; 2101 Ëave = NuÎch ; 2102  ¢¬f_™ ; 2105 do_doubË : 2106 ‹rm = * s ; 2107 ¬g [1]. ¬g_ty³ = A_DOUBLE ; 2108 makesšgË = TRUE ; 2109 ®waysdÞÏr = TRUE ; 2110  ¢¬f_™ ; 2112 do_back : 2113 ‹rm = * s ; 2114 ¬g [1]. ¬g_ty³ = A_BACKTICK ; 2115 `£t_csh (); 2116 ®waysdÞÏr = TRUE ; 2117 ¢¬f_™ : 2119 STR * tmp¡r ; 2120 * tmps ; 2122 muÉi_¡¬t = curcmd -> c_lše ; 2123 ià( h”eis ) 2124 muÉi_Ý’ = muÉi_þo£ = '<'; 2126 muÉi_Ý’ = ‹rm ; 2127 ià( ‹rm && ( tmps = `šdex ("([{< )]}> )]}>",term))) 2128 ‹rm = tmps [5]; 2129 muÉi_þo£ = ‹rm ; 2131 tmp¡r = `SŒ_Ãw (87,80); 2132 ià( h”eis ) { 2133 ‹rm = * tok’buf ; 2134 ià(! rså ) { 2135 d = s ; 2136  s < buãnd && 2137 (* s !ð ‹rm || `bcmp (s, tok’buf , Ën ) != 0) ) { 2138 ià(* s ++ == '\n') 2139 curcmd -> c_lše ++; 2141 ià( s >ð buãnd ) { 2142 curcmd -> c_lše = muÉi_¡¬t ; 2143 `ç�l ("EOF in string"); 2145 `¡r_n£t ( tmp¡r , d +1, s -d); 2146 s +ð Ën - 1; 2147 `¡r_nÿt ( h”ewas , s , buãnd -s); 2148 `¡r_»¶aû ( lše¡r , h”ewas ); 2149 ÞdÞdbuåŒ = ÞdbuåŒ = buåŒ = s = `¡r_g‘ ( lše¡r ); 2150 buãnd = lše¡r -> ¡r_±r +†še¡r-> ¡r_cur ; 2151 h”eis = FALSE ; 2154 `¡r_n£t ( tmp¡r ,"",0); 2157 s = `¡r_­³nd_tžl ( tmp¡r ,s+1, buãnd , ‹rm , Ëave ); 2158  s >ð buãnd ) { 2159 ià(! rså || 2160 !( ÞdÞdbuåŒ = ÞdbuåŒ = s = `¡r_g‘s ( lše¡r , rså , 0))) { 2161 curcmd -> c_lše = muÉi_¡¬t ; 2162 `ç�l ("EOF in string"); 2164 curcmd -> c_lše ++; 2165 ià( ³¾db ) { 2166 STR * ¡r = `SŒ_Ãw (88,0); 2168 `¡r_s£t ( ¡r , lše¡r ); 2169 `a¡Üe ( `¡ab_x¬¿y ( curcmd -> c_fže¡ab ), 2170 () curcmd -> c_lše , ¡r ); 2172 buãnd = lše¡r -> ¡r_±r +†še¡r-> ¡r_cur ; 2173 ià( h”eis ) { 2174 ià(* s =ð ‹rm && `bcmp (s, tok’buf , Ën ) == 0) { 2175 s = buãnd - 1; 2176 * s = ' '; 2177 `¡r_sÿt ( lše¡r , h”ewas ); 2178 buãnd = lše¡r -> ¡r_±r +†še¡r-> ¡r_cur ; 2181 s = buãnd ; 2182 `¡r_sÿt ( tmp¡r , lše¡r ); 2186 s = `¡r_­³nd_tžl ( tmp¡r ,s, buãnd , ‹rm , Ëave ); 2188 muÉi_’d = curcmd -> c_lše ; 2189 s ++; 2190 ià( tmp¡r -> ¡r_cur + 5 <�mp¡r-> ¡r_Ën ) { 2191 tmp¡r -> ¡r_Ën =�mp¡r-> ¡r_cur + 1; 2192 `R’ew ( tmp¡r -> ¡r_±r ,�mp¡r-> ¡r_Ën , ); 2194 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_SINGLE ) { 2195 ¬g [1]. ¬g_±r . ¬g_¡r = tmp¡r ; 2198 tmps = s ; 2199 s = tmp¡r -> ¡r_±r ; 2200 £nd = s + tmp¡r -> ¡r_cur ; 2201  s < £nd ) { 2202 ià(* s =ð'\\' && s[1] && `isdig™ (s[1]) && !isdigit(s[2]) && 2203 ! ®waysdÞÏr && s [1] != '0') 2204 * s = '$'; 2205 ià((* s =ð'$' || * =ð'@'è&& s+1 < £nd && 2206 ( ®waysdÞÏr || ( s [1] != ')' && s[1] != '|'))) { 2207 makesšgË = FALSE ; 2209 ià(* s =ð'\\' && s+1 < £nd ) { 2210 ià( `šdex ("lLuUE", s [1])) 2211 makesšgË = FALSE ; 2212 s ++; 2214 s ++; 2216 s = d = tmp¡r -> ¡r_±r ; 2217  s < £nd ) { 2218 ià((* s =ð'$' && s+1 < £nd && 2219 ( ®waysdÞÏr || ( s [1] != ')' && s[1] != '|')) ) || 2220 (* s =ð'@' && s+1 < £nd ) ) { 2221 Ën = `sÿnid’t ( s , £nd , tok’buf ) - s; 2222 ià(* s =ð'$' || `¡rEQ ( tok’buf ,"ARGV") 2223 || `¡rEQ ( tok’buf ,"ENV") 2224 || `¡rEQ ( tok’buf ,"SIG") 2225 || `¡rEQ ( tok’buf ,"INC") ) 2226 () `¡ab’t ( tok’buf , TRUE ); 2227  Ën --) 2228 * d ++ = * s ++; 2231 ià(* s =ð'\\' && s+1 < £nd ) { 2232 s ++; 2233 * s ) { 2235 ià(! makesšgË && (! Ëave || (* s && `šdex (leave,*s)))) 2236 * d ++ = '\\'; 2237 * d ++ = * s ++; 2241 * d ++ = `sÿnoù ( s , 3, & Ën ); 2242 s +ð Ën ; 2245 * d ++ = `sÿnhex (++ s , 2, & Ën ); 2246 s +ð Ën ; 2249 s ++; 2250 * d = * s ++; 2251 ià( `i¦ow” (* d )) 2252 * d = `touµ” (*d); 2253 * d ++ ^= 64; 2256 * d ++ = '\b'; 2259 * d ++ = '\n'; 2262 * d ++ = '\r'; 2265 * d ++ = '\f'; 2268 * d ++ = '\t'; 2271 * d ++ = '\033'; 2274 * d ++ = '\007'; 2277 s ++; 2280 * d ++ = * s ++; 2282 * d = '\0'; 2284 ià(( ¬g [1]. ¬g_ty³ & A_MASK è=ð A_DOUBLE && makesšgË ) 2285 ¬g [1]. ¬g_ty³ = A_SINGLE ; 2287 tmp¡r -> ¡r_cur = d -�mp¡r-> ¡r_±r ; 2288 ¬g [1]. ¬g_±r . ¬g_¡r = tmp¡r ; 2289 s = tmps ; 2293 ià( h”eis ) 2294 `¡r_ä“ ( h”ewas ); 2295  s ; 2296 } } 2298 FCMD * 2299 $lßd_fÜm© () 2301 FCMD äoÙ ; 2302 FCMD * æšebeg ; 2303 * eÞ ; 2304  FCMD * å»v = & äoÙ ; 2305  FCMD * fcmd ; 2306 * s ; 2307 * t ; 2308  STR * ¡r ; 2309 boÞ nobÏnk ; 2310 boÞ »³©” ; 2312 `Z”o (& äoÙ , 1, FCMD ); 2313 s = buåŒ ; 2314  s < buãnd || ( rså && ( ð `¡r_g‘s ( lše¡r ,rså, 0)è!ð NuÎch )) { 2315 curcmd -> c_lše ++; 2316 ià( š_ev® && ! rså ) { 2317 eÞ = `šdex ( s ,'\n'); 2318 ià(! eÞ ++) 2319 eÞ = buãnd ; 2322 eÞ = buãnd = lše¡r -> ¡r_±r +†še¡r-> ¡r_cur ; 2323 ià( ³¾db ) { 2324 STR * tmp¡r = `SŒ_Ãw (89,0); 2326 `¡r_n£t ( tmp¡r , s , eÞ -s); 2327 `a¡Üe ( `¡ab_x¬¿y ( curcmd -> c_fže¡ab ), ()curcmd-> c_lše , tmp¡r ); 2329 ià(* s == '.') { 2330  t = s +1; *t == ' ' || *t == '\t';�++) ; 2331 ià(* t == '\n') { 2332 buåŒ = s ; 2333  äoÙ . f_Ãxt ; 2336 ià(* s == '#') { 2337 s = eÞ ; 2340 æšebeg = NuÎfcmd ; 2341 nobÏnk = FALSE ; 2342 »³©” = FALSE ; 2343  s < eÞ ) { 2344 `Newz (804, fcmd ,1, FCMD ); 2345 å»v -> f_Ãxt = fcmd ; 2346 å»v = fcmd ; 2347  t = s ;� < eÞ && *t != '@' && *t != '^';�++) { 2348 ià(* t == '~') { 2349 nobÏnk = TRUE ; 2350 * t = ' '; 2351 ià( t [1] == '~') { 2352 »³©” = TRUE ; 2353 t [1] = ' '; 2357 fcmd -> f_´e = `n§ve¡r ( s , t -s); 2358 fcmd -> f_´esize = t - s ; 2359 s = t ; 2360 ià( s >ð eÞ ) { 2361 ià( nobÏnk ) 2362 fcmd -> f_æags |ð FC_NOBLANK ; 2363 ià( »³©” ) 2364 fcmd -> f_æags |ð FC_REPEAT ; 2367 ià(! æšebeg ) 2368 æšebeg = fcmd ; 2369 ià(* s ++ == '^') 2370 fcmd -> f_æags |ð FC_CHOP ; 2371 * s ) { 2373 fcmd -> f_ty³ = F_LINES ; 2374 * s = '\0'; 2377 fcmd -> f_ty³ = F_LEFT ; 2378 * s == '<') 2379 s ++; 2382 fcmd -> f_ty³ = F_RIGHT ; 2383 * s == '>') 2384 s ++; 2387 fcmd -> f_ty³ = F_CENTER ; 2388 * s == '|') 2389 s ++; 2395 ià(* s == '.' && s[1] == '.') { 2396  deçuÉ_fÜm© ; 2398 fcmd -> f_ty³ = F_DECIMAL ; 2400 * p ; 2404 * s == '#') 2405 s ++; 2406 ià(* s == '.') { 2407 s ++; 2408 p = s ; 2409 * s == '#') 2410 s ++; 2411 fcmd -> f_decim®s = s - p ; 2412 fcmd -> f_æags |ð FC_DP ; 2414 fcmd -> f_decim®s = 0; 2419 deçuÉ_fÜm© : 2420 fcmd -> f_ty³ = F_LEFT ; 2423 ià( fcmd -> f_æags & FC_CHOP && * s == '.') { 2424 fcmd -> f_æags |ð FC_MORE ; 2425 * s == '.') 2426 s ++; 2428 fcmd -> f_size = s - t ; 2430 ià( æšebeg ) { 2431 agaš : 2432 ià( s >ð buãnd && 2433 (! rså || ( s = `¡r_g‘s ( lše¡r ,„så, 0)è=ð NuÎch ) ) 2434  badfÜm ; 2435 curcmd -> c_lše ++; 2436 ià( š_ev® && ! rså ) { 2437 eÞ = `šdex ( s ,'\n'); 2438 ià(! eÞ ++) 2439 eÞ = buãnd ; 2442 eÞ = buãnd = lše¡r -> ¡r_±r +†še¡r-> ¡r_cur ; 2443 ià( ³¾db ) { 2444 STR * tmp¡r = `SŒ_Ãw (90,0); 2446 `¡r_n£t ( tmp¡r , s , eÞ -s); 2447 `a¡Üe ( `¡ab_x¬¿y ( curcmd -> c_fže¡ab ), 2448 () curcmd -> c_lše , tmp¡r ); 2450 ià( `¡ºEQ ( s ,".\n",2)) { 2451 buåŒ = s ; 2452 `yy”rÜ ("Missing values†ine"); 2453  äoÙ . f_Ãxt ; 2455 ià(* s == '#') { 2456 s = eÞ ; 2457  agaš ; 2459 ¡r = æšebeg -> f_uŬ£d = `SŒ_Ãw (91, eÞ - s ); 2460 ¡r -> ¡r_u . ¡r_hash = cur¡ash ; 2461 `¡r_n£t ( ¡r ,"(",1); 2462 æšebeg -> f_lše = curcmd -> c_lše ; 2463 eÞ [-1] = '\0'; 2464 ià(! æšebeg -> f_Ãxt -> f_ty³ || `šdex ( s , ',')) { 2465 eÞ [-1] = '\n'; 2466 `¡r_nÿt ( ¡r , s , eÞ - s - 1); 2467 `¡r_nÿt ( ¡r ,",$$);",5); 2468 s = eÞ ; 2471 eÞ [-1] = '\n'; 2472  s < eÞ && `is¥aû (*s)) 2473 s ++; 2474 t = s ; 2475  s < eÞ ) { 2476 * s ) { 2478 `¡r_nÿt ( ¡r , t , s -�); 2479 `¡r_nÿt ( ¡r , "," ,1); 2480  s < eÞ && ( `is¥aû (*s) || *s == ';')) 2481 s ++; 2482 t = s ; 2485 `¡r_nÿt ( ¡r , t , s -�); 2486 t = s ; 2487 s = `sÿnid’t (s, eÞ , tok’buf ); 2488 `¡r_nÿt ( ¡r , t , s -�); 2489 t = s ; 2490 ià( s < eÞ && * && `šdex ("$'\"",*s)) 2491 `¡r_nÿt ( ¡r , ",", 1); 2494 `¡r_nÿt ( ¡r , t , s -�); 2495 t = s ; 2496 s ++; 2497  s < eÞ && (* !ð* t || s[-1] == '\\')) 2498 s ++; 2499 ià( s < eÞ ) 2500 s ++; 2501 `¡r_nÿt ( ¡r , t , s -�); 2502 t = s ; 2503 ià( s < eÞ && * && `šdex ("$'\"",*s)) 2504 `¡r_nÿt ( ¡r , ",", 1); 2507 `yy”rÜ ("Please use commas�o separate fields"); 2510 `¡r_nÿt ( ¡r ,"$$);",4); 2514 badfÜm : 2515 buåŒ = `¡r_g‘ ( lše¡r ); 2516 `yy”rÜ ("Format‚ot�erminated"); 2517  äoÙ . f_Ãxt ; 2518 } } 2520 $£t_csh () 2522 #ifdeà CSH 2523 ià(! cshËn ) 2524 cshËn = `¡¾’ ( cshÇme ); 2526 } } @tperly.c 1 #ifdeà BWGC 2 * gc_m®loc (), * gc_»®loc (); 4 * m®loc (), * »®loc (); 8  ~"INTERN.h " 9  ~"³¾.h " 11 STAB * gsü¡ab ; 12 ARG * g¬g4 ; 13 ARG * g¬g5 ; 18  miv® ; 19 * mcv® ; 20 ARG * m¬g ; 21 CMD * mcmdv® ; 22  compcmd mcompv® ; 23 STAB * m¡abv® ; 24 FCMD * mfÜmv® ; 25 } tYYSTYPE ; 26  #WORD 257 ) 27  #APPEND 258 ) 28  #OPEN 259 ) 29  #SSELECT 260 ) 30  #LOOPEX 261 ) 31  #USING 262 ) 32  #FORMAT 263 ) 33  #DO 264 ) 34  #SHIFT 265 ) 35  #PUSH 266 ) 36  #POP 267 ) 37  #LVALFUN 268 ) 38  #WHILE 269 ) 39  #UNTIL 270 ) 40  #IF 271 ) 41  #UNLESS 272 ) 42  #ELSE 273 ) 43  #ELSIF 274 ) 44  #CONTINUE 275 ) 45  #SPLIT 276 ) 46  #FLIST 277 ) 47  #FOR 278 ) 48  #FILOP 279 ) 49  #FILOP2 280 ) 50  #FILOP3 281 ) 51  #FILOP4 282 ) 52  #FILOP22 283 ) 53  #FILOP25 284 ) 54  #FUNC0 285 ) 55  #FUNC1 286 ) 56  #FUNC2 287 ) 57  #FUNC2x 288 ) 58  #FUNC3 289 ) 59  #FUNC4 290 ) 60  #FUNC5 291 ) 61  #HSHFUN 292 ) 62  #HSHFUN3 293 ) 63  #FLIST2 294 ) 64  #SUB 295 ) 65  #FILETEST 296 ) 66  #LOCAL 297 ) 67  #DELETE 298 ) 68  #RELOP 299 ) 69  #EQOP 300 ) 70  #MULOP 301 ) 71  #ADDOP 302 ) 72  #PACKAGE 303 ) 73  #AMPER 304 ) 74  #FORMLIST 305 ) 75  #REG 306 ) 76  #ARYLEN 307 ) 77  #ARY 308 ) 78  #HSH 309 ) 79  #STAR 310 ) 80  #SUBST 311 ) 81  #PATTERN 312 ) 82  #RSTRING 313 ) 83  #TRANS 314 ) 84  #LISTOP 315 ) 85  #DOTDOT 316 ) 86  #OROR 317 ) 87  #ANDAND 318 ) 88  #UNIOP 319 ) 89  #LS 320 ) 90  #RS 321 ) 91  #MATCH 322 ) 92  #NMATCH 323 ) 93  #UMINUS 324 ) 94  #POW 325 ) 95  #INC 326 ) 96  #DEC 327 ) 97  #yyþ—rš yych¬ = -1 ) 98  #yy”rok yy”ræag = 0 ) 99  yych¬ ; 100  yy”ræag ; 101 #iâdeà YYMAXDEPTH 102  #YYMAXDEPTH 150 ) 104 YYSTYPE gyylv® , gyyv® ; 105  #YYERRCODE 256 ) 109  gyyexÿ [] ={ 147  #YYNPROD 182 ) 148  #YYLAST 3179 ) 149  gyyaù []={ 469  gyy·ù []={ 512  gyypgo []={ 517  gyyr1 []={ 538  gyyr2 []={ 559  gyychk []={ 602  gyydef []={ 645 ¡ruù { * mt_Çme ;  mt_v® ; } tyytokty³ ; 646 #iâdeà YYDEBUG 647  #YYDEBUG 0 ) 650 #ià YYDEBUG 652 yytokty³ gyytoks [] = 738 * gyy»ds [] = 934  #YYERROR  yy”¾ab ) 935 #ifdeà IGNOREFREE 936  #YYACCEPT { (0); } ) 937  #YYABORT { (1); } ) 939  #YYACCEPT { `Saãä“ ( yys ); `ä“ ( yyv ); (0); } ) 940  #YYABORT { `Saãä“ ( yys ); `ä“ ( yyv ); (1); } ) 942  #YYBACKUP Ð Ãwtok’ , Ãwv®ue )\ 944 iàÐ yych¬ >ð0 || ( yyr2 [ yytmp ] >> 1 ) != 1 )\ 946 `yy”rÜ ( "syntaxƒrror - cannot backup" );\ 947  yy”¾ab ;\ 949 yych¬ = Ãwtok’ ;\ 950 yy¡©e = * yyps ;\ 951 yylv® = Ãwv®ue ;\ 952  yyÃw¡©e ;\ 953 } ) 954  #YYRECOVERING (è(!! yy”ræag ) ) 955 #iâdeà YYDEBUG 956  #YYDEBUG 1 ) 962  gyydebug ; 967  #YYFLAG (-1000) ) 972  YYSTYPE * gyyv ; 973 * gyys ; 975  YYSTYPE * gyypv ; 976 * gyyps ; 978  gyy¡©e ; 979  gyytmp ; 981  gyyüs ; 983  gyy”ræag ; 984  gyych¬ ; 991 $yy·r£ () 993  YYSTYPE * yypvt ; 994  yymaxd•th = YYMAXDEPTH ; 999 #ifdeà BWGC 1000 yyv = ( YYSTYPE *) `gc_m®loc ( yymaxd•th *(YYSTYPE)); 1001 yys = (*) `gc_m®loc ( yymaxd•th *()); 1003 yyv = ( YYSTYPE *) `m®loc ( yymaxd•th *(YYSTYPE)); 1004 yys = (*) `m®loc ( yymaxd•th *()); 1006 ià(! yyv || ! yys ) 1008 `yy”rÜ ( "out of memory" ); 1011 yypv = & yyv [-1]; 1012 yyps = & yys [-1]; 1013 yy¡©e = 0; 1014 yytmp = 0; 1015 yyüs = 0; 1016 yy”ræag = 0; 1017 yych¬ = -1; 1019  yy¡ack ; 1021  YYSTYPE * yy_pv ; 1022 * yy_ps ; 1023  yy_¡©e ; 1024  yy_n ; 1030 yyÃw¡©e : 1031 yy_pv = yypv ; 1032 yy_ps = yyps ; 1033 yy_¡©e = yy¡©e ; 1034  yy_Ãw¡©e ; 1040 yy¡ack : 1041 yy_pv = yypv ; 1042 yy_ps = yyps ; 1043 yy_¡©e = yy¡©e ; 1048 yy_¡ack : 1052 #ià YYDEBUG 1059 iàÐ yydebug ) 1061  yy_i ; 1063 () `´štf Ð"S�‹ %d,�ok’ ", yy_¡©e ); 1064 iàÐ yych¬ == 0 ) 1065 () `´štf ( "end-of-file\n" ); 1066 iàÐ yych¬ < 0 ) 1067 () `´štf ( "-none-\n" ); 1070  yy_i = 0; yytoks [yy_i]. t_v® >= 0; 1071 yy_i ++ ) 1073 iàÐ yytoks [ yy_i ]. t_v® =ð yych¬ ) 1076 () `´štf Ð"%s\n", yytoks [ yy_i ]. t_Çme ); 1080 iàÐ++ yy_ps >ð& yys [ yymaxd•th ] ) 1086  yyps_šdex = ( yy_ps - yys ); 1087  yypv_šdex = ( yy_pv - yyv ); 1088  yypvt_šdex = ( yypvt - yyv ); 1089 yymaxd•th +ð YYMAXDEPTH ; 1090 #ifdeà BWGC 1091 yyv = ( YYSTYPE *) `gc_»®loc ((*)yyv, 1092 yymaxd•th * ( YYSTYPE )); 1093 yys = (*) `gc_»®loc ((*)yys, 1094 yymaxd•th * ()); 1096 yyv = ( YYSTYPE *) `»®loc ((*)yyv, 1097 yymaxd•th * ( YYSTYPE )); 1098 yys = (*) `»®loc ((*)yys, 1099 yymaxd•th * ()); 1101 ià(! yyv || ! yys ) 1103 `yy”rÜ ( "yacc stack overflow" ); 1106 yy_ps = yys + yyps_šdex ; 1107 yy_pv = yyv + yypv_šdex ; 1108 yypvt = yyv + yypvt_šdex ; 1110 * yy_ps = yy_¡©e ; 1111 *++ yy_pv = yyv® ; 1116 yy_Ãw¡©e : 1117 iàÐÐ yy_n = yy·ù [ yy_¡©e ] ) <ð YYFLAG ) 1118  yydeçuÉ ; 1119 #ià YYDEBUG 1123 yytmp = yych¬ < 0; 1125 iàÐÐ yych¬ < 0 ) && ( ( yych¬ = `yyËx () ) < 0 ) ) 1126 yych¬ = 0; 1127 #ià YYDEBUG 1128 iàÐ yydebug && yytmp ) 1130  yy_i ; 1132 () `´štf ( "Received�oken " ); 1133 iàÐ yych¬ == 0 ) 1134 () `´štf ( "end-of-file\n" ); 1135 iàÐ yych¬ < 0 ) 1136 () `´štf ( "-none-\n" ); 1139  yy_i = 0; yytoks [yy_i]. t_v® >= 0; 1140 yy_i ++ ) 1142 iàÐ yytoks [ yy_i ]. t_v® =ð yych¬ ) 1145 () `´štf Ð"%s\n", yytoks [ yy_i ]. t_Çme ); 1149 iàÐÐÐ yy_n +ð yych¬ ) < 0 ) || ( yy_À>ð YYLAST ) ) 1150  yydeçuÉ ; 1151 iàÐ yychk [ yy_n = yyaù [ yy_À] ] =ð yych¬ ) 1153 yych¬ = -1; 1154 yyv® = yylv® ; 1155 yy_¡©e = yy_n ; 1156 iàÐ yy”ræag > 0 ) 1157 yy”ræag --; 1158  yy_¡ack ; 1161 yydeçuÉ : 1162 iàÐÐ yy_n = yydef [ yy_¡©e ] ) == -2 ) 1164 #ià YYDEBUG 1165 yytmp = yych¬ < 0; 1167 iàÐÐ yych¬ < 0 ) && ( ( yych¬ = `yyËx () ) < 0 ) ) 1168 yych¬ = 0; 1169 #ià YYDEBUG 1170 iàÐ yydebug && yytmp ) 1172  yy_i ; 1174 () `´štf ( "Received�oken " ); 1175 iàÐ yych¬ == 0 ) 1176 () `´štf ( "end-of-file\n" ); 1177 iàÐ yych¬ < 0 ) 1178 () `´štf ( "-none-\n" ); 1181  yy_i = 0; 1182 yytoks [ yy_i ]. t_v® >= 0; 1183 yy_i ++ ) 1185 iàÐ yytoks [ yy_i ]. t_v® 1186 =ð yych¬ ) 1191 () `´štf Ð"%s\n", yytoks [ yy_i ]. t_Çme ); 1199 * yyxi = yyexÿ ; 1201  ( * yyxi != -1 ) || 1202 Ð yyxi [1] !ð yy_¡©e ) ) 1204 yyxi += 2; 1206  ( *( yyxi += 2) >= 0 ) && 1207 Ð* yyxi !ð yych¬ ) ) 1209 iàÐÐ yy_n = yyxi [1] ) < 0 ) 1210 YYACCEPT ; 1217 iàÐ yy_n == 0 ) 1220  yy”ræag ) 1223 `yy”rÜ ( "syntaxƒrror" ); 1224  sk�_š™ ; 1225 yy”¾ab : 1230 yy_pv = yypv ; 1231 yy_ps = yyps ; 1232 yy_¡©e = yy¡©e ; 1233 yyüs ++; 1234 sk�_š™ : 1238 yy”ræag = 3; 1243  yy_ps >ð yys ) 1245 yy_n = yy·ù [ * yy_ps ] + YYERRCODE ; 1246 iàÐ yy_n >ð0 && yy_À< YYLAST && 1247 yychk [ yyaù [ yy_n ]] =ð YYERRCODE ) { 1251 yy_¡©e = yyaù [ yy_n ]; 1252  yy_¡ack ; 1258 #ià YYDEBUG 1259  #_POP_ "E¼Ü„ecov”y…Ý ¡©�%d, uncov” ¡©�%d\n" ) 1260 iàÐ yydebug ) 1261 () `´štf Ð _POP_ , * yy_ps , 1262 yy_ps [-1] ); 1263 #undeà _POP_ 1265 yy_ps --; 1266 yy_pv --; 1272 YYABORT ; 1274 #ià YYDEBUG 1282 iàÐ yydebug ) 1284  yy_i ; 1286 () `´štf ( "Error„ecovery discards " ); 1287 iàÐ yych¬ == 0 ) 1288 () `´štf ( "tokenƒnd-of-file\n" ); 1289 iàÐ yych¬ < 0 ) 1290 () `´štf ( "token -none-\n" ); 1293  yy_i = 0; 1294 yytoks [ yy_i ]. t_v® >= 0; 1295 yy_i ++ ) 1297 iàÐ yytoks [ yy_i ]. t_v® 1298 =ð yych¬ ) 1303 () `´štf ( "token %s\n", 1304 yytoks [ yy_i ]. t_Çme ); 1308 iàÐ yych¬ == 0 ) 1309 YYABORT ; 1310 yych¬ = -1; 1311  yy_Ãw¡©e ; 1318 #ià YYDEBUG 1324 iàÐ yydebug ) 1325 () `´štf ( "Reduce by (%d) \"%s\"\n", 1326 yy_n , yy»ds [ yy_n ] ); 1328 yytmp = yy_n ; 1329 yypvt = yy_pv ; 1344  yy_Ën = yyr2 [ yy_n ]; 1346 iàÐ!Ð yy_Ën & 01 ) ) 1348 yy_Ën >>= 1; 1349 yyv® = ( yy_pv -ð yy_Ën )[1]; 1350 yy_¡©e = yypgo [ yy_n = yyr1 [ yy_n ] ] + 1351 *Ð yy_ps -ð yy_Ën ) + 1; 1352 iàÐ yy_¡©e >ð YYLAST || 1353 yychk [ yy_¡©e = 1354 yyaù [ yy_¡©e ] ] !ð- yy_n ) 1356 yy_¡©e = yyaù [ yypgo [ yy_n ] ]; 1358  yy_¡ack ; 1360 yy_Ën >>= 1; 1361 yyv® = ( yy_pv -ð yy_Ën )[1]; 1362 yy_¡©e = yypgo [ yy_n = yyr1 [ yy_n ] ] + 1363 *Ð yy_ps -ð yy_Ën ) + 1; 1364 iàÐ yy_¡©e >ð YYLAST || 1365 yychk [ yy_¡©e = yyaù [ yy_¡©�] ] !ð- yy_n ) 1367 yy_¡©e = yyaù [ yypgo [ yy_n ] ]; 1371 yy¡©e = yy_¡©e ; 1372 yyps = yy_ps ; 1373 yypv = yy_pv ; 1378  yytmp ) 1384 #ià `defšed ( YYDEBUG è&& defšed( DEBUGGING ) 1385 yydebug = ( debug & 1); 1390 { ià( š_ev® ) 1391 ev®_roÙ = `block_h—d ( yypvt [-0]. cmdv® ); 1393 maš_roÙ = `block_h—d ( yypvt [-0]. cmdv® ); } ; 1396 { yyv® . compv® . comp_Œue = yypvt [-2]. cmdv® ; yyv®.compv®. comp_®t = yypvt[-0].cmdval; } ; 1399 { yyv® . compv® . comp_Œue = yypvt [-1]. cmdv® ; yyv®.compv®. comp_®t = yypvt[-0].cmdval; } ; 1402 { yyv® . cmdv® = NuÎcmd ; } ; 1405 { yyv® . cmdv® = yypvt [-0].cmdval; } ; 1408 { cmdlše = yypvt [-4]. iv® ; 1409 yyv® . cmdv® = `make_ccmd ( C_ELSIF , yypvt [-2]. ¬g ,yypvt[-0]. compv® ); } ; 1412 { yyv® . cmdv® = `block_h—d ( yypvt [-1].cmdval); 1413 ià( §ve¡ack -> ¬y_fžl > yypvt [-2]. iv® ) 1414 `»¡Ü–i¡ ( yypvt [-2]. iv® ); } ; 1417 { yyv® . iv® = §ve¡ack -> ¬y_fžl ; } ; 1420 { yyv® . cmdv® = NuÎcmd ; } ; 1423 { yyv® . cmdv® = `­³nd_lše ( yypvt [-1].cmdval,yypvt[-0].cmdval); } ; 1426 { yyv® . cmdv® = NuÎcmd ; } ; 1429 { yyv® . cmdv® = `add_Ïb– ( yypvt [-1]. cv® ,yypvt[-0].cmdval); } ; 1432 { ià( yypvt [-1]. cv® !ð NuÎch ) { 1433 yyv® . cmdv® = `add_Ïb– ( yypvt [-1]. cv® , `make_acmd ( C_EXPR , NuΡab , 1434 Nuάg , Nullarg) ); 1437 yyv® . cmdv® = NuÎcmd ; 1438 cmdlše = NOLINE ; 1442 { yyv® . cmdv® = `add_Ïb– ( yypvt [-2]. cv® ,yypvt[-1].cmdval); } ; 1445 { yyv® . cmdv® = NuÎcmd ; } ; 1448 { yyv® . cmdv® = `make_acmd ( C_EXPR , NuΡab , yypvt [-0]. ¬g , Nuάg ); } ; 1451 { yyv® . cmdv® = `addcÚd ( 1452 `make_acmd ( C_EXPR , NuΡab , Nuάg , yypvt [-2]. ¬g ), yypvt[-0].arg); } ; 1455 { yyv® . cmdv® = `addcÚd ( `šv”t ( 1456 `make_acmd ( C_EXPR , NuΡab , Nuάg , yypvt [-2]. ¬g )), yypvt[-0].arg); } ; 1459 { yyv® . cmdv® = `addloÝ ( 1460 `make_acmd ( C_EXPR , NuΡab , Nuάg , yypvt [-2]. ¬g ), yypvt[-0].arg); } ; 1463 { yyv® . cmdv® = `addloÝ ( `šv”t ( 1464 `make_acmd ( C_EXPR , NuΡab , Nuάg , yypvt [-2]. ¬g )), yypvt[-0].arg); } ; 1467 { cmdlše = yypvt [-4]. iv® ; 1468 yyv® . cmdv® = `make_icmd ( C_IF , yypvt [-2]. ¬g ,yypvt[-0]. compv® ); } ; 1471 { cmdlše = yypvt [-4]. iv® ; 1472 yyv® . cmdv® = `šv”t ( `make_icmd ( C_IF , yypvt [-2]. ¬g ,yypvt[-0]. compv® )); } ; 1475 { cmdlše = yypvt [-2]. iv® ; 1476 yyv® . cmdv® = `make_ccmd ( C_IF , `cmd_to_¬g ( yypvt [-1].cmdv®),yypvt[-0]. compv® ); } ; 1479 { cmdlše = yypvt [-2]. iv® ; 1480 yyv® . cmdv® = `šv”t ( `make_ccmd ( C_IF , `cmd_to_¬g ( yypvt [-1].cmdv®),yypvt[-0]. compv® )); } ; 1483 { cmdlše = yypvt [-4]. iv® ; 1484 yyv® . cmdv® = `wÝt ( `add_Ïb– ( yypvt [-5]. cv® , 1485 `make_ccmd ( C_WHILE , yypvt [-2]. ¬g ,yypvt[-0]. compv® ) )); } ; 1488 { cmdlše = yypvt [-4]. iv® ; 1489 yyv® . cmdv® = `wÝt ( `add_Ïb– ( yypvt [-5]. cv® , 1490 `šv”t ( `make_ccmd ( C_WHILE , yypvt [-2]. ¬g ,yypvt[-0]. compv® )) )); } ; 1493 { cmdlše = yypvt [-2]. iv® ; 1494 yyv® . cmdv® = `wÝt ( `add_Ïb– ( yypvt [-3]. cv® , 1495 `make_ccmd ( C_WHILE , `cmd_to_¬g ( yypvt [-1]. cmdv® ),yypvt[-0]. compv® ) )); } ; 1498 { cmdlše = yypvt [-2]. iv® ; 1499 yyv® . cmdv® = `wÝt ( `add_Ïb– ( yypvt [-3]. cv® , 1500 `šv”t ( `make_ccmd ( C_WHILE , `cmd_to_¬g ( yypvt [-1]. cmdv® ),yypvt[-0]. compv® )) )); } ; 1503 { cmdlše = yypvt [-5]. iv® ; 1516 ià( yypvt [-2]. ¬g -> ¬g_ty³ !ð O_ARRAY ) { 1517 sü¡ab = `¯dd ( `g’¡ab ()); 1518 yyv® . cmdv® = `­³nd_lše ( 1519 `make_acmd ( C_EXPR , NuΡab , 1520 `l ( `make_Ý ( O_ASSIGN ,2, 1521 `li¡ish ( `make_Ý ( O_ARRAY , 1, 1522 `¡ab2¬g ( A_STAB , sü¡ab ), 1523 Nuάg ,Nullarg )), 1524 `li¡ish ( `make_li¡ ( yypvt [-2]. ¬g )), 1525 Nuάg )), 1526 Nuάg ), 1527 `wÝt ( `ov” ( yypvt [-4]. ¡abv® , `add_Ïb– (yypvt[-6]. cv® , 1528 `make_ccmd ( C_WHILE , 1529 `make_Ý ( O_ARRAY , 1, 1530 `¡ab2¬g ( A_STAB , sü¡ab ), 1531 Nuάg ,Nullarg ), 1532 yypvt [-0]. compv® ))))); 1533 yyv® . cmdv® -> c_lše = yypvt [-5]. iv® ; 1534 yyv® . cmdv® -> c_h—d -> c_lše = yypvt [-5]. iv® ; 1537 yyv® . cmdv® = `wÝt ( `ov” ( yypvt [-4]. ¡abv® , `add_Ïb– (yypvt[-6]. cv® , 1538 `make_ccmd ( C_WHILE , yypvt [-2]. ¬g ,yypvt[-0]. compv® ) ))); 1543 { cmdlše = yypvt [-4]. iv® ; 1544 ià( yypvt [-2]. ¬g -> ¬g_ty³ !ð O_ARRAY ) { 1545 sü¡ab = `¯dd ( `g’¡ab ()); 1546 yyv® . cmdv® = `­³nd_lše ( 1547 `make_acmd ( C_EXPR , NuΡab , 1548 `l ( `make_Ý ( O_ASSIGN ,2, 1549 `li¡ish ( `make_Ý ( O_ARRAY , 1, 1550 `¡ab2¬g ( A_STAB , sü¡ab ), 1551 Nuάg ,Nullarg )), 1552 `li¡ish ( `make_li¡ ( yypvt [-2]. ¬g )), 1553 Nuάg )), 1554 Nuάg ), 1555 `wÝt ( `ov” ( def¡ab , `add_Ïb– ( yypvt [-5]. cv® , 1556 `make_ccmd ( C_WHILE , 1557 `make_Ý ( O_ARRAY , 1, 1558 `¡ab2¬g ( A_STAB , sü¡ab ), 1559 Nuάg ,Nullarg ), 1560 yypvt [-0]. compv® ))))); 1561 yyv® . cmdv® -> c_lše = yypvt [-4]. iv® ; 1562 yyv® . cmdv® -> c_h—d -> c_lše = yypvt [-4]. iv® ; 1565 yyv® . cmdv® = `wÝt ( `ov” ( def¡ab , `add_Ïb– ( yypvt [-5]. cv® , 1566 `make_ccmd ( C_WHILE , yypvt [-2]. ¬g ,yypvt[-0]. compv® ) ))); 1571 { yyv® . compv® . comp_Œue = yypvt [-0]. cmdv® ; 1572 yyv® . compv® . comp_®t = yypvt [-2]. cmdv® ; 1573 cmdlše = yypvt [-8]. iv® ; 1574 yyv® . cmdv® = `­³nd_lše ( yypvt [-6].cmdv®, `wÝt ( `add_Ïb– (yypvt[-9]. cv® , 1575 `make_ccmd ( C_WHILE , yypvt [-4]. ¬g , yyv® . compv® ) ))); } ; 1578 { yyv® . cmdv® = `add_Ïb– ( yypvt [-1]. cv® , `make_ccmd ( C_BLOCK , Nuάg ,yypvt[-0]. compv® )); } ; 1581 { yyv® . cmdv® = NuÎcmd ; } ; 1584 { () `sÿn¡r ("1"); yyv® . ¬g = yylv® .arg; } ; 1587 { yyv® . cv® = NuÎch ; } ; 1590 { yyv® . iv® = 0; } ; 1593 { yyv® . iv® = 0; } ; 1596 { yyv® . iv® = 0; } ; 1599 { ià( `¡rEQ ( yypvt [-2]. cv® ,"stdout")) 1600 `make_fÜm ( `¡ab’t ("STDOUT", TRUE ), yypvt [-0]. fÜmv® ); 1601 ià( `¡rEQ ( yypvt [-2]. cv® ,"stderr")) 1602 `make_fÜm ( `¡ab’t ("STDERR", TRUE ), yypvt [-0]. fÜmv® ); 1604 `make_fÜm ( `¡ab’t ( yypvt [-2]. cv® , TRUE ),yypvt[-0]. fÜmv® ); 1605 `Saãä“ ( yypvt [-2]. cv® ); yypvt[-2].cv® = NuÎch ; } ; 1608 { `make_fÜm ( `¡ab’t ("STDOUT", TRUE ), yypvt [-0]. fÜmv® ); } ; 1611 { `make_sub ( yypvt [-1]. cv® ,yypvt[-0]. cmdv® ); } ; 1614 {  tmpbuf [256]; 1615 STAB * tmp¡ab ; 1617 `§veh±r (& cur¡ash ); 1618 `§ve™em ( cur¡Çme ); 1619 `¡r_£t ( cur¡Çme , yypvt [-1]. cv® ); 1620 `¥rštf ( tmpbuf ,"'_%s", yypvt [-1]. cv® ); 1621 tmp¡ab = `¡ab’t ( tmpbuf , TRUE ); 1622 ià(! `¡ab_xhash ( tmp¡ab )) 1623 `¡ab_xhash ( tmp¡ab èð `hÃw (0); 1624 cur¡ash = `¡ab_xhash ( tmp¡ab ); 1625 ià(! cur¡ash -> tbl_Çme ) 1626 cur¡ash -> tbl_Çme = `§ve¡r ( yypvt [-1]. cv® ); 1627 cur¡ash -> tbl_cÛffsize = 0; 1628 `Saãä“ ( yypvt [-1]. cv® ); yypvt[-1].cv® = NuÎch ; 1629 cmdlše = NOLINE ; 1633 { yyv® . ¬g = yypvt [-0].arg; } ; 1636 { yyv® . ¬g = `make_Ý ( O_COMMA , 2, yypvt [-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1639 { yyv® . ¬g = yypvt [-0].arg; } ; 1642 { yypvt [-2]. ¬g = `li¡ish (yypvt[-2].arg); 1643 ià( yypvt [-2]. ¬g -> ¬g_ty³ =ð O_ASSIGN && yypvt[-2].¬g-> ¬g_Ën == 1) 1644 yypvt [-2]. ¬g -> ¬g_ty³ = O_ITEM ; 1645 ià( yypvt [-2]. ¬g -> ¬g_ty³ =ð O_LIST ) 1646 yypvt [-0]. ¬g = `li¡ish (yypvt[-0].arg); 1647 yyv® . ¬g = `l ( `make_Ý ( O_ASSIGN , 2, yypvt [-2].¬g, yypvt[-0].¬g, Nuάg )); } ; 1650 { yyv® . ¬g = `l ( `make_Ý ( O_POW , 2, yypvt [-3].¬g, yypvt[-0].¬g, Nuάg )); } ; 1653 { yyv® . ¬g = `l ( `make_Ý ( yypvt [-2]. iv® , 2, yypvt[-3].¬g, yypvt[-0].¬g, Nuάg )); } ; 1656 { yyv® . ¬g = `rÿtmaybe ( `l ( `make_Ý ( yypvt [-2]. iv® , 2, yypvt[-3].¬g, yypvt[-0].¬g, Nuάg )));} ; 1659 { yyv® . ¬g = `l ( `make_Ý ( O_LEFT_SHIFT , 2, yypvt [-3].¬g, yypvt[-0].¬g, Nuάg )); } ; 1662 { yyv® . ¬g = `l ( `make_Ý ( O_RIGHT_SHIFT , 2, yypvt [-3].¬g, yypvt[-0].¬g, Nuάg )); } ; 1665 { yyv® . ¬g = `l ( `make_Ý ( O_BIT_AND , 2, yypvt [-3].¬g, yypvt[-0].¬g, Nuάg )); } ; 1668 { yyv® . ¬g = `l ( `make_Ý ( O_XOR , 2, yypvt [-3].¬g, yypvt[-0].¬g, Nuάg )); } ; 1671 { yyv® . ¬g = `l ( `make_Ý ( O_BIT_OR , 2, yypvt [-3].¬g, yypvt[-0].¬g, Nuάg )); } ; 1674 { yyv® . ¬g = `make_Ý ( O_POW , 2, yypvt [-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1677 { ià( yypvt [-1]. iv® =ð O_REPEAT ) 1678 yypvt [-2]. ¬g = `li¡ish (yypvt[-2].arg); 1679 yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® , 2, yypvt[-2].¬g, yypvt[-0].¬g, Nuάg ); 1680 ià( yypvt [-1]. iv® =ð O_REPEAT ) { 1681 ià( yyv® . ¬g [1]. ¬g_ty³ !ð A_EXPR || 1682 yyv® . ¬g [1]. ¬g_±r . ¬g_¬g -> ¬g_ty³ !ð O_LIST ) 1683 yyv® . ¬g [1]. ¬g_æags &ð~ AF_ARYOK ; 1687 { yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® , 2, yypvt[-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1690 { yyv® . ¬g = `make_Ý ( O_LEFT_SHIFT , 2, yypvt [-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1693 { yyv® . ¬g = `make_Ý ( O_RIGHT_SHIFT , 2, yypvt [-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1696 { yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® , 2, yypvt[-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1699 { yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® , 2, yypvt[-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1702 { yyv® . ¬g = `make_Ý ( O_BIT_AND , 2, yypvt [-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1705 { yyv® . ¬g = `make_Ý ( O_XOR , 2, yypvt [-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1708 { yyv® . ¬g = `make_Ý ( O_BIT_OR , 2, yypvt [-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1711 { ¬g4 = Nuάg ; 1712 yyv® . ¬g = `make_Ý ( O_F_OR_R , 4, yypvt [-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1715 { yyv® . ¬g = `make_Ý ( O_AND , 2, yypvt [-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1718 { yyv® . ¬g = `make_Ý ( O_OR , 2, yypvt [-2].¬g, yypvt[-0].¬g, Nuάg ); } ; 1721 { yyv® . ¬g = `make_Ý ( O_COND_EXPR , 3, yypvt [-4].arg, yypvt[-2].arg, yypvt[-0].arg); } ; 1724 { yyv® . ¬g = `mod_m©ch ( O_MATCH , yypvt [-2].arg, yypvt[-0].arg); } ; 1727 { yyv® . ¬g = `mod_m©ch ( O_NMATCH , yypvt [-2].arg, yypvt[-0].arg); } ; 1730 { yyv® . ¬g = yypvt [-0].arg; } ; 1733 { yyv® . ¬g = `make_Ý ( O_NEGATE , 1, yypvt [-0].¬g, Nuάg , Nullarg); } ; 1736 { yyv® . ¬g = yypvt [-0].arg; } ; 1739 { yyv® . ¬g = `make_Ý ( O_NOT , 1, yypvt [-0].¬g, Nuάg , Nullarg); } ; 1742 { yyv® . ¬g = `make_Ý ( O_COMPLEMENT , 1, yypvt [-0].¬g, Nuάg , Nullarg);} ; 1745 { yyv® . ¬g = `addæags (1, AF_POST | AF_UP , 1746 `l ( `make_Ý ( O_ITEM ,1, yypvt [-1]. ¬g , Nuάg ,Nullarg))); } ; 1749 { yyv® . ¬g = `addæags (1, AF_POST , 1750 `l ( `make_Ý ( O_ITEM ,1, yypvt [-1]. ¬g , Nuάg ,Nullarg))); } ; 1753 { yyv® . ¬g = `addæags (1, AF_PRE | AF_UP , 1754 `l ( `make_Ý ( O_ITEM ,1, yypvt [-0]. ¬g , Nuάg ,Nullarg))); } ; 1757 { yyv® . ¬g = `addæags (1, AF_PRE , 1758 `l ( `make_Ý ( O_ITEM ,1, yypvt [-0]. ¬g , Nuάg ,Nullarg))); } ; 1761 { ݬgs [ yypvt [-1]. iv® ] = 0; 1762 yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® , 1, 1763 `¡ab2¬g ( A_STAB , `¡ab’t ( yypvt [-0]. cv® , TRUE )), 1764 Nuάg , Nullarg); 1768 { ݬgs [ yypvt [-1]. iv® ] = 1; 1769 yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® , 1, yypvt[-0].¬g, Nuάg , Nullarg); } ; 1772 { ݬgs [ yypvt [-0]. iv® ] = (yypvt[-0].iv® !ð O_FTTTY ); 1773 yyv® . ¬g = `make_Ý ( yypvt [-0]. iv® , 1, 1774 `¡ab2¬g ( A_STAB , 1775 yypvt [-0]. iv® =ð O_FTTTY ? `¡ab’t ("STDIN", TRUE ): def¡ab ), 1776 Nuάg , Nullarg); } ; 1779 { yyv® . ¬g = `l ( `loÿlize ( `make_Ý ( O_ASSIGN , 1, 1780 `loÿlize ( `li¡ish ( `make_li¡ ( yypvt [-1]. ¬g ))), 1781 Nuάg ,Nullarg))); } ; 1784 { yyv® . ¬g = `make_li¡ ( yypvt [-2].arg); } ; 1787 { yyv® . ¬g = `make_li¡ ( yypvt [-1].arg); } ; 1790 { yyv® . ¬g = `make_li¡ ( Nuάg ); } ; 1793 { yyv® . ¬g = `make_Ý ( O_DOFILE ,2, yypvt [-0].¬g, Nuάg ,Nullarg); 1794 ®l¡abs = TRUE ;} ; 1797 { yyv® . ¬g = `cmd_to_¬g ( yypvt [-0]. cmdv® ); } ; 1800 { yyv® . ¬g = `¡ab2¬g ( A_STAB , yypvt [-0]. ¡abv® ); } ; 1803 { yyv® . ¬g = `¡ab2¬g ( A_STAR , yypvt [-0]. ¡abv® ); } ; 1806 { yyv® . ¬g = `make_Ý ( O_AELEM , 2, 1807 `¡ab2¬g ( A_STAB , `¯dd ( yypvt [-3]. ¡abv® )), yypvt[-1]. ¬g , Nuάg ); } ; 1810 { yyv® . ¬g = `make_Ý ( O_HASH , 1, 1811 `¡ab2¬g ( A_STAB , yypvt [-0]. ¡abv® ), 1812 Nuάg , Nullarg); } ; 1815 { yyv® . ¬g = `make_Ý ( O_ARRAY , 1, 1816 `¡ab2¬g ( A_STAB , yypvt [-0]. ¡abv® ), 1817 Nuάg , Nullarg); } ; 1820 { yyv® . ¬g = `make_Ý ( O_HELEM , 2, 1821 `¡ab2¬g ( A_STAB , `hadd ( yypvt [-3]. ¡abv® )), 1822 `jmaybe ( yypvt [-1]. ¬g ), 1823 Nuάg ); } ; 1826 { yyv® . ¬g = `make_Ý ( O_LSLICE , 3, 1827 Nuάg , 1828 `li¡ish ( `make_li¡ ( yypvt [-1]. ¬g )), 1829 `li¡ish ( `make_li¡ ( yypvt [-4]. ¬g ))); } ; 1832 { yyv® . ¬g = `make_Ý ( O_LSLICE , 3, 1833 Nuάg , 1834 `li¡ish ( `make_li¡ ( yypvt [-1]. ¬g )), 1835 Nuάg ); } ; 1838 { yyv® . ¬g = `make_Ý ( O_ASLICE , 2, 1839 `¡ab2¬g ( A_STAB , `¯dd ( yypvt [-3]. ¡abv® )), 1840 `li¡ish ( `make_li¡ ( yypvt [-1]. ¬g )), 1841 Nuάg ); } ; 1844 { yyv® . ¬g = `make_Ý ( O_HSLICE , 2, 1845 `¡ab2¬g ( A_STAB , `hadd ( yypvt [-3]. ¡abv® )), 1846 `li¡ish ( `make_li¡ ( yypvt [-1]. ¬g )), 1847 Nuάg ); } ; 1850 { yyv® . ¬g = `make_Ý ( O_DELETE , 2, 1851 `¡ab2¬g ( A_STAB , `hadd ( yypvt [-3]. ¡abv® )), 1852 `jmaybe ( yypvt [-1]. ¬g ), 1853 Nuάg ); } ; 1856 { yyv® . ¬g = `¡ab2¬g ( A_ARYLEN , yypvt [-0]. ¡abv® ); } ; 1859 { yyv® . ¬g = yypvt [-0].arg; } ; 1862 { yyv® . ¬g = yypvt [-0].arg; } ; 1865 { yyv® . ¬g = yypvt [-0].arg; } ; 1868 { yyv® . ¬g = yypvt [-0].arg; } ; 1871 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 1872 `¡ab2¬g ( A_WORD , `¡ab’t ( yypvt [-3]. cv® , TRUE )), 1873 `make_li¡ ( yypvt [-1]. ¬g ), 1874 Nuάg ); `Saãä“ ( yypvt [-3]. cv® ); yypvt[-3].cv® = NuÎch ; 1875 yyv® . ¬g -> ¬g_æags |ð AF_DEPR ; } ; 1878 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 1879 `¡ab2¬g ( A_WORD , `¡ab’t ( yypvt [-3]. cv® , TRUE )), 1880 `make_li¡ ( yypvt [-1]. ¬g ), 1881 Nuάg ); `Saãä“ ( yypvt [-3]. cv® ); yypvt[-3].cv® = NuÎch ; } ; 1884 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 1885 `¡ab2¬g ( A_WORD , `¡ab’t ( yypvt [-2]. cv® , TRUE )), 1886 `make_li¡ ( Nuάg ), 1887 Nuάg ); 1888 yyv® . ¬g -> ¬g_æags |ð AF_DEPR ; } ; 1891 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 1892 `¡ab2¬g ( A_WORD , `¡ab’t ( yypvt [-2]. cv® , TRUE )), 1893 `make_li¡ ( Nuάg ), 1894 Nuάg ); } ; 1897 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 1898 `¡ab2¬g ( A_WORD , `¡ab’t ( yypvt [-0]. cv® , TRUE )), 1899 Nuάg , 1900 Nuάg ); } ; 1903 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 1904 `¡ab2¬g ( A_STAB , yypvt [-3]. ¡abv® ), 1905 `make_li¡ ( yypvt [-1]. ¬g ), 1906 Nuάg ); 1907 yyv® . ¬g -> ¬g_æags |ð AF_DEPR ; } ; 1910 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 1911 `¡ab2¬g ( A_STAB , yypvt [-3]. ¡abv® ), 1912 `make_li¡ ( yypvt [-1]. ¬g ), 1913 Nuάg ); } ; 1916 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 1917 `¡ab2¬g ( A_STAB , yypvt [-2]. ¡abv® ), 1918 `make_li¡ ( Nuάg ), 1919 Nuάg ); 1920 yyv® . ¬g -> ¬g_æags |ð AF_DEPR ; } ; 1923 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 1924 `¡ab2¬g ( A_STAB , yypvt [-2]. ¡abv® ), 1925 `make_li¡ ( Nuάg ), 1926 Nuάg ); } ; 1929 { yyv® . ¬g = `make_Ý (( ³¾db ? O_DBSUBR : O_SUBR ), 2, 1930 `¡ab2¬g ( A_STAB , yypvt [-0]. ¡abv® ), 1931 Nuάg , 1932 Nuάg ); } ; 1935 { yyv® . ¬g = `make_Ý ( yypvt [-0]. iv® ,0, Nuάg ,Nullarg,Nullarg); } ; 1938 { yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® ,1, `cv®_to_¬g (yypvt[-0]. cv® ), 1939 Nuάg ,Nullarg); } ; 1942 { yyv® . ¬g = `make_Ý ( yypvt [-0]. iv® ,0, Nuάg ,Nullarg,Nullarg); } ; 1945 { yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® ,1,yypvt[-0].¬g, Nuάg ,Nullarg); } ; 1948 { yyv® . ¬g = `make_Ý ( O_SELECT , 0, Nuάg , Nullarg, Nullarg);} ; 1951 { yyv® . ¬g = `make_Ý ( O_SELECT , 1, yypvt [-1].¬g, Nuάg , Nullarg); } ; 1954 { ¬g4 = yypvt [-1]. ¬g ; 1955 yyv® . ¬g = `make_Ý ( O_SSELECT , 4, yypvt [-4].arg, yypvt[-3].arg, yypvt[-2].arg); } ; 1958 { yyv® . ¬g = `make_Ý ( O_OPEN , 2, 1959 `¡ab2¬g ( A_WORD , `¡ab’t ( yypvt [-0]. cv® , TRUE )), 1960 `¡ab2¬g ( A_STAB , `¡ab’t ( yypvt [-0]. cv® , TRUE )), 1961 Nuάg ); } ; 1964 { yyv® . ¬g = `make_Ý ( O_OPEN , 2, 1965 `¡ab2¬g ( A_WORD , `¡ab’t ( yypvt [-1]. cv® , TRUE )), 1966 `¡ab2¬g ( A_STAB , `¡ab’t ( yypvt [-1]. cv® , TRUE )), 1967 Nuάg ); } ; 1970 { yyv® . ¬g = `make_Ý ( O_OPEN , 2, 1971 yypvt [-2]. ¬g , 1972 yypvt [-1]. ¬g , Nuάg ); } ; 1975 { yyv® . ¬g = `make_Ý ( yypvt [-3]. iv® , 1, 1976 yypvt [-1]. ¬g , 1977 Nuάg , Nullarg); } ; 1980 { yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® , 1, 1981 `¡ab2¬g ( A_WORD , `¡ab’t ( yypvt [-0]. cv® , TRUE )), 1982 Nuάg , Nullarg); 1983 `Saãä“ ( yypvt [-0]. cv® ); yypvt[-0].cv® = NuÎch ; } ; 1986 { yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® , 1, 1987 `¡ab2¬g ( A_STAB , yypvt [-0]. ¡abv® ), 1988 Nuάg , Nullarg); } ; 1991 { yyv® . ¬g = `make_Ý ( yypvt [-2]. iv® , 1, 1992 `¡ab2¬g ( A_WORD , NuΡab ), 1993 Nuάg , Nullarg); } ; 1996 { yyv® . ¬g = `make_Ý ( yypvt [-0]. iv® , 0, 1997 Nuάg , Nullarg, Nullarg); } ; 2000 { yyv® . ¬g = `make_Ý ( yypvt [-4]. iv® , 2, yypvt[-2].¬g, yypvt[-1].¬g, Nuάg ); } ; 2003 { yyv® . ¬g = `make_Ý ( yypvt [-5]. iv® , 3, yypvt[-3].¬g, yypvt[-2].¬g, `make_li¡ (yypvt[-1].arg)); } ; 2006 { yyv® . ¬g = `make_Ý ( yypvt [-5]. iv® , 2, yypvt[-3].¬g, yypvt[-1].¬g, Nuάg ); } ; 2009 { ¬g4 = yypvt [-1]. ¬g ; yyv® .¬g = `make_Ý (yypvt[-6]. iv® , 4, yypvt[-4].arg, yypvt[-3].arg, yypvt[-2].arg); } ; 2012 { ¬g4 = yypvt [-2]. ¬g ; ¬g5 = yypvt[-1].arg; 2013 yyv® . ¬g = `make_Ý ( yypvt [-8]. iv® , 5, yypvt[-6].arg, yypvt[-4].arg, yypvt[-3].arg); } ; 2016 { yyv® . ¬g = `make_Ý ( yypvt [-4]. iv® , 2, 2017 yypvt [-2]. ¬g , 2018 `make_li¡ ( yypvt [-1]. ¬g ), 2019 Nuάg ); } ; 2022 { yyv® . ¬g = `make_Ý ( O_POP , 1, yypvt [-0].¬g, Nuάg , Nullarg); } ; 2025 { yyv® . ¬g = `make_Ý ( O_POP , 1, yypvt [-1].¬g, Nuάg , Nullarg); } ; 2028 { yyv® . ¬g = `make_Ý ( O_SHIFT , 1, yypvt [-0].¬g, Nuάg , Nullarg); } ; 2031 { yyv® . ¬g = `make_Ý ( O_SHIFT , 1, yypvt [-1].¬g, Nuάg , Nullarg); } ; 2034 { yyv® . ¬g = `make_Ý ( O_SHIFT , 1, 2035 `¡ab2¬g ( A_STAB , 2036 `¯dd ( `¡ab’t ( sublše ? "_" : "ARGV", TRUE ))), 2037 Nuάg , Nullarg); } ; 2040 {  p []="/\\s+/"; 2041 * Þd’d = buãnd ; 2042 ARG * Þd¬g = yylv® . ¬g ; 2044 buãnd = p +5; 2045 () `sÿÅ© ( p ); 2046 buãnd = Þd’d ; 2047 yyv® . ¬g = `make_¥l™ ( def¡ab , yylv® .¬g, Nuάg ); 2048 yylv® . ¬g = Þd¬g ; } ; 2051 { yyv® . ¬g = `mod_m©ch ( O_MATCH , yypvt [-2].arg, 2052 `make_¥l™ ( def¡ab , yypvt [-3]. ¬g ,yypvt[-1].arg));} ; 2055 { yyv® . ¬g = `mod_m©ch ( O_MATCH , yypvt [-1].arg, 2056 `make_¥l™ ( def¡ab , yypvt [-2]. ¬g , Nuάg ) ); } ; 2059 { yyv® . ¬g = `mod_m©ch ( O_MATCH , 2060 `¡ab2¬g ( A_STAB , def¡ab ), 2061 `make_¥l™ ( def¡ab , yypvt [-1]. ¬g , Nuάg ) ); } ; 2064 { yyv® . ¬g = `make_Ý ( yypvt [-4]. iv® , 2, 2065 yypvt [-2]. ¬g , 2066 `li¡ish ( `make_li¡ ( yypvt [-1]. ¬g )), 2067 Nuάg ); } ; 2070 { yyv® . ¬g = `make_Ý ( yypvt [-3]. iv® , 1, 2071 `make_li¡ ( yypvt [-1]. ¬g ), 2072 Nuάg , 2073 Nuάg ); } ; 2076 { yyv® . ¬g = `l ( `make_Ý ( yypvt [-1]. iv® , 1, `fixl (yypvt[-1].ival,yypvt[-0].arg), 2077 Nuάg , Nullarg)); } ; 2080 { yyv® . ¬g = `l ( `make_Ý ( yypvt [-0]. iv® , 1, 2081 `¡ab2¬g ( A_STAB , def¡ab ), 2082 Nuάg , Nullarg)); } ; 2085 { yyv® . ¬g = `make_Ý ( yypvt [-0]. iv® , 0, Nuάg , Nullarg, Nullarg); } ; 2088 { yyv® . ¬g = `make_Ý ( yypvt [-2]. iv® , 0, Nuάg , Nullarg, Nullarg); } ; 2091 { yyv® . ¬g = `make_Ý ( yypvt [-2]. iv® , 0, Nuάg , Nullarg, Nullarg); } ; 2094 { yyv® . ¬g = `make_Ý ( yypvt [-3]. iv® , 1, yypvt[-1].¬g, Nuάg , Nullarg); } ; 2097 { yyv® . ¬g = `make_Ý ( yypvt [-4]. iv® , 2, yypvt[-2].¬g, yypvt[-1].¬g, Nuάg ); 2098 ià( yypvt [-4]. iv® =ð O_INDEX && yyv® . ¬g [2]. ¬g_ty³ =ð A_SINGLE ) 2099 `fbmcompže ( yyv® . ¬g [2]. ¬g_±r . ¬g_¡r ,0); } ; 2102 { yyv® . ¬g = `make_Ý ( yypvt [-4]. iv® , 2, yypvt[-2].¬g, yypvt[-1].¬g, Nuάg ); 2103 ià( yypvt [-4]. iv® =ð O_INDEX && yyv® . ¬g [2]. ¬g_ty³ =ð A_SINGLE ) 2104 `fbmcompže ( yyv® . ¬g [2]. ¬g_±r . ¬g_¡r ,0); } ; 2107 { yyv® . ¬g = `make_Ý ( yypvt [-5]. iv® , 3, yypvt[-3].arg, yypvt[-2].arg, yypvt[-1].arg); 2108 ià( yypvt [-5]. iv® =ð O_INDEX && yyv® . ¬g [2]. ¬g_ty³ =ð A_SINGLE ) 2109 `fbmcompže ( yyv® . ¬g [2]. ¬g_±r . ¬g_¡r ,0); } ; 2112 { yyv® . ¬g = `make_Ý ( yypvt [-5]. iv® , 3, yypvt[-3].arg, yypvt[-2].arg, yypvt[-1].arg); } ; 2115 { ¬g4 = yypvt [-1]. ¬g ; 2116 yyv® . ¬g = `make_Ý ( yypvt [-6]. iv® , 4, yypvt[-4].arg, yypvt[-3].arg, yypvt[-2].arg); } ; 2119 { ¬g4 = yypvt [-2]. ¬g ; ¬g5 = yypvt[-1].arg; 2120 yyv® . ¬g = `make_Ý ( yypvt [-7]. iv® , 5, yypvt[-5].arg, yypvt[-4].arg, yypvt[-3].arg); } ; 2123 { yyv® . ¬g = `make_Ý ( yypvt [-3]. iv® , 1, 2124 yypvt [-1]. ¬g , 2125 Nuάg , 2126 Nuάg ); } ; 2129 { yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® , 1, 2130 yypvt [-0]. ¬g , 2131 Nuάg , 2132 Nuάg ); } ; 2135 { yyv® . ¬g = `make_Ý ( yypvt [-5]. iv® , 3, yypvt[-3].arg, yypvt[-2].arg, yypvt[-1].arg); } ; 2138 { yyv® . ¬g = `make_Ý ( yypvt [-0]. iv® ,2, 2139 `¡ab2¬g ( A_WORD , NuΡab ), 2140 `¡ab2¬g ( A_STAB , def¡ab ), 2141 Nuάg ); } ; 2144 { yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® ,2, 2145 `¡ab2¬g ( A_WORD , NuΡab ), 2146 `mayb–i¡ish ( yypvt [-1]. iv® , `make_li¡ (yypvt[-0]. ¬g )), 2147 Nuάg ); } ; 2150 { yyv® . ¬g = `make_Ý ( yypvt [-1]. iv® ,2, 2151 `¡ab2¬g ( A_WORD , `¡ab’t ( yypvt [-0]. cv® , TRUE )), 2152 `¡ab2¬g ( A_STAB , def¡ab ), 2153 Nuάg ); } ; 2156 { yyv® . ¬g = `make_Ý ( yypvt [-2]. iv® ,2, 2157 `¡ab2¬g ( A_WORD , `¡ab’t ( yypvt [-1]. cv® , TRUE )), 2158 `mayb–i¡ish ( yypvt [-2]. iv® , `make_li¡ (yypvt[-0]. ¬g )), 2159 Nuάg ); `Saãä“ ( yypvt [-1]. cv® ); yypvt[-1].cv® = NuÎch ; } ; 2162 { yyv® . ¬g = `make_Ý ( yypvt [-2]. iv® ,2, 2163 `¡ab2¬g ( A_STAB , yypvt [-1]. ¡abv® ), 2164 `mayb–i¡ish ( yypvt [-2]. iv® , `make_li¡ (yypvt[-0]. ¬g )), 2165 Nuάg ); } ; 2168 { yyv® . ¬g = `¡ab2¬g ( A_WORD , `¡ab’t ( yypvt [-0]. cv® , TRUE )); 2169 `Saãä“ ( yypvt [-0]. cv® ); yypvt[-0].cv® = NuÎch ;} ; 2172 { yyv® . ¬g = `¡ab2¬g ( A_WORD , `¯dd ( `¡ab’t ( yypvt [-0]. cv® , TRUE ))); 2173 `Saãä“ ( yypvt [-0]. cv® ); yypvt[-0].cv® = NuÎch ; } ; 2176 { yyv® . ¬g = `¡ab2¬g ( A_STAB , yypvt [-0]. ¡abv® ); } ; 2179 { yyv® . ¬g = `¡ab2¬g ( A_WORD , `hadd ( `¡ab’t ( yypvt [-0]. cv® , TRUE ))); 2180 `Saãä“ ( yypvt [-0]. cv® ); yypvt[-0].cv® = NuÎch ; } ; 2183 { yyv® . ¬g = `¡ab2¬g ( A_STAB , yypvt [-0]. ¡abv® ); } ; 2186 { * s ; 2187 yyv® . ¬g = `Ý_Ãw (1); 2188 yyv® . ¬g -> ¬g_ty³ = O_ITEM ; 2189 yyv® . ¬g [1]. ¬g_ty³ = A_SINGLE ; 2190 yyv® . ¬g [1]. ¬g_±r . ¬g_¡r = `¡r_make ( yypvt [-0]. cv® ,0); 2191  s = yypvt [-0]. cv® ; * && `i¦ow” (*s); s++) ; 2192 ià( dow¬n && !* s ) 2193 `w¬n ( 2195 yypvt [-0]. cv® ); 2198  yy¡ack ; 2199 } } @usersub.c 13  ~"EXTERN.h " 14  ~"³¾.h " 16 $u£rš™ () 19 } } 30 #ifdeà CRYPTSCRIPT 32  ~ 33 #ifdeà I_VFORK 34  ~ 37  #CRYPT_MAGIC_1 0xfb ) 38  #CRYPT_MAGIC_2 0xf1 ) 40 $üy±fž‹r Ð fž ) 41 FILE * fž ; 43  ch ; 45  ( ch = `g‘c Ð fž )è!ð EOF ) { 46 `putch¬ Ð( ch ^ 0x80) ); 48 } } 50 #iâdeà MSDOS 51  FILE * gÏ¡p�efže ; 52  gp�•id ; 54 #ifdeà VOIDSIG 55  #VOID  ) 57  #VOID  ) 60 FILE * 61 $mypfiÝ’ ( fž , func ) 62 FILE * fž ; 63 `VOID (* func )(); 65  p [2]; 66 STR * ¡r ; 68 ià( `p�e ( p ) < 0) { 69 `fþo£ Ð fž ); 70 `ç�l ("Can't get…ipe for decrypt"); 74 `fæush ( ¡dout ); 75 `fæush ( ¡d”r ); 77 ( p�•id = `fÜk ()) < 0) { 78 ià( ”ºo !ð EAGAIN ) { 79 `þo£ ( p [0]); 80 `þo£ ( p [1]); 81 `fþo£ Ð fž ); 82 `ç�l ("Can't fork for decrypt"); 84 `¦“p (5); 86 ià( p�•id == 0) { 87 `þo£ ( p [0]); 88 ià( p [1] != 1) { 89 `dup2 ( p [1], 1); 90 `þo£ ( p [1]); 92 (* func )( fž ); 93 `fæush ( ¡dout ); 94 `fæush ( ¡d”r ); 95 `_ex™ (0); 97 `þo£ ( p [1]); 98 `fþo£ ( fž ); 99 ¡r = `aãtch ( fdpid , p [0], TRUE ); 100 ¡r -> ¡r_u . ¡r_u£ful = p�•id ; 101  `fdÝ’ ( p [0], "r"); 102 } } 104 $üy±sw™ch () 106  ch ; 107 #ifdeà STDSTDIO 109 ià( rså -> _út > 0 && (*rså-> _±r & 0xffè!ð CRYPT_MAGIC_1 ) 112 ch = `g‘c ( rså ); 113 ià( ch =ð CRYPT_MAGIC_1 ) { 114 ià( `g‘c ( rså è=ð CRYPT_MAGIC_2 ) { 115 rså = `mypfiÝ’ Ðrså, üy±fž‹r ); 116 ´•roûss = 1; 119 `ç�l ( "badƒncryption format" ); 122 `ung‘c ( ch , rså ); 123 } } 125 FILE * 126 $üy±Ý’ ( cmd ) 127 * cmd ; 129 FILE * fž = `fÝ’ Ð cmd , "r" ); 131 Ï¡p�efže = NuÎå ; 132 p�•id = 0; 134 ifÐ fž ) { 135  ch = `g‘c Ð fž ); 136  lšes = 0; 137  ch¬s = 0; 144  ch !ð CRYPT_MAGIC_1 && ch !ð EOF && lšes < 5 && ch¬s < 300 ) { 145 ifÐ ch == '\n' ) 146 ++ lšes ; 147 ch = `g‘c Ð fž ); 148 ++ ch¬s ; 151 ifÐ ch =ð CRYPT_MAGIC_1 ) { 152 ifÐ( ch = `g‘c Ð fž ) ) =ð CRYPT_MAGIC_2 ) { 153 ifÐ ³¾db ) `ç�l ("can't debug‡nƒncrypted script"); 155 fž = `mypfiÝ’ Ðfž, üy±fž‹r ); 156 Ð Ï¡p�efže = fž ); 159 `ç�l ( "badƒncryption format" ); 163 `»wšd Ð fž ); 166 Ð fž ); 167 } } 169 VOID 170 $üy±þo£ ( fž ) 171 FILE * fž ; 173 ifÐ fž =ð NuÎå ) 176 ifÐ fž =ð Ï¡p�efže ) 177 `mypþo£ Ð fž ); 179 `fþo£ Ð fž ); 180 } } @util.c 17  ~"EXTERN.h " 18  ~"³¾.h " 20 #ià! defšed ( NSIG è|| defšed( M_UNIX è|| defšed( M_XENIX ) 21  ~ 24 #ifdeà I_VFORK 25  ~ 28 #ifdeà I_VARARGS 29  ~ 32 #ifdeà I_FCNTL 33  ~ 35 #ifdeà I_SYS_FILE 36  ~ 39  #FLUSH ) 41  gnomem [] = "Out of memory!\n"; 45 #ifdeà DEBUGGING 46  gª = 0; 55 $§ãm®loc ( size ) 56 #ifdeà MSDOS 57  size ; 59 MEM_SIZE size ; 62 * ±r ; 63 #iâdeà __STDC__ 64 #ifdeà BWGC 65 * `gc_m®loc (); 67 * `m®loc (); 71 #ifdeà MSDOS 72 ià( size > 0xffff) { 73 `årštf ( ¡d”r , "AÎoÿtiÚ�oØÏrge: %lx\n", size è FLUSH ; 74 `ex™ (1); 77 #ifdeà DEBUGGING 78 ià(() size < 0) 79 `ç�l ("panic: malloc"); 81 #ifdeà BWGC 82 ±r = `gc_m®loc ( size ?size:1); 84 ±r = `m®loc ( size ?size:1); 86 #ifdeà DEBUGGING 87 #iâdeà I286 88 ià( debug & 128) 89 `årštf ( ¡d”r ,"0x%x: (%05dèm®loø%d by‹s\n", ±r , ª ++, size ); 91 ià( debug & 128) 92 `årštf ( ¡d”r ,"0x%lx: (%05dèm®loø%d by‹s\n", ±r , ª ++, size ); 95 ià( ±r !ð NuÎch ) 96  ±r ; 98 `åuts ( nomem , ¡d”r è FLUSH ; 99 `ex™ (1); 102 #ifdeà lšt 103  ±r ; 105 } } 110 $§ã»®loc ( wh”e , size ) 111 * wh”e ; 112 #iâdeà MSDOS 113 MEM_SIZE size ; 115  size ; 118 * ±r ; 119 #iâdeà __STDC__ 120 #ifdeà BWGC 121 * `gc_»®loc (); 123 * `»®loc (); 127 #ifdeà MSDOS 128 ià( size > 0xffff) { 129 `årštf ( ¡d”r , "R—ÎoÿtiÚ�oØÏrge: %lx\n", size è FLUSH ; 130 `ex™ (1); 133 ià(! wh”e ) 134 `ç�l ("Null„ealloc"); 135 #ifdeà DEBUGGING 136 ià(() size < 0) 137 `ç�l ("panic:„ealloc"); 139 #ifdeà BWGC 140 ±r = `gc_»®loc ( wh”e , size ?size:1); 142 ±r = `»®loc ( wh”e , size ?size:1); 144 #ifdeà DEBUGGING 145 #iâdeà I286 146 ià( debug & 128) { 147 `årštf ( ¡d”r ,"0x%x: (%05dèrä“\n", wh”e , ª ++); 148 `årštf ( ¡d”r ,"0x%x: (%05dè»®loø%d by‹s\n", ±r , ª ++, size ); 151 ià( debug & 128) { 152 `årštf ( ¡d”r ,"0x%lx: (%05dèrä“\n", wh”e , ª ++); 153 `årštf ( ¡d”r ,"0x%lx: (%05dè»®loø%d by‹s\n", ±r , ª ++, size ); 157 ià( ±r !ð NuÎch ) 158  ±r ; 160 `åuts ( nomem , ¡d”r è FLUSH ; 161 `ex™ (1); 164 #ifdeà lšt 165  ±r ; 167 } } 172 $§ãä“ ( wh”e ) 173 * wh”e ; 175 #ifdeà DEBUGGING 176 #iâdeà I286 177 ià( debug & 128) 178 `årštf ( ¡d”r ,"0x%x: (%05dèä“\n", wh”e , ª ++); 180 ià( debug & 128) 181 `årštf ( ¡d”r ,"0x%lx: (%05dèä“\n", wh”e , ª ++); 184 #iâdeà IGNOREFREE 185 ià( wh”e ) { 186 `ä“ ( wh”e ); 189 } } 191 #ifdeà LEAKTEST 193  #ALIGN () ) 196 $§ãxm®loc ( x , size ) 197  x ; 198 MEM_SIZE size ; 200 * wh”e ; 202 wh”e = `§ãm®loc ( size + ALIGN ); 203 xcouÁ [ x ]++; 204 wh”e [0] = x % 100; 205 wh”e [1] = x / 100; 206  wh”e + ALIGN ; 207 } } 210 $§ãx»®loc ( wh”e , size ) 211 * wh”e ; 212 MEM_SIZE size ; 214  `§ã»®loc ( wh”e - ALIGN , size + ALIGN) + ALIGN; 215 } } 218 $§ãxä“ ( wh”e ) 219 * wh”e ; 221  x ; 223 ià(! wh”e ) 225 wh”e -ð ALIGN ; 226 x = wh”e [0] + 100 * where[1]; 227 xcouÁ [ x ]--; 228 `§ãä“ ( wh”e ); 229 } } 231 $x¡© () 233  i ; 235  i = 0; i < MAXXCOUNT ; i++) { 236 ià( xcouÁ [ i ] !ð Ï¡xcouÁ [i]) { 237 `årštf ( ¡d”r ,"%2d %2d\t%ld\n", i / 100, i % 100, xcouÁ [i]); 238 Ï¡xcouÁ [ i ] = xcouÁ [i]; 241 } } 248 $ýytžl ( to , äom , äom’d , d–im , »Ž’ ) 249 * to ; 250 * äom ; 251 * äom’d ; 252  d–im ; 253 * »Ž’ ; 255 * Üigto = to ; 257 ; äom < äom’d ; from++, to ++) { 258 ià(* äom == '\\') { 259 ià( äom [1] =ð d–im ) 260 äom ++; 261 ià( äom [1] == '\\') 262 * to ++ = * äom ++; 264 ià(* äom =ð d–im ) 266 * to = * äom ; 268 * to = '\0'; 269 * »Ž’ = to - Üigto ; 270  äom ; 271 } } 277 $š¡r ( big , l™Že ) 278 * big ; 279 * l™Že ; 281 * s , * x ; 282  fœ¡ ; 284 ià(! l™Že ) 285  big ; 286 fœ¡ = * l™Že ++; 287 ià(! fœ¡ ) 288  big ; 289 * big ) { 290 ià(* big ++ !ð fœ¡ ) 292  x = big , s = l™Že ; *s; ) { 293 ià(!* x ) 294  NuÎch ; 295 ià(* s ++ !ð* x ++) { 296 s --; 300 ià(!* s ) 301  big -1; 303  NuÎch ; 304 } } 309 $nš¡r ( big , big’d , l™Že , Ënd ) 310 * big ; 311 * big’d ; 312 * l™Že ; 313 * Ënd ; 315 * s , * x ; 316  fœ¡ = * l™Že ; 317 * l™Ž“nd = Ënd ; 319 ià(! fœ¡ && l™Že > l™Ž“nd ) 320  big ; 321 big’d -ð l™Ž“nd - l™Že ++; 322  big <ð big’d ) { 323 ià(* big ++ !ð fœ¡ ) 325  x = big , s = l™Že ; s < l™Ž“nd ; ) { 326 ià(* s ++ !ð* x ++) { 327 s --; 331 ià( s >ð l™Ž“nd ) 332  big -1; 334  NuÎch ; 335 } } 340 $ºš¡r ( big , big’d , l™Že , Ënd ) 341 * big ; 342 * big’d ; 343 * l™Že ; 344 * Ënd ; 346 * bigbeg ; 347 * s , * x ; 348  fœ¡ = * l™Že ; 349 * l™Ž“nd = Ënd ; 351 ià(! fœ¡ && l™Že > l™Ž“nd ) 352  big’d ; 353 bigbeg = big ; 354 big = big’d - ( l™Ž“nd - l™Že ++); 355  big >ð bigbeg ) { 356 ià(* big -- !ð fœ¡ ) 358  x = big +2, s = l™Že ; s < l™Ž“nd ; ) { 359 ià(* s ++ !ð* x ++) { 360 s --; 364 ià( s >ð l™Ž“nd ) 365  big +1; 367  NuÎch ; 368 } } 370  gfÞd [] = { 405  gäeq [] = { 441 $fbmcompže ( ¡r , iæag ) 442 STR * ¡r ; 443  iæag ; 445 * s ; 446 * �bË ; 447  i ; 448  Ën = ¡r -> ¡r_cur ; 449  ¿»¡ = 0; 450  äequ’cy = 256; 452 `SŒ_Grow ( ¡r , Ën +258); 453 #iâdeà lšt 454 �bË = (*)( ¡r -> ¡r_±r + Ën + 1); 456 �bË = `NuÎ (*); 458 s = �bË - 2; 459  i = 0; i < 256; i++) { 460 �bË [ i ] = Ën ; 462 i = 0; 463 #iâdeà lšt 464  s >ð(*)( ¡r -> ¡r_±r )) 467 ià( �bË [* s ] =ð Ën ) { 468 #iâdeà pdp11 469 ià( iæag ) 470 �bË [* s ] =�abË[ fÞd [*s]] = i ; 472 ià( iæag ) { 473  j ; 474 j = fÞd [* s ]; 475 �bË [ j ] = i ; 476 �bË [* s ] = i ; 480 �bË [* s ] = i ; 482 s --, i ++; 484 ¡r -> ¡r_pok |ð SP_FBM ; 486 #iâdeà lšt 487 s = (*)( ¡r -> ¡r_±r ); 489 s = `NuÎ (*); 491 ià( iæag ) { 492  tmp , fÞdtmp ; 493 ¡r -> ¡r_pok |ð SP_CASEFOLD ; 494  i = 0; i < Ën ; i++) { 495 tmp = äeq [ s [ i ]]; 496 fÞdtmp = äeq [ fÞd [ s [ i ]]]; 497 ià( tmp < äequ’cy && fÞdtmp < frequency) { 498 ¿»¡ = i ; 500 äequ’cy = ( tmp > fÞdtmp ) ?�mp : foldtmp; 505  i = 0; i < Ën ; i++) { 506 ià( äeq [ s [ i ]] < äequ’cy ) { 507 ¿»¡ = i ; 508 äequ’cy = äeq [ s [ i ]]; 512 ¡r -> ¡r_¿» = s [ ¿»¡ ]; 513 ¡r -> ¡r_¡©e = ¿»¡ ; 514 #ifdeà DEBUGGING 515 ià( debug & 512) 516 `årštf ( ¡d”r ,"¿»¡ ch¬ %ø© %d\n", ¡r -> ¡r_¿» , sŒ-> ¡r_¡©e ); 518 } } 521 $fbmš¡r ( big , big’d , l™Že¡r ) 522 * big ; 523 * big’d ; 524 STR * l™Že¡r ; 526 * s ; 527  tmp ; 528  l™Ž–’ ; 529 * l™Že ; 530 * �bË ; 531 * Þds ; 532 * Þdl™Že ; 534 #iâdeà lšt 535 ià(!( l™Že¡r -> ¡r_pok & SP_FBM )) 536  `nš¡r ((*) big ,(*) big’d , 537 l™Že¡r -> ¡r_±r ,†™Že¡r->¡r_±¸+†™Že¡r-> ¡r_cur ); 540 l™Ž–’ = l™Že¡r -> ¡r_cur ; 541 #iâdeà lšt 542 ià( l™Že¡r -> ¡r_pok & SP_TAIL && ! muÉžše ) { 543 ià( l™Ž–’ > big’d - big ) 544  NuÎch ; 545 l™Že = (*) l™Že¡r -> ¡r_±r ; 546 ià( l™Že¡r -> ¡r_pok & SP_CASEFOLD ) { 547 big = big’d - l™Ž–’ ; 548 ià( big’d [-1] =ð'\n' && l™Že [ l™Ž–’ -1] != '\n') 549 big --; 552 s = big’d - l™Ž–’ ; 553 ià(* s =ð* l™Že && `bcmp (s,l™Že, l™Ž–’ )==0) 554  (*) s ; 555 ià( big’d [-1] =ð'\n' && l™Že [ l™Ž–’ -1] != '\n' 556 && s > big ) { 557 s --; 558 ià(* s =ð* l™Že && `bcmp (s,l™Že, l™Ž–’ )==0) 559  (*) s ; 561  NuÎch ; 564 �bË = (*)( l™Že¡r -> ¡r_±r + l™Ž–’ + 1); 566 �bË = `NuÎ (*); 568 ià(-- l™Ž–’ >ð big’d - big ) 569  NuÎch ; 570 s = big + l™Ž–’ ; 571 Þdl™Že = l™Že = �bË - 2; 572 ià( l™Že¡r -> ¡r_pok & SP_CASEFOLD ) { 573 ià( s < big’d ) { 574 tÝ1 : 575 ià( tmp = �bË [* s ]) { 576 #ifdeà POINTERRIGOR 577 ià( big’d - s > tmp ) { 578 s +ð tmp ; 579  tÝ1 ; 582 ià(( s +ð tmp è< big’d ) 583  tÝ1 ; 585  NuÎch ; 588 tmp = l™Ž–’ ; 589 Þds = s ; 590  tmp --) { 591 ià(*-- s =ð*-- l™Že || fÞd [*s] == *little) 593 s = Þds + 1; 594 l™Že = Þdl™Že ; 595 ià( s < big’d ) 596  tÝ1 ; 597  NuÎch ; 599 #iâdeà lšt 600  (*) s ; 606 ià( s < big’d ) { 607 tÝ2 : 608 ià( tmp = �bË [* s ]) { 609 #ifdeà POINTERRIGOR 610 ià( big’d - s > tmp ) { 611 s +ð tmp ; 612  tÝ2 ; 615 ià(( s +ð tmp è< big’d ) 616  tÝ2 ; 618  NuÎch ; 621 tmp = l™Ž–’ ; 622 Þds = s ; 623  tmp --) { 624 ià(*-- s =ð*-- l™Že ) 626 s = Þds + 1; 627 l™Že = Þdl™Že ; 628 ià( s < big’d ) 629  tÝ2 ; 630  NuÎch ; 632 #iâdeà lšt 633  (*) s ; 638  NuÎch ; 639 } } 642 $sü—mš¡r ( big¡r , l™Že¡r ) 643 STR * big¡r ; 644 STR * l™Že¡r ; 646 * s , * x ; 647 * big ; 648  pos ; 649  ´evious ; 650  fœ¡ ; 651 * l™Že ; 652 * big’d ; 653 * l™Ž“nd ; 655 ià(( pos = sü—mfœ¡ [ l™Že¡r -> ¡r_¿» ]) < 0) 656  NuÎch ; 657 #iâdeà lšt 658 l™Že = (*)( l™Že¡r -> ¡r_±r ); 660 l™Že = `NuÎ (*); 662 l™Ž“nd = l™Že + l™Že¡r -> ¡r_cur ; 663 fœ¡ = * l™Že ++; 664 ´evious = l™Že¡r -> ¡r_¡©e ; 665 #iâdeà lšt 666 big = (*)( big¡r -> ¡r_±r ); 668 big = `NuÎ (*); 670 big’d = big + big¡r -> ¡r_cur ; 671 big -ð ´evious ; 672  pos < ´evious ) { 673 #iâdeà lšt 674 ià(!( pos +ð sü—mÃxt [pos])) 676  NuÎch ; 678 ià( l™Že¡r -> ¡r_pok & SP_CASEFOLD ) { 680 ià( big [ pos ] !ð fœ¡ && big[pos] !ð fÞd [first]) 682  x = big + pos +1, s = l™Že ; s < l™Ž“nd ; ) { 683 ià( x >ð big’d ) 684  NuÎch ; 685 ià(* s ++ !ð* x ++ && fÞd [*(s-1)] != *(x-1)) { 686 s --; 690 ià( s =ð l™Ž“nd ) 691 #iâdeà lšt 692  (*)( big + pos ); 694  NuÎch ; 697 #iâdeà lšt 698 pos +ð sü—mÃxt [pos] 700 pos +ð sü—mÃxt [0] 706 ià( big [ pos ] !ð fœ¡ ) 708  x = big + pos +1, s = l™Že ; s < l™Ž“nd ; ) { 709 ià( x >ð big’d ) 710  NuÎch ; 711 ià(* s ++ !ð* x ++) { 712 s --; 716 ià( s =ð l™Ž“nd ) 717 #iâdeà lšt 718  (*)( big + pos ); 720  NuÎch ; 723 #iâdeà lšt 724 pos +ð sü—mÃxt [pos] 726 pos +ð sü—mÃxt [0] 730  NuÎch ; 731 } } 736 $§ve¡r ( ¡r ) 737 * ¡r ; 739 * Ãwaddr ; 741 `New (902, Ãwaddr , `¡¾’ ( ¡r )+1,); 742 () `¡rýy ( Ãwaddr , ¡r ); 743  Ãwaddr ; 744 } } 749 $n§ve¡r ( ¡r , Ën ) 750 * ¡r ; 751  Ën ; 753 * Ãwaddr ; 755 `New (903, Ãwaddr , Ën +1,); 756 () `bcÝy ( ¡r , Ãwaddr , Ën ); 757 Ãwaddr [ Ën ] = '\0'; 758  Ãwaddr ; 759 } } 764 $grow¡r ( ¡½Œ , cu¾’ , ÃwËn ) 765 ** ¡½Œ ; 766 * cu¾’ ; 767  ÃwËn ; 769 ià( ÃwËn > * cu¾’ ) { 770 ià(* cu¾’ ) 771 `R’ew (* ¡½Œ , ÃwËn ,); 773 `New (905,* ¡½Œ , ÃwËn ,); 774 * cu¾’ = ÃwËn ; 776 } } 778 #iâdeà I_VARARGS 780 $mess ( ·t , a1 , a2 , a3 , a4 ) 781 * ·t ; 782  a1 , a2 , a3 , a4 ; 784 * s ; 786 s = buf ; 787 () `¥rštf ( s , ·t , a1 , a2 , a3 , a4 ); 788 s +ð `¡¾’ (s); 789 ià( s [-1] != '\n') { 790 ià( curcmd -> c_lše ) { 791 () `¥rštf ( s ,"‡t %s†ine %ld", 792 `¡ab_v® ( curcmd -> c_fže¡ab )-> ¡r_±r , ()curcmd-> c_lše ); 793 s +ð `¡¾’ (s); 795 ià( Ï¡_š_¡ab && 796 `¡ab_io ( Ï¡_š_¡ab ) && 797 `¡ab_io ( Ï¡_š_¡ab )-> lšes ) { 798 () `¥rštf ( s ,", <%s>†ine %ld", 799 Ï¡_š_¡ab =ð ¬gv¡ab ? "" : `¡ab_Çme (last_in_stab), 800 () `¡ab_io ( Ï¡_š_¡ab )-> lšes ); 801 s +ð `¡¾’ (s); 803 () `¡rýy ( s ,".\n"); 805 } } 808 $ç�l ( ·t , a1 , a2 , a3 , a4 ) 809 * ·t ; 810  a1 , a2 , a3 , a4 ; 812 FILE * e_å ; 813 * e_tm²ame ; 814 * tmps ; 816 `mess ( ·t , a1 , a2 , a3 , a4 ); 817 ià( š_ev® ) { 818 `¡r_£t ( `¡ab_v® ( `¡ab’t ("@", TRUE )), buf ); 819 tmps = "_EVAL_"; 820  loÝ_±r >ð0 && (! loÝ_¡ack [loÝ_±r]. loÝ_Ïb– || 821 `¡rNE ( tmps , loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ) )) { 822 #ifdeà DEBUGGING 823 ià( debug & 4) { 824 `deb ("(Sk�pšg†ab– #%d %s)\n", loÝ_±r , 825 loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ); 828 loÝ_±r --; 830 #ifdeà DEBUGGING 831 ià( debug & 4) { 832 `deb ("(Found†ab– #%d %s)\n", loÝ_±r , 833 loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ); 836 ià( loÝ_±r < 0) { 837 š_ev® = 0; 838 `ç�l ("Bad†ab–: %s", tmps ); 840 `lÚgjmp ( loÝ_¡ack [ loÝ_±r ]. loÝ_’v , 1); 842 `åuts ( buf , ¡d”r ); 843 () `fæush ( ¡d”r ); 844 ià( e_å ) 845 () `UNLINK ( e_tm²ame ); 846 ¡©usv®ue >>= 8; 847 `ex™ (()(( ”ºo &255)?”ºo:(( ¡©usv®ue &255)?statusvalue:255))); 848 } } 851 $w¬n ( ·t , a1 , a2 , a3 , a4 ) 852 * ·t ; 853  a1 , a2 , a3 , a4 ; 855 `mess ( ·t , a1 , a2 , a3 , a4 ); 856 `åuts ( buf , ¡d”r ); 857 #ifdeà LEAKTEST 858 #ifdeà DEBUGGING 859 ià( debug & 4096) 860 `x¡© (); 863 () `fæush ( ¡d”r ); 864 } } 867 $mess ( ¬gs ) 868 va_li¡ ¬gs ; 870 * ·t ; 871 * s ; 872 #ifdeà CHARVSPRINTF 873 * `v¥rštf (); 875  `v¥rštf (); 878 s = buf ; 879 #ifdeà lšt 880 ·t = NuÎch ; 882 ·t = `va_¬g ( ¬gs , *); 884 (è `v¥rštf ( s , ·t , ¬gs ); 886 s +ð `¡¾’ (s); 887 ià( s [-1] != '\n') { 888 ià( curcmd -> c_lše ) { 889 () `¥rštf ( s ,"‡t %s†ine %ld", 890 `¡ab_v® ( curcmd -> c_fže¡ab )-> ¡r_±r , ()curcmd-> c_lše ); 891 s +ð `¡¾’ (s); 893 ià( Ï¡_š_¡ab && 894 `¡ab_io ( Ï¡_š_¡ab ) && 895 `¡ab_io ( Ï¡_š_¡ab )-> lšes ) { 896 () `¥rštf ( s ,", <%s>†ine %ld", 897 Ï¡_š_¡ab =ð ¬gv¡ab ? "" :†a¡_š_¡ab-> ¡r_magic -> ¡r_±r , 898 () `¡ab_io ( Ï¡_š_¡ab )-> lšes ); 899 s +ð `¡¾’ (s); 901 () `¡rýy ( s ,".\n"); 903 } } 906 $ç�l ( va_®i¡ ) 907 va_dþ 909 va_li¡ ¬gs ; 910 FILE * e_å ; 911 * e_tm²ame ; 912 * tmps ; 914 #iâdeà lšt 915 `va_¡¬t ( ¬gs ); 917 ¬gs = 0; 919 `mess ( ¬gs ); 920 `va_’d ( ¬gs ); 921 ià( š_ev® ) { 922 `¡r_£t ( `¡ab_v® ( `¡ab’t ("@", TRUE )), buf ); 923 tmps = "_EVAL_"; 924  loÝ_±r >ð0 && (! loÝ_¡ack [loÝ_±r]. loÝ_Ïb– || 925 `¡rNE ( tmps , loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ) )) { 926 #ifdeà DEBUGGING 927 ià( debug & 4) { 928 `deb ("(Sk�pšg†ab– #%d %s)\n", loÝ_±r , 929 loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ); 932 loÝ_±r --; 934 #ifdeà DEBUGGING 935 ià( debug & 4) { 936 `deb ("(Found†ab– #%d %s)\n", loÝ_±r , 937 loÝ_¡ack [ loÝ_±r ]. loÝ_Ïb– ); 940 ià( loÝ_±r < 0) { 941 š_ev® = 0; 942 `ç�l ("Bad†ab–: %s", tmps ); 944 `lÚgjmp ( loÝ_¡ack [ loÝ_±r ]. loÝ_’v , 1); 946 `åuts ( buf , ¡d”r ); 947 () `fæush ( ¡d”r ); 948 ià( e_å ) 949 () `UNLINK ( e_tm²ame ); 950 ¡©usv®ue >>= 8; 951 `ex™ (()(( ”ºo &255)?”ºo:(( ¡©usv®ue &255)?statusvalue:255))); 952 } } 955 $w¬n ( va_®i¡ ) 956 va_dþ 958 va_li¡ ¬gs ; 960 #iâdeà lšt 961 `va_¡¬t ( ¬gs ); 963 ¬gs = 0; 965 `mess ( ¬gs ); 966 `va_’d ( ¬gs ); 968 `åuts ( buf , ¡d”r ); 969 #ifdeà LEAKTEST 970 #ifdeà DEBUGGING 971 ià( debug & 4096) 972 `x¡© (); 975 () `fæush ( ¡d”r ); 976 } } 980 $my_£‹nv ( Çm , v® ) 981 * Çm , * v® ; 983  i = `’vix ( Çm ); 985 ià( ’vœÚ =ð Üig’vœÚ ) { 986  j ; 987  max ; 988 ** tm³nv ; 990  max = i ; ’vœÚ [max]; max++) ; 991 `New (901, tm³nv , max +2, *); 992  j =0; j< max ; j++) 993 tm³nv [ j ] = `§ve¡r ( ’vœÚ [j]); 994 tm³nv [ max ] = NuÎch ; 995 ’vœÚ = tm³nv ; 997 ià(! v® ) { 998  ’vœÚ [ i ]) { 999 ’vœÚ [ i ] =ƒnviron[i+1]; 1000 i ++; 1004 ià(! ’vœÚ [ i ]) { 1005 `R’ew ( ’vœÚ , i +2, *); 1006 ’vœÚ [ i +1] = NuÎch ; 1009 `Saãä“ ( ’vœÚ [ i ]); 1010 `New (904, ’vœÚ [ i ], `¡¾’ ( Çm è+ sŒËn( v® ) + 2, ); 1011 #iâdeà MSDOS 1012 () `¥rštf ( ’vœÚ [ i ],"%s=%s", Çm , v® ); 1019 `¡rýy ( ’vœÚ [ i ], Çm ); `¡ru´ (environ[i]); 1020 () `¥rštf ( ’vœÚ [ i ] + `¡¾’ ( Çm ),"=%s", v® ); 1022 } } 1025 $’vix ( Çm ) 1026 * Çm ; 1028  i , Ën = `¡¾’ ( Çm ); 1030  i = 0; ’vœÚ [i]; i++) { 1031 ià( `¡ºEQ ( ’vœÚ [ i ], Çm , Ën ) &&ƒnviron[i][len] == '=') 1034  i ; 1035 } } 1037 #ifdeà EUNICE 1038 $uÆnk ( f ) 1039 * f ; 1041  i ; 1043  i = 0; `uÆšk ( f ) >= 0; i++) ; 1044  i ? 0 : -1; 1045 } } 1048 #iâdeà HAS_MEMCPY 1049 #iâdeà HAS_BCOPY 1051 $bcÝy ( äom , to , Ën ) 1052 * äom ; 1053 * to ; 1054  Ën ; 1056 * »tv® = to ; 1058  Ën --) 1059 * to ++ = * äom ++; 1060  »tv® ; 1061 } } 1064 #iâdeà HAS_BZERO 1066 $bz”o ( loc , Ën ) 1067 * loc ; 1068  Ën ; 1070 * »tv® = loc ; 1072  Ën --) 1073 * loc ++ = 0; 1074  »tv® ; 1075 } } 1079 #ifdeà I_VARARGS 1080 #iâdeà HAS_VPRINTF 1082 #ifdeà CHARVSPRINTF 1087 $v¥rštf ( de¡ , ·t , ¬gs ) 1088 * de¡ , * ·t , * ¬gs ; 1090 FILE çkebuf ; 1092 çkebuf . _±r = de¡ ; 1093 çkebuf . _út = 32767; 1094 #iâdeà _IOSTRG 1095  #_IOSTRG 0 ) 1097 çkebuf . _æag = _IOWRT | _IOSTRG ; 1098 `_dݺt ( ·t , ¬gs , & çkebuf ); 1099 () `putc ('\0', & çkebuf ); 1100 #ifdeà CHARVSPRINTF 1101 ( de¡ ); 1105 } } 1107 #ifdeà DEBUGGING 1109 $vårštf ( fd , ·t , ¬gs ) 1110 FILE * fd ; 1111 * ·t , * ¬gs ; 1113 `_dݺt ( ·t , ¬gs , fd ); 1115 } } 1120 #ifdeà MYSWAP 1121 #ià BYTEORDER != 0x4321 1123 $my_sw­ ( s ) 1124  s ; 1126 #ià( BYTEORDER & 1) == 0 1127  »suÉ ; 1129 »suÉ = (( s & 255) << 8) + ((s >> 8) & 255); 1130  »suÉ ; 1132  s ; 1134 } } 1137 $htÚl ( l ) 1138  l ; 1141  »suÉ ; 1142  c [()]; 1143 } u ; 1145 #ià BYTEORDER == 0x1234 1146 u . c [0] = ( l >> 24) & 255; 1147 u . c [1] = ( l >> 16) & 255; 1148 u . c [2] = ( l >> 8) & 255; 1149 u . c [3] = l & 255; 1150  u . »suÉ ; 1152 #ià(( BYTEORDER - 0x1111) & 0x444) || !(BYTEORDER & 0xf) 1153 `ç�l ("Unknown BYTEORDER\n"); 1155  o ; 1156  s ; 1158  o = BYTEORDER - 0x1111, s = 0; s < (()*8); o >>= 4, s += 8) { 1159 u . c [ o & 0xf] = ( l >> s ) & 255; 1161  u . »suÉ ; 1164 } } 1167 $Áohl ( l ) 1168  l ; 1171  l ; 1172  c [()]; 1173 } u ; 1175 #ià BYTEORDER == 0x1234 1176 u . c [0] = ( l >> 24) & 255; 1177 u . c [1] = ( l >> 16) & 255; 1178 u . c [2] = ( l >> 8) & 255; 1179 u . c [3] = l & 255; 1180  u . l ; 1182 #ià(( BYTEORDER - 0x1111) & 0x444) || !(BYTEORDER & 0xf) 1183 `ç�l ("Unknown BYTEORDER\n"); 1185  o ; 1186  s ; 1188 u . l =†; 1189 l = 0; 1190  o = BYTEORDER - 0x1111, s = 0; s < (()*8); o >>= 4, s += 8) { 1191 l |ð( u . c [ o & 0xf] & 255è<< s ; 1193  l ; 1196 } } 1201 #iâdeà MSDOS 1202 FILE * 1203 $mypÝ’ ( cmd , mode ) 1204 * cmd ; 1205 * mode ; 1207  p [2]; 1208  this , th© ; 1209  pid ; 1210 STR * ¡r ; 1211  dÛxec = `¡rNE ( cmd ,"-"); 1213 ià( `p�e ( p ) < 0) 1214  NuÎå ; 1215 this = (* mode == 'w'); 1216 th© = ! this ; 1217 ( pid = ( dÛxec ? `vfÜk (): `fÜk ())) < 0) { 1218 ià( ”ºo !ð EAGAIN ) { 1219 `þo£ ( p [ this ]); 1220 ià(! dÛxec ) 1221 `ç�l ("Can't fork"); 1222  NuÎå ; 1224 `¦“p (5); 1226 ià( pid == 0) { 1227  #THIS th© ) 1228  #THAT this ) 1229 `þo£ ( p [ THAT ]); 1230 ià( p [ THIS ] !ð(* mode == 'r')) { 1231 `dup2 ( p [ THIS ], * mode == 'r'); 1232 `þo£ ( p [ THIS ]); 1234 ià( dÛxec ) { 1235 #ià! `defšed ( I_FCNTL è|| !defšed( F_SETFD ) 1236  fd ; 1238 #iâdeà NOFILE 1239  #NOFILE 20 ) 1241  fd = 3; fd < NOFILE ; fd++) 1242 `þo£ ( fd ); 1244 `do_exec ( cmd ); 1245 `_ex™ (1); 1247 ià( tmp¡ab = `¡ab’t ("$", ®l¡abs )) 1248 `¡r_num£t ( `STAB_STR ( tmp¡ab ),() `g‘pid ()); 1249 fÜk´oûss = 0; 1250 `hþ—r ( pid¡©us , FALSE ); 1251  NuÎå ; 1252 #undeà THIS 1253 #undeà THAT 1255 `do_execä“ (); 1256 `þo£ ( p [ th© ]); 1257 ià( p [ th© ] <…[ this ]) { 1258 `dup2 ( p [ this ],…[ th© ]); 1259 `þo£ ( p [ this ]); 1260 p [ this ] =…[ th© ]; 1262 ¡r = `aãtch ( fdpid , p [ this ], TRUE ); 1263 ¡r -> ¡r_u . ¡r_u£ful = pid ; 1264 fÜk´oûss = pid ; 1265  `fdÝ’ ( p [ this ], mode ); 1266 } } 1269 #ifdeà NOTDEF 1270 $dumpfds ( s ) 1271 * s ; 1273  fd ; 1274  ¡© tmp¡©buf ; 1276 `årštf ( ¡d”r ,"%s", s ); 1277  fd = 0; fd < 32; fd++) { 1278 ià( `f¡© ( fd ,& tmp¡©buf ) >= 0) 1279 `årštf ( ¡d”r ," %d", fd ); 1281 `årštf ( ¡d”r ,"\n"); 1282 } } 1285 #iâdeà HAS_DUP2 1286 $dup2 ( Þdfd , Ãwfd ) 1287  Þdfd ; 1288  Ãwfd ; 1290 #ià `defšed ( HAS_FCNTL è&& defšed( F_DUPFD ) 1291 `þo£ ( Ãwfd ); 1292 `fúŽ ( Þdfd , F_DUPFD , Ãwfd ); 1294  fdtmp [20]; 1295  fdx = 0; 1296  fd ; 1298 ià( Þdfd =ð Ãwfd ) 1300 `þo£ ( Ãwfd ); 1301 ( fd = `dup ( Þdfd )è!ð Ãwfd ) 1302 fdtmp [ fdx ++] = fd ; 1303  fdx > 0) 1304 `þo£ ( fdtmp [-- fdx ]); 1306 } } 1309 #iâdeà MSDOS 1311 $mypþo£ ( ±r ) 1312 FILE * ±r ; 1314 #ifdeà VOIDSIG 1315 (* h¡© )(), (* i¡© )(), (* q¡© )(); 1317 (* h¡© )(), (* i¡© )(), (* q¡© )(); 1319  ¡©us ; 1320 STR * ¡r ; 1321  pid ; 1323 ¡r = `aãtch ( fdpid , `fž’o ( ±r ), TRUE ); 1324 `a¡Üe ( fdpid , `fž’o ( ±r ), NuΡr ); 1325 `fþo£ ( ±r ); 1326 pid = () ¡r -> ¡r_u . ¡r_u£ful ; 1327 h¡© = `sigÇl ( SIGHUP , SIG_IGN ); 1328 i¡© = `sigÇl ( SIGINT , SIG_IGN ); 1329 q¡© = `sigÇl ( SIGQUIT , SIG_IGN ); 1330 pid = `wa™4pid Õid, & ¡©us , 0); 1331 `sigÇl ( SIGHUP , h¡© ); 1332 `sigÇl ( SIGINT , i¡© ); 1333 `sigÇl ( SIGQUIT , q¡© ); 1334 ( pid < 0 ?…id : ¡©us ); 1335 } } 1338 $wa™4pid ( pid , ¡©u¥ , æags ) 1339  pid ; 1340 * ¡©u¥ ; 1341  æags ; 1343  »suÉ ; 1344 STR * ¡r ; 1345  ¥id [16]; 1347 ià(! pid ) 1349 #ifdeà HAS_WAIT4 1350  `wa™4 (( pid ==-1)?0:pid, ¡©u¥ , æags , `NuÎ ( ru§ge *)); 1352 #ifdeà HAS_WAITPID 1353  `wa™pid ( pid , ¡©u¥ , æags ); 1355 ià( pid > 0) { 1356 `¥rštf ( ¥id , "%d", pid ); 1357 ¡r = `hãtch ( pid¡©us , ¥id , `¡¾’ (¥id), FALSE ); 1358 ià( ¡r !ð& ¡r_undef ) { 1359 * ¡©u¥ = () ¡r -> ¡r_u . ¡r_u£ful ; 1360 `hd–‘e ( pid¡©us , ¥id , `¡¾’ (spid)); 1361  pid ; 1365 HENT * ’Œy ; 1367 `h™”š™ ( pid¡©us ); 1368 ià( ’Œy = `h™”Ãxt ( pid¡©us )) { 1369 pid = `©oi ( `h™”key ( ’Œy , ¡©u¥ )); 1370 ¡r = `h™”v® ( ’Œy ); 1371 * ¡©u¥ = () ¡r -> ¡r_u . ¡r_u£ful ; 1372 `¥rštf ( ¥id , "%d", pid ); 1373 `hd–‘e ( pid¡©us , ¥id , `¡¾’ (spid)); 1374  pid ; 1377 ià( æags ) 1378 `ç�l ("Can't do waitpid with flags"); 1380 ( »suÉ = `wa™ ( ¡©u¥ )è!ð pid &&…id > 0 &&„esult >= 0) 1381 `pidgÚe ( »suÉ ,* ¡©u¥ ); 1382 ià( »suÉ < 0) 1383 * ¡©u¥ = -1; 1385  »suÉ ; 1388 } } 1390 $pidgÚe ( pid , ¡©us ) 1391  pid ; 1392  ¡©us ; 1394 #ià `defšed ( HAS_WAIT4 è|| defšed( HAS_WAITPID ) 1396  STR * ¡r ; 1397  ¥id [16]; 1399 `¥rštf ( ¥id , "%d", pid ); 1400 ¡r = `hãtch ( pid¡©us , ¥id , `¡¾’ (¥id), TRUE ); 1401 ¡r -> ¡r_u . ¡r_u£ful = ¡©us ; 1404 } } 1407 #iâdeà HAS_MEMCMP 1408 $memcmp ( s1 , s2 , Ën ) 1409 * s1 ; 1410 * s2 ; 1411  Ën ; 1413  tmp ; 1415  Ën --) { 1416 ià( tmp = * s1 ++ - * s2 ++) 1417  tmp ; 1420 } } 1424 $»³©ýy ( to , äom , Ën , couÁ ) 1425 * to ; 1426 * äom ; 1427  Ën ; 1428  couÁ ; 1430  todo ; 1431 * äomba£ = äom ; 1433 ià( Ën == 1) { 1434 todo = * äom ; 1435  couÁ -- > 0) 1436 * to ++ = todo ; 1439  couÁ -- > 0) { 1440  todo = Ën ;�odo > 0;�odo--) { 1441 * to ++ = * äom ++; 1443 äom = äomba£ ; 1445 } } 1447 #iâdeà CASTNEGFLOAT 1449 $ÿ¡ulÚg ( f ) 1450  f ; 1452  ®Úg ; 1454 #ià CASTFLAGS & 2 1455  #BIGDOUBLE 2147483648.0 ) 1456 ià( f >ð BIGDOUBLE ) 1457  ()( f -()(f/ BIGDOUBLE )*BIGDOUBLE)|0x80000000; 1459 ià( f >= 0.0) 1460  () f ; 1461 ®Úg = () f ; 1462  () ®Úg ; 1463 } } 1466 #iâdeà HAS_RENAME 1468 $§me_dœ’t ( a , b ) 1469 * a ; 1470 * b ; 1472 * ç = `ršdex ( a ,'/'); 1473 * fb = `ršdex ( b ,'/'); 1474  ¡© tmp¡©buf1 ; 1475  ¡© tmp¡©buf2 ; 1476 #iâdeà MAXPATHLEN 1477  #MAXPATHLEN 1024 ) 1479  tmpbuf [ MAXPATHLEN +1]; 1481 ià( ç ) 1482 ç ++; 1484 ç = a ; 1485 ià( fb ) 1486 fb ++; 1488 fb = b ; 1489 ià( `¡rNE ( a , b )) 1490  FALSE ; 1491 ià( ç =ð a ) 1492 `¡rýy ( tmpbuf ,"."); 1494 `¡ºýy ( tmpbuf , a , ç -‡); 1495 ià( `¡© ( tmpbuf , & tmp¡©buf1 ) < 0) 1496  FALSE ; 1497 ià( fb =ð b ) 1498 `¡rýy ( tmpbuf ,"."); 1500 `¡ºýy ( tmpbuf , b , fb - b); 1501 ià( `¡© ( tmpbuf , & tmp¡©buf2 ) < 0) 1502  FALSE ; 1503  tmp¡©buf1 . ¡_dev =ð tmp¡©buf2 .st_dev && 1504 tmp¡©buf1 . ¡_šo =ð tmp¡©buf2 .st_ino; 1505 } } 1509 $sÿnoù ( ¡¬t , Ën , »Ž’ ) 1510 * ¡¬t ; 1511  Ën ; 1512 * »Ž’ ; 1514 * s = ¡¬t ; 1515  »tv® = 0; 1517  Ën -- && * s >= '0' && *s <= '7') { 1518 »tv® <<= 3; 1519 »tv® |ð* s ++ - '0'; 1521 * »Ž’ = s - ¡¬t ; 1522  »tv® ; 1523 } } 1526 $sÿnhex ( ¡¬t , Ën , »Ž’ ) 1527 * ¡¬t ; 1528  Ën ; 1529 * »Ž’ ; 1531 * s = ¡¬t ; 1532  »tv® = 0; 1533 * tmp ; 1535  Ën -- && * s && ( tmp = `šdex ( hexdig™ , *s))) { 1536 »tv® <<= 4; 1537 »tv® |ð( tmp - hexdig™ ) & 15; 1538 s ++; 1540 * »Ž’ = s - ¡¬t ; 1541  »tv® ; 1542 } } @util.h 14 EXT * sü—mfœ¡ INIT ( NuÎ (*)); 15 EXT * sü—mÃxt INIT ( NuÎ (*)); 17 * §ãm®loc (); 18 * §ã»®loc (); 19 * ýytžl (); 20 * š¡r (); 21 * fbmš¡r (); 22 * sü—mš¡r (); 23  fbmcompže (); 24 * §ve¡r (); 25  my_£‹nv (*, *); 26  ’vix (); 27  grow¡r (); 28 * nš¡r (); 29 * ºš¡r (); 30 * n§ve¡r (); 31 FILE * mypÝ’ (); 32  mypþo£ (); 33 #iâdeà HAS_MEMCPY 34 #iâdeà HAS_BCOPY 35 * bcÝy (); 37 #iâdeà HAS_BZERO 38 * bz”o (); 41  sÿnoù (); 42  sÿnhex (); @/usr/include/ctype.h 23 #iâdef _CTYPE_H 24  #_CTYPE_H 1 ) 26  ~<ã©u»s.h > 27  ~ 29 g__BEGIN_DECLS 31 #iâdeà _ISb™ 40  ~<’dŸn.h > 41 #ià __BYTE_ORDER =ð __BIG_ENDIAN 42  #_ISb™ ( b™ è(1 << (b™)) ) 44  #_ISb™ ( b™ è((b™è< 8 ? ((1 << (b™)è<< 8è: ((1 << (b™)è>> 8)) ) 49 m_ISuµ” = _ISb™ (0), 50 m_ISlow” = _ISb™ (1), 51 m_IS®pha = _ISb™ (2), 52 m_ISdig™ = _ISb™ (3), 53 m_ISxdig™ = _ISb™ (4), 54 m_IS¥aû = _ISb™ (5), 55 m_IS´št = _ISb™ (6), 56 m_ISg¿ph = _ISb™ (7), 57 m_ISbÏnk = _ISb™ (8), 58 m_ISúŒl = _ISb™ (9), 59 m_ISpunù = _ISb™ (10), 60 m_IS®num = _ISb™ (11) 75 __cÚ¡ * __ùy³_b ; 76 __cÚ¡ __št32_t * __ùy³_tÞow” ; 77 __cÚ¡ __št32_t * __ùy³_touµ” ; 79  #__isùy³ ( c , ty³ ) \ 80 ( __ùy³_b [(è( c )] & (è ty³ ) ) 82  #__i§scii ( c è(((cè& ~0x7fè=ð0è ) 83  #__tßscii ( c è((cè& 0x7fè ) 85  #__exùy³ ( Çme è  `Çme (è __THROW ) 91 __exùy³ ( i§Êum ); 92 __exùy³ ( i§Íha ); 93 __exùy³ ( isúŒl ); 94 __exùy³ ( isdig™ ); 95 __exùy³ ( i¦ow” ); 96 __exùy³ ( isg¿ph ); 97 __exùy³ ( i¥ršt ); 98 __exùy³ ( i¥unù ); 99 __exùy³ ( is¥aû ); 100 __exùy³ ( isuµ” ); 101 __exùy³ ( isxdig™ ); 103 #ifdef __USE_ISOC99 104 __exùy³ ( isbÏnk ); 109  $tÞow” ( __c è __THROW ; 112  $touµ” ( __c è __THROW ; 115 #ià defšed __USE_SVID || defšed __USE_MISC || defšed __USE_XOPEN 119  $i§scii ( __c è __THROW ; 123  $tßscii ( __c è __THROW ; 127 `__exùy³ ( _touµ” ); 128 `__exùy³ ( _tÞow” ); 132  #__tobody ( c , f , a , ¬gs ) \ 133 ( __ex‹nsiÚ__ \ 134 ({  __»s ; \ 135 ià( ( c ) > 1) \ 137 ià( `__bužtš_cÚ¡ªt_p ( c )) \ 139  __c = ( c ); \ 140 __»s = __c < -128 || __ø> 255 ? __ø: a [__c]; \ 143 __»s = f ¬gs ; \ 146 __»s = a [(è( c )]; \ 147 __»s ; } })) ) 149 #iâdef __NO_CTYPE 150  #i§Êum ( c è `__isùy³ ((c), _IS®num ) ) 151  #i§Íha ( c è `__isùy³ ((c), _IS®pha ) ) 152  #isúŒl ( c è `__isùy³ ((c), _ISúŒl ) ) 153  #isdig™ ( c è `__isùy³ ((c), _ISdig™ ) ) 154  #i¦ow” ( c è `__isùy³ ((c), _ISlow” ) ) 155  #isg¿ph ( c è `__isùy³ ((c), _ISg¿ph ) ) 156  #i¥ršt ( c è `__isùy³ ((c), _IS´št ) ) 157  #i¥unù ( c è `__isùy³ ((c), _ISpunù ) ) 158  #is¥aû ( c è `__isùy³ ((c), _IS¥aû ) ) 159  #isuµ” ( c è `__isùy³ ((c), _ISuµ” ) ) 160  #isxdig™ ( c è `__isùy³ ((c), _ISxdig™ ) ) 162 #ifdef __USE_ISOC99 163  #isbÏnk ( c è `__isùy³ ((c), _ISbÏnk ) ) 166 #ifdeà __USE_EXTERN_INLINES 167 __šlše  168 $tÞow” ( __c è __THROW 170  __c >ð-128 && __ø< 256 ? __ùy³_tÞow” [__c] : __c; 171 } } 173 __šlše  174 $touµ” ( __c è __THROW 176  __c >ð-128 && __ø< 256 ? __ùy³_touµ” [__c] : __c; 177 } } 180 #ià __GNUC__ >ð2 && defšed __OPTIMIZE__ && !defšed __ýlu¥lus 181  #tÞow” ( c è `__tobody (c, tÞow” , __ùy³_tÞow” , (c)) ) 182  #touµ” ( c è `__tobody (c, touµ” , __ùy³_touµ” , (c)) ) 185 #ià defšed __USE_SVID || defšed __USE_MISC || defšed __USE_XOPEN 186  #i§scii ( c è `__i§scii (c) ) 187  #tßscii ( c è `__tßscii (c) ) 189  #_tÞow” ( c è((è __ùy³_tÞow” [(è(c)]) ) 190  #_touµ” ( c è((è __ùy³_touµ” [(è(c)]) ) 196 #ifdeà __USE_GNU 210  ~ 214  #__isùy³_l ( c , ty³ , loÿË ) \ 215 (( loÿË )-> __ùy³_b [(è( c )] & (è ty³ ) ) 217  #__exùy³_l ( Çme è  `Çme (, __loÿË_t è __THROW ) 223 __exùy³_l ( __i§Êum_l ); 224 __exùy³_l ( __i§Íha_l ); 225 __exùy³_l ( __isúŒl_l ); 226 __exùy³_l ( __isdig™_l ); 227 __exùy³_l ( __i¦ow”_l ); 228 __exùy³_l ( __isg¿ph_l ); 229 __exùy³_l ( __i¥ršt_l ); 230 __exùy³_l ( __i¥unù_l ); 231 __exùy³_l ( __is¥aû_l ); 232 __exùy³_l ( __isuµ”_l ); 233 __exùy³_l ( __isxdig™_l ); 235 __exùy³_l ( __isbÏnk_l ); 239  $__tÞow”_l ( __c , __loÿË_t __l è __THROW ; 242  $__touµ”_l ( __c , __loÿË_t __l è __THROW ; 244 #ià __GNUC__ >ð2 && defšed __OPTIMIZE__ && !defšed __ýlu¥lus 245  #__tÞow”_l ( c , loÿË ) \ 246 `__tobody ( c , __tÞow”_l , ( loÿË )-> __ùy³_tÞow” , (c,†oÿË)) ) 247  #__touµ”_l ( c , loÿË ) \ 248 `__tobody ( c , __touµ”_l , ( loÿË )-> __ùy³_touµ” , (c,†oÿË)) ) 252 #iâdeà __NO_CTYPE 253  #__i§Êum_l ( c , l è `__isùy³_l ((c), _IS®num , (l)) ) 254  #__i§Íha_l ( c , l è `__isùy³_l ((c), _IS®pha , (l)) ) 255  #__isúŒl_l ( c , l è `__isùy³_l ((c), _ISúŒl , (l)) ) 256  #__isdig™_l ( c , l è `__isùy³_l ((c), _ISdig™ , (l)) ) 257  #__i¦ow”_l ( c , l è `__isùy³_l ((c), _ISlow” , (l)) ) 258  #__isg¿ph_l ( c , l è `__isùy³_l ((c), _ISg¿ph , (l)) ) 259  #__i¥ršt_l ( c , l è `__isùy³_l ((c), _IS´št , (l)) ) 260  #__i¥unù_l ( c , l è `__isùy³_l ((c), _ISpunù , (l)) ) 261  #__is¥aû_l ( c , l è `__isùy³_l ((c), _IS¥aû , (l)) ) 262  #__isuµ”_l ( c , l è `__isùy³_l ((c), _ISuµ” , (l)) ) 263  #__isxdig™_l ( c , l è `__isùy³_l ((c), _ISxdig™ , (l)) ) 265  #__isbÏnk_l ( c , l è `__isùy³_l ((c), _ISbÏnk , (l)) ) 267 #ià defšed __USE_SVID || defšed __USE_MISC || defšed __USE_XOPEN 268  #__i§scii_l ( c , l è `__i§scii (c) ) 269  #__tßscii_l ( c , l è `__tßscii (c) ) 276 __END_DECLS @/usr/include/dirent.h 23 #iâdef _DIRENT_H 24  #_DIRENT_H 1 ) 26  ~<ã©u»s.h > 28 g__BEGIN_DECLS 30  ~ 32 #ifdeà __USE_XOPEN 33 #iâdeà __šo_t_defšed 34 #iâdeà __USE_FILE_OFFSET64 35  __šo_t tšo_t ; 37  __šo64_t tšo_t ; 39  #__šo_t_defšed ) 41 #ià defšed __USE_LARGEFILE64 && !defšed __šo64_t_defšed 42  __šo64_t tšo64_t ; 43  #__šo64_t_defšed ) 62  ~ 64 #ià( defšed __USE_BSD || defšed __USE_MISC è&& !defšed d_fž’o 65  #d_šo d_fž’o ) 82 #ifdeà _DIRENT_HAVE_D_NAMLEN 83  #_D_EXACT_NAMLEN ( d è((d)-> d_ÇmËn ) ) 84  #_D_ALLOC_NAMLEN ( d è( `_D_EXACT_NAMLEN (dè+ 1) ) 86  #_D_EXACT_NAMLEN ( d è( `¡¾’ ((d)-> d_Çme )) ) 87 #ifdeà _DIRENT_HAVE_D_RECLEN 88  #_D_ALLOC_NAMLEN ( d è(((*è(dè+ (d)-> d_»þ’ è- &(d)-> d_Çme [0]) ) 90  #_D_ALLOC_NAMLEN ( d è( (d)-> d_Çme > 1 ?  (d)->d_name : \ 91 `_D_EXACT_NAMLEN ( d è+ 1) ) 96 #ifdeà __USE_BSD 100 mDT_UNKNOWN = 0, 101  #DT_UNKNOWN DT_UNKNOWN ) 102 mDT_FIFO = 1, 103  #DT_FIFO DT_FIFO ) 104 mDT_CHR = 2, 105  #DT_CHR DT_CHR ) 106 mDT_DIR = 4, 107  #DT_DIR DT_DIR ) 108 mDT_BLK = 6, 109  #DT_BLK DT_BLK ) 110 mDT_REG = 8, 111  #DT_REG DT_REG ) 112 mDT_LNK = 10, 113  #DT_LNK DT_LNK ) 114 mDT_SOCK = 12, 115  #DT_SOCK DT_SOCK ) 116 mDT_WHT = 14 117  #DT_WHT DT_WHT ) 121  #IFTODT ( mode è(((modeè& 0170000è>> 12) ) 122  #DTTOIF ( dœty³ è((dœty³è<< 12) ) 128  __dœ¡»am tDIR ; 132 DIR * $Ý’dœ ( __cÚ¡ * __Çme è __THROW ; 136  $þo£dœ ( DIR * __dœp è __THROW ; 145 #iâdeà __USE_FILE_OFFSET64 146  dœ’t * $»addœ ( DIR * __dœp è __THROW ; 148 #ifdeà __REDIRECT 149  dœ’t * `__REDIRECT ( »addœ , ( DIR * __dœp è __THROW , »addœ64 ); 151  #»addœ »addœ64 ) 155 #ifdeà __USE_LARGEFILE64 156  dœ’t64 * $»addœ64 ( DIR * __dœp è __THROW ; 159 #ià defšed __USE_POSIX || defšed __USE_MISC 162 #iâdeà __USE_FILE_OFFSET64 163  $»addœ_r ( DIR * __»¡riù __dœp , 164  dœ’t * __»¡riù __’Œy , 165  dœ’t ** __»¡riù __»suÉ è __THROW ; 167 #ifdeà __REDIRECT 168  `__REDIRECT ( »addœ_r , 169 ( DIR * __»¡riù __dœp , 170  dœ’t * __»¡riù __’Œy , 171  dœ’t ** __»¡riù __»suÉ è __THROW , 172 »addœ64_r ); 174  #»addœ_r »addœ64_r ) 178 #ifdeà __USE_LARGEFILE64 179  $»addœ64_r ( DIR * __»¡riù __dœp , 180  dœ’t64 * __»¡riù __’Œy , 181  dœ’t64 ** __»¡riù __»suÉ è __THROW ; 186  $»wšddœ ( DIR * __dœp è __THROW ; 188 #ià defšed __USE_BSD || defšed __USE_MISC || defšed __USE_XOPEN 189  ~ 192  $£ekdœ ( DIR * __dœp ,  __pos è __THROW ; 195  $‹Îdœ ( DIR * __dœp è __THROW ; 198 #ià defšed __USE_BSD || defšed __USE_MISC 201  $dœfd ( DIR * __dœp è __THROW ; 203 #ià defšed __OPTIMIZE__ && defšed _DIR_dœfd 204  #dœfd ( dœp è `_DIR_dœfd (dœp) ) 207 #iâdeà MAXNAMLEN 209  ~ 212 #ifdeà NAME_MAX 213  #MAXNAMLEN NAME_MAX ) 215  #MAXNAMLEN 255 ) 219  #__Ãed_size_t ) 220  ~<¡ddef.h > 226 #iâdeà __USE_FILE_OFFSET64 227  `sÿndœ ( __cÚ¡ * __»¡riù __dœ , 228  dœ’t *** __»¡riù __Çm–i¡ , 229 (* __£ËùÜ è( __cÚ¡  dœ’t *), 230 (* __cmp è( __cÚ¡ *, __cÚ¡ *)è __THROW ; 232 #ifdeà __REDIRECT 233  `__REDIRECT ( sÿndœ , 234 ( __cÚ¡ * __»¡riù __dœ , 235  dœ’t *** __»¡riù __Çm–i¡ , 236 (* __£ËùÜ è( __cÚ¡  dœ’t *), 237 (* __cmp è( __cÚ¡ *, __cÚ¡ *)è __THROW , 238 sÿndœ64 ); 240  #sÿndœ sÿndœ64 ) 244 #ià defšed __USE_GNU && defšed __USE_LARGEFILE64 247  `sÿndœ64 ( __cÚ¡ * __»¡riù __dœ , 248  dœ’t64 *** __»¡riù __Çm–i¡ , 249 (* __£ËùÜ è( __cÚ¡  dœ’t64 *), 250 (* __cmp è( __cÚ¡ *, __cÚ¡ *)è __THROW ; 254 #iâdeà __USE_FILE_OFFSET64 255  $®phasÜt ( __cÚ¡ * __e1 , __cÚ¡ * __e2 ) 256 __THROW __©Œibu‹_pu»__ ; 258 #ifdeà __REDIRECT 259  `__REDIRECT ( ®phasÜt , 260 ( __cÚ¡ * __e1 , __cÚ¡ * __e2 ) 261 __THROW , 262 ®phasÜt64 è __©Œibu‹_pu»__ ; 264  #®phasÜt ®phasÜt64 ) 268 #ià defšed __USE_GNU && defšed __USE_LARGEFILE64 269  $®phasÜt64 ( __cÚ¡ * __e1 , __cÚ¡ * __e2 ) 270 __THROW __©Œibu‹_pu»__ ; 273 #ifdeà __USE_GNU 275 #iâdeà __USE_FILE_OFFSET64 276  $v”siÚsÜt ( __cÚ¡ * __e1 , __cÚ¡ * __e2 ) 277 __THROW __©Œibu‹_pu»__ ; 279 #ifdeà __REDIRECT 280  `__REDIRECT ( v”siÚsÜt , 281 ( __cÚ¡ * __e1 , __cÚ¡ * __e2 ) 282 __THROW , 283 v”siÚsÜt64 è __©Œibu‹_pu»__ ; 285  #v”siÚsÜt v”siÚsÜt64 ) 289 #ifdeà __USE_LARGEFILE64 290  $v”siÚsÜt64 ( __cÚ¡ * __e1 , __cÚ¡ * __e2 ) 291 __THROW __©Œibu‹_pu»__ ; 299 #iâdeà __USE_FILE_OFFSET64 300 __ssize_t $g‘dœ’Œ›s ( __fd , * __»¡riù __buf , 301 size_t __nby‹s , 302 __off_t * __»¡riù __ba£p è __THROW ; 304 #ifdeà __REDIRECT 305 __ssize_t `__REDIRECT ( g‘dœ’Œ›s , 306 ( __fd , * __»¡riù __buf , 307 size_t __nby‹s , 308 __off64_t * __»¡riù __ba£p è __THROW , 309 g‘dœ’Œ›s64 ); 311  #g‘dœ’Œ›s g‘dœ’Œ›s64 ) 315 #ifdeà __USE_LARGEFILE64 316 __ssize_t $g‘dœ’Œ›s64 ( __fd , * __»¡riù __buf , 317 size_t __nby‹s , 318 __off64_t * __»¡riù __ba£p è __THROW ; 323 __END_DECLS @/usr/include/errno.h 23 #iâdef _ERRNO_H 27 #iâdef __Ãed_Em©h 28  #_ERRNO_H 1 ) 29  ~<ã©u»s.h > 32 g__BEGIN_DECLS 36  ~ 37 #undeà __Ãed_Em©h 39 #ifdef _ERRNO_H 46 #iâdef ”ºo 47  ”ºo ; 50 #ifdeà __USE_GNU 55 * ´og¿m_švoÿtiÚ_Çme , * ´og¿m_švoÿtiÚ_shÜt_Çme ; 59 g__END_DECLS 67 #ià defšed __USE_GNU || defšed __Ãed_”rÜ_t 68 #iâdeà __”rÜ_t_defšed 69  t”rÜ_t ; 70  #__”rÜ_t_defšed 1 ) 72 #undeà __Ãed_”rÜ_t @/usr/include/fcntl.h 23 #iâdef _FCNTL_H 24  #_FCNTL_H 1 ) 26  ~<ã©u»s.h > 29 g__BEGIN_DECLS 33  ~ 36 #ifdeà __USE_XOPEN 37  ~ 40 #ifdef __USE_MISC 41 #iâdeà R_OK 44  #R_OK 4 ) 45  #W_OK 2 ) 46  #X_OK 1 ) 47  #F_OK 0 ) 52 #ifdeà __USE_XOPEN 53  #SEEK_SET 0 ) 54  #SEEK_CUR 1 ) 55  #SEEK_END 2 ) 60  $fúŽ ( __fd ,  __cmd , ...è __THROW ; 65 #iâdeà __USE_FILE_OFFSET64 66  $Ý’ ( __cÚ¡ * __fže ,  __oæag , ...è __THROW ; 68 #ifdeà __REDIRECT 69  `__REDIRECT ( Ý’ , ( __cÚ¡ * __fže ,  __oæag , ...è __THROW , 70 Ý’64 ); 72  #Ý’ Ý’64 ) 75 #ifdeà __USE_LARGEFILE64 76  $Ý’64 ( __cÚ¡ * __fže ,  __oæag , ...è __THROW ; 82 #iâdeà __USE_FILE_OFFSET64 83  $ü—t ( __cÚ¡ * __fže , __mode_t __mode è __THROW ; 85 #ifdeà __REDIRECT 86  `__REDIRECT ( ü—t , ( __cÚ¡ * __fže , __mode_t __mode è __THROW , 87 ü—t64 ); 89  #ü—t ü—t64 ) 92 #ifdeà __USE_LARGEFILE64 93  $ü—t64 ( __cÚ¡ * __fže , __mode_t __mode è __THROW ; 96 #ià! defšed F_LOCK && (defšed __USE_MISC || (defšed __USE_XOPEN_EXTENDED \ 97 && ! defšed __USE_POSIX )) 106  #F_ULOCK 0 ) 107  #F_LOCK 1 ) 108  #F_TLOCK 2 ) 109  #F_TEST 3 ) 111 #iâdeà __USE_FILE_OFFSET64 112  $lockf ( __fd ,  __cmd , __off_t __Ën è __THROW ; 114 #ifdeà __REDIRECT 115  `__REDIRECT ( lockf , ( __fd ,  __cmd , __off64_t __Ën è __THROW , 116 lockf64 ); 118  #lockf lockf64 ) 121 #ifdeà __USE_LARGEFILE64 122  $lockf64 ( __fd ,  __cmd , __off64_t __Ën è __THROW ; 126 #ifdeà __USE_XOPEN2K 129 #iâdeà __USE_FILE_OFFSET64 130  $posix_çdvi£ ( __fd , __off_t __off£t , size_t __Ën , 131  __advi£ è __THROW ; 133 #ifdeà __REDIRECT 134  `__REDIRECT ( posix_çdvi£ , ( __fd , __off64_t __off£t , 135 size_t __Ën ,  __advi£ è __THROW , 136 posix_çdvi£64 ); 138  #posix_çdvi£ posix_çdvi£64 ) 141 #ifdeà __USE_LARGEFILE64 142  $posix_çdvi£64 ( __fd , __off64_t __off£t , size_t __Ën , 143  __advi£ è __THROW ; 148 #iâdeà __USE_FILE_OFFSET64 149  $posix_çÎoÿ‹ ( __fd , __off_t __off£t , size_t __Ën è __THROW ; 151 #ifdeà __REDIRECT 152  `__REDIRECT ( posix_çÎoÿ‹ , ( __fd , __off64_t __off£t , 153 size_t __Ën è __THROW , 154 posix_çÎoÿ‹64 ); 156  #posix_çÎoÿ‹ posix_çÎoÿ‹64 ) 159 #ifdeà __USE_LARGEFILE64 160  $posix_çÎoÿ‹64 ( __fd , __off64_t __off£t , size_t __Ën ) 161 __THROW ; 165 __END_DECLS @/usr/include/gdbm.h 30 #iâdeà _GDBM_H_ 31  #_GDBM_H_ ) 35  #GDBM_READER 0 ) 36  #GDBM_WRITER 1 ) 37  #GDBM_WRCREAT 2 ) 38  #GDBM_NEWDB 3 ) 39  #GDBM_FAST 0x10 ) 40  #GDBM_SYNC 0x20 ) 41  #GDBM_NOLOCK 0x40 ) 45  #GDBM_INSERT 0 ) 46  #GDBM_REPLACE 1 ) 49  #GDBM_CACHESIZE 1 ) 50  #GDBM_FASTMODE 2 ) 51  #GDBM_SYNCMODE 3 ) 52  #GDBM_CENTFREE 4 ) 53  #GDBM_COALESCEBLKS 5 ) 57 * md±r ; 58  mdsize ; 59 } td©um ; 63 ¡ruù { mdummy [10];} * tGDBM_FILE ; 66 #iâdeà __P 67 #ià defšed ( __STDC__ è|| defšed( __ýlu¥lus è|| defšed( c_¶u¥lus ) 68  #__P ( x è ) x 70  #__P ( x è() ) 75 * gdbm_v”siÚ ; 79 #ià defšed ( __ýlu¥lus è|| defšed( c_¶u¥lus ) 85 GDBM_FILE gdbm_Ý’ __P ((*, , , , (*)())); 86  gdbm_þo£ __P (( GDBM_FILE )); 87  gdbm_¡Üe __P (( GDBM_FILE , d©um , datum, )); 88 d©um gdbm_ãtch __P (( GDBM_FILE , datum)); 89  gdbm_d–‘e __P (( GDBM_FILE , d©um )); 90 d©um gdbm_fœ¡key __P (( GDBM_FILE )); 91 d©um gdbm_Ãxtkey __P (( GDBM_FILE , datum)); 92  gdbm_»Ügªize __P (( GDBM_FILE )); 93  gdbm_sync __P (( GDBM_FILE )); 94  gdbm_exi¡s __P (( GDBM_FILE , d©um )); 95  gdbm_£tÝt __P (( GDBM_FILE , , *, )); 96  gdbm_fdesc __P (( GDBM_FILE )); 98 #ià defšed ( __ýlu¥lus è|| defšed( c_¶u¥lus ) 102  #GDBM_NO_ERROR 0 ) 103  #GDBM_MALLOC_ERROR 1 ) 104  #GDBM_BLOCK_SIZE_ERROR 2 ) 105  #GDBM_FILE_OPEN_ERROR 3 ) 106  #GDBM_FILE_WRITE_ERROR 4 ) 107  #GDBM_FILE_SEEK_ERROR 5 ) 108  #GDBM_FILE_READ_ERROR 6 ) 109  #GDBM_BAD_MAGIC_NUMBER 7 ) 110  #GDBM_EMPTY_DATABASE 8 ) 111  #GDBM_CANT_BE_READER 9 ) 112  #GDBM_CANT_BE_WRITER 10 ) 113  #GDBM_READER_CANT_DELETE 11 ) 114  #GDBM_READER_CANT_STORE 12 ) 115  #GDBM_READER_CANT_REORGANIZE 13 ) 116  #GDBM_UNKNOWN_UPDATE 14 ) 117  #GDBM_ITEM_NOT_FOUND 15 ) 118  #GDBM_REORGANIZE_FAILED 16 ) 119  #GDBM_CANNOT_REPLACE 17 ) 120  #GDBM_ILLEGAL_DATA 18 ) 121  #GDBM_OPT_ALREADY_SET 19 ) 122  #GDBM_OPT_ILLEGAL 29 ) 123  tgdbm_”rÜ ; 124 gdbm_”rÜ gdbm_”ºo ; 129 #ià defšed ( __ýlu¥lus è|| defšed( c_¶u¥lus ) 133 * gdbm_¡»¼Ü __P (( gdbm_”rÜ )); 135 #ià defšed ( __ýlu¥lus è|| defšed( c_¶u¥lus ) @/usr/include/grp.h 23 #iâdef _GRP_H 24  #_GRP_H 1 ) 26  ~<ã©u»s.h > 28 g__BEGIN_DECLS 30  ~ 32  #__Ãed_size_t ) 33  ~<¡ddef.h > 37 #ià defšed __USE_XOPEN && !defšed __gid_t_defšed 38  __gid_t tgid_t ; 39  #__gid_t_defšed ) 43  sgroup 45 * mgr_Çme ; 46 * mgr_·sswd ; 47 __gid_t mgr_gid ; 48 ** mgr_mem ; 52 #ià defšed __USE_SVID || defšed __USE_GNU 53  #__Ãed_FILE ) 54  ~<¡dio.h > 58 #ià defšed __USE_SVID || defšed __USE_BSD || defšed __USE_XOPEN_EXTENDED 60  $£tg»Á (è __THROW ; 63  $’dg»Á (è __THROW ; 66  group * $g‘g»Á (è __THROW ; 69 #ifdef __USE_SVID 71  group * $fg‘g»Á ( FILE * __¡»am è __THROW ; 74 #ifdeà __USE_GNU 76  $putg»Á ( __cÚ¡  group * __»¡riù __p , 77 FILE * __»¡riù __f è __THROW ; 81  group * $g‘grgid ( __gid_t __gid è __THROW ; 84  group * $g‘gºam ( __cÚ¡ * __Çme è __THROW ; 86 #ià defšed __USE_POSIX || defšed __USE_MISC 88 #ifdeà __USE_MISC 91  #NSS_BUFLEN_GROUP 1024 ) 102 #ifdeà __USE_GNU 103  $g‘g»Á_r ( group * __»¡riù __»suÉbuf , 104 * __»¡riù __bufãr , size_t __buæ’ , 105  group ** __»¡riù __»suÉ è __THROW ; 109  $g‘grgid_r ( __gid_t __gid ,  group * __»¡riù __»suÉbuf , 110 * __»¡riù __bufãr , size_t __buæ’ , 111  group ** __»¡riù __»suÉ è __THROW ; 114  $g‘gºam_r ( __cÚ¡ * __»¡riù __Çme , 115  group * __»¡riù __»suÉbuf , 116 * __»¡riù __bufãr , size_t __buæ’ , 117  group ** __»¡riù __»suÉ è __THROW ; 119 #ifdef __USE_SVID 122  $fg‘g»Á_r ( FILE * __»¡riù __¡»am , 123  group * __»¡riù __»suÉbuf , 124 * __»¡riù __bufãr , size_t __buæ’ , 125  group ** __»¡riù __»suÉ è __THROW ; 131 #ifdef __USE_BSD 133  #__Ãed_size_t ) 134  ~<¡ddef.h > 137  $£tgroups ( size_t __n , __cÚ¡ __gid_t * __groups è __THROW ; 142  $g‘grou¶i¡ ( __cÚ¡ * __u£r , __gid_t __group , 143 __gid_t * __groups , * __ngroups è __THROW ; 148  $š™groups ( __cÚ¡ * __u£r , __gid_t __group è __THROW ; 152 __END_DECLS @/usr/include/netdb.h 23 #iâdef _NETDB_H 24  #_NETDB_H 1 ) 26  ~<ã©u»s.h > 28  ~<Ãtš‘/š.h > 29  ~<¡dšt.h > 30 #ifdeà __USE_MISC 33  ~<½c/Ãtdb.h > 36 #ifdeà __USE_GNU 37  #__Ãed_sigev’t_t ) 38  ~ 39  #__Ãed_time¥ec ) 40  ~ 43  ~ 46  #_PATH_HEQUIV "/‘c/ho¡s.equiv" ) 47  #_PATH_HOSTS "/‘c/ho¡s" ) 48  #_PATH_NETWORKS "/‘c/ÃtwÜks" ) 49  #_PATH_NSSWITCH_CONF "/‘c/nssw™ch.cÚf" ) 50  #_PATH_PROTOCOLS "/‘c/´ÙocÞs" ) 51  #_PATH_SERVICES "/‘c/£rviûs" ) 54 __BEGIN_DECLS 57  h_”ºo ; 60 * $__h_”ºo_loÿtiÚ (è __THROW `__©Œibu‹__ (( __cÚ¡__ )); 62 #ifdeà _LIBC 63 #ifdeà _LIBC_REENTRANT 64  šlše  65 $__£t_h_”ºo ( __”r ) 67  * `__h_”ºo_loÿtiÚ (èð __”r ; 68 } } 70  #__£t_h_”ºo ( x è( h_”ºo = (x)) ) 75 #ià! defšed _LIBC || defšed _LIBC_REENTRANT 77  #h_”ºo (* `__h_”ºo_loÿtiÚ ()) ) 82  #NETDB_INTERNAL -1 ) 83  #NETDB_SUCCESS 0 ) 84  #HOST_NOT_FOUND 1 ) 85  #TRY_AGAIN 2 ) 87  #NO_RECOVERY 3 ) 89  #NO_DATA 4 ) 91  #NO_ADDRESS NO_DATA ) 93 #ifdeà __USE_XOPEN2K 95  #IPPORT_RESERVED 1024 ) 98 #ifdeà __USE_GNU 100  #SCOPE_DELIMITER '%' ) 105  $h”rÜ ( __cÚ¡ * __¡r è __THROW ; 108 __cÚ¡ * $h¡»¼Ü ( __”r_num è __THROW ; 113  sho¡’t 115 * h_Çme ; 116 ** h_®Ÿ£s ; 117  h_add¹y³ ; 118  h_Ëngth ; 119 ** h_addr_li¡ ; 120  #h_addr h_addr_li¡ [0] ) 125  $£tho¡’t ( __¡ay_Ý’ è __THROW ; 128  $’dho¡’t (è __THROW ; 132  ho¡’t * $g‘ho¡’t (è __THROW ; 136  ho¡’t * $g‘ho¡byaddr ( __cÚ¡ * __addr , __sockËn_t __Ën , 137  __ty³ è __THROW ; 140  ho¡’t * $g‘ho¡byÇme ( __cÚ¡ * __Çme è __THROW ; 142 #ifdeà __USE_MISC 146  ho¡’t * $g‘ho¡byÇme2 ( __cÚ¡ * __Çme ,  __af è __THROW ; 153  $g‘ho¡’t_r ( ho¡’t * __»¡riù __»suÉ_buf , 154 * __»¡riù __buf , size_t __buæ’ , 155  ho¡’t ** __»¡riù __»suÉ , 156 * __»¡riù __h_”ºÝ è __THROW ; 158  $g‘ho¡byaddr_r ( __cÚ¡ * __»¡riù __addr , __sockËn_t __Ën , 159  __ty³ , 160  ho¡’t * __»¡riù __»suÉ_buf , 161 * __»¡riù __buf , size_t __buæ’ , 162  ho¡’t ** __»¡riù __»suÉ , 163 * __»¡riù __h_”ºÝ è __THROW ; 165  $g‘ho¡byÇme_r ( __cÚ¡ * __»¡riù __Çme , 166  ho¡’t * __»¡riù __»suÉ_buf , 167 * __»¡riù __buf , size_t __buæ’ , 168  ho¡’t ** __»¡riù __»suÉ , 169 * __»¡riù __h_”ºÝ è __THROW ; 171  $g‘ho¡byÇme2_r ( __cÚ¡ * __»¡riù __Çme ,  __af , 172  ho¡’t * __»¡riù __»suÉ_buf , 173 * __»¡riù __buf , size_t __buæ’ , 174  ho¡’t ** __»¡riù __»suÉ , 175 * __»¡riù __h_”ºÝ è __THROW ; 181  $£Š‘’t ( __¡ay_Ý’ è __THROW ; 184  $’dËÁ (è __THROW ; 188  ËÁ * $g‘ËÁ (è __THROW ; 192  ËÁ * $g‘Ãtbyaddr ( ušt32_t __Ãt ,  __ty³ ) 193 __THROW ; 196  ËÁ * $g‘ÃtbyÇme ( __cÚ¡ * __Çme è __THROW ; 198 #ifdef __USE_MISC 204  $g‘ËÁ_r ( ËÁ * __»¡riù __»suÉ_buf , 205 * __»¡riù __buf , size_t __buæ’ , 206  ËÁ ** __»¡riù __»suÉ , 207 * __»¡riù __h_”ºÝ è __THROW ; 209  $g‘Ãtbyaddr_r ( ušt32_t __Ãt ,  __ty³ , 210  ËÁ * __»¡riù __»suÉ_buf , 211 * __»¡riù __buf , size_t __buæ’ , 212  ËÁ ** __»¡riù __»suÉ , 213 * __»¡riù __h_”ºÝ è __THROW ; 215  $g‘ÃtbyÇme_r ( __cÚ¡ * __»¡riù __Çme , 216  ËÁ * __»¡riù __»suÉ_buf , 217 * __»¡riù __buf , size_t __buæ’ , 218  ËÁ ** __»¡riù __»suÉ , 219 * __»¡riù __h_”ºÝ è __THROW ; 224  s£rv’t 226 * s_Çme ; 227 ** s_®Ÿ£s ; 228  s_pÜt ; 229 * s_´Ùo ; 234  $£t£rv’t ( __¡ay_Ý’ è __THROW ; 237  $’d£rv’t (è __THROW ; 241  £rv’t * $g‘£rv’t (è __THROW ; 245  £rv’t * $g‘£rvbyÇme ( __cÚ¡ * __Çme , 246 __cÚ¡ * __´Ùo è __THROW ; 250  £rv’t * $g‘£rvbypÜt ( __pÜt , __cÚ¡ * __´Ùo ) 251 __THROW ; 254 #ifdef __USE_MISC 257  $g‘£rv’t_r ( £rv’t * __»¡riù __»suÉ_buf , 258 * __»¡riù __buf , size_t __buæ’ , 259  £rv’t ** __»¡riù __»suÉ è __THROW ; 261  $g‘£rvbyÇme_r ( __cÚ¡ * __»¡riù __Çme , 262 __cÚ¡ * __»¡riù __´Ùo , 263  £rv’t * __»¡riù __»suÉ_buf , 264 * __»¡riù __buf , size_t __buæ’ , 265  £rv’t ** __»¡riù __»suÉ è __THROW ; 267  $g‘£rvbypÜt_r ( __pÜt , __cÚ¡ * __»¡riù __´Ùo , 268  £rv’t * __»¡riù __»suÉ_buf , 269 * __»¡riù __buf , size_t __buæ’ , 270  £rv’t ** __»¡riù __»suÉ è __THROW ; 275  s´ÙÛÁ 277 * p_Çme ; 278 ** p_®Ÿ£s ; 279  p_´Ùo ; 284  $£�rÙÛÁ ( __¡ay_Ý’ è __THROW ; 287  $’d´ÙÛÁ (è __THROW ; 291  ´ÙÛÁ * $g‘´ÙÛÁ (è __THROW ; 294  ´ÙÛÁ * $g‘´ÙobyÇme ( __cÚ¡ * __Çme è __THROW ; 297  ´ÙÛÁ * $g‘´Ùobynumb” ( __´Ùo è __THROW ; 300 #ifdef __USE_MISC 303  $g‘´ÙÛÁ_r ( ´ÙÛÁ * __»¡riù __»suÉ_buf , 304 * __»¡riù __buf , size_t __buæ’ , 305  ´ÙÛÁ ** __»¡riù __»suÉ è __THROW ; 307  $g‘´ÙobyÇme_r ( __cÚ¡ * __»¡riù __Çme , 308  ´ÙÛÁ * __»¡riù __»suÉ_buf , 309 * __»¡riù __buf , size_t __buæ’ , 310  ´ÙÛÁ ** __»¡riù __»suÉ è __THROW ; 312  $g‘´Ùobynumb”_r ( __´Ùo , 313  ´ÙÛÁ * __»¡riù __»suÉ_buf , 314 * __»¡riù __buf , size_t __buæ’ , 315  ´ÙÛÁ ** __»¡riù __»suÉ è __THROW ; 320  $£Š‘g»Á ( __cÚ¡ * __Ãtgroup è __THROW ; 323  $’dÃtg»Á (è __THROW ; 327  $g‘Ãtg»Á (** __»¡riù __ho¡p , 328 ** __»¡riù __u£½ , 329 ** __»¡riù __domašp è __THROW ; 331 #ifdef __USE_MISC 333  $šÃtgr ( __cÚ¡ * __Ãtgroup , __cÚ¡ * __ho¡ , 334 __cÚ¡ * __u£r , __cÚ¡ * domaš è __THROW ; 337  $g‘Ãtg»Á_r (** __»¡riù __ho¡p , 338 ** __»¡riù __u£½ , 339 ** __»¡riù __domašp , 340 * __»¡riù __bufãr , size_t __buæ’ è __THROW ; 344 #ifdeà __USE_BSD 351  $rcmd (** __»¡riù __aho¡ ,  __½Üt , 352 __cÚ¡ * __»¡riù __locu£r , 353 __cÚ¡ * __»¡riù __»mu£r , 354 __cÚ¡ * __»¡riù __cmd , *__»¡riù __fd2p ) 355 __THROW ; 359  $rcmd_af (** __»¡riù __aho¡ ,  __½Üt , 360 __cÚ¡ * __»¡riù __locu£r , 361 __cÚ¡ * __»¡riù __»mu£r , 362 __cÚ¡ * __»¡riù __cmd , *__»¡riù __fd2p , 363 §_çmžy_t __af è __THROW ; 370  $»xec (** __»¡riù __aho¡ ,  __½Üt , 371 __cÚ¡ * __»¡riù __Çme , 372 __cÚ¡ * __»¡riù __·ss , 373 __cÚ¡ * __»¡riù __cmd , *__»¡riù __fd2p ) 374 __THROW ; 378  $»xec_af (** __»¡riù __aho¡ ,  __½Üt , 379 __cÚ¡ * __»¡riù __Çme , 380 __cÚ¡ * __»¡riù __·ss , 381 __cÚ¡ * __»¡riù __cmd , *__»¡riù __fd2p , 382 §_çmžy_t __af è __THROW ; 387  $ru£rok ( __cÚ¡ * __rho¡ ,  __su£r , 388 __cÚ¡ * __»mu£r , __cÚ¡ * __locu£r è __THROW ; 392  $ru£rok_af ( __cÚ¡ * __rho¡ ,  __su£r , 393 __cÚ¡ * __»mu£r , __cÚ¡ * __locu£r , 394 §_çmžy_t __af è __THROW ; 399  $¼esvpÜt (* __®pÜt è __THROW ; 403  $¼esvpÜt_af (* __®pÜt , §_çmžy_t __af è __THROW ; 408 #ifdef __USE_POSIX 410  saddršfo 412  ai_æags ; 413  ai_çmžy ; 414  ai_sockty³ ; 415  ai_´ÙocÞ ; 416 sockËn_t ai_add¾’ ; 417  sockaddr * ai_addr ; 418 * ai_ÿnÚÇme ; 419  addršfo * ai_Ãxt ; 422 #ifdeà __USE_GNU 424  sgaicb 426 cÚ¡ * ¬_Çme ; 427 cÚ¡ * ¬_£rviû ; 428 cÚ¡  addršfo * ¬_»que¡ ; 429  addršfo * ¬_»suÉ ; 431  __»tuº ; 432  __unu£d [5]; 436  #GAI_WAIT 0 ) 437  #GAI_NOWAIT 1 ) 441  #AI_PASSIVE 0x0001 ) 442  #AI_CANONNAME 0x0002 ) 443  #AI_NUMERICHOST 0x0004 ) 446  #EAI_BADFLAGS -1 ) 447  #EAI_NONAME -2 ) 448  #EAI_AGAIN -3 ) 449  #EAI_FAIL -4 ) 450  #EAI_NODATA -5 ) 451  #EAI_FAMILY -6 ) 452  #EAI_SOCKTYPE -7 ) 453  #EAI_SERVICE -8 ) 454  #EAI_ADDRFAMILY -9 ) 455  #EAI_MEMORY -10 ) 456  #EAI_SYSTEM -11 ) 457 #ifdeà __USE_GNU 458  #EAI_INPROGRESS -100 ) 459  #EAI_CANCELED -101 ) 460  #EAI_NOTCANCELED -102 ) 461  #EAI_ALLDONE -103 ) 462  #EAI_INTR -104 ) 465  #NI_MAXHOST 1025 ) 466  #NI_MAXSERV 32 ) 468  #NI_NUMERICHOST 1 ) 469  #NI_NUMERICSERV 2 ) 470  #NI_NOFQDN 4 ) 471  #NI_NAMEREQD 8 ) 472  #NI_DGRAM 16 ) 476  $g‘addršfo ( __cÚ¡ * __»¡riù __Çme , 477 __cÚ¡ * __»¡riù __£rviû , 478 __cÚ¡  addršfo * __»¡riù __»q , 479  addršfo ** __»¡riù __·i è __THROW ; 482  $ä“addršfo ( addršfo * __ai è __THROW ; 485 __cÚ¡ * $gai_¡»¼Ü ( __ecode è __THROW ; 488  $g‘Çmešfo ( __cÚ¡  sockaddr * __»¡riù __§ , 489 sockËn_t __§Ën , * __»¡riù __ho¡ , 490 sockËn_t __ho¡Ën , * __»¡riù __£rv , 491 sockËn_t __£rvËn ,  __æags è __THROW ; 493 #ifdeà __USE_GNU 497  $g‘addršfo_a ( __mode ,  gaicb * __li¡ [ __»¡riù_¬r ], 498  __’t ,  sigev’t * __»¡riù __sig ) 499 __THROW ; 504  $gai_su¥’d ( __cÚ¡  gaicb *__cÚ¡ __li¡ [],  __’t , 505 __cÚ¡  time¥ec * __timeout è __THROW ; 508  $gai_”rÜ ( gaicb * __»q è __THROW ; 511  $gai_ÿnûl ( gaicb * __gaicbp è __THROW ; 515 __END_DECLS @/usr/include/netinet/in.h 19 #iâdef _NETINET_IN_H 20  #_NETINET_IN_H 1 ) 22  ~<ã©u»s.h > 23  ~<¡dšt.h > 24  ~ 27 __BEGIN_DECLS 32 mIPPROTO_IP = 0, 33  #IPPROTO_IP IPPROTO_IP ) 34 mIPPROTO_HOPOPTS = 0, 35  #IPPROTO_HOPOPTS IPPROTO_HOPOPTS ) 36 mIPPROTO_ICMP = 1, 37  #IPPROTO_ICMP IPPROTO_ICMP ) 38 mIPPROTO_IGMP = 2, 39  #IPPROTO_IGMP IPPROTO_IGMP ) 40 mIPPROTO_IPIP = 4, 41  #IPPROTO_IPIP IPPROTO_IPIP ) 42 mIPPROTO_TCP = 6, 43  #IPPROTO_TCP IPPROTO_TCP ) 44 mIPPROTO_EGP = 8, 45  #IPPROTO_EGP IPPROTO_EGP ) 46 mIPPROTO_PUP = 12, 47  #IPPROTO_PUP IPPROTO_PUP ) 48 mIPPROTO_UDP = 17, 49  #IPPROTO_UDP IPPROTO_UDP ) 50 mIPPROTO_IDP = 22, 51  #IPPROTO_IDP IPPROTO_IDP ) 52 mIPPROTO_TP = 29, 53  #IPPROTO_TP IPPROTO_TP ) 54 mIPPROTO_IPV6 = 41, 55  #IPPROTO_IPV6 IPPROTO_IPV6 ) 56 mIPPROTO_ROUTING = 43, 57  #IPPROTO_ROUTING IPPROTO_ROUTING ) 58 mIPPROTO_FRAGMENT = 44, 59  #IPPROTO_FRAGMENT IPPROTO_FRAGMENT ) 60 mIPPROTO_RSVP = 46, 61  #IPPROTO_RSVP IPPROTO_RSVP ) 62 mIPPROTO_GRE = 47, 63  #IPPROTO_GRE IPPROTO_GRE ) 64 mIPPROTO_ESP = 50, 65  #IPPROTO_ESP IPPROTO_ESP ) 66 mIPPROTO_AH = 51, 67  #IPPROTO_AH IPPROTO_AH ) 68 mIPPROTO_ICMPV6 = 58, 69  #IPPROTO_ICMPV6 IPPROTO_ICMPV6 ) 70 mIPPROTO_NONE = 59, 71  #IPPROTO_NONE IPPROTO_NONE ) 72 mIPPROTO_DSTOPTS = 60, 73  #IPPROTO_DSTOPTS IPPROTO_DSTOPTS ) 74 mIPPROTO_MTP = 92, 75  #IPPROTO_MTP IPPROTO_MTP ) 76 mIPPROTO_ENCAP = 98, 77  #IPPROTO_ENCAP IPPROTO_ENCAP ) 78 mIPPROTO_PIM = 103, 79  #IPPROTO_PIM IPPROTO_PIM ) 80 mIPPROTO_COMP = 108, 81  #IPPROTO_COMP IPPROTO_COMP ) 82 mIPPROTO_RAW = 255, 83  #IPPROTO_RAW IPPROTO_RAW ) 84 mIPPROTO_MAX 89  ušt16_t tš_pÜt_t ; 94 mIPPORT_ECHO = 7, 95 mIPPORT_DISCARD = 9, 96 mIPPORT_SYSTAT = 11, 97 mIPPORT_DAYTIME = 13, 98 mIPPORT_NETSTAT = 15, 99 mIPPORT_FTP = 21, 100 mIPPORT_TELNET = 23, 101 mIPPORT_SMTP = 25, 102 mIPPORT_TIMESERVER = 37, 103 mIPPORT_NAMESERVER = 42, 104 mIPPORT_WHOIS = 43, 105 mIPPORT_MTP = 57, 107 mIPPORT_TFTP = 69, 108 mIPPORT_RJE = 77, 109 mIPPORT_FINGER = 79, 110 mIPPORT_TTYLINK = 87, 111 mIPPORT_SUPDUP = 95, 114 mIPPORT_EXECSERVER = 512, 115 mIPPORT_LOGINSERVER = 513, 116 mIPPORT_CMDSERVER = 514, 117 mIPPORT_EFSSERVER = 520, 120 mIPPORT_BIFFUDP = 512, 121 mIPPORT_WHOSERVER = 513, 122 mIPPORT_ROUTESERVER = 520, 125 mIPPORT_RESERVED = 1024, 128 mIPPORT_USERRESERVED = 5000 133  ušt32_t tš_addr_t ; 134  sš_addr 136 š_addr_t ms_addr ; 145  #IN_CLASSA ( a è(((( š_addr_t )×)è& 0x80000000è=ð0) ) 146  #IN_CLASSA_NET 0xff000000 ) 147  #IN_CLASSA_NSHIFT 24 ) 148  #IN_CLASSA_HOST (0xfffffffà& ~ IN_CLASSA_NET ) ) 149  #IN_CLASSA_MAX 128 ) 151  #IN_CLASSB ( a è(((( š_addr_t )×)è& 0xc0000000è=ð0x80000000) ) 152  #IN_CLASSB_NET 0xffff0000 ) 153  #IN_CLASSB_NSHIFT 16 ) 154  #IN_CLASSB_HOST (0xfffffffà& ~ IN_CLASSB_NET ) ) 155  #IN_CLASSB_MAX 65536 ) 157  #IN_CLASSC ( a è(((( š_addr_t )×)è& 0xe0000000è=ð0xc0000000) ) 158  #IN_CLASSC_NET 0xffffff00 ) 159  #IN_CLASSC_NSHIFT 8 ) 160  #IN_CLASSC_HOST (0xfffffffà& ~ IN_CLASSC_NET ) ) 162  #IN_CLASSD ( a è(((( š_addr_t )×)è& 0xf0000000è=ð0xe0000000) ) 163  #IN_MULTICAST ( a è `IN_CLASSD ×) ) 165  #IN_EXPERIMENTAL ( a è(((( š_addr_t )×)è& 0xe0000000è=ð0xe0000000) ) 166  #IN_BADCLASS ( a è(((( š_addr_t )×)è& 0xf0000000è=ð0xf0000000) ) 169  #INADDR_ANY (( š_addr_t è0x00000000) ) 171  #INADDR_BROADCAST (( š_addr_t è0xffffffff) ) 173  #INADDR_NONE (( š_addr_t è0xffffffff) ) 176  #IN_LOOPBACKNET 127 ) 178 #iâdeà INADDR_LOOPBACK 179  #INADDR_LOOPBACK (( š_addr_t è0x7f000001è ) 183  #INADDR_UNSPEC_GROUP (( š_addr_t è0xe0000000è ) 184  #INADDR_ALLHOSTS_GROUP (( š_addr_t è0xe0000001è ) 185  #INADDR_ALLRTRS_GROUP (( š_addr_t è0xe0000002è ) 186  #INADDR_MAX_LOCAL_GROUP (( š_addr_t è0xe00000ffè ) 190  sš6_addr 194 ušt8_t mu6_addr8 [16]; 195 ušt16_t mu6_addr16 [8]; 196 ušt32_t mu6_addr32 [4]; 197 } mš6_u ; 198  #s6_addr š6_u . u6_addr8 ) 199  #s6_addr16 š6_u . u6_addr16 ) 200  #s6_addr32 š6_u . u6_addr32 ) 203 cÚ¡  š6_addr š6addr_ªy ; 204 cÚ¡  š6_addr š6addr_loÝback ; 205  #IN6ADDR_ANY_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 } } } ) 206  #IN6ADDR_LOOPBACK_INIT { { { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1 } } } ) 208  #INET_ADDRSTRLEN 16 ) 209  #INET6_ADDRSTRLEN 46 ) 212  ~ 216  ssockaddr_š 218 __SOCKADDR_COMMON ( sš_ ); 219 š_pÜt_t msš_pÜt ; 220  š_addr msš_addr ; 223  msš_z”o [ ( sockaddr ) - 224 __SOCKADDR_COMMON_SIZE - 225  ( š_pÜt_t ) - 226  ( š_addr )]; 230  ssockaddr_š6 232 __SOCKADDR_COMMON ( sš6_ ); 233 š_pÜt_t msš6_pÜt ; 234 ušt32_t msš6_æowšfo ; 235  š6_addr msš6_addr ; 236 ušt32_t msš6_scÝe_id ; 240  s�v6_m»q 243  š6_addr m�v6mr_muÉŸddr ; 246  m�v6mr_š‹rçû ; 250  ~ 259 ušt32_t $Áohl ( ušt32_t __ÃŽÚg è __THROW `__©Œibu‹__ (( __cÚ¡__ )); 260 ušt16_t $Áohs ( ušt16_t __ÃtshÜt ) 261 __THROW `__©Œibu‹__ (( __cÚ¡__ )); 262 ušt32_t $htÚl ( ušt32_t __ho¡lÚg ) 263 __THROW `__©Œibu‹__ (( __cÚ¡__ )); 264 ušt16_t $htÚs ( ušt16_t __ho¡shÜt ) 265 __THROW `__©Œibu‹__ (( __cÚ¡__ )); 267  ~<’dŸn.h > 270  ~ 272 #ifdeà __OPTIMIZE__ 276 #ià __BYTE_ORDER =ð __BIG_ENDIAN 279  #Áohl ( x è(x) ) 280  #Áohs ( x è(x) ) 281  #htÚl ( x è(x) ) 282  #htÚs ( x è(x) ) 284 #ià __BYTE_ORDER =ð __LITTLE_ENDIAN 285  #Áohl ( x è `__bsw­_32 (x) ) 286  #Áohs ( x è `__bsw­_16 (x) ) 287  #htÚl ( x è `__bsw­_32 (x) ) 288  #htÚs ( x è `__bsw­_16 (x) ) 293  #IN6_IS_ADDR_UNSPECIFIED ( a ) \ 294 ((( __cÚ¡ ušt32_t *è( a ))[0] == 0 \ 295 && (( __cÚ¡ ušt32_t *è( a ))[1] == 0 \ 296 && (( __cÚ¡ ušt32_t *è( a ))[2] == 0 \ 297 && (( __cÚ¡ ušt32_t *è( a ))[3] =ð0) ) 299  #IN6_IS_ADDR_LOOPBACK ( a ) \ 300 ((( __cÚ¡ ušt32_t *è( a ))[0] == 0 \ 301 && (( __cÚ¡ ušt32_t *è( a ))[1] == 0 \ 302 && (( __cÚ¡ ušt32_t *è( a ))[2] == 0 \ 303 && (( __cÚ¡ ušt32_t *è( a ))[3] =ð `htÚl (1)) ) 305  #IN6_IS_ADDR_MULTICAST ( a è((( __cÚ¡ ušt8_t *è×))[0] =ð0xff) ) 307  #IN6_IS_ADDR_LINKLOCAL ( a ) \ 308 (((( __cÚ¡ ušt32_t *è( a ))[0] & `htÚl (0xffc00000)) \ 309 =ð `htÚl (0xã800000)) ) 311  #IN6_IS_ADDR_SITELOCAL ( a ) \ 312 (((( __cÚ¡ ušt32_t *è( a ))[0] & `htÚl (0xffc00000)) \ 313 =ð `htÚl (0xãc00000)) ) 315  #IN6_IS_ADDR_V4MAPPED ( a ) \ 316 (((( __cÚ¡ ušt32_t *è( a ))[0] == 0) \ 317 && ((( __cÚ¡ ušt32_t *è( a ))[1] == 0) \ 318 && ((( __cÚ¡ ušt32_t *è( a ))[2] =ð `htÚl (0xffff))) ) 320  #IN6_IS_ADDR_V4COMPAT ( a ) \ 321 (((( __cÚ¡ ušt32_t *è( a ))[0] == 0) \ 322 && ((( __cÚ¡ ušt32_t *è( a ))[1] == 0) \ 323 && ((( __cÚ¡ ušt32_t *è( a ))[2] == 0) \ 324 && ( `Áohl ((( __cÚ¡ ušt32_t *è( a ))[3]è> 1)) ) 326  #IN6_ARE_ADDR_EQUAL ( a , b ) \ 327 (((( __cÚ¡ ušt32_t *è( a ))[0] =ð((__cÚ¡ ušt32_ˆ*è( b ))[0]) \ 328 && ((( __cÚ¡ ušt32_t *è( a ))[1] =ð((__cÚ¡ ušt32_ˆ*è( b ))[1]) \ 329 && ((( __cÚ¡ ušt32_t *è( a ))[2] =ð((__cÚ¡ ušt32_ˆ*è( b ))[2]) \ 330 && ((( __cÚ¡ ušt32_t *è( a ))[3] =ð((__cÚ¡ ušt32_ˆ*è( b ))[3])) ) 333  $bšd»svpÜt ( __sockfd ,  sockaddr_š * __sock_š è __THROW ; 336  $bšd»svpÜt6 ( __sockfd ,  sockaddr_š6 * __sock_š ) 337 __THROW ; 340  #IN6_IS_ADDR_MC_NODELOCAL ( a ) \ 341 ( `IN6_IS_ADDR_MULTICAST ( a ) \ 342 && (((( __cÚ¡ ušt8_t *è( a ))[1] & 0xfè=ð0x1)) ) 344  #IN6_IS_ADDR_MC_LINKLOCAL ( a ) \ 345 ( `IN6_IS_ADDR_MULTICAST ( a ) \ 346 && (((( __cÚ¡ ušt8_t *è( a ))[1] & 0xfè=ð0x2)) ) 348  #IN6_IS_ADDR_MC_SITELOCAL ( a ) \ 349 ( `IN6_IS_ADDR_MULTICAST ( a ) \ 350 && (((( __cÚ¡ ušt8_t *è( a ))[1] & 0xfè=ð0x5)) ) 352  #IN6_IS_ADDR_MC_ORGLOCAL ( a ) \ 353 ( `IN6_IS_ADDR_MULTICAST ( a ) \ 354 && (((( __cÚ¡ ušt8_t *è( a ))[1] & 0xfè=ð0x8)) ) 356  #IN6_IS_ADDR_MC_GLOBAL ( a ) \ 357 ( `IN6_IS_ADDR_MULTICAST ( a ) \ 358 && (((( __cÚ¡ ušt8_t *è( a ))[1] & 0xfè=ð0xe)) ) 361  sš6_pktšfo 363  š6_addr �i6_addr ; 364  �i6_ifšdex ; 367 __END_DECLS @/usr/include/pwd.h 23 #iâdef _PWD_H 24  #_PWD_H 1 ) 26  ~<ã©u»s.h > 28 g__BEGIN_DECLS 30  ~ 32  #__Ãed_size_t ) 33  ~<¡ddef.h > 35 #ifdeà __USE_XOPEN 38 #iâdeà __gid_t_defšed 39  __gid_t tgid_t ; 40  #__gid_t_defšed ) 43 #iâdeà __uid_t_defšed 44  __uid_t tuid_t ; 45  #__uid_t_defšed ) 50  s·sswd 52 * mpw_Çme ; 53 * mpw_·sswd ; 54 __uid_t mpw_uid ; 55 __gid_t mpw_gid ; 56 * mpw_gecos ; 57 * mpw_dœ ; 58 * mpw_sh–l ; 62 #ià defšed __USE_SVID || defšed __USE_GNU 63  #__Ãed_FILE ) 64  ~<¡dio.h > 68 #ià defšed __USE_SVID || defšed __USE_MISC || defšed __USE_XOPEN_EXTENDED 70  $£�w’t (è __THROW ; 73  $’dpw’t (è __THROW ; 76  ·sswd * $g‘pw’t (è __THROW ; 79 #ifdef __USE_SVID 81  ·sswd * $fg‘pw’t ( FILE * __¡»am è __THROW ; 84  $pu�w’t ( __cÚ¡  ·sswd * __»¡riù __p , 85 FILE * __»¡riù __f è __THROW ; 89  ·sswd * $g‘pwuid ( __uid_t __uid è __THROW ; 92  ·sswd * $g‘pwÇm ( __cÚ¡ * __Çme è __THROW ; 94 #ià defšed __USE_POSIX || defšed __USE_MISC 96 #ifdeà __USE_MISC 99  #NSS_BUFLEN_PASSWD 1024 ) 110 #ià defšed __USE_SVID || defšed __USE_MISC 111  $g‘pw’t_r ( ·sswd * __»¡riù __»suÉbuf , 112 * __»¡riù __bufãr , size_t __buæ’ , 113  ·sswd ** __»¡riù __»suÉ è __THROW ; 116  $g‘pwuid_r ( __uid_t __uid , 117  ·sswd * __»¡riù __»suÉbuf , 118 * __»¡riù __bufãr , size_t __buæ’ , 119  ·sswd ** __»¡riù __»suÉ è __THROW ; 121  $g‘pwÇm_r ( __cÚ¡ * __»¡riù __Çme , 122  ·sswd * __»¡riù __»suÉbuf , 123 * __»¡riù __bufãr , size_t __buæ’ , 124  ·sswd ** __»¡riù __»suÉ è __THROW ; 127 #ifdef __USE_SVID 130  $fg‘pw’t_r ( FILE * __»¡riù __¡»am , 131  ·sswd * __»¡riù __»suÉbuf , 132 * __»¡riù __bufãr , size_t __buæ’ , 133  ·sswd ** __»¡riù __»suÉ è __THROW ; 138 #ifdeà __USE_GNU 142  $g‘pw ( __uid_t __uid , * __bufãr è __THROW ; 145 __END_DECLS @/usr/include/setjmp.h 23 #iâdef _SETJMP_H 24  #_SETJMP_H 1 ) 26  ~<ã©u»s.h > 28 g__BEGIN_DECLS 30  ~ 31  ~ 34  s__jmp_buf_�g 40 __jmp_buf m__jmpbuf ; 41  m__mask_was_§ved ; 42 __sig£t_t m__§ved_mask ; 43 } tjmp_buf [1]; 48  $£tjmp ( jmp_buf __’v è __THROW ; 52  $_£tjmp ( jmp_buf __’v è __THROW ; 57  $__sig£tjmp ( jmp_buf __’v ,  __§vemask è __THROW ; 59 #iâdef __FAVOR_BSD 62  #£tjmp ( ’v è `_£tjmp (’v) ) 67  #£tjmp ( ’v è `£tjmp (’v) ) 73  $lÚgjmp ( jmp_buf __’v ,  __v® ) 74 __THROW `__©Œibu‹__ (( __nÜ‘uº__ )); 75 #ià defšed __USE_BSD || defšed __USE_XOPEN 79  $_lÚgjmp ( jmp_buf __’v ,  __v® ) 80 __THROW `__©Œibu‹__ (( __nÜ‘uº__ )); 84 #ifdef __USE_POSIX 88  jmp_buf tsigjmp_buf ; 92  #sig£tjmp ( ’v , §vemask è `__sig£tjmp (’v, savemask) ) 98  $siglÚgjmp ( sigjmp_buf __’v ,  __v® ) 99 __THROW `__©Œibu‹__ (( __nÜ‘uº__ )); 102 __END_DECLS @/usr/include/signal.h 23 #iâdef _SIGNAL_H 25 #ià! defšed __Ãed_sig_©omic_t && !defšed __Ãed_sig£t_t 26  #_SIGNAL_H ) 29  ~<ã©u»s.h > 31 g__BEGIN_DECLS 33  ~ 37 #ià defšed __Ãed_sig_©omic_t || defšed _SIGNAL_H 38 #iâdeà __sig_©omic_t_defšed 39  #__sig_©omic_t_defšed ) 40  __sig_©omic_t tsig_©omic_t ; 42 #undeà __Ãed_sig_©omic_t 45 #ià defšed __Ãed_sig£t_t || (defšed _SIGNAL_H && defšed __USE_POSIX ) 46 #iâdeà __sig£t_t_defšed 47  #__sig£t_t_defšed ) 48  __sig£t_t tsig£t_t ; 50 #undeà __Ãed_sig£t_t 53 #ifdeà _SIGNAL_H 55  ~ 56  ~ 58 #ifdeà __USE_XOPEN 59 #iâdeà __pid_t_defšed 60  __pid_t tpid_t ; 61  #__pid_t_defšed ) 63 #iâdeà __uid_t_defšed 64  __uid_t tuid_t ; 65  #__uid_t_defšed ) 71 (* t__sighªdËr_t ) (); 76 __sighªdËr_t $__sysv_sigÇl ( __sig , __sighªdËr_t __hªdËr ) 77 __THROW ; 78 #ifdeà __USE_GNU 79 __sighªdËr_t $sysv_sigÇl ( __sig , __sighªdËr_t __hªdËr ) 80 __THROW ; 86 #ifdeà __USE_BSD 87 __sighªdËr_t $sigÇl ( __sig , __sighªdËr_t __hªdËr è __THROW ; 90 #ifdeà __REDIRECT 91 __sighªdËr_t `__REDIRECT ( sigÇl , 92 ( __sig , 93 __sighªdËr_t __hªdËr è __THROW , 94 __sysv_sigÇl ); 96  #sigÇl __sysv_sigÇl ) 100 #ifdeà __USE_XOPEN 103 __sighªdËr_t $bsd_sigÇl ( __sig , __sighªdËr_t __hªdËr è __THROW ; 109 #ifdeà __USE_POSIX 110  $kžl ( __pid_t __pid ,  __sig è __THROW ; 113 #ià defšed __USE_BSD || defšed __USE_XOPEN_EXTENDED 117  $kžÍg ( __pid_t __pg½ ,  __sig è __THROW ; 121  $¿i£ ( __sig è __THROW ; 123 #ifdeà __USE_SVID 125 __sighªdËr_t $ssigÇl ( __sig , __sighªdËr_t __hªdËr è __THROW ; 126  $gsigÇl ( __sig è __THROW ; 129 #ifdeà __USE_MISC 131  $psigÇl ( __sig , __cÚ¡ * __s è __THROW ; 140  $__sig·u£ ( __sig_Ü_mask ,  __is_sig è __THROW ; 142 #ifdeà __USE_BSD 145  $sig·u£ ( __mask è __THROW ; 146  #sig·u£ ( mask è `__sig·u£ ((mask), 0) ) 148 #ifdeà __USE_XOPEN 149 #ifdeà __GNUC__ 150  $sig·u£ ( __sig è __THROW `__asm__ ("__xpg_sigpause"); 153  #sig·u£ ( sig è `__sig·u£ ((sig), 1) ) 158 #ifdeà __USE_BSD 165  #sigmask ( sig è `__sigmask (sig) ) 168  $sigblock ( __mask è __THROW ; 171  $sig£tmask ( __mask è __THROW ; 174  $sigg‘mask (è __THROW ; 178 #ifdeà __USE_MISC 179  #NSIG _NSIG ) 182 #ifdeà __USE_GNU 183  __sighªdËr_t tsighªdËr_t ; 187 #ifdeà __USE_BSD 188  __sighªdËr_t tsig_t ; 191 #ifdeà __USE_POSIX 193 #ifdeà __USE_POSIX199309 195  #__Ãed_time¥ec ) 196  ~ 199  ~ 203  $sigem±y£t ( sig£t_t * __£t è __THROW ; 206  $sigfžl£t ( sig£t_t * __£t è __THROW ; 209  $sigadd£t ( sig£t_t * __£t ,  __signo è __THROW ; 212  $sigd–£t ( sig£t_t * __£t ,  __signo è __THROW ; 215  $sigismemb” ( __cÚ¡ sig£t_t * __£t ,  __signo è __THROW ; 217 #ifdeà __USE_GNU 219  $sigi£m±y£t ( __cÚ¡ sig£t_t * __£t è __THROW ; 222  $sigªd£t ( sig£t_t * __£t , __cÚ¡ sig£t_ˆ* __Ëá , 223 __cÚ¡ sig£t_t * __right è __THROW ; 226  $sigÜ£t ( sig£t_t * __£t , __cÚ¡ sig£t_ˆ* __Ëá , 227 __cÚ¡ sig£t_t * __right è __THROW ; 232  ~ 235  $sig´ocmask ( __how , __cÚ¡ sig£t_t * __»¡riù __£t , 236 sig£t_t * __»¡riù __o£t è __THROW ; 240  $sigsu¥’d ( __cÚ¡ sig£t_t * __£t è __THROW ; 243  $sigaùiÚ ( __sig , __cÚ¡  sigaùiÚ * __»¡riù __aù , 244  sigaùiÚ * __»¡riù __ßù è __THROW ; 247  $sig³ndšg ( sig£t_t * __£t è __THROW ; 251  $sigwa™ ( __cÚ¡ sig£t_t * __»¡riù __£t , *__»¡riù __sig ) 252 __THROW ; 254 #ifdeà __USE_POSIX199309 256  $sigwa™šfo ( __cÚ¡ sig£t_t * __»¡riù __£t , 257 sigšfo_t * __»¡riù __šfo è __THROW ; 261  $sigtimedwa™ ( __cÚ¡ sig£t_t * __»¡riù __£t , 262 sigšfo_t * __»¡riù __šfo , 263 __cÚ¡  time¥ec * __»¡riù __timeout ) 264 __THROW ; 268  $sigqueue ( __pid_t __pid ,  __sig , __cÚ¡  sigv® __v® ) 269 __THROW ; 274 #ifdeà __USE_BSD 278 __cÚ¡ *__cÚ¡ _sys_sigli¡ [ _NSIG ]; 279 __cÚ¡ *__cÚ¡ sys_sigli¡ [ _NSIG ]; 282  ssigvec 284 __sighªdËr_t sv_hªdËr ; 285  sv_mask ; 287  sv_æags ; 288  #sv_Ú¡ack sv_æags ) 292  #SV_ONSTACK (1 << 0) ) 293  #SV_INTERRUPT (1 << 1) ) 294  #SV_RESETHAND (1 << 2) ) 302  $sigvec ( __sig , __cÚ¡  sigvec * __vec , 303  sigvec * __ovec è __THROW ; 307  ~ 310  $sig»tuº ( sigcÚ‹xt * __sý è __THROW ; 315 #ià defšed __USE_BSD || defšed __USE_XOPEN_EXTENDED 320  $sigš‹¼u± ( __sig ,  __š‹¼u± è __THROW ; 322  ~ 323 #ifdeà __USE_XOPEN 324  ~ 330  $sig¡ack ( sig¡ack * __ss , sig¡ack * __oss è __THROW ; 334  $sig®t¡ack ( __cÚ¡  sig®t¡ack * __»¡riù __ss , 335  sig®t¡ack * __»¡riù __oss è __THROW ; 339 #ifdeà __USE_UNIX98 343  $sighÞd ( __sig è __THROW ; 346  $sig»l£ ( __sig è __THROW ; 349  $sigignÜe ( __sig è __THROW ; 352 __sighªdËr_t $sig£t ( __sig , __sighªdËr_t __di¥ è __THROW ; 355 #ià defšed __USE_POSIX199506 || defšed __USE_UNIX98 358  ~ 365  $__libc_cu¼’t_sig¹mš (è __THROW ; 367  $__libc_cu¼’t_sig¹max (è __THROW ; 371 __END_DECLS @/usr/include/stdio.h 24 #iâdeà _STDIO_H 26 #ià! defšed __Ãed_FILE && !defšed __Ãed___FILE 27  #_STDIO_H 1 ) 28  ~<ã©u»s.h > 30 g__BEGIN_DECLS 32  #__Ãed_size_t ) 33  #__Ãed_NULL ) 34  ~<¡ddef.h > 36  ~ 37  #__Ãed_FILE ) 38  #__Ãed___FILE ) 42 #ià! defšed __FILE_defšed && defšed __Ãed_FILE 45  _IO_FILE tFILE ; 47  #__FILE_defšed 1 ) 49 #undeà __Ãed_FILE 52 #ià! defšed ____FILE_defšed && defšed __Ãed___FILE 55  _IO_FILE t__FILE ; 57  #____FILE_defšed 1 ) 59 #undeà __Ãed___FILE 62 #ifdef _STDIO_H 63  #_STDIO_USES_IOSTREAM ) 65  ~ 67 #ifdeà __USE_XOPEN 68 #ifdeà __GNUC__ 69 #iâdeà _VA_LIST_DEFINED 70  _G_va_li¡ tva_li¡ ; 71  #_VA_LIST_DEFINED ) 74  ~<¡d¬g.h > 79 #iâdeà __USE_FILE_OFFSET64 80  _G_åos_t tåos_t ; 82  _G_åos64_t tåos_t ; 84 #ifdeà __USE_LARGEFILE64 85  _G_åos64_t tåos64_t ; 89  #_IOFBF 0 ) 90  #_IOLBF 1 ) 91  #_IONBF 2 ) 95 #iâdeà BUFSIZ 96  #BUFSIZ _IO_BUFSIZ ) 102 #iâdeà EOF 103  #EOF (-1) ) 109  #SEEK_SET 0 ) 110  #SEEK_CUR 1 ) 111  #SEEK_END 2 ) 114 #ià defšed __USE_SVID || defšed __USE_XOPEN 116  #P_tmpdœ "/tmp" ) 129  ~ 133 FILE * ¡dš ; 134 FILE * ¡dout ; 135 FILE * ¡d”r ; 136 #ifdeà __STDC__ 138  #¡dš ¡dš ) 139  #¡dout ¡dout ) 140  #¡d”r ¡d”r ) 144  $»move ( __cÚ¡ * __fž’ame è __THROW ; 146  $»Çme ( __cÚ¡ * __Þd , __cÚ¡ * __Ãw è __THROW ; 150 #iâdeà __USE_FILE_OFFSET64 151 FILE * $tmpfže (è __THROW ; 153 #ifdeà __REDIRECT 154 FILE * `__REDIRECT ( tmpfže , (è __THROW , tmpfže64 ); 156  #tmpfže tmpfže64 ) 159 #ifdeà __USE_LARGEFILE64 160 FILE * $tmpfže64 (è __THROW ; 163 * $tm²am (* __s è __THROW ; 165 #ifdeà __USE_MISC 168 * $tm²am_r (* __s è __THROW ; 172 #ià defšed __USE_SVID || defšed __USE_XOPEN 180 * $‹m²am ( __cÚ¡ * __dœ , __cÚ¡ * __pfx ) 181 __THROW __©Œibu‹_m®loc__ ; 186  $fþo£ ( FILE * __¡»am è __THROW ; 188  $fæush ( FILE * __¡»am è __THROW ; 190 #ifdeà __USE_MISC 192  $fæush_uÆocked ( FILE * __¡»am è __THROW ; 195 #ifdeà __USE_GNU 197  $fþo£®l (è __THROW ; 201 #iâdeà __USE_FILE_OFFSET64 203 FILE * $fÝ’ ( __cÚ¡ * __»¡riù __fž’ame , 204 __cÚ¡ * __»¡riù __modes è __THROW ; 206 FILE * $äeÝ’ ( __cÚ¡ * __»¡riù __fž’ame , 207 __cÚ¡ * __»¡riù __modes , 208 FILE * __»¡riù __¡»am è __THROW ; 210 #ifdeà __REDIRECT 211 FILE * `__REDIRECT ( fÝ’ , ( __cÚ¡ * __»¡riù __fž’ame , 212 __cÚ¡ * __»¡riù __modes è __THROW , 213 fÝ’64 ); 214 FILE * `__REDIRECT ( äeÝ’ , ( __cÚ¡ * __»¡riù __fž’ame , 215 __cÚ¡ * __»¡riù __modes , 216 FILE * __»¡riù __¡»am è __THROW , 217 äeÝ’64 ); 219  #fÝ’ fÝ’64 ) 220  #äeÝ’ äeÝ’64 ) 223 #ifdeà __USE_LARGEFILE64 224 FILE * $fÝ’64 ( __cÚ¡ * __»¡riù __fž’ame , 225 __cÚ¡ * __»¡riù __modes è __THROW ; 226 FILE * $äeÝ’64 ( __cÚ¡ * __»¡riù __fž’ame , 227 __cÚ¡ * __»¡riù __modes , 228 FILE * __»¡riù __¡»am è __THROW ; 231 #ifdef __USE_POSIX 233 FILE * $fdÝ’ ( __fd , __cÚ¡ * __modes è __THROW ; 236 #ifdef __USE_GNU 239 FILE * $fÝ’cook› (* __»¡riù __magic_cook› , 240 __cÚ¡ * __»¡riù __modes , 241 _IO_cook›_io_funùiÚs_t __io_funcs è __THROW ; 244 FILE * $fmemÝ’ (* __s , size_t __Ën , __cÚ¡ * __modes è __THROW ; 249 FILE * $Ý’_mem¡»am (** __»¡riù __buæoc , 250 size_t * __»¡riù __siz–oc è __THROW ; 256  $£tbuf ( FILE * __»¡riù __¡»am , *__»¡riù __buf è __THROW ; 260  $£tvbuf ( FILE * __»¡riù __¡»am , *__»¡riù __buf , 261  __modes , size_t __n è __THROW ; 263 #ifdef __USE_BSD 266  $£tbufãr ( FILE * __»¡riù __¡»am , *__»¡riù __buf , 267 size_t __size è __THROW ; 270  $£Žšebuf ( FILE * __¡»am è __THROW ; 275  $årštf ( FILE * __»¡riù __¡»am , 276 __cÚ¡ * __»¡riù __fÜm© , ...è __THROW ; 278  $´štf ( __cÚ¡ * __»¡riù __fÜm© , ...è __THROW ; 280  $¥rštf (* __»¡riù __s , 281 __cÚ¡ * __»¡riù __fÜm© , ...è __THROW ; 284  $vårštf ( FILE * __»¡riù __s , __cÚ¡ *__»¡riù __fÜm© , 285 _G_va_li¡ __¬g è __THROW ; 287  $v´štf ( __cÚ¡ * __»¡riù __fÜm© , _G_va_li¡ __¬g ) 288 __THROW ; 290  $v¥rštf (* __»¡riù __s , __cÚ¡ *__»¡riù __fÜm© , 291 _G_va_li¡ __¬g è __THROW ; 293 #ià defšed __USE_BSD || defšed __USE_ISOC99 || defšed __USE_UNIX98 295  $¢´štf (* __»¡riù __s , size_t __maxËn , 296 __cÚ¡ * __»¡riù __fÜm© , ...) 297 __THROW `__©Œibu‹__ (( `__fÜm©__ ( __´štf__ , 3, 4))); 299  $v¢´štf (* __»¡riù __s , size_t __maxËn , 300 __cÚ¡ * __»¡riù __fÜm© , _G_va_li¡ __¬g ) 301 __THROW `__©Œibu‹__ (( `__fÜm©__ ( __´štf__ , 3, 0))); 304 #ifdeà __USE_GNU 307  $va¥rštf (** __»¡riù __±r , __cÚ¡ *__»¡riù __f , 308 _G_va_li¡ __¬g ) 309 __THROW `__©Œibu‹__ (( `__fÜm©__ ( __´štf__ , 2, 0))); 310  $__a¥rštf (** __»¡riù __±r , 311 __cÚ¡ * __»¡riù __fmt , ...) 312 __THROW `__©Œibu‹__ (( `__fÜm©__ ( __´štf__ , 2, 3))); 313  $a¥rštf (** __»¡riù __±r , 314 __cÚ¡ * __»¡riù __fmt , ...) 315 __THROW `__©Œibu‹__ (( `__fÜm©__ ( __´štf__ , 2, 3))); 318  $vd´štf ( __fd , __cÚ¡ * __»¡riù __fmt , 319 _G_va_li¡ __¬g ) 320 __THROW `__©Œibu‹__ (( `__fÜm©__ ( __´štf__ , 2, 0))); 321  $d´štf ( __fd , __cÚ¡ * __»¡riù __fmt , ...) 322 __THROW `__©Œibu‹__ (( `__fÜm©__ ( __´štf__ , 2, 3))); 327  $fsÿnf ( FILE * __»¡riù __¡»am , 328 __cÚ¡ * __»¡riù __fÜm© , ...è __THROW ; 330  $sÿnf ( __cÚ¡ * __»¡riù __fÜm© , ...è __THROW ; 332  $ssÿnf ( __cÚ¡ * __»¡riù __s , 333 __cÚ¡ * __»¡riù __fÜm© , ...è __THROW ; 335 #ifdef __USE_ISOC99 337  $vfsÿnf ( FILE * __»¡riù __s , __cÚ¡ *__»¡riù __fÜm© , 338 _G_va_li¡ __¬g ) 339 __THROW `__©Œibu‹__ (( `__fÜm©__ ( __sÿnf__ , 2, 0))); 342  $vsÿnf ( __cÚ¡ * __»¡riù __fÜm© , _G_va_li¡ __¬g ) 343 __THROW `__©Œibu‹__ (( `__fÜm©__ ( __sÿnf__ , 1, 0))); 346  $vssÿnf ( __cÚ¡ * __»¡riù __s , 347 __cÚ¡ * __»¡riù __fÜm© , _G_va_li¡ __¬g ) 348 __THROW `__©Œibu‹__ (( `__fÜm©__ ( __sÿnf__ , 2, 0))); 353  $fg‘c ( FILE * __¡»am è __THROW ; 354  $g‘c ( FILE * __¡»am è __THROW ; 357  $g‘ch¬ (è __THROW ; 361  #g‘c ( _å è `_IO_g‘c (_å) ) 363 #ià defšed __USE_POSIX || defšed __USE_MISC 365  $g‘c_uÆocked ( FILE * __¡»am è __THROW ; 366  $g‘ch¬_uÆocked (è __THROW ; 369 #ifdeà __USE_MISC 371  $fg‘c_uÆocked ( FILE * __¡»am è __THROW ; 376  $åutc ( __c , FILE * __¡»am è __THROW ; 377  $putc ( __c , FILE * __¡»am è __THROW ; 380  $putch¬ ( __c è __THROW ; 384  #putc ( _ch , _å è `_IO_putc (_ch, _å) ) 386 #ifdeà __USE_MISC 388  $åutc_uÆocked ( __c , FILE * __¡»am è __THROW ; 391 #ià defšed __USE_POSIX || defšed __USE_MISC 393  $putc_uÆocked ( __c , FILE * __¡»am è __THROW ; 394  $putch¬_uÆocked ( __c è __THROW ; 398 #ià defšed __USE_SVID || defšed __USE_MISC || defšed __USE_XOPEN 400  $g‘w ( FILE * __¡»am è __THROW ; 403  $putw ( __w , FILE * __¡»am è __THROW ; 408 * $fg‘s (* __»¡riù __s ,  __n , FILE *__»¡riù __¡»am ) 409 __THROW ; 411 #ifdeà __USE_GNU 413 * $fg‘s_uÆocked (* __»¡riù __s ,  __n , 414 FILE * __»¡riù __¡»am è __THROW ; 419 * $g‘s (* __s è __THROW ; 422 #ifdef __USE_GNU 428 _IO_ssize_t $__g‘d–im (** __»¡riù __lš•Œ , 429 size_t * __»¡riù __n ,  __d–im™” , 430 FILE * __»¡riù __¡»am è __THROW ; 431 _IO_ssize_t $g‘d–im (** __»¡riù __lš•Œ , 432 size_t * __»¡riù __n ,  __d–im™” , 433 FILE * __»¡riù __¡»am è __THROW ; 436 _IO_ssize_t $g‘lše (** __»¡riù __lš•Œ , 437 size_t * __»¡riù __n , 438 FILE * __»¡riù __¡»am è __THROW ; 443  $åuts ( __cÚ¡ * __»¡riù __s , FILE *__»¡riù __¡»am ) 444 __THROW ; 446 #ifdeà __USE_GNU 448  $åuts_uÆocked ( __cÚ¡ * __»¡riù __s , 449 FILE * __»¡riù __¡»am è __THROW ; 453  $puts ( __cÚ¡ * __s è __THROW ; 457  $ung‘c ( __c , FILE * __¡»am è __THROW ; 461 size_t $ä—d (* __»¡riù __±r , size_t __size , 462 size_t __n , FILE * __»¡riù __¡»am è __THROW ; 464 size_t $fwr™e ( __cÚ¡ * __»¡riù __±r , size_t __size , 465 size_t __n , FILE * __»¡riù __s è __THROW ; 467 #ifdeà __USE_MISC 469 size_t $ä—d_uÆocked (* __»¡riù __±r , size_t __size , 470 size_t __n , FILE * __»¡riù __¡»am è __THROW ; 471 size_t $fwr™e_uÆocked ( __cÚ¡ * __»¡riù __±r , size_t __size , 472 size_t __n , FILE * __»¡riù __¡»am è __THROW ; 477  $f£ek ( FILE * __¡»am ,  __off ,  __wh’û è __THROW ; 479  $á–l ( FILE * __¡»am è __THROW ; 481  $»wšd ( FILE * __¡»am è __THROW ; 488 #iâdeà __USE_FILE_OFFSET64 489 #ifdeà __USE_LARGEFILE 491  $f£eko ( FILE * __¡»am , __off_t __off ,  __wh’û è __THROW ; 493 __off_t $á–lo ( FILE * __¡»am è __THROW ; 497  $fg‘pos ( FILE * __»¡riù __¡»am , åos_t *__»¡riù __pos ) 498 __THROW ; 500  $f£�os ( FILE * __¡»am , __cÚ¡ åos_t * __pos è __THROW ; 502 #ifdeà __REDIRECT 503 #ifdeà __USE_LARGEFILE 504  `__REDIRECT ( f£eko , 505 ( FILE * __¡»am , __off64_t __off ,  __wh’û è __THROW , 506 f£eko64 ); 507 __off64_t `__REDIRECT ( á–lo , ( FILE * __¡»am è __THROW , á–lo64 ); 509  `__REDIRECT ( fg‘pos , ( FILE * __»¡riù __¡»am , 510 åos_t * __»¡riù __pos è __THROW , fg‘pos64 ); 511  `__REDIRECT ( f£�os , 512 ( FILE * __¡»am , __cÚ¡ åos_t * __pos è __THROW , 513 f£�os64 ); 515 #ifdeà __USE_LARGEFILE 516  #f£eko f£eko64 ) 517  #á–lo á–lo64 ) 519  #fg‘pos fg‘pos64 ) 520  #f£�os f£�os64 ) 524 #ifdeà __USE_LARGEFILE64 525  $f£eko64 ( FILE * __¡»am , __off64_t __off ,  __wh’û è __THROW ; 526 __off64_t $á–lo64 ( FILE * __¡»am è __THROW ; 527  $fg‘pos64 ( FILE * __»¡riù __¡»am , åos64_t *__»¡riù __pos ) 528 __THROW ; 529  $f£�os64 ( FILE * __¡»am , __cÚ¡ åos64_t * __pos è __THROW ; 533  $þ—»¼ ( FILE * __¡»am è __THROW ; 535  $ãof ( FILE * __¡»am è __THROW ; 537  $ã¼Ü ( FILE * __¡»am è __THROW ; 539 #ifdeà __USE_MISC 541  $þ—»¼_uÆocked ( FILE * __¡»am è __THROW ; 542  $ãof_uÆocked ( FILE * __¡»am è __THROW ; 543  $ã¼Ü_uÆocked ( FILE * __¡»am è __THROW ; 548  $³¼Ü ( __cÚ¡ * __s è __THROW ; 552 #ifdef __USE_BSD 553  sys_ü ; 554 __cÚ¡ *__cÚ¡ sys_”¾i¡ []; 556 #ifdef __USE_GNU 557  _sys_ü ; 558 __cÚ¡ *__cÚ¡ _sys_”¾i¡ []; 562 #ifdef __USE_POSIX 564  $fž’o ( FILE * __¡»am è __THROW ; 567 #ifdeà __USE_MISC 569  $fž’o_uÆocked ( FILE * __¡»am è __THROW ; 573 #ià( defšed __USE_POSIX2 || defšed __USE_SVID || defšed __USE_BSD || \ 574 defšed __USE_MISC ) 576 FILE * $pÝ’ ( __cÚ¡ * __commªd , __cÚ¡ * __modes è __THROW ; 579  $pþo£ ( FILE * __¡»am è __THROW ; 583 #ifdef __USE_POSIX 585 * $ù”mid (* __s è __THROW ; 589 #ifdeà __USE_XOPEN 591 * $cu£rid (* __s è __THROW ; 595 #ifdef __USE_GNU 596  ob¡ack ; 599  $ob¡ack_´štf ( ob¡ack * __»¡riù __ob¡ack , 600 __cÚ¡ * __»¡riù __fÜm© , ...è __THROW ; 601  $ob¡ack_v´štf ( ob¡ack * __»¡riù __ob¡ack , 602 __cÚ¡ * __»¡riù __fÜm© , 603 _G_va_li¡ __¬gs è __THROW ; 607 #ià defšed __USE_POSIX || defšed __USE_MISC 611  $æockfže ( FILE * __¡»am è __THROW ; 615  $árylockfže ( FILE * __¡»am è __THROW ; 618  $fuÆockfže ( FILE * __¡»am è __THROW ; 621 #ià defšed __USE_XOPEN && !defšed __USE_XOPEN2K && !defšed __USE_GNU 625  #__Ãed_g‘Ýt ) 626  ~ 631 #ifdeà __USE_EXTERN_INLINES 632  ~ 635 __END_DECLS @/usr/include/stdlib.h 23 #iâdef _STDLIB_H 25  ~<ã©u»s.h > 28  #__Ãed_size_t ) 29 #iâdeà __Ãed_m®loc_ªd_ÿÎoc 30  #__Ãed_wch¬_t ) 31  #__Ãed_NULL ) 33  ~<¡ddef.h > 35 g__BEGIN_DECLS 37 #iâdeà __Ãed_m®loc_ªd_ÿÎoc 38  #_STDLIB_H 1 ) 40 #ià defšed __USE_XOPEN && !defšed _SYS_WAIT_H 42  ~ 43  ~ 45 #ifdeà __USE_BSD 50 #ià defšed __GNUC__ && !defšed __ýlu¥lus 51  #__WAIT_INT ( ¡©us ) \ 52 ( `__ex‹nsiÚ__ ({ uniÚ { `__ty³of ( ¡©us è __š ;  __i ; } __u ; \ 53 __u . __š = ( ¡©us ); __u. __i ; })) ) 55  #__WAIT_INT ( ¡©us è(*(*è&(¡©us)) ) 63 #ià! defšed __GNUC__ || __GNUC__ < 2 || defšed __ýlu¥lus 64  #__WAIT_STATUS * ) 65  #__WAIT_STATUS_DEFN * ) 70  wa™ * m__u±r ; 71 * m__�Œ ; 72 } t__WAIT_STATUS t__©Œibu‹__ (( t__Œª¥¬’t_uniÚ__ )); 73  #__WAIT_STATUS_DEFN * ) 78  #__WAIT_INT ( ¡©us è(¡©us) ) 79  #__WAIT_STATUS * ) 80  #__WAIT_STATUS_DEFN * ) 85  #WEXITSTATUS ( ¡©us è `__WEXITSTATUS ( `__WAIT_INT (¡©us)) ) 86  #WTERMSIG ( ¡©us è `__WTERMSIG ( `__WAIT_INT (¡©us)) ) 87  #WSTOPSIG ( ¡©us è `__WSTOPSIG ( `__WAIT_INT (¡©us)) ) 88  #WIFEXITED ( ¡©us è `__WIFEXITED ( `__WAIT_INT (¡©us)) ) 89  #WIFSIGNALED ( ¡©us è `__WIFSIGNALED ( `__WAIT_INT (¡©us)) ) 90  #WIFSTOPPED ( ¡©us è `__WIFSTOPPED ( `__WAIT_INT (¡©us)) ) 96  mquÙ ; 97  m»m ; 98 } tdiv_t ; 101 #iâdeà __ldiv_t_defšed 104  mquÙ ; 105  m»m ; 106 } tldiv_t ; 107  #__ldiv_t_defšed 1 ) 110 #ià defšed __USE_ISOC99 && !defšed __Îdiv_t_defšed 112 __ex‹nsiÚ__ struct 114  mquÙ ; 115  m»m ; 116 } tÎdiv_t ; 117  #__Îdiv_t_defšed 1 ) 122  #RAND_MAX 2147483647 ) 127  #EXIT_FAILURE 1 ) 128  #EXIT_SUCCESS 0 ) 132  #MB_CUR_MAX ( `__ùy³_g‘_mb_cur_max ()) ) 133 size_t $__ùy³_g‘_mb_cur_max (è __THROW ; 137  $©of ( __cÚ¡ * __ÅŒ è __THROW __©Œibu‹_pu»__ ; 139  $©oi ( __cÚ¡ * __ÅŒ è __THROW __©Œibu‹_pu»__ ; 141  $©Þ ( __cÚ¡ * __ÅŒ è __THROW __©Œibu‹_pu»__ ; 143 #ià defšed __USE_ISOC99 || (defšed __GLIBC_HAVE_LONG_LONG && defšed __USE_MISC ) 145 __ex‹nsiÚ__  $©Þl ( __cÚ¡ * __ÅŒ ) 146 __THROW __©Œibu‹_pu»__ ; 150  $¡¹od ( __cÚ¡ * __»¡riù __ÅŒ , 151 ** __»¡riù __’d±r è __THROW ; 153 #ifdef __USE_ISOC99 155  $¡¹of ( __cÚ¡ * __»¡riù __ÅŒ , 156 ** __»¡riù __’d±r è __THROW ; 158  $¡¹Þd ( __cÚ¡ * __»¡riù __ÅŒ , 159 ** __»¡riù __’d±r è __THROW ; 163  $¡¹Þ ( __cÚ¡ * __»¡riù __ÅŒ , 164 ** __»¡riù __’d±r ,  __ba£ è __THROW ; 166  $¡¹oul ( __cÚ¡ * __»¡riù __ÅŒ , 167 ** __»¡riù __’d±r ,  __ba£ ) 168 __THROW ; 170 #ià defšed __GLIBC_HAVE_LONG_LONG && defšed __USE_BSD 172 __ex‹nsiÚ__ 173  $¡¹oq ( __cÚ¡ * __»¡riù __ÅŒ , 174 ** __»¡riù __’d±r ,  __ba£ è __THROW ; 176 __ex‹nsiÚ__ 177  $¡¹ouq ( __cÚ¡ * __»¡riù __ÅŒ , 178 ** __»¡riù __’d±r ,  __ba£ ) 179 __THROW ; 182 #ià defšed __USE_ISOC99 || (defšed __GLIBC_HAVE_LONG_LONG && defšed __USE_MISC ) 186 __ex‹nsiÚ__ 187  $¡¹Þl ( __cÚ¡ * __»¡riù __ÅŒ , 188 ** __»¡riù __’d±r ,  __ba£ è __THROW ; 190 __ex‹nsiÚ__ 191  $¡¹ouÎ ( __cÚ¡ * __»¡riù __ÅŒ , 192 ** __»¡riù __’d±r ,  __ba£ ) 193 __THROW ; 197 #ifdeà __USE_GNU 211  ~ 215  $__¡¹Þ_l ( __cÚ¡ * __»¡riù __ÅŒ , 216 ** __»¡riù __’d±r ,  __ba£ , 217 __loÿË_t __loc è __THROW ; 219  $__¡¹oul_l ( __cÚ¡ * __»¡riù __ÅŒ , 220 ** __»¡riù __’d±r , 221  __ba£ , __loÿË_t __loc è __THROW ; 223 __ex‹nsiÚ__ 224  $__¡¹Þl_l ( __cÚ¡ * __»¡riù __ÅŒ , 225 ** __»¡riù __’d±r ,  __ba£ , 226 __loÿË_t __loc è __THROW ; 228 __ex‹nsiÚ__ 229  $__¡¹ouÎ_l ( __cÚ¡ * __»¡riù __ÅŒ , 230 ** __»¡riù __’d±r , 231  __ba£ , __loÿË_t __loc ) 232 __THROW ; 234  $__¡¹od_l ( __cÚ¡ * __»¡riù __ÅŒ , 235 ** __»¡riù __’d±r , __loÿË_t __loc ) 236 __THROW ; 238  $__¡¹of_l ( __cÚ¡ * __»¡riù __ÅŒ , 239 ** __»¡riù __’d±r , __loÿË_t __loc è __THROW ; 241  $__¡¹Þd_l ( __cÚ¡ * __»¡riù __ÅŒ , 242 ** __»¡riù __’d±r , 243 __loÿË_t __loc è __THROW ; 250  $__¡¹od_š‹º® ( __cÚ¡ * __»¡riù __ÅŒ , 251 ** __»¡riù __’d±r ,  __group ) 252 __THROW ; 253  $__¡¹of_š‹º® ( __cÚ¡ * __»¡riù __ÅŒ , 254 ** __»¡riù __’d±r ,  __group ) 255 __THROW ; 256  $__¡¹Þd_š‹º® ( __cÚ¡ * __»¡riù __ÅŒ , 257 ** __»¡riù __’d±r , 258  __group è __THROW ; 259 #iâdeà __¡¹Þ_š‹º®_defšed 260  $__¡¹Þ_š‹º® ( __cÚ¡ * __»¡riù __ÅŒ , 261 ** __»¡riù __’d±r , 262  __ba£ ,  __group è __THROW ; 263  #__¡¹Þ_š‹º®_defšed 1 ) 265 #iâdeà __¡¹oul_š‹º®_defšed 266  $__¡¹oul_š‹º® ( __cÚ¡ * __»¡riù __ÅŒ , 267 ** __»¡riù __’d±r , 268  __ba£ ,  __group è __THROW ; 269  #__¡¹oul_š‹º®_defšed 1 ) 271 #ià defšed __GNUC__ || defšed __USE_ISOC99 272 #iâdeà __¡¹Þl_š‹º®_defšed 273 __ex‹nsiÚ__ 274  $__¡¹Þl_š‹º® ( __cÚ¡ * __»¡riù __ÅŒ , 275 ** __»¡riù __’d±r , 276  __ba£ ,  __group è __THROW ; 277  #__¡¹Þl_š‹º®_defšed 1 ) 279 #iâdeà __¡¹ouÎ_š‹º®_defšed 280 __ex‹nsiÚ__ 281  $__¡¹ouÎ_š‹º® ( __cÚ¡ * 282 __»¡riù __ÅŒ , 283 ** __»¡riù __’d±r , 284  __ba£ ,  __group ) 285 __THROW ; 286  #__¡¹ouÎ_š‹º®_defšed 1 ) 290 #ifdeà __USE_EXTERN_INLINES 293 __šlše  294 $¡¹od ( __cÚ¡ * __»¡riù __ÅŒ , **__»¡riù __’d±r è __THROW 296  `__¡¹od_š‹º® ( __ÅŒ , __’d±r , 0); 297 } } 298 __šlše  299 $¡¹Þ ( __cÚ¡ * __»¡riù __ÅŒ , **__»¡riù __’d±r , 300  __ba£ è __THROW 302  `__¡¹Þ_š‹º® ( __ÅŒ , __’d±r , __ba£ , 0); 303 } } 304 __šlše  305 $¡¹oul ( __cÚ¡ * __»¡riù __ÅŒ , **__»¡riù __’d±r , 306  __ba£ è __THROW 308  `__¡¹oul_š‹º® ( __ÅŒ , __’d±r , __ba£ , 0); 309 } } 311 #ifdeà __USE_ISOC99 312 __šlše  313 $¡¹of ( __cÚ¡ * __»¡riù __ÅŒ , **__»¡riù __’d±r è __THROW 315  `__¡¹of_š‹º® ( __ÅŒ , __’d±r , 0); 316 } } 317 __šlše  318 $¡¹Þd ( __cÚ¡ * __»¡riù __ÅŒ , **__»¡riù __’d±r è __THROW 320  `__¡¹Þd_š‹º® ( __ÅŒ , __’d±r , 0); 321 } } 324 #ifdeà __USE_BSD 325 __ex‹nsiÚ__ __šlše  326 $¡¹oq ( __cÚ¡ * __»¡riù __ÅŒ , **__»¡riù __’d±r , 327  __ba£ è __THROW 329  `__¡¹Þl_š‹º® ( __ÅŒ , __’d±r , __ba£ , 0); 330 } } 331 __ex‹nsiÚ__ __šlše  332 $¡¹ouq ( __cÚ¡ * __»¡riù __ÅŒ , **__»¡riù __’d±r , 333  __ba£ è __THROW 335  `__¡¹ouÎ_š‹º® ( __ÅŒ , __’d±r , __ba£ , 0); 336 } } 339 #ià defšed __USE_MISC || defšed __USE_ISOC99 340 __ex‹nsiÚ__ __šlše  341 $¡¹Þl ( __cÚ¡ * __»¡riù __ÅŒ , **__»¡riù __’d±r , 342  __ba£ è __THROW 344  `__¡¹Þl_š‹º® ( __ÅŒ , __’d±r , __ba£ , 0); 345 } } 346 __ex‹nsiÚ__ __šlše  347 $¡¹ouÎ ( __cÚ¡ * __»¡riù __ÅŒ , **__»¡riù __’d±r , 348  __ba£ è __THROW 350  `__¡¹ouÎ_š‹º® ( __ÅŒ , __’d±r , __ba£ , 0); 351 } } 354 __šlše  355 $©of ( __cÚ¡ * __ÅŒ è __THROW 357  `¡¹od ( __ÅŒ , (**è NULL ); 358 } } 359 __šlše  360 $©oi ( __cÚ¡ * __ÅŒ è __THROW 362  (è `¡¹Þ ( __ÅŒ , (**è NULL , 10); 363 } } 364 __šlše  365 $©Þ ( __cÚ¡ * __ÅŒ è __THROW 367  `¡¹Þ ( __ÅŒ , (**è NULL , 10); 368 } } 370 #ià defšed __USE_MISC || defšed __USE_ISOC99 371 __ex‹nsiÚ__ __šlše  372 $©Þl ( __cÚ¡ * __ÅŒ è __THROW 374  `¡¹Þl ( __ÅŒ , (**è NULL , 10); 375 } } 380 #ià defšed __USE_SVID || defšed __USE_XOPEN_EXTENDED 384 * $l64a ( __n è __THROW ; 387  $a64l ( __cÚ¡ * __s è __THROW __©Œibu‹_pu»__ ; 390  ~ 397  $¿ndom (è __THROW ; 400  $¤ªdom ( __£ed è __THROW ; 406 * $𙡩e ( __£ed , * __¡©ebuf , 407 size_t __¡©–’ è __THROW ; 411 * $£t¡©e (* __¡©ebuf è __THROW ; 414 #ifdeà __USE_MISC 419  s¿ndom_d©a 421 št32_t * åŒ ; 422 št32_t * ½Œ ; 423 št32_t * ¡©e ; 424  ¿nd_ty³ ; 425  ¿nd_deg ; 426  ¿nd_£p ; 427 št32_t * ’d_±r ; 430  $¿ndom_r ( ¿ndom_d©a * __»¡riù __buf , 431 št32_t * __»¡riù __»suÉ è __THROW ; 433  $¤ªdom_r ( __£ed ,  ¿ndom_d©a * __buf è __THROW ; 435  $𙡩e_r ( __£ed , * __»¡riù __¡©ebuf , 436 size_t __¡©–’ , 437  ¿ndom_d©a * __»¡riù __buf è __THROW ; 439  $£t¡©e_r (* __»¡riù __¡©ebuf , 440  ¿ndom_d©a * __»¡riù __buf è __THROW ; 446  $¿nd (è __THROW ; 448  $¤ªd ( __£ed è __THROW ; 450 #ifdeà __USE_POSIX 452  $¿nd_r (* __£ed è __THROW ; 456 #ià defšed __USE_SVID || defšed __USE_XOPEN 460  $d¿nd48 (è __THROW ; 461  `”ªd48 ( __xsubi [3]è __THROW ; 464  $̪d48 (è __THROW ; 465  `Īd48 ( __xsubi [3]è __THROW ; 468  $m¿nd48 (è __THROW ; 469  `j¿nd48 ( __xsubi [3]è __THROW ; 472  $¤ªd48 ( __£edv® è __THROW ; 473 * `£ed48 ( __£ed16v [3]è __THROW ; 474  `lcÚg48 ( __·¿m [7]è __THROW ; 476 #ifdeà __USE_MISC 480  sd¿nd48_d©a 482  __x [3]; 483  __Þd_x [3]; 484  __c ; 485  __š™ ; 486  __a ; 490  $d¿nd48_r ( d¿nd48_d©a * __»¡riù __bufãr , 491 * __»¡riù __»suÉ è __THROW ; 492  `”ªd48_r ( __xsubi [3], 493  d¿nd48_d©a * __»¡riù __bufãr , 494 * __»¡riù __»suÉ è __THROW ; 497  $̪d48_r ( d¿nd48_d©a * __»¡riù __bufãr , 498 * __»¡riù __»suÉ è __THROW ; 499  `Īd48_r ( __xsubi [3], 500  d¿nd48_d©a * __»¡riù __bufãr , 501 * __»¡riù __»suÉ è __THROW ; 504  $m¿nd48_r ( d¿nd48_d©a * __»¡riù __bufãr , 505 * __»¡riù __»suÉ è __THROW ; 506  `j¿nd48_r ( __xsubi [3], 507  d¿nd48_d©a * __»¡riù __bufãr , 508 * __»¡riù __»suÉ è __THROW ; 511  $¤ªd48_r ( __£edv® ,  d¿nd48_d©a * __bufãr ) 512 __THROW ; 514  `£ed48_r ( __£ed16v [3], 515  d¿nd48_d©a * __bufãr è __THROW ; 517  `lcÚg48_r ( __·¿m [7], 518  d¿nd48_d©a * __bufãr è __THROW ; 524 #iâdeà __m®loc_ªd_ÿÎoc_defšed 525  #__m®loc_ªd_ÿÎoc_defšed ) 527 * $m®loc ( size_t __size è __THROW __©Œibu‹_m®loc__ ; 529 * $ÿÎoc ( size_t __nmemb , size_ˆ __size ) 530 __THROW __©Œibu‹_m®loc__ ; 533 #iâdeà __Ãed_m®loc_ªd_ÿÎoc 536 * $»®loc (* __±r , size_t __size è __THROW __©Œibu‹_m®loc__ ; 538  $ä“ (* __±r è __THROW ; 540 #ifdef __USE_MISC 542  $cä“ (* __±r è __THROW ; 545 #ià defšed __USE_GNU || defšed __USE_BSD || defšed __USE_MISC 546  ~<®loÿ.h > 549 #ià defšed __USE_BSD || defšed __USE_XOPEN_EXTENDED 551 * $v®loc ( size_t __size è __THROW __©Œibu‹_m®loc__ ; 554 #ifdeà __USE_XOPEN2K 556  $posix_mem®ign (** __mem±r , size_t __®ignm’t , size_ˆ __size ) 557 __THROW __©Œibu‹_m®loc__ ; 561  $abÜt (è __THROW `__©Œibu‹__ (( __nÜ‘uº__ )); 565  `©ex™ ((* __func è()è __THROW ; 567 #ifdef __USE_MISC 570  `Ú_ex™ ((* __func è( __¡©us , * __¬g ), *__arg) 571 __THROW ; 577  $ex™ ( __¡©us è __THROW `__©Œibu‹__ (( __nÜ‘uº__ )); 579 #ifdeà __USE_ISOC99 582  $_Ex™ ( __¡©us è __THROW `__©Œibu‹__ (( __nÜ‘uº__ )); 587 * $g‘’v ( __cÚ¡ * __Çme è __THROW ; 591 * $__£cu»_g‘’v ( __cÚ¡ * __Çme è __THROW ; 593 #ià defšed __USE_SVID || defšed __USE_XOPEN 597  $pu‹nv (* __¡ršg è __THROW ; 600 #ià defšed __USE_BSD || defšed __USE_XOPEN2K 603  $£‹nv ( __cÚ¡ * __Çme , __cÚ¡ * __v®ue ,  __»¶aû ) 604 __THROW ; 607  $un£‹nv ( __cÚ¡ * __Çme è __THROW ; 610 #ifdef __USE_MISC 614  $þ—»nv (è __THROW ; 618 #ià defšed __USE_MISC || defšed __USE_XOPEN_EXTENDED 623 * $mk‹mp (* __‹m¶©e è __THROW ; 630 #iâdeà __USE_FILE_OFFSET64 631  $mk¡emp (* __‹m¶©e è __THROW ; 633 #ifdeà __REDIRECT 634  `__REDIRECT ( mk¡emp , (* __‹m¶©e è __THROW , mk¡emp64 ); 636  #mk¡emp mk¡emp64 ) 639 #ifdeà __USE_LARGEFILE64 640  $mk¡emp64 (* __‹m¶©e è __THROW ; 644 #ifdeà __USE_BSD 650 * $mkd‹mp (* __‹m¶©e è __THROW ; 655  $sy¡em ( __cÚ¡ * __commªd è __THROW ; 658 #ifdef __USE_GNU 662 * $ÿnÚiÿlize_fže_Çme ( __cÚ¡ * __Çme è __THROW ; 665 #ià defšed __USE_BSD || defšed __USE_XOPEN_EXTENDED 672 * $»®·th ( __cÚ¡ * __»¡riù __Çme , 673 * __»¡riù __»sÞved è __THROW ; 678 #iâdeà __COMPAR_FN_T 679  #__COMPAR_FN_T ) 680 (* t__com·r_â_t è( t__cÚ¡ *, __const *); 682 #ifdef __USE_GNU 683  __com·r_â_t tcom·risÚ_â_t ; 689 * `b£¬ch ( __cÚ¡ * __key , __cÚ¡ * __ba£ , 690 size_t __nmemb , size_ˆ __size , __com·r_â_t __com·r ); 694  `qsÜt (* __ba£ , size_t __nmemb , size_ˆ __size , 695 __com·r_â_t __com·r ); 699  $abs ( __x è __THROW `__©Œibu‹__ (( __cÚ¡__ )); 700  $Ïbs ( __x è __THROW `__©Œibu‹__ (( __cÚ¡__ )); 701 #ifdeà __USE_ISOC99 702 __ex‹nsiÚ__  $Îabs ( __x ) 703 __THROW `__©Œibu‹__ (( __cÚ¡__ )); 710 div_t $div ( __num” ,  __d’om ) 711 __THROW `__©Œibu‹__ (( __cÚ¡__ )); 712 ldiv_t $ldiv ( __num” ,  __d’om ) 713 __THROW `__©Œibu‹__ (( __cÚ¡__ )); 714 #ifdeà __USE_ISOC99 715 __ex‹nsiÚ__ Îdiv_t $Îdiv ( __num” , 716  __d’om ) 717 __THROW `__©Œibu‹__ (( __cÚ¡__ )); 721 #ià defšed __USE_SVID || defšed __USE_XOPEN_EXTENDED 728 * $ecvt ( __v®ue ,  __ndig™ , * __»¡riù __deýt , 729 * __»¡riù __sign è __THROW ; 734 * $fcvt ( __v®ue ,  __ndig™ , * __»¡riù __deýt , 735 * __»¡riù __sign è __THROW ; 740 * $gcvt ( __v®ue ,  __ndig™ , * __buf è __THROW ; 743 #ifdeà __USE_MISC 745 * $qecvt ( __v®ue ,  __ndig™ , 746 * __»¡riù __deýt , *__»¡riù __sign è __THROW ; 747 * $qfcvt ( __v®ue ,  __ndig™ , 748 * __»¡riù __deýt , *__»¡riù __sign è __THROW ; 749 * $qgcvt ( __v®ue ,  __ndig™ , * __buf è __THROW ; 754  $ecvt_r ( __v®ue ,  __ndig™ , * __»¡riù __deýt , 755 * __»¡riù __sign , *__»¡riù __buf , 756 size_t __Ën è __THROW ; 757  $fcvt_r ( __v®ue ,  __ndig™ , * __»¡riù __deýt , 758 * __»¡riù __sign , *__»¡riù __buf , 759 size_t __Ën è __THROW ; 761  $qecvt_r ( __v®ue ,  __ndig™ , 762 * __»¡riù __deýt , *__»¡riù __sign , 763 * __»¡riù __buf , size_t __Ën è __THROW ; 764  $qfcvt_r ( __v®ue ,  __ndig™ , 765 * __»¡riù __deýt , *__»¡riù __sign , 766 * __»¡riù __buf , size_t __Ën è __THROW ; 773  $mbËn ( __cÚ¡ * __s , size_t __n è __THROW ; 776  $mbtowc ( wch¬_t * __»¡riù __pwc , 777 __cÚ¡ * __»¡riù __s , size_t __n è __THROW ; 780  $wùomb (* __s , wch¬_t __wch¬ è __THROW ; 784 size_t $mb¡owcs ( wch¬_t * __»¡riù __pwcs , 785 __cÚ¡ * __»¡riù __s , size_t __n è __THROW ; 787 size_t $wc¡ombs (* __»¡riù __s , 788 __cÚ¡ wch¬_t * __»¡riù __pwcs , size_t __n ) 789 __THROW ; 792 #ifdeà __USE_SVID 797  $½m©ch ( __cÚ¡ * __»¥Ú£ è __THROW ; 801 #ifdeà __USE_XOPEN_EXTENDED 808  $g‘subÝt (** __»¡riù __ÝtiÚp , 809 * __cÚ¡ * __»¡riù __tok’s , 810 ** __»¡riù __v®u• è __THROW ; 814 #ifdeà __USE_XOPEN 816  $£tkey ( __cÚ¡ * __key è __THROW ; 822 #ifdeà __USE_XOPEN2K 824  $posix_Ý’± ( __oæag è __THROW ; 827 #ifdeà __USE_XOPEN 832  $g¿Á± ( __fd è __THROW ; 836  $uÆock± ( __fd è __THROW ; 841 * $±¢ame ( __fd è __THROW ; 844 #ifdeà __USE_GNU 848  $±¢ame_r ( __fd , * __buf , size_t __buæ’ è __THROW ; 851  $g‘± (è __THROW ; 854 #ifdeà __USE_BSD 858  $g‘lßdavg ( __lßdavg [],  __ÃËm è __THROW ; 862 #undeà __Ãed_m®loc_ªd_ÿÎoc 864 __END_DECLS @/usr/include/string.h 23 #iâdef _STRING_H 24  #_STRING_H 1 ) 26  ~<ã©u»s.h > 28 g__BEGIN_DECLS 31  #__Ãed_size_t ) 32  #__Ãed_NULL ) 33  ~<¡ddef.h > 37 * $memýy (* __»¡riù __de¡ , 38 __cÚ¡ * __»¡riù __¤c , size_t __n è __THROW ; 41 * $memmove (* __de¡ , __cÚ¡ * __¤c , size_t __n ) 42 __THROW ; 47 #ià defšed __USE_SVID || defšed __USE_BSD || defšed __USE_XOPEN 48 * $memcýy (* __»¡riù __de¡ , __cÚ¡ *__»¡riù __¤c , 49  __c , size_t __n ) 50 __THROW ; 55 * $mem£t (* __s ,  __c , size_t __n è __THROW ; 58  $memcmp ( __cÚ¡ * __s1 , __cÚ¡ * __s2 , size_t __n ) 59 __THROW __©Œibu‹_pu»__ ; 62 * $memchr ( __cÚ¡ * __s ,  __c , size_t __n ) 63 __THROW __©Œibu‹_pu»__ ; 65 #ifdeà __USE_GNU 68 * $¿wmemchr ( __cÚ¡ * __s ,  __c è __THROW __©Œibu‹_pu»__ ; 71 * $memrchr ( __cÚ¡ * __s ,  __c , size_t __n ) 72 __THROW __©Œibu‹_pu»__ ; 77 * $¡rýy (* __»¡riù __de¡ , __cÚ¡ *__»¡riù __¤c ) 78 __THROW ; 80 * $¡ºýy (* __»¡riù __de¡ , 81 __cÚ¡ * __»¡riù __¤c , size_t __n è __THROW ; 84 * $¡rÿt (* __»¡riù __de¡ , __cÚ¡ *__»¡riù __¤c ) 85 __THROW ; 87 * $¡ºÿt (* __»¡riù __de¡ , __cÚ¡ *__»¡riù __¤c , 88 size_t __n è __THROW ; 91  $¡rcmp ( __cÚ¡ * __s1 , __cÚ¡ * __s2 ) 92 __THROW __©Œibu‹_pu»__ ; 94  $¡ºcmp ( __cÚ¡ * __s1 , __cÚ¡ * __s2 , size_t __n ) 95 __THROW __©Œibu‹_pu»__ ; 98  $¡rcÞl ( __cÚ¡ * __s1 , __cÚ¡ * __s2 ) 99 __THROW __©Œibu‹_pu»__ ; 101 size_t $¡rxäm (* __»¡riù __de¡ , 102 __cÚ¡ * __»¡riù __¤c , size_t __n è __THROW ; 104 #ifdeà __USE_GNU 108  ~ 111  $__¡rcÞl_l ( __cÚ¡ * __s1 , __cÚ¡ * __s2 , __loÿË_t __l ) 112 __THROW __©Œibu‹_pu»__ ; 114 size_t $__¡rxäm_l (* __de¡ , __cÚ¡ * __¤c , size_t __n , 115 __loÿË_t __l è __THROW ; 118 #ià defšed __USE_SVID || defšed __USE_BSD || defšed __USE_XOPEN_EXTENDED 120 * $¡rdup ( __cÚ¡ * __s è __THROW __©Œibu‹_m®loc__ ; 126 #ià defšed __USE_GNU 127 * $¡ºdup ( __cÚ¡ * __¡ršg , size_t __n ) 128 __THROW __©Œibu‹_m®loc__ ; 131 #ià defšed __USE_GNU && defšed __GNUC__ 133  #¡rdu· ( s ) \ 134 ( __ex‹nsiÚ__ \ 136 __cÚ¡ * __Þd = ( s ); \ 137 size_t __Ën = `¡¾’ ( __Þd ) + 1; \ 138 * __Ãw = (*è `__bužtš_®loÿ ( __Ën ); \ 139 (*è `memýy ( __Ãw , __Þd , __Ën ); \ 140 } })) ) 143  #¡ºdu· ( s , n ) \ 144 ( __ex‹nsiÚ__ \ 146 __cÚ¡ * __Þd = ( s ); \ 147 size_t __Ën = `¡ºËn ( __Þd , ( n )); \ 148 * __Ãw = (*è `__bužtš_®loÿ ( __Ën + 1); \ 149 __Ãw [ __Ën ] = '\0'; \ 150 (*è `memýy ( __Ãw , __Þd , __Ën ); \ 151 })) ) 155 * $¡rchr ( __cÚ¡ * __s ,  __c è __THROW __©Œibu‹_pu»__ ; 157 * $¡¼chr ( __cÚ¡ * __s ,  __c è __THROW __©Œibu‹_pu»__ ; 159 #ifdeà __USE_GNU 162 * $¡rchºul ( __cÚ¡ * __s ,  __c è __THROW __©Œibu‹_pu»__ ; 167 size_t $¡rc¥n ( __cÚ¡ * __s , __cÚ¡ * __»jeù ) 168 __THROW __©Œibu‹_pu»__ ; 171 size_t $¡r¥n ( __cÚ¡ * __s , __cÚ¡ * __acû± ) 172 __THROW __©Œibu‹_pu»__ ; 174 * $¡½brk ( __cÚ¡ * __s , __cÚ¡ * __acû± ) 175 __THROW __©Œibu‹_pu»__ ; 177 * $¡r¡r ( __cÚ¡ * __hay¡ack , __cÚ¡ * __ÃedË ) 178 __THROW __©Œibu‹_pu»__ ; 180 #ifdeà __USE_GNU 182 * $¡rÿ£¡r ( __cÚ¡ * __hay¡ack , __cÚ¡ * __ÃedË ) 183 __THROW __©Œibu‹_pu»__ ; 187 * $¡¹ok (* __»¡riù __s , __cÚ¡ *__»¡riù __d–im ) 188 __THROW ; 192 * $__¡¹ok_r (* __»¡riù __s , 193 __cÚ¡ * __»¡riù __d–im , 194 ** __»¡riù __§ve_±r è __THROW ; 195 #ià defšed __USE_POSIX || defšed __USE_MISC 196 * $¡¹ok_r (* __»¡riù __s , __cÚ¡ *__»¡riù __d–im , 197 ** __»¡riù __§ve_±r è __THROW ; 200 #ifdeà __USE_GNU 204 * $memmem ( __cÚ¡ * __hay¡ack , size_t __hay¡ackËn , 205 __cÚ¡ * __ÃedË , size_t __ÃedËËn ) 206 __THROW __©Œibu‹_pu»__ ; 210 * $__mempýy (* __»¡riù __de¡ , 211 __cÚ¡ * __»¡riù __¤c , size_t __n è __THROW ; 212 * $mempýy (* __»¡riù __de¡ , 213 __cÚ¡ * __»¡riù __¤c , size_t __n è __THROW ; 218 size_t $¡¾’ ( __cÚ¡ * __s è __THROW __©Œibu‹_pu»__ ; 220 #ifdef __USE_GNU 223 size_t $¡ºËn ( __cÚ¡ * __¡ršg , size_t __maxËn ) 224 __THROW __©Œibu‹_pu»__ ; 229 * $¡»¼Ü ( __”ºum è __THROW ; 230 #ifdef __USE_MISC 233 * $¡»¼Ü_r ( __”ºum , * __buf , size_t __buæ’ è __THROW ; 238  $__bz”o (* __s , size_t __n è __THROW ; 240 #ià defšed __USE_BSD 242  $bcÝy ( __cÚ¡ * __¤c , * __de¡ , size_t __n è __THROW ; 245  $bz”o (* __s , size_t __n è __THROW ; 248  $bcmp ( __cÚ¡ * __s1 , __cÚ¡ * __s2 , size_t __n ) 249 __THROW __©Œibu‹_pu»__ ; 252 * $šdex ( __cÚ¡ * __s ,  __c è __THROW __©Œibu‹_pu»__ ; 255 * $ršdex ( __cÚ¡ * __s ,  __c è __THROW __©Œibu‹_pu»__ ; 259  $ffs ( __i è __THROW `__©Œibu‹__ (( __cÚ¡__ )); 263 #ifdef __USE_GNU 264  $ff¦ ( __l è __THROW `__©Œibu‹__ (( __cÚ¡__ )); 265 #ifdeà __GNUC__ 266 __ex‹nsiÚ__  $ff¦l ( __Î ) 267 __THROW `__©Œibu‹__ (( __cÚ¡__ )); 272  $¡rÿ£cmp ( __cÚ¡ * __s1 , __cÚ¡ * __s2 ) 273 __THROW __©Œibu‹_pu»__ ; 276  $¡ºÿ£cmp ( __cÚ¡ * __s1 , __cÚ¡ * __s2 , size_t __n ) 277 __THROW __©Œibu‹_pu»__ ; 280 #ifdef __USE_GNU 283  $__¡rÿ£cmp_l ( __cÚ¡ * __s1 , __cÚ¡ * __s2 , 284 __loÿË_t __loc è __THROW __©Œibu‹_pu»__ ; 286  $__¡ºÿ£cmp_l ( __cÚ¡ * __s1 , __cÚ¡ * __s2 , 287 size_t __n , __loÿË_t __loc ) 288 __THROW __©Œibu‹_pu»__ ; 291 #ifdef __USE_BSD 294 * $¡r£p (** __»¡riù __¡ršgp , 295 __cÚ¡ * __»¡riù __d–im è __THROW ; 298 #ifdef __USE_GNU 300  $¡rv”scmp ( __cÚ¡ * __s1 , __cÚ¡ * __s2 ) 301 __THROW __©Œibu‹_pu»__ ; 304 * $¡rsigÇl ( __sig è __THROW ; 307 * $__¡pýy (* __»¡riù __de¡ , __cÚ¡ *__»¡riù __¤c ) 308 __THROW ; 309 * $¡pýy (* __»¡riù __de¡ , __cÚ¡ *__»¡riù __¤c ) 310 __THROW ; 314 * $__¡²ýy (* __»¡riù __de¡ , 315 __cÚ¡ * __»¡riù __¤c , size_t __n è __THROW ; 316 * $¡²ýy (* __»¡riù __de¡ , 317 __cÚ¡ * __»¡riù __¤c , size_t __n è __THROW ; 320 * $¡räy (* __¡ršg è __THROW ; 323 * $memäob (* __s , size_t __n è __THROW ; 325 #iâdeà ba£Çme 330 * $ba£Çme ( __cÚ¡ * __fž’ame è __THROW ; 335 #ià defšed __GNUC__ && __GNUC__ >= 2 336 #ià defšed __OPTIMIZE__ && !defšed __OPTIMIZE_SIZE__ \ 337 && ! defšed __NO_INLINE__ && !defšed __ýlu¥lus 357  ~ 360  ~ 364 __END_DECLS @/usr/include/sys/dir.h 19 #iâdef _SYS_DIR_H 20  #_SYS_DIR_H 1 ) 22  ~<ã©u»s.h > 24  ~ 26  #dœeù dœ’t ) @/usr/include/sys/file.h 19 #iâdef _SYS_FILE_H 20  #_SYS_FILE_H 1 ) 22  ~<ã©u»s.h > 24 #iâdef _FCNTL_H 25  ~ 28 g__BEGIN_DECLS 33 #iâdeà L_SET 34  #L_SET 0 ) 35  #L_INCR 1 ) 36  #L_XTND 2 ) 41  #LOCK_SH 1 ) 42  #LOCK_EX 2 ) 43  #LOCK_UN 8 ) 46  #LOCK_NB 4 ) 51  $æock ( __fd ,  __Ý”©iÚ è __THROW ; 54 __END_DECLS @/usr/include/sys/ioctl.h 19 #iâdef _SYS_IOCTL_H 20  #_SYS_IOCTL_H 1 ) 22  ~<ã©u»s.h > 24 g__BEGIN_DECLS 27  ~ 30  ~ 37  ~ 42  $ioùl ( __fd ,  __»que¡ , ...è __THROW ; 44 __END_DECLS @/usr/include/sys/ipc.h 19 #iâdeà _SYS_IPC_H 20  #_SYS_IPC_H 1 ) 22  ~<ã©u»s.h > 24 #ià! defšed __USE_SVID && !defšed __USE_XOPEN && __GNUC__ >= 2 29  ~ 31 #iâdeà __uid_t_defšed 32  __uid_t tuid_t ; 33  #__uid_t_defšed ) 36 #iâdeà __gid_t_defšed 37  __gid_t tgid_t ; 38  #__gid_t_defšed ) 41 #iâdeà __mode_t_defšed 42  __mode_t tmode_t ; 43  #__mode_t_defšed ) 46 #iâdeà __key_t_defšed 47  __key_t tkey_t ; 48  #__key_t_defšed ) 51 __BEGIN_DECLS 54 key_t $áok ( __cÚ¡ * __·thÇme ,  __´oj_id è __THROW ; 56 __END_DECLS @/usr/include/sys/msg.h 19 #iâdeà _SYS_MSG_H 20  #_SYS_MSG_H ) 22  ~<ã©u»s.h > 25  ~ 28  ~ 31  #__Ãed_time_t ) 32  ~ 34 #iâdeà __pid_t_defšed 35  __pid_t tpid_t ; 36  #__pid_t_defšed ) 39 #iâdeà __ssize_t_defšed 40  __ssize_t tssize_t ; 41  #__ssize_t_defšed ) 47 #ifdeà __USE_GNU 49  smsgbuf 51  mmty³ ; 52  mm‹xt [1]; 57 __BEGIN_DECLS 60  $msgùl ( __msqid ,  __cmd ,  msqid_ds * __buf è __THROW ; 63  $msgg‘ ( key_t __key ,  __msgæg è __THROW ; 66  $msgrcv ( __msqid , * __msgp , size_t __msgsz , 67  __msgtyp ,  __msgæg è __THROW ; 70  $msg¢d ( __msqid , __cÚ¡ * __msgp , size_t __msgsz , 71  __msgæg è __THROW ; 73 __END_DECLS @/usr/include/sys/param.h 19 #iâdeà _SYS_PARAM_H 20  #_SYS_PARAM_H 1 ) 22  ~ 23  ~ 24  ~ 28  #NBBY CHAR_BIT ) 29 #iâdef NGROUPS 30  #NGROUPS NGROUPS_MAX ) 32  #MAXSYMLINKS 20 ) 33  #CANBSIZ MAX_CANON ) 34  #NCARGS ARG_MAX ) 35  #MAXPATHLEN PATH_MAX ) 39  #NOFILE 256 ) 42  ~ 45  #£tb™ ( a , i è(×)[(i)/ NBBY ] |ð1<<((i)%NBBY)) ) 46  #þrb™ ( a , i è(×)[(i)/ NBBY ] &ð~(1<<((i)%NBBY))) ) 47  #is£t ( a , i è(×)[(i)/ NBBY ] & (1<<((i)%NBBY))) ) 48  #isþr ( a , i è((×)[(i)/ NBBY ] & (1<<((i)%NBBY))è=ð0) ) 51 #iâdeà howmªy 52  #howmªy ( x , y è(((x)+((y)-1))/(y)) ) 54  #roundup ( x , y è((((x)+((y)-1))/(y))*(y)) ) 55  #pow”of2 ( x è((((x)-1)&(x))==0) ) 58  #MIN ( a , b è((×)<(b))?×):(b)) ) 59  #MAX ( a , b è((×)>(b))?×):(b)) ) 63  #DEV_BSIZE 512 ) @/usr/include/sys/select.h 22 #iâdeà _SYS_SELECT_H 23  #_SYS_SELECT_H 1 ) 25  ~<ã©u»s.h > 28  ~ 31  ~ 34  ~ 36 #iâdeà __sig£t_t_defšed 37  #__sig£t_t_defšed ) 38  __sig£t_t tsig£t_t ; 42  #__Ãed_time_t ) 43  #__Ãed_time¥ec ) 44  ~ 45  #__Ãed_timev® ) 46  ~ 48 #iâdeà __su£cÚds_t_defšed 49  __su£cÚds_t tsu£cÚds_t ; 50  #__su£cÚds_t_defšed ) 55  t__fd_mask ; 58  #__NFDBITS (8 *  ( __fd_mask )) ) 59  #__FDELT ( d è((dè/ __NFDBITS ) ) 60  #__FDMASK ( d è(( __fd_mask è1 << ((dè% __NFDBITS )) ) 67 #ifdeà __USE_XOPEN 68 __fd_mask mfds_b™s [ __FD_SETSIZE / __NFDBITS ]; 69  #__FDS_BITS ( £t è((£t)-> fds_b™s ) ) 71 __fd_mask m__fds_b™s [ __FD_SETSIZE / __NFDBITS ]; 72  #__FDS_BITS ( £t è((£t)-> __fds_b™s ) ) 74 } tfd_£t ; 77  #FD_SETSIZE __FD_SETSIZE ) 79 #ifdeà __USE_MISC 81  __fd_mask tfd_mask ; 84  #NFDBITS __NFDBITS ) 89  #FD_SET ( fd , fd£� è `__FD_SET (fd, fd£�) ) 90  #FD_CLR ( fd , fd£� è `__FD_CLR (fd, fd£�) ) 91  #FD_ISSET ( fd , fd£� è `__FD_ISSET (fd, fd£�) ) 92  #FD_ZERO ( fd£� è `__FD_ZERO (fd£�) ) 95 __BEGIN_DECLS 102  $£Ëù ( __nfds , fd_£t * __»¡riù __»adfds , 103 fd_£t * __»¡riù __wr™efds , 104 fd_£t * __»¡riù __exû±fds , 105  timev® * __»¡riù __timeout è __THROW ; 107 #ifdeà __USE_XOPEN2K 111  $p£Ëù ( __nfds , fd_£t * __»¡riù __»adfds , 112 fd_£t * __»¡riù __wr™efds , 113 fd_£t * __»¡riù __exû±fds , 114 cÚ¡  time¥ec * __»¡riù __timeout , 115 cÚ¡ __sig£t_t * __»¡riù __sigmask è __THROW ; 118 __END_DECLS @/usr/include/sys/sem.h 19 #iâdeà _SYS_SEM_H 20  #_SYS_SEM_H 1 ) 22  ~<ã©u»s.h > 24  #__Ãed_size_t ) 25  ~<¡ddef.h > 28  ~ 31  ~ 37  s£mbuf 39  m£m_num ; 40  m£m_Ý ; 41  m£m_æg ; 45 __BEGIN_DECLS 48  $£mùl ( __£mid ,  __£mnum ,  __cmd , ...è __THROW ; 51  $£mg‘ ( key_t __key ,  __n£ms ,  __£mæg è __THROW ; 54  $£mÝ ( __£mid ,  £mbuf * __sÝs , size_t __nsÝs è __THROW ; 56 __END_DECLS @/usr/include/sys/shm.h 19 #iâdeà _SYS_SHM_H 20  #_SYS_SHM_H 1 ) 22  ~<ã©u»s.h > 24  #__Ãed_size_t ) 25  ~<¡ddef.h > 28  ~ 31  ~ 34  #__Ãed_time_t ) 35  ~ 37 #ifdeà __USE_XOPEN 38 #iâdeà __pid_t_defšed 39  __pid_t tpid_t ; 40  #__pid_t_defšed ) 44 g__BEGIN_DECLS 47  #SHMLBA ( `__g‘·gesize ()) ) 48  $__g‘·gesize (è __THROW `__©Œibu‹__ (( __cÚ¡__ )); 55  $shmùl ( __shmid ,  __cmd ,  shmid_ds * __buf è __THROW ; 58  $shmg‘ ( key_t __key , size_t __size ,  __shmæg è __THROW ; 61 * $shm© ( __shmid , __cÚ¡ * __shmaddr ,  __shmæg ) 62 __THROW ; 65  $shmdt ( __cÚ¡ * __shmaddr è __THROW ; 67 __END_DECLS @/usr/include/sys/socket.h 20 #iâdef _SYS_SOCKET_H 21  #_SYS_SOCKET_H 1 ) 23  ~<ã©u»s.h > 25 g__BEGIN_DECLS 27  ~ 28  #__Ãed_size_t ) 29  ~<¡ddef.h > 35  ~ 37 #ifdeà __USE_BSD 40  sosockaddr 42  m§_çmžy ; 43  m§_d©a [14]; 51 mSHUT_RD = 0, 52  #SHUT_RD SHUT_RD ) 53 mSHUT_WR , 54  #SHUT_WR SHUT_WR ) 55 mSHUT_RDWR 56  #SHUT_RDWR SHUT_RDWR ) 65 #ià defšed __ýlu¥lus || ! __GNUC_PREREQ (2, 7è|| !defšed __USE_GNU 66  #__SOCKADDR_ARG  sockaddr * __»¡riù ) 67  #__CONST_SOCKADDR_ARG __cÚ¡  sockaddr * ) 71  #__SOCKADDR_ALLTYPES \ 72 `__SOCKADDR_ONETYPE ( sockaddr ) \ 73 `__SOCKADDR_ONETYPE ( sockaddr_© ) \ 74 `__SOCKADDR_ONETYPE ( sockaddr_ax25 ) \ 75 `__SOCKADDR_ONETYPE ( sockaddr_dl ) \ 76 `__SOCKADDR_ONETYPE ( sockaddr_eÚ ) \ 77 `__SOCKADDR_ONETYPE ( sockaddr_š ) \ 78 `__SOCKADDR_ONETYPE ( sockaddr_š6 ) \ 79 `__SOCKADDR_ONETYPE ( sockaddr_š¬p ) \ 80 `__SOCKADDR_ONETYPE ( sockaddr_�x ) \ 81 `__SOCKADDR_ONETYPE ( sockaddr_iso ) \ 82 `__SOCKADDR_ONETYPE ( sockaddr_ns ) \ 83 `__SOCKADDR_ONETYPE ( sockaddr_un ) \ 84 `__SOCKADDR_ONETYPE ( sockaddr_x25 ) ) 86  #__SOCKADDR_ONETYPE ( ty³ èty³ * __»¡riù __ ##ty³##__; ) 87 uniÚ { m__SOCKADDR_ALLTYPES 88 } t__SOCKADDR_ARG t__©Œibu‹__ (( t__Œª¥¬’t_uniÚ__ )); 89 #undeà __SOCKADDR_ONETYPE 90  #__SOCKADDR_ONETYPE ( ty³ è __cÚ¡ ty³ * __»¡riù __ ##ty³##__; ) 91 uniÚ { m__SOCKADDR_ALLTYPES 92 } t__CONST_SOCKADDR_ARG t__©Œibu‹__ (( t__Œª¥¬’t_uniÚ__ )); 93 #undeà __SOCKADDR_ONETYPE 100  $sock‘ ( __domaš ,  __ty³ ,  __´ÙocÞ è __THROW ; 106  `sock‘·œ ( __domaš ,  __ty³ ,  __´ÙocÞ , 107  __fds [2]è __THROW ; 110  $bšd ( __fd , __CONST_SOCKADDR_ARG __addr , sockËn_t __Ën ) 111 __THROW ; 114  $g‘sockÇme ( __fd , __SOCKADDR_ARG __addr , 115 sockËn_t * __»¡riù __Ën è __THROW ; 121  $cÚÃù ( __fd , __CONST_SOCKADDR_ARG __addr , sockËn_t __Ën ) 122 __THROW ; 126  $g‘³”Çme ( __fd , __SOCKADDR_ARG __addr , 127 sockËn_t * __»¡riù __Ën è __THROW ; 131 ssize_t $£nd ( __fd , __cÚ¡ * __buf , size_t __n ,  __æags ) 132 __THROW ; 136 ssize_t $»cv ( __fd , * __buf , size_t __n ,  __æags ) 137 __THROW ; 141 ssize_t $£ndto ( __fd , __cÚ¡ * __buf , size_t __n , 142  __æags , __CONST_SOCKADDR_ARG __addr , 143 sockËn_t __addr_Ën è __THROW ; 149 ssize_t $»cväom ( __fd , * __»¡riù __buf , size_t __n ,  __æags , 150 __SOCKADDR_ARG __addr , sockËn_t * __»¡riù __addr_Ën ) 151 __THROW ; 156 ssize_t $£ndmsg ( __fd , __cÚ¡  msghdr * __mes§ge ,  __æags ) 157 __THROW ; 161 ssize_t $»cvmsg ( __fd ,  msghdr * __mes§ge ,  __æags ) 162 __THROW ; 168  $g‘sockÝt ( __fd ,  __Ëv– ,  __ÝŠame , 169 * __»¡riù __Ýtv® , 170 sockËn_t * __»¡riù __ÝŽ’ è __THROW ; 175  $£tsockÝt ( __fd ,  __Ëv– ,  __ÝŠame , 176 __cÚ¡ * __Ýtv® , sockËn_t __ÝŽ’ è __THROW ; 182  $li¡’ ( __fd ,  __n è __THROW ; 189  $acû± ( __fd , __SOCKADDR_ARG __addr , 190 sockËn_t * __»¡riù __addr_Ën ) 191 __THROW ; 199  $shutdown ( __fd ,  __how è __THROW ; 202 #ifdeà __USE_XOPEN2K 204  $sock©m¬k ( __fd è __THROW ; 208 #ifdeà __USE_MISC 212  $isfdty³ ( __fd ,  __fdty³ è __THROW ; 215 __END_DECLS @/usr/include/sys/stat.h 23 #iâdef _SYS_STAT_H 24  #_SYS_STAT_H 1 ) 26  ~<ã©u»s.h > 28  ~ 30 #ifdeà __USE_XOPEN 31  #__Ãed_time_t ) 32  ~ 36 #iâdeà __dev_t_defšed 37  __dev_t tdev_t ; 38  #__dev_t_defšed ) 41 #iâdeà __gid_t_defšed 42  __gid_t tgid_t ; 43  #__gid_t_defšed ) 46 #iâdeà __šo_t_defšed 47 #iâdeà __USE_FILE_OFFSET64 48  __šo_t tšo_t ; 50  __šo64_t tšo_t ; 52  #__šo_t_defšed ) 55 #iâdeà __mode_t_defšed 56  __mode_t tmode_t ; 57  #__mode_t_defšed ) 60 #iâdeà __Æšk_t_defšed 61  __Æšk_t tÆšk_t ; 62  #__Æšk_t_defšed ) 65 #iâdeà __off_t_defšed 66 #iâdeà __USE_FILE_OFFSET64 67  __off_t toff_t ; 69  __off64_t toff_t ; 71  #__off_t_defšed ) 74 #iâdeà __uid_t_defšed 75  __uid_t tuid_t ; 76  #__uid_t_defšed ) 80 #ifdeà __USE_UNIX98 81 #iâdeà __blkút_t_defšed 82 #iâdeà __USE_FILE_OFFSET64 83  __blkút_t tblkút_t ; 85  __blkút64_t tblkút_t ; 87  #__blkút_t_defšed ) 90 #iâdeà __blksize_t_defšed 91  __blksize_t tblksize_t ; 92  #__blksize_t_defšed ) 96 g__BEGIN_DECLS 98  ~ 100 #ià defšed __USE_BSD || defšed __USE_MISC || defšed __USE_XOPEN 101  #S_IFMT __S_IFMT ) 102  #S_IFDIR __S_IFDIR ) 103  #S_IFCHR __S_IFCHR ) 104  #S_IFBLK __S_IFBLK ) 105  #S_IFREG __S_IFREG ) 106 #ifdeà __S_IFIFO 107  #S_IFIFO __S_IFIFO ) 109 #ifdeà __S_IFLNK 110  #S_IFLNK __S_IFLNK ) 112 #ià( defšed __USE_BSD || defšed __USE_MISC || defšed __USE_XOPEN2K ) \ 113 && defšed g__S_IFSOCK 114  #S_IFSOCK __S_IFSOCK ) 120  #__S_ISTYPE ( mode , mask è(((modeè& __S_IFMT è=ð(mask)) ) 122  #S_ISDIR ( mode è `__S_ISTYPE ((mode), __S_IFDIR ) ) 123  #S_ISCHR ( mode è `__S_ISTYPE ((mode), __S_IFCHR ) ) 124  #S_ISBLK ( mode è `__S_ISTYPE ((mode), __S_IFBLK ) ) 125  #S_ISREG ( mode è `__S_ISTYPE ((mode), __S_IFREG ) ) 126 #ifdeà __S_IFIFO 127  #S_ISFIFO ( mode è `__S_ISTYPE ((mode), __S_IFIFO ) ) 129 #ifdeà __S_IFLNK 130  #S_ISLNK ( mode è `__S_ISTYPE ((mode), __S_IFLNK ) ) 133 #ifdef __USE_BSD 134 #iâdeà __S_IFLNK 135  #S_ISLNK ( mode è0 ) 137 #ifdeà __S_IFSOCK 138  #S_ISSOCK ( mode è `__S_ISTYPE ((mode), __S_IFSOCK ) ) 146 #ifdef __USE_POSIX199309 147  #S_TYPEISMQ ( buf è `__S_TYPEISMQ (buf) ) 148  #S_TYPEISSEM ( buf è `__S_TYPEISSEM (buf) ) 149  #S_TYPEISSHM ( buf è `__S_TYPEISSHM (buf) ) 155  #S_ISUID __S_ISUID ) 156  #S_ISGID __S_ISGID ) 158 #ià defšed __USE_BSD || defšed __USE_MISC || defšed __USE_XOPEN 160  #S_ISVTX __S_ISVTX ) 163  #S_IRUSR __S_IREAD ) 164  #S_IWUSR __S_IWRITE ) 165  #S_IXUSR __S_IEXEC ) 167  #S_IRWXU ( __S_IREAD | __S_IWRITE | __S_IEXEC ) ) 169 #ià defšed __USE_MISC && defšed __USE_BSD 170  #S_IREAD S_IRUSR ) 171  #S_IWRITE S_IWUSR ) 172  #S_IEXEC S_IXUSR ) 175  #S_IRGRP ( S_IRUSR >> 3è ) 176  #S_IWGRP ( S_IWUSR >> 3è ) 177  #S_IXGRP ( S_IXUSR >> 3è ) 179  #S_IRWXG ( S_IRWXU >> 3) ) 181  #S_IROTH ( S_IRGRP >> 3è ) 182  #S_IWOTH ( S_IWGRP >> 3è ) 183  #S_IXOTH ( S_IXGRP >> 3è ) 185  #S_IRWXO ( S_IRWXG >> 3) ) 188 #ifdef __USE_BSD 190  #ACCESSPERMS ( S_IRWXU | S_IRWXG | S_IRWXO è ) 191  #ALLPERMS ( S_ISUID | S_ISGID | S_ISVTX | S_IRWXU | S_IRWXG | S_IRWXO ) ) 192  #DEFFILEMODE ( S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH ) ) 194  #S_BLKSIZE 512 ) 198 #iâdeà __USE_FILE_OFFSET64 200  $¡© ( __cÚ¡ * __»¡riù __fže , 201  ¡© * __»¡riù __buf è __THROW ; 205  $f¡© ( __fd ,  ¡© * __buf è __THROW ; 207 #ifdeà __REDIRECT 208  `__REDIRECT ( ¡© , 209 ( __cÚ¡ * __»¡riù __fže , 210  ¡© * __»¡riù __buf è __THROW , 211 ¡©64 ); 212  `__REDIRECT ( f¡© , ( __fd ,  ¡© * __buf è __THROW , f¡©64 ); 214  #¡© ¡©64 ) 215  #f¡© f¡©64 ) 218 #ifdeà __USE_LARGEFILE64 219  $¡©64 ( __cÚ¡ * __»¡riù __fže , 220  ¡©64 * __»¡riù __buf è __THROW ; 221  $f¡©64 ( __fd ,  ¡©64 * __buf è __THROW ; 224 #ià defšed __USE_BSD || defšed __USE_XOPEN_EXTENDED 225 #iâdeà __USE_FILE_OFFSET64 228  $l¡© ( __cÚ¡ * __»¡riù __fže , 229  ¡© * __»¡riù __buf è __THROW ; 231 #ifdeà __REDIRECT 232  `__REDIRECT ( l¡© , 233 ( __cÚ¡ * __»¡riù __fže , 234  ¡© * __»¡riù __buf è __THROW , 235 l¡©64 ); 237  #l¡© l¡©64 ) 240 #ifdeà __USE_LARGEFILE64 241  $l¡©64 ( __cÚ¡ * __»¡riù __fže , 242  ¡©64 * __»¡riù __buf è __THROW ; 249  $chmod ( __cÚ¡ * __fže , __mode_t __mode è __THROW ; 252 #ià defšed __USE_BSD || defšed __USE_XOPEN_EXTENDED 253  $fchmod ( __fd , __mode_t __mode è __THROW ; 259 __mode_t $umask ( __mode_t __mask è __THROW ; 261 #ifdef __USE_GNU 264 __mode_t $g‘umask (è __THROW ; 268  $mkdœ ( __cÚ¡ * __·th , __mode_t __mode è __THROW ; 273 #ià defšed __USE_MISC || defšed __USE_BSD || defšed __USE_XOPEN_EXTENDED 274  $mknod ( __cÚ¡ * __·th , __mode_t __mode , __dev_t __dev ) 275 __THROW ; 280  $mkfifo ( __cÚ¡ * __·th , __mode_t __mode è __THROW ; 297 #iâdeà _STAT_VER 298  #_STAT_VER 0 ) 300 #iâdeà _MKNOD_VER 301  #_MKNOD_VER 0 ) 305 #iâdeà __USE_FILE_OFFSET64 306  $__fx¡© ( __v” ,  __fždes ,  ¡© * __¡©_buf è __THROW ; 307  $__x¡© ( __v” , __cÚ¡ * __fž’ame , 308  ¡© * __¡©_buf è __THROW ; 309  $__lx¡© ( __v” , __cÚ¡ * __fž’ame , 310  ¡© * __¡©_buf è __THROW ; 312 #ifdeà __REDIRECT 313  `__REDIRECT ( __fx¡© , ( __v” ,  __fždes , 314  ¡© * __¡©_buf è __THROW , 315 __fx¡©64 ); 316  `__REDIRECT ( __x¡© , ( __v” , __cÚ¡ * __fž’ame , 317  ¡© * __¡©_buf è __THROW , __x¡©64 ); 318  `__REDIRECT ( __lx¡© , ( __v” , __cÚ¡ * __fž’ame , 319  ¡© * __¡©_buf è __THROW , 320 __lx¡©64 ); 323  #__fx¡© __fx¡©64 ) 324  #__x¡© __x¡©64 ) 325  #__lx¡© __lx¡©64 ) 329 #ifdeà __USE_LARGEFILE64 330  $__fx¡©64 ( __v” ,  __fždes ,  ¡©64 * __¡©_buf ) 331 __THROW ; 332  $__x¡©64 ( __v” , __cÚ¡ * __fž’ame , 333  ¡©64 * __¡©_buf è __THROW ; 334  $__lx¡©64 ( __v” , __cÚ¡ * __fž’ame , 335  ¡©64 * __¡©_buf è __THROW ; 337  $__xmknod ( __v” , __cÚ¡ * __·th , __mode_t __mode , 338 __dev_t * __dev è __THROW ; 340 #ià defšed __GNUC__ && __GNUC__ >= 2 343 __šlše__  $¡© ( __cÚ¡ * __·th , 344  ¡© * __¡©buf è __THROW 346  `__x¡© ( _STAT_VER , __·th , __¡©buf ); 347 } } 349 #ià defšed __USE_BSD || defšed __USE_XOPEN_EXTENDED 350 __šlše__  $l¡© ( __cÚ¡ * __·th , 351  ¡© * __¡©buf è __THROW 353  `__lx¡© ( _STAT_VER , __·th , __¡©buf ); 354 } } 357 __šlše__  $f¡© ( __fd ,  ¡© * __¡©buf è __THROW 359  `__fx¡© ( _STAT_VER , __fd , __¡©buf ); 360 } } 362 #ià defšed __USE_MISC || defšed __USE_BSD 363 __šlše__  $mknod ( __cÚ¡ * __·th , __mode_t __mode , 364 __dev_t __dev è __THROW 366  `__xmknod ( _MKNOD_VER , __·th , __mode , & __dev ); 367 } } 370 #ià defšed __USE_LARGEFILE64 \ 371 && (! defšed __USE_FILE_OFFSET64 \ 372 || ( defšed __REDIRECT && defšed __OPTIMIZE__ )) 373 __šlše__  $¡©64 ( __cÚ¡ * __·th , 374  ¡©64 * __¡©buf è __THROW 376  `__x¡©64 ( _STAT_VER , __·th , __¡©buf ); 377 } } 379 #ià defšed __USE_BSD || defšed __USE_XOPEN_EXTENDED 380 __šlše__  $l¡©64 ( __cÚ¡ * __·th , 381  ¡©64 * __¡©buf è __THROW 383  `__lx¡©64 ( _STAT_VER , __·th , __¡©buf ); 384 } } 387 __šlše__  $f¡©64 ( __fd ,  ¡©64 * __¡©buf è __THROW 389  `__fx¡©64 ( _STAT_VER , __fd , __¡©buf ); 390 } } 395 __END_DECLS @/usr/include/sys/time.h 19 #iâdeà _SYS_TIME_H 20  #_SYS_TIME_H 1 ) 22  ~<ã©u»s.h > 24  ~ 25  #__Ãed_time_t ) 26  ~ 27  #__Ãed_timev® ) 28  ~ 30  ~ 32 #iâdeà __su£cÚds_t_defšed 33  __su£cÚds_t tsu£cÚds_t ; 34  #__su£cÚds_t_defšed ) 38 g__BEGIN_DECLS 40 #ifdeà __USE_GNU 42  #TIMEVAL_TO_TIMESPEC ( tv , ts ) { \ 43 ( ts )-> tv_£c = ( tv )->tv_sec; \ 44 ( ts )-> tv_n£c = ( tv )-> tv_u£c * 1000; \ 45 } ) 46  #TIMESPEC_TO_TIMEVAL ( tv , ts ) { \ 47 ( tv )-> tv_£c = ( ts )->tv_sec; \ 48 ( tv )-> tv_u£c = ( ts )-> tv_n£c / 1000; \ 49 } ) 53 #ifdeà __USE_BSD 56  stimezÚe 58  mtz_mšu‹swe¡ ; 59  mtz_d¡time ; 62  timezÚe * t__»¡riù t__timezÚe_±r_t ; 64 * t__»¡riù t__timezÚe_±r_t ; 72  $g‘timeofday ( timev® * __»¡riù __tv , 73 __timezÚe_±r_t __tz è __THROW ; 75 #ifdeà __USE_BSD 78  $£‰imeofday ( __cÚ¡  timev® * __tv , 79 __cÚ¡  timezÚe * __tz è __THROW ; 85  $adjtime ( __cÚ¡  timev® * __d–� , 86  timev® * __Þdd–� è __THROW ; 91 e__™im”_which 94 ITIMER_REAL = 0, 95  #ITIMER_REAL ITIMER_REAL ) 97 ITIMER_VIRTUAL = 1, 98  #ITIMER_VIRTUAL ITIMER_VIRTUAL ) 101 ITIMER_PROF = 2 102  #ITIMER_PROF ITIMER_PROF ) 107  s™im”v® 110  timev® ™_š‹rv® ; 112  timev® ™_v®ue ; 115 #ià defšed __USE_GNU && !defšed __ýlu¥lus 118  __™im”_which t__™im”_which_t ; 120  t__™im”_which_t ; 125  $g‘™im” ( __™im”_which_t __which , 126  ™im”v® * __v®ue è __THROW ; 131  $£t™im” ( __™im”_which_t __which , 132 __cÚ¡  ™im”v® * __»¡riù __Ãw , 133  ™im”v® * __»¡riù __Þd è __THROW ; 137  `utimes ( __cÚ¡ * __fže , __cÚ¡  timev® __tvp [2]) 138 __THROW ; 141 #ifdeà __USE_BSD 144  #tim”is£t ( tvp è(Ñvp)-> tv_£c || (tvp)-> tv_u£c ) ) 145  #tim”þ—r ( tvp è(Ñvp)-> tv_£c = (tvp)-> tv_u£c = 0) ) 146  #tim”cmp ( a , b , CMP ) \ 147 ((( a )-> tv_£c =ð( b )->tv_sec) ? \ 148 (( a )-> tv_u£c `CMP ( b )->tv_usec) : \ 149 (( a )-> tv_£c `CMP ( b )->tv_£c)) ) 150  #tim”add ( a , b , »suÉ ) \ 152 ( »suÉ )-> tv_£c = ( a )->tv_£ø+ ( b )->tv_sec; \ 153 ( »suÉ )-> tv_u£c = ( a )->tv_u£ø+ ( b )->tv_usec; \ 154 ià(( »suÉ )-> tv_u£c >= 1000000) \ 156 ++( »suÉ )-> tv_£c ; \ 157 ( »suÉ )-> tv_u£c -= 1000000; \ 159 } } 0) ) 160  #tim”sub ( a , b , »suÉ ) \ 162 ( »suÉ )-> tv_£c = ( a )->tv_£ø- ( b )->tv_sec; \ 163 ( »suÉ )-> tv_u£c = ( a )->tv_u£ø- ( b )->tv_usec; \ 164 ià(( »suÉ )-> tv_u£c < 0) { \ 165 --( »suÉ )-> tv_£c ; \ 166 ( »suÉ )-> tv_u£c += 1000000; \ 168 } 0) ) 171 g__END_DECLS @/usr/include/sys/times.h 23 #iâdef _SYS_TIMES_H 24  #_SYS_TIMES_H 1 ) 26  ~<ã©u»s.h > 28  #__Ãed_þock_t ) 29  ~ 32 __BEGIN_DECLS 35  stms 37 þock_t mtms_utime ; 38 þock_t mtms_¡ime ; 40 þock_t mtms_cutime ; 41 þock_t mtms_c¡ime ; 49 þock_t $times ( tms * __bufãr è __THROW ; 51 __END_DECLS @/usr/include/sys/types.h 23 #iâdef _SYS_TYPES_H 24  #_SYS_TYPES_H 1 ) 26  ~<ã©u»s.h > 28 g__BEGIN_DECLS 30  ~ 32 #ifdef __USE_BSD 33 #iâdeà __u_ch¬_defšed 34  __u_ch¬ tu_ch¬ ; 35  __u_shÜt tu_shÜt ; 36  __u_št tu_št ; 37  __u_lÚg tu_lÚg ; 38  __quad_t tquad_t ; 39  __u_quad_t tu_quad_t ; 40  __fsid_t tfsid_t ; 41  #__u_ch¬_defšed ) 45  __loff_t tloff_t ; 47 #iâdeà __šo_t_defšed 48 #iâdeà __USE_FILE_OFFSET64 49  __šo_t tšo_t ; 51  __šo64_t tšo_t ; 53  #__šo_t_defšed ) 55 #ià defšed __USE_LARGEFILE64 && !defšed __šo64_t_defšed 56  __šo64_t tšo64_t ; 57  #__šo64_t_defšed ) 60 #iâdeà __dev_t_defšed 61  __dev_t tdev_t ; 62  #__dev_t_defšed ) 65 #iâdeà __gid_t_defšed 66  __gid_t tgid_t ; 67  #__gid_t_defšed ) 70 #iâdeà __mode_t_defšed 71  __mode_t tmode_t ; 72  #__mode_t_defšed ) 75 #iâdeà __Æšk_t_defšed 76  __Æšk_t tÆšk_t ; 77  #__Æšk_t_defšed ) 80 #iâdeà __uid_t_defšed 81  __uid_t tuid_t ; 82  #__uid_t_defšed ) 85 #iâdeà __off_t_defšed 86 #iâdeà __USE_FILE_OFFSET64 87  __off_t toff_t ; 89  __off64_t toff_t ; 91  #__off_t_defšed ) 93 #ià defšed __USE_LARGEFILE64 && !defšed __off64_t_defšed 94  __off64_t toff64_t ; 95  #__off64_t_defšed ) 98 #iâdeà __pid_t_defšed 99  __pid_t tpid_t ; 100  #__pid_t_defšed ) 103 #ià( defšed __USE_SVID || defšed __USE_XOPEN è&& !defšed __id_t_defšed 104  __id_t tid_t ; 105  #__id_t_defšed ) 108 #iâdeà __ssize_t_defšed 109  __ssize_t tssize_t ; 110  #__ssize_t_defšed ) 113 #ifdef __USE_BSD 114 #iâdeà __daddr_t_defšed 115  __daddr_t tdaddr_t ; 116  __ÿddr_t tÿddr_t ; 117  #__daddr_t_defšed ) 121 #ià( defšed __USE_SVID || defšed __USE_XOPEN è&& !defšed __key_t_defšed 122  __key_t tkey_t ; 123  #__key_t_defšed ) 126 #ifdeà __USE_XOPEN 127  #__Ãed_þock_t ) 129  #__Ãed_time_t ) 130  #__Ãed_tim”_t ) 131  #__Ãed_þockid_t ) 132  ~ 134 #ifdeà __USE_XOPEN 135 #iâdeà __u£cÚds_t_defšed 136  __u£cÚds_t tu£cÚds_t ; 137  #__u£cÚds_t_defšed ) 139 #iâdeà __su£cÚds_t_defšed 140  __su£cÚds_t tsu£cÚds_t ; 141  #__su£cÚds_t_defšed ) 145  #__Ãed_size_t ) 146  ~<¡ddef.h > 148 #ifdeà __USE_MISC 150  tulÚg ; 151  tushÜt ; 152  tušt ; 157 #ià! __GNUC_PREREQ (2, 7) 160 #iâdeà __št8_t_defšed 161  #__št8_t_defšed ) 162  tšt8_t ; 163  tšt16_t ; 164  tšt32_t ; 165 #ià __GLIBC_HAVE_LONG_LONG 166 __ex‹nsiÚ__  tšt64_t ; 171  tu_št8_t ; 172  tu_št16_t ; 173  tu_št32_t ; 174 #ià __GLIBC_HAVE_LONG_LONG 175 __ex‹nsiÚ__  tu_št64_t ; 178  t»gi¡”_t ; 183  #__štN_t ( N , MODE ) \ 184 ## tN ## t_t t__©Œibu‹__ (( t__mode__ ( tMODE ))) ) 185  t__u_štN_t ( tN , tMODE ) \ 186  tu_št ## tN ## t_t t__©Œibu‹__ (( t__mode__ ( tMODE ))) ) 188 #iâdeà t__št8_t_defšed 189  t__št8_t_defšed ) 190 t__štN_t (8, t__QI__ ); 191 __štN_t (16, __HI__ ); 192 __štN_t (32, __SI__ ); 193 __štN_t (64, __DI__ ); 196 __u_štN_t (8, __QI__ ); 197 __u_štN_t (16, __HI__ ); 198 __u_štN_t (32, __SI__ ); 199 __u_štN_t (64, __DI__ ); 201  t»gi¡”_t t__©Œibu‹__ (( t__mode__ ( t__wÜd__ ))); 207  #__BIT_TYPES_DEFINED__ 1 ) 210 #ifdef __USE_BSD 212  ~<’dŸn.h > 215  ~ 218  ~ 222 #ià defšed __USE_UNIX98 && !defšed __blksize_t_defšed 223  __blksize_t tblksize_t ; 224  #__blksize_t_defšed ) 228 #iâdeà __USE_FILE_OFFSET64 229 #iâdeà __blkút_t_defšed 230  __blkút_t tblkút_t ; 231  #__blkút_t_defšed ) 233 #iâdeà __fsblkút_t_defšed 234  __fsblkút_t tfsblkút_t ; 235  #__fsblkút_t_defšed ) 237 #iâdeà __fsfžút_t_defšed 238  __fsfžút_t tfsfžút_t ; 239  #__fsfžút_t_defšed ) 242 #iâdeà __blkút_t_defšed 243  __blkút64_t tblkút_t ; 244  #__blkút_t_defšed ) 246 #iâdeà __fsblkút_t_defšed 247  __fsblkút64_t tfsblkút_t ; 248  #__fsblkút_t_defšed ) 250 #iâdeà __fsfžút_t_defšed 251  __fsfžút64_t tfsfžút_t ; 252  #__fsfžút_t_defšed ) 256 #ifdeà __USE_LARGEFILE64 257  __blkút64_t tblkút64_t ; 258  __fsblkút64_t tfsblkút64_t ; 259  __fsfžút64_t tfsfžút64_t ; 262 g__END_DECLS @/usr/include/time.h 23 #iâdef _TIME_H 25 #ià(! defšed __Ãed_time_t && !defšed __Ãed_þock_t && \ 26 ! defšed g__Ãed_time¥ec ) 27  #_TIME_H 1 ) 28  ~<ã©u»s.h > 30 g__BEGIN_DECLS 34 #ifdef _TIME_H 36  #__Ãed_size_t ) 37  #__Ãed_NULL ) 38  ~<¡ddef.h > 42  ~ 45 #ià! defšed __STRICT_ANSI__ && !defšed __USE_XOPEN2K 46 #iâdeà CLK_TCK 47  #CLK_TCK CLOCKS_PER_SEC ) 53 #ià! defšed __þock_t_defšed && (defšed _TIME_H || defšed __Ãed_þock_t ) 54  #__þock_t_defšed 1 ) 56  ~ 59  __þock_t tþock_t ; 62 #undeà __Ãed_þock_t 64 #ià! defšed __time_t_defšed && (defšed _TIME_H || defšed __Ãed_time_t ) 65  #__time_t_defšed 1 ) 67  ~ 70  __time_t ttime_t ; 73 #undeà __Ãed_time_t 75 #ià! defšed __þockid_t_defšed && \ 76 (( defšed g_TIME_H && defšed g__USE_POSIX199309 è|| defšed g__Ãed_þockid_t ) 77  #__þockid_t_defšed 1 ) 79  ~ 82  __þockid_t tþockid_t ; 85 #undeà __þockid_time_t 87 #ià! defšed __tim”_t_defšed && \ 88 (( defšed g_TIME_H && defšed g__USE_POSIX199309 è|| defšed g__Ãed_tim”_t ) 89  #__tim”_t_defšed 1 ) 91  ~ 94  __tim”_t ttim”_t ; 97 #undeà __Ãed_tim”_t 100 #ià! defšed __time¥ec_defšed && \ 101 (( defšed g_TIME_H && defšed g__USE_POSIX199309 è|| defšed g__Ãed_time¥ec ) 102  #__time¥ec_defšed 1 ) 106  stime¥ec 108 __time_t mtv_£c ; 109  mtv_n£c ; 113 #undeà __Ãed_time¥ec 116 #ifdef _TIME_H 118  stm 120  mtm_£c ; 121  mtm_mš ; 122  mtm_hour ; 123  mtm_mday ; 124  mtm_mÚ ; 125  mtm_y—r ; 126  mtm_wday ; 127  mtm_yday ; 128  mtm_isd¡ ; 130 #ifdef __USE_BSD 131  mtm_gmtoff ; 132 __cÚ¡ * mtm_zÚe ; 134  m__tm_gmtoff ; 135 __cÚ¡ * m__tm_zÚe ; 140 #ifdeà __USE_POSIX199309 142  s™im”¥ec 144  time¥ec m™_š‹rv® ; 145  time¥ec m™_v®ue ; 149  gsigev’t ; 153 #ifdeà __USE_XOPEN2K 154 #iâdeà __pid_t_defšed 155  __pid_t tpid_t ; 156  #__pid_t_defšed ) 163 þock_t $þock (è __THROW ; 166 time_t $time ( time_t * __tim” è __THROW ; 169  $difáime ( time_t __time1 ,�ime_ˆ __time0 ) 170 __THROW `__©Œibu‹__ (( __cÚ¡__ )); 173 time_t $mktime ( tm * __� è __THROW ; 179 size_t $¡ráime (* __»¡riù __s , size_t __maxsize , 180 __cÚ¡ * __»¡riù __fÜm© , 181 __cÚ¡  tm * __»¡riù __� è __THROW ; 183 #ifdeà __USE_XOPEN 186 * $¡½time ( __cÚ¡ * __»¡riù __s , 187 __cÚ¡ * __»¡riù __fmt ,  tm * __� ) 188 __THROW ; 194  tm * $gmtime ( __cÚ¡ time_t * __tim” è __THROW ; 198  tm * $loÿÉime ( __cÚ¡ time_t * __tim” è __THROW ; 200 #ià defšed __USE_POSIX || defšed __USE_MISC 203  tm * $gmtime_r ( __cÚ¡ time_t * __»¡riù __tim” , 204  tm * __»¡riù __� è __THROW ; 208  tm * $loÿÉime_r ( __cÚ¡ time_t * __»¡riù __tim” , 209  tm * __»¡riù __� è __THROW ; 214 * $asùime ( __cÚ¡  tm * __� è __THROW ; 217 * $ùime ( __cÚ¡ time_t * __tim” è __THROW ; 219 #ià defšed __USE_POSIX || defšed __USE_MISC 224 * $asùime_r ( __cÚ¡  tm * __»¡riù __� , 225 * __»¡riù __buf è __THROW ; 228 * $ùime_r ( __cÚ¡ time_t * __»¡riù __tim” , 229 * __»¡riù __buf è __THROW ; 234 * __tzÇme [2]; 235  __daylight ; 236  __timezÚe ; 239 #ifdef __USE_POSIX 241 * tzÇme [2]; 245  $tz£t (è __THROW ; 248 #ià defšed __USE_SVID || defšed __USE_XOPEN 249  daylight ; 250  timezÚe ; 253 #ifdeà __USE_SVID 256  $¡ime ( __cÚ¡ time_t * __wh’ è __THROW ; 262  #__i¦—p ( y—r ) \ 263 (( y—r è% 4 =ð0 && ((y—rè% 100 !ð0 || (y—rè% 400 =ð0)) ) 266 #ifdeà __USE_MISC 271 time_t $timegm ( tm * __� è __THROW ; 274 time_t $tim–oÿl ( tm * __� è __THROW ; 277  $dysize ( __y—r è __THROW `__©Œibu‹__ (( __cÚ¡__ )); 281 #ifdeà __USE_POSIX199309 283  $Çno¦“p ( __cÚ¡  time¥ec * __»que¡ed_time , 284  time¥ec * __»maššg è __THROW ; 288  $þock_g‘»s ( þockid_t __þock_id ,  time¥ec * __»s è __THROW ; 291  $þock_g‘time ( þockid_t __þock_id ,  time¥ec * __� è __THROW ; 294  $þock_£‰ime ( þockid_t __þock_id , __cÚ¡  time¥ec * __� ) 295 __THROW ; 297 #ifdeà __USE_XOPEN2K 299  $þock_Çno¦“p ( þockid_t __þock_id ,  __æags , 300 __cÚ¡  time¥ec * __»q , 301  time¥ec * __»m è __THROW ; 304  $þock_g‘ýuþockid ( pid_t __pid , þockid_t * __þock_id è __THROW ; 309  $tim”_ü—‹ ( þockid_t __þock_id , 310  sigev’t * __»¡riù __evp , 311 tim”_t * __»¡riù __tim”id è __THROW ; 314  $tim”_d–‘e ( tim”_t __tim”id è __THROW ; 317  $tim”_£‰ime ( tim”_t __tim”id ,  __æags , 318 __cÚ¡  ™im”¥ec * __»¡riù __v®ue , 319  ™im”¥ec * __»¡riù __ov®ue è __THROW ; 322  $tim”_g‘time ( tim”_t __tim”id ,  ™im”¥ec * __v®ue ) 323 __THROW ; 326  $tim”_g‘ov”run ( tim”_t __tim”id è __THROW ; 330 #ifdeà __USE_XOPEN_EXTENDED 342  g‘d©e_”r ; 348  tm * $g‘d©e ( __cÚ¡ * __¡ršg è __THROW ; 351 #ifdeà __USE_GNU 357  $g‘d©e_r ( __cÚ¡ * __»¡riù __¡ršg , 358  tm * __»¡riù __»sbuå è __THROW ; 362 __END_DECLS @/usr/include/utime.h 23 #iâdef _UTIME_H 24  #_UTIME_H 1 ) 26  ~<ã©u»s.h > 28 g__BEGIN_DECLS 30  ~ 32 #ifdeà __USE_XOPEN 33  #__Ãed_time_t ) 34  ~ 38  sutimbuf 40 __time_t maùime ; 41 __time_t mmodtime ; 46  $utime ( __cÚ¡ * __fže , 47 __cÚ¡  utimbuf * __fže_times è __THROW ; 49 __END_DECLS @/usr/include/alloca.h 19 #iâdef _ALLOCA_H 20  #_ALLOCA_H 1 ) 22  ~<ã©u»s.h > 24  #__Ãed_size_t ) 25  ~<¡ddef.h > 27 g__BEGIN_DECLS 30 #undeà ®loÿ 33 * $®loÿ ( size_t __size è __THROW ; 35 #ifdef __GNUC__ 36  #®loÿ ( size è `__bužtš_®loÿ (size) ) 39 __END_DECLS @/usr/include/bits/byteswap.h 20 #ià! defšed _BYTESWAP_H && !defšed _NETINET_IN_H 24 #iâdeà _BITS_BYTESWAP_H 25  #_BITS_BYTESWAP_H 1 ) 28  #__bsw­_cÚ¡ªt_16 ( x ) \ 29 (((( x è>> 8è& 0xffè| (((xè& 0xffè<< 8)) ) 31 #ià defšed __GNUC__ && __GNUC__ >= 2 32  #__bsw­_16 ( x ) \ 33 ( __ex‹nsiÚ__ \ 34 ({  __v ; \ 35 ià( `__bužtš_cÚ¡ªt_p ( x )) \ 36 __v = `__bsw­_cÚ¡ªt_16 ( x ); \ 38 __asm__ `__vÞ©že__ ("rorw $8, %w0" \ 39 : "ô" ( __v ) \ 40 : "0" ((è( x )) \ 42 __v ; })) ) 45  #__bsw­_16 ( x è `__bsw­_cÚ¡ªt_16 (x) ) 50  #__bsw­_cÚ¡ªt_32 ( x ) \ 51 (((( x ) & 0xff000000) >> 24) | (((x) & 0x00ff0000) >> 8) | \ 52 ((( x è& 0x0000ff00è<< 8è| (((xè& 0x000000ffè<< 24)) ) 54 #ià defšed __GNUC__ && __GNUC__ >= 2 57 #ià! defšed __i486__ && !defšed __³Áium__ && !defšed __³Áium´o__ 58  #__bsw­_32 ( x ) \ 59 ( __ex‹nsiÚ__ \ 60 ({  __v ; \ 61 ià( `__bužtš_cÚ¡ªt_p ( x )) \ 62 __v = `__bsw­_cÚ¡ªt_32 ( x ); \ 64 __asm__ `__vÞ©že__ ("rorw $8, %w0;" \ 67 : "ô" ( __v ) \ 68 : "0" ((è( x )) \ 70 __v ; })) ) 72  #__bsw­_32 ( x ) \ 73 ( __ex‹nsiÚ__ \ 74 ({  __v ; \ 75 ià( `__bužtš_cÚ¡ªt_p ( x )) \ 76 __v = `__bsw­_cÚ¡ªt_32 ( x ); \ 78 __asm__ `__vÞ©že__ ("bswap %0" \ 79 : "ô" ( __v ) \ 80 : "0" ((è( x ))); \ 81 __v ; })) ) 84  #__bsw­_32 ( x è `__bsw­_cÚ¡ªt_32 (x) ) 88 #ià defšed __GNUC__ && __GNUC__ >= 2 90  #__bsw­_cÚ¡ªt_64 ( x ) \ 91 (((( x ) & 0xff00000000000000ull) >> 56) \ 92 | ((( x ) & 0x00ff000000000000ull) >> 40) \ 93 | ((( x ) & 0x0000ff0000000000ull) >> 24) \ 94 | ((( x ) & 0x000000ff00000000ull) >> 8) \ 95 | ((( x ) & 0x00000000ff000000ull) << 8) \ 96 | ((( x ) & 0x0000000000ff0000ull) << 24) \ 97 | ((( x ) & 0x000000000000ff00ull) << 40) \ 98 | ((( x è& 0x00000000000000ffuÎè<< 56)) ) 100  #__bsw­_64 ( x ) \ 101 ( __ex‹nsiÚ__ \ 102 ({ uniÚ { __ex‹nsiÚ__  __Î ; \ 103  __l [2]; } __w , __r ; \ 104 ià( `__bužtš_cÚ¡ªt_p ( x )) \ 105 __r . __Î = `__bsw­_cÚ¡ªt_64 ( x ); \ 108 __w . __Î = ( x ); \ 109 __r . __l [0] = `__bsw­_32 ( __w .__l[1]); \ 110 __r . __l [1] = `__bsw­_32 ( __w .__l[0]); \ 112 __r . __Î ; })) ) @/usr/include/bits/dirent.h 19 #iâdeà _DIRENT_H 23  sdœ’t 25 #iâdeà __USE_FILE_OFFSET64 26 __šo_t md_šo ; 27 __off_t md_off ; 29 __šo64_t md_šo ; 30 __off64_t md_off ; 32  md_»þ’ ; 33  md_ty³ ; 34  md_Çme [256]; 37 #ifdeà __USE_LARGEFILE64 38  sdœ’t64 40 __šo64_t md_šo ; 41 __off64_t md_off ; 42  md_»þ’ ; 43  md_ty³ ; 44  md_Çme [256]; 48  #d_fž’o d_šo ) 50 #undeà _DIRENT_HAVE_D_NAMLEN 51  #_DIRENT_HAVE_D_RECLEN ) 52  #_DIRENT_HAVE_D_OFF ) 53  #_DIRENT_HAVE_D_TYPE ) @/usr/include/bits/errno.h 20 #ifdeà _ERRNO_H 22 #undeà EDOM 23 #undeà EILSEQ 24 #undeà ERANGE 25  ~ 28  #ENOTSUP EOPNOTSUPP ) 32  #ECANCELED 125 ) 34 #iâdeà __ASSEMBLER__ 36  ”ºo ; 39 * $__”ºo_loÿtiÚ (è __THROW `__©Œibu‹__ (( __cÚ¡__ )); 41 #ià defšed _LIBC 43  #__£t_”ºo ( v® è(* `__”ºo_loÿtiÚ ()èð(v®) ) 46 #ià! defšed _LIBC || defšed _LIBC_REENTRANT 48  #”ºo (* `__”ºo_loÿtiÚ ()) ) 53 #ià! defšed _ERRNO_H && defšed __Ãed_Em©h 57  #EDOM 33 ) 58  #EILSEQ 84 ) 59  #ERANGE 34 ) @/usr/include/bits/fcntl.h 20 #iâdef _FCNTL_H 25  ~ 29  #O_ACCMODE 0003 ) 30  #O_RDONLY 00 ) 31  #O_WRONLY 01 ) 32  #O_RDWR 02 ) 33  #O_CREAT 0100 ) 34  #O_EXCL 0200 ) 35  #O_NOCTTY 0400 ) 36  #O_TRUNC 01000 ) 37  #O_APPEND 02000 ) 38  #O_NONBLOCK 04000 ) 39  #O_NDELAY O_NONBLOCK ) 40  #O_SYNC 010000 ) 41  #O_FSYNC O_SYNC ) 42  #O_ASYNC 020000 ) 44 #ifdeà __USE_GNU 45  #O_DIRECT 040000 ) 46  #O_DIRECTORY 0200000 ) 47  #O_NOFOLLOW 0400000 ) 53 #ià defšed __USE_POSIX199309 || defšed __USE_UNIX98 54  #O_DSYNC O_SYNC ) 55  #O_RSYNC O_SYNC ) 58 #ifdeà __USE_LARGEFILE64 59  #O_LARGEFILE 0100000 ) 63  #F_DUPFD 0 ) 64  #F_GETFD 1 ) 65  #F_SETFD 2 ) 66  #F_GETFL 3 ) 67  #F_SETFL 4 ) 68 #iâdeà __USE_FILE_OFFSET64 69  #F_GETLK 5 ) 70  #F_SETLK 6 ) 71  #F_SETLKW 7 ) 73  #F_GETLK F_GETLK64 ) 74  #F_SETLK F_SETLK64 ) 75  #F_SETLKW F_SETLKW64 ) 77  #F_GETLK64 12 ) 78  #F_SETLK64 13 ) 79  #F_SETLKW64 14 ) 81 #ià defšed __USE_BSD || defšed __USE_XOPEN2K 82  #F_SETOWN 8 ) 83  #F_GETOWN 9 ) 86 #ifdeà __USE_GNU 87  #F_SETSIG 10 ) 88  #F_GETSIG 11 ) 91 #ifdeà __USE_GNU 92  #F_SETLEASE 1024 ) 93  #F_GETLEASE 1025 ) 94  #F_NOTIFY 1026 ) 98  #FD_CLOEXEC 1 ) 101  #F_RDLCK 0 ) 102  #F_WRLCK 1 ) 103  #F_UNLCK 2 ) 106  #F_EXLCK 4 ) 107  #F_SHLCK 8 ) 109 #ifdeà __USE_BSD 111  #LOCK_SH 1 ) 112  #LOCK_EX 2 ) 113  #LOCK_NB 4 ) 115  #LOCK_UN 8 ) 118 #ifdeà __USE_GNU 119  #LOCK_MAND 32 ) 120  #LOCK_READ 64 ) 121  #LOCK_WRITE 128 ) 122  #LOCK_RW 192 ) 125 #ifdeà __USE_GNU 127  #DN_ACCESS 0x00000001 ) 128  #DN_MODIFY 0x00000002 ) 129  #DN_CREATE 0x00000004 ) 130  #DN_DELETE 0x00000008 ) 131  #DN_RENAME 0x00000010 ) 132  #DN_ATTRIB 0x00000020 ) 133  #DN_MULTISHOT 0x80000000 ) 136  sæock 138  ml_ty³ ; 139  ml_wh’û ; 140 #iâdeà __USE_FILE_OFFSET64 141 __off_t ml_¡¬t ; 142 __off_t ml_Ën ; 144 __off64_t ml_¡¬t ; 145 __off64_t ml_Ën ; 147 __pid_t ml_pid ; 150 #ifdeà __USE_LARGEFILE64 151  sæock64 153  ml_ty³ ; 154  ml_wh’û ; 155 __off64_t ml_¡¬t ; 156 __off64_t ml_Ën ; 157 __pid_t ml_pid ; 163 #ifdef __USE_BSD 164  #FAPPEND O_APPEND ) 165  #FFSYNC O_FSYNC ) 166  #FASYNC O_ASYNC ) 167  #FNONBLOCK O_NONBLOCK ) 168  #FNDELAY O_NDELAY ) 172 #ifdeà __USE_XOPEN2K 173  #POSIX_FADV_NORMAL 0 ) 174  #POSIX_FADV_RANDOM 1 ) 175  #POSIX_FADV_SEQUENTIAL 2 ) 176  #POSIX_FADV_WILLNEED 3 ) 177  #POSIX_FADV_DONTNEED 4 ) 178  #POSIX_FADV_NOREUSE 5 ) @/usr/include/bits/in.h 21 #iâdeà _NETINET_IN_H 28  #IP_TOS 1 ) 29  #IP_TTL 2 ) 30  #IP_HDRINCL 3 ) 31  #IP_OPTIONS 4 ) 32  #IP_ROUTER_ALERT 5 ) 33  #IP_RECVOPTS 6 ) 34  #IP_RETOPTS 7 ) 35  #IP_PKTINFO 8 ) 36  #IP_PKTOPTIONS 9 ) 37  #IP_PMTUDISC 10 ) 38  #IP_MTU_DISCOVER 10 ) 39  #IP_RECVERR 11 ) 40  #IP_RECVTTL 12 ) 41  #IP_RECVTOS 13 ) 42  #IP_MULTICAST_IF 32 ) 43  #IP_MULTICAST_TTL 33 ) 44  #IP_MULTICAST_LOOP 34 ) 45  #IP_ADD_MEMBERSHIP 35 ) 46  #IP_DROP_MEMBERSHIP 36 ) 49  #IP_RECVRETOPTS IP_RETOPTS ) 52  #IP_PMTUDISC_DONT 0 ) 53  #IP_PMTUDISC_WANT 1 ) 54  #IP_PMTUDISC_DO 2 ) 57  #SOL_IP 0 ) 59  #IP_DEFAULT_MULTICAST_TTL 1 ) 60  #IP_DEFAULT_MULTICAST_LOOP 1 ) 61  #IP_MAX_MEMBERSHIPS 20 ) 66  s�_Ýts 68  š_addr m�_d¡ ; 69  m�_Ýts [40]; 73  s�_m»q 75  š_addr mimr_muÉŸddr ; 76  š_addr mimr_š‹rçû ; 80  s�_m»qn 82  š_addr mimr_muÉŸddr ; 83  š_addr mimr_add»ss ; 84  mimr_ifšdex ; 88  sš_pktšfo 90  m�i_ifšdex ; 91  š_addr m�i_¥ec_d¡ ; 92  š_addr m�i_addr ; 98  #IPV6_ADDRFORM 1 ) 99  #IPV6_PKTINFO 2 ) 100  #IPV6_HOPOPTS 3 ) 101  #IPV6_DSTOPTS 4 ) 102  #IPV6_RTHDR 5 ) 103  #IPV6_PKTOPTIONS 6 ) 104  #IPV6_CHECKSUM 7 ) 105  #IPV6_HOPLIMIT 8 ) 106  #IPV6_NEXTHOP 9 ) 107  #IPV6_AUTHHDR 10 ) 108  #IPV6_UNICAST_HOPS 16 ) 109  #IPV6_MULTICAST_IF 17 ) 110  #IPV6_MULTICAST_HOPS 18 ) 111  #IPV6_MULTICAST_LOOP 19 ) 112  #IPV6_JOIN_GROUP 20 ) 113  #IPV6_LEAVE_GROUP 21 ) 114  #IPV6_ROUTER_ALERT 22 ) 115  #IPV6_MTU_DISCOVER 23 ) 116  #IPV6_MTU 24 ) 117  #IPV6_RECVERR 25 ) 119  #SCM_SRCRT IPV6_RXSRCRT ) 122  #IPV6_RXHOPOPTS IPV6_HOPOPTS ) 123  #IPV6_RXDSTOPTS IPV6_DSTOPTS ) 124  #IPV6_ADD_MEMBERSHIP IPV6_JOIN_GROUP ) 125  #IPV6_DROP_MEMBERSHIP IPV6_LEAVE_GROUP ) 129  #IPV6_PMTUDISC_DONT 0 ) 130  #IPV6_PMTUDISC_WANT 1 ) 131  #IPV6_PMTUDISC_DO 2 ) 134  #SOL_IPV6 41 ) 135  #SOL_ICMPV6 58 ) 138  #IPV6_RTHDR_LOOSE 0 ) 139  #IPV6_RTHDR_STRICT 1 ) 141  #IPV6_RTHDR_TYPE_0 0 ) @/usr/include/bits/ioctl-types.h 20 #iâdeà _SYS_IOCTL_H 25  ~ 28  swšsize 30  mws_row ; 31  mws_cÞ ; 32  mws_xpix– ; 33  mws_ypix– ; 36  #NCC 8 ) 37  s‹rmio 39  mc_iæag ; 40  mc_oæag ; 41  mc_cæag ; 42  mc_læag ; 43  mc_lše ; 44  mc_cc [ NCC ]; 48  #TIOCM_LE 0x001 ) 49  #TIOCM_DTR 0x002 ) 50  #TIOCM_RTS 0x004 ) 51  #TIOCM_ST 0x008 ) 52  #TIOCM_SR 0x010 ) 53  #TIOCM_CTS 0x020 ) 54  #TIOCM_CAR 0x040 ) 55  #TIOCM_RNG 0x080 ) 56  #TIOCM_DSR 0x100 ) 57  #TIOCM_CD TIOCM_CAR ) 58  #TIOCM_RI TIOCM_RNG ) 63  #N_TTY 0 ) 64  #N_SLIP 1 ) 65  #N_MOUSE 2 ) 66  #N_PPP 3 ) 67  #N_STRIP 4 ) 68  #N_AX25 5 ) 69  #N_X25 6 ) 70  #N_6PACK 7 ) 71  #N_MASC 8 ) 72  #N_R3964 9 ) 73  #N_PROFIBUS_FDL 10 ) 74  #N_IRDA 11 ) 75  #N_SMSBLOCK 12 ) 76  #N_HDLC 13 ) 77  #N_SYNC_PPP 14 ) 78  #N_HCI 15 ) @/usr/include/bits/ioctls.h 19 #iâdeà _SYS_IOCTL_H 24  ~ 27  #SIOCADDRT 0x890B ) 28  #SIOCDELRT 0x890C ) 29  #SIOCRTMSG 0x890D ) 32  #SIOCGIFNAME 0x8910 ) 33  #SIOCSIFLINK 0x8911 ) 34  #SIOCGIFCONF 0x8912 ) 35  #SIOCGIFFLAGS 0x8913 ) 36  #SIOCSIFFLAGS 0x8914 ) 37  #SIOCGIFADDR 0x8915 ) 38  #SIOCSIFADDR 0x8916 ) 39  #SIOCGIFDSTADDR 0x8917 ) 40  #SIOCSIFDSTADDR 0x8918 ) 41  #SIOCGIFBRDADDR 0x8919 ) 42  #SIOCSIFBRDADDR 0x891¨ ) 43  #SIOCGIFNETMASK 0x891b ) 44  #SIOCSIFNETMASK 0x891ø ) 45  #SIOCGIFMETRIC 0x891d ) 46  #SIOCSIFMETRIC 0x891� ) 47  #SIOCGIFMEM 0x891à ) 48  #SIOCSIFMEM 0x8920 ) 49  #SIOCGIFMTU 0x8921 ) 50  #SIOCSIFMTU 0x8922 ) 51  #SIOCSIFHWADDR 0x8924 ) 52  #SIOCGIFENCAP 0x8925 ) 53  #SIOCSIFENCAP 0x8926 ) 54  #SIOCGIFHWADDR 0x8927 ) 55  #SIOCGIFSLAVE 0x8929 ) 56  #SIOCSIFSLAVE 0x8930 ) 57  #SIOCADDMULTI 0x8931 ) 58  #SIOCDELMULTI 0x8932 ) 59  #SIOCGIFINDEX 0x8933 ) 60  #SIOGIFINDEX SIOCGIFINDEX ) 61  #SIOCSIFPFLAGS 0x8934 ) 62  #SIOCGIFPFLAGS 0x8935 ) 63  #SIOCDIFADDR 0x8936 ) 64  #SIOCSIFHWBROADCAST 0x8937 ) 65  #SIOCGIFCOUNT 0x8938 ) 67  #SIOCGIFBR 0x8940 ) 68  #SIOCSIFBR 0x8941 ) 70  #SIOCGIFTXQLEN 0x8942 ) 71  #SIOCSIFTXQLEN 0x8943 ) 76  #SIOCDARP 0x8953 ) 77  #SIOCGARP 0x8954 ) 78  #SIOCSARP 0x8955 ) 81  #SIOCDRARP 0x8960 ) 82  #SIOCGRARP 0x8961 ) 83  #SIOCSRARP 0x8962 ) 87  #SIOCGIFMAP 0x8970 ) 88  #SIOCSIFMAP 0x8971 ) 92  #SIOCADDDLCI 0x8980 ) 93  #SIOCDELDLCI 0x8981 ) 102  #SIOCDEVPRIVATE 0x89F0 ) 108  #SIOCPROTOPRIVATE 0x89E0 ) @/usr/include/bits/ipc.h 19 #iâdeà _SYS_IPC_H 23  ~ 26  #IPC_CREAT 01000 ) 27  #IPC_EXCL 02000 ) 28  #IPC_NOWAIT 04000 ) 31  #IPC_RMID 0 ) 32  #IPC_SET 1 ) 33  #IPC_STAT 2 ) 34 #ifdeà __USE_GNU 35  #IPC_INFO 3 ) 39  #IPC_PRIVATE (( __key_t è0è ) 43  s�c_³rm 45 __key_t m__key ; 46 __uid_t muid ; 47 __gid_t mgid ; 48 __uid_t mcuid ; 49 __gid_t mcgid ; 50  mmode ; 51  m__·d1 ; 52  m__£q ; 53  m__·d2 ; 54  m__unu£d1 ; 55  m__unu£d2 ; @/usr/include/bits/msq.h 19 #iâdeà _SYS_MSG_H 23  ~ 26  #MSG_NOERROR 010000 ) 27 #ifdeà __USE_GNU 28  #MSG_EXCEPT 020000 ) 32  tmsgqnum_t ; 33  tmsgËn_t ; 38  smsqid_ds 40  �c_³rm mmsg_³rm ; 41 __time_t mmsg_¡ime ; 42  m__unu£d1 ; 43 __time_t mmsg_¹ime ; 44  m__unu£d2 ; 45 __time_t mmsg_ùime ; 46  m__unu£d3 ; 47  m__msg_cby‹s ; 48 msgqnum_t mmsg_qnum ; 49 msgËn_t mmsg_qby‹s ; 50 __pid_t mmsg_l¥id ; 51 __pid_t mmsg_Ìpid ; 52  m__unu£d4 ; 53  m__unu£d5 ; 56 #ifdeà __USE_MISC 58  #msg_cby‹s __msg_cby‹s ) 61  #MSG_STAT 11 ) 62  #MSG_INFO 12 ) 65  smsgšfo 67  mmsgpoÞ ; 68  mmsgm­ ; 69  mmsgmax ; 70  mmsgmnb ; 71  mmsgmni ; 72  mmsgssz ; 73  mmsgtql ; 74  mmsg£g ; @/usr/include/bits/netdb.h 19 #iâdeà _NETDB_H 27  sËÁ 29 * mn_Çme ; 30 ** mn_®Ÿ£s ; 31  mn_add¹y³ ; 32 ušt32_t mn_Ãt ; @/usr/include/bits/posix1_lim.h 25 #iâdef _BITS_POSIX1_LIM_H 26  #_BITS_POSIX1_LIM_H 1 ) 32  #_POSIX_AIO_LISTIO_MAX 2 ) 35  #_POSIX_AIO_MAX 1 ) 38  #_POSIX_ARG_MAX 4096 ) 41  #_POSIX_CHILD_MAX 6 ) 44  #_POSIX_DELAYTIMER_MAX 32 ) 47  #_POSIX_LINK_MAX 8 ) 50  #_POSIX_MAX_CANON 255 ) 54  #_POSIX_MAX_INPUT 255 ) 57  #_POSIX_MQ_OPEN_MAX 8 ) 60  #_POSIX_MQ_PRIO_MAX 32 ) 63  #_POSIX_NGROUPS_MAX 0 ) 66  #_POSIX_OPEN_MAX 16 ) 70  #_POSIX_FD_SETSIZE _POSIX_OPEN_MAX ) 73  #_POSIX_NAME_MAX 14 ) 76  #_POSIX_PATH_MAX 256 ) 79  #_POSIX_PIPE_BUF 512 ) 82  #_POSIX_RTSIG_MAX 8 ) 85  #_POSIX_SEM_NSEMS_MAX 256 ) 88  #_POSIX_SEM_VALUE_MAX 32767 ) 91  #_POSIX_SIGQUEUE_MAX 32 ) 94  #_POSIX_SSIZE_MAX 32767 ) 97  #_POSIX_STREAM_MAX 8 ) 100  #_POSIX_TZNAME_MAX 6 ) 103  #_POSIX_QLIMIT 1 ) 107  #_POSIX_HIWAT _POSIX_PIPE_BUF ) 110  #_POSIX_UIO_MAXIOV 16 ) 113  #_POSIX_TTY_NAME_MAX 9 ) 116  #_POSIX_TIMER_MAX 32 ) 119  #_POSIX_LOGIN_NAME_MAX 9 ) 122  #_POSIX_CLOCKRES_MIN 20000000 ) 126  ~ 129 #iâdef SSIZE_MAX 130  #SSIZE_MAX INT_MAX ) 137 #iâdef NGROUPS_MAX 138  #NGROUPS_MAX _POSIX_NGROUPS_MAX ) @/usr/include/bits/select.h 19 #iâdeà _SYS_SELECT_H 24 #ià defšed __GNUC__ && __GNUC__ >= 2 26  #__FD_ZERO ( fd¥ ) \ 28  __d0 , __d1 ; \ 29 __asm__ `__vÞ©že__ ("cld;„ep; stosl" \ 30 : "=c" ( __d0 ), "=D" ( __d1 ) \ 31 : "a" (0), "0" ( ( fd_£t ) \ 32 /  ( __fd_mask )), \ 33 "1" (& `__FDS_BITS ( fd¥ )[0]) \ 35 } 0) ) 37  #__FD_SET ( fd , fd¥ ) \ 38 __asm__ `__vÞ©že__ ("btsl %1,%0" \ 39 : "=m" ( `__FDS_BITS ( fd¥ )[ `__FDELT ( fd )]) \ 40 : "r" (((è( fd )è% __NFDBITS ) \ 41 : "cc","memÜy") ) 42  #__FD_CLR ( fd , fd¥ ) \ 43 __asm__ `__vÞ©že__ ("btrl %1,%0" \ 44 : "=m" ( `__FDS_BITS ( fd¥ )[ `__FDELT ( fd )]) \ 45 : "r" (((è( fd )è% __NFDBITS ) \ 46 : "cc","memÜy") ) 47  #__FD_ISSET ( fd , fd¥ ) \ 48 ( __ex‹nsiÚ__ \ 49 ({ __»suÉ ; \ 50 __asm__ `__vÞ©že__ ("btl %1,%2 ; setcb %b0" \ 51 : "=q" ( __»suÉ ) \ 52 : "r" (((è( fd )è% __NFDBITS ), \ 53 "m" ( `__FDS_BITS ( fd¥ )[ `__FDELT ( fd )]) \ 55 __»suÉ ; })) ) 61  #__FD_ZERO ( £t ) \ 63  __i ; \ 64 fd_£t * __¬r = ( £t ); \ 65  __i = 0; __˜<  ( fd_£t è/  ( __fd_mask ); ++__i) \ 66 `__FDS_BITS ( __¬r )[ __i ] = 0; \ 67 } 0) ) 68  #__FD_SET ( d , £t è( `__FDS_BITS (£t)[ `__FDELT (d)] |ð `__FDMASK (d)) ) 69  #__FD_CLR ( d , £t è( `__FDS_BITS (£t)[ `__FDELT (d)] &ð~ `__FDMASK (d)) ) 70  #__FD_ISSET ( d , £t è( `__FDS_BITS (£t)[ `__FDELT (d)] & `__FDMASK (d)) ) @/usr/include/bits/sem.h 19 #iâdeà _SYS_SEM_H 23  ~ 26  #SEM_UNDO 0x1000 ) 29  #GETPID 11 ) 30  #GETVAL 12 ) 31  #GETALL 13 ) 32  #GETNCNT 14 ) 33  #GETZCNT 15 ) 34  #SETVAL 16 ) 35  #SETALL 17 ) 39  s£mid_ds 41  �c_³rm m£m_³rm ; 42 __time_t m£m_Ùime ; 43  m__unu£d1 ; 44 __time_t m£m_ùime ; 45  m__unu£d2 ; 46  m£m_n£ms ; 47  m__unu£d3 ; 48  m__unu£d4 ; 65  #_SEM_SEMUN_UNDEFINED 1 ) 67 #ifdeà __USE_MISC 70  #SEM_STAT 18 ) 71  #SEM_INFO 19 ) 73  s£mšfo 75  m£mm­ ; 76  m£mmni ; 77  m£mmns ; 78  m£mmnu ; 79  m£mm¦ ; 80  m£mÝm ; 81  m£mume ; 82  m£musz ; 83  m£mvmx ; 84  m£m«m ; @/usr/include/bits/setjmp.h 21 #iâdeà _SETJMP_H 25 #ià defšed __USE_MISC || defšed _ASM 26  #JB_BX 0 ) 27  #JB_SI 1 ) 28  #JB_DI 2 ) 29  #JB_BP 3 ) 30  #JB_SP 4 ) 31  #JB_PC 5 ) 32  #JB_SIZE 24 ) 35 #iâdef _ASM 36  t__jmp_buf [6]; 41  #_JMPBUF_UNWINDS ( jmpbuf , add»ss ) \ 42 ((*è( add»ss è< (*è( jmpbuf )[ JB_SP ]) ) @/usr/include/bits/shm.h 19 #iâdeà _SYS_SHM_H 23  ~ 26  #SHM_R 0400 ) 27  #SHM_W 0200 ) 30  #SHM_RDONLY 010000 ) 31  #SHM_RND 020000 ) 32  #SHM_REMAP 040000 ) 35  #SHM_LOCK 11 ) 36  #SHM_UNLOCK 12 ) 40  tshm©t_t ; 43  sshmid_ds 45  �c_³rm mshm_³rm ; 46 size_t mshm_£gsz ; 47 __time_t mshm_©ime ; 48  m__unu£d1 ; 49 __time_t mshm_dtime ; 50  m__unu£d2 ; 51 __time_t mshm_ùime ; 52  m__unu£d3 ; 53 __pid_t mshm_ýid ; 54 __pid_t mshm_Íid ; 55 shm©t_t mshm_ljch ; 56  m__unu£d4 ; 57  m__unu£d5 ; 60 #ifdeà __USE_MISC 63  #SHM_STAT 13 ) 64  #SHM_INFO 14 ) 67  #SHM_DEST 01000 ) 68  #SHM_LOCKED 02000 ) 70  sshmšfo 72  mshmmax ; 73  mshmmš ; 74  mshmmni ; 75  mshm£g ; 76  mshm®l ; 77  m__unu£d1 ; 78  m__unu£d2 ; 79  m__unu£d3 ; 80  m__unu£d4 ; 83  sshm_šfo 85  mu£d_ids ; 86  mshm_tÙ ; 87  mshm_rss ; 88  mshm_swp ; 89  msw­_©‹m±s ; 90  msw­_sucûs£s ; @/usr/include/bits/sigaction.h 20 #iâdeà _SIGNAL_H 25  ssigaùiÚ 28 #ifdeà __USE_POSIX199309 32 __sighªdËr_t m§_hªdËr ; 34 (* m§_sigaùiÚ è(, msigšfo_t *, *); 36 m__sigaùiÚ_hªdËr ; 37  #§_hªdËr __sigaùiÚ_hªdËr . §_hªdËr ) 38  #§_sigaùiÚ __sigaùiÚ_hªdËr . §_sigaùiÚ ) 40 __sighªdËr_t m§_hªdËr ; 44 __sig£t_t m§_mask ; 47  m§_æags ; 50 (* m§_»¡Ü” ) (); 54  #SA_NOCLDSTOP 1 ) 55  #SA_NOCLDWAIT 2 ) 56  #SA_SIGINFO 4 ) 58 #ià defšed __USE_UNIX98 || defšed __USE_MISC 59  #SA_ONSTACK 0x08000000 ) 60  #SA_RESTART 0x10000000 ) 61  #SA_NODEFER 0x40000000 ) 63  #SA_RESETHAND 0x80000000 ) 65 #ifdeà __USE_MISC 66  #SA_INTERRUPT 0x20000000 ) 69  #SA_NOMASK SA_NODEFER ) 70  #SA_ONESHOT SA_RESETHAND ) 71  #SA_STACK SA_ONSTACK ) 75  #SIG_BLOCK 0 ) 76  #SIG_UNBLOCK 1 ) 77  #SIG_SETMASK 2 ) @/usr/include/bits/sigcontext.h 19 #ià! defšed _SIGNAL_H && !defšed _SYS_UCONTEXT_H 23 #iâdeà sigcÚ‹xt_¡ruù 26  #sigcÚ‹xt_¡ruù sigcÚ‹xt ) 28  ~ @/usr/include/bits/siginfo.h 20 #ià! defšed _SIGNAL_H && !defšed __Ãed_sigšfo_t \ 21 && ! defšed g__Ãed_sigev’t_t 25  ~ 27 #ià(! defšed __have_sigv®_t \ 28 && ( defšed g_SIGNAL_H || defšed g__Ãed_sigšfo_t \ 29 || defšed g__Ãed_sigev’t_t )) 30  #__have_sigv®_t 1 ) 33  usigv® 35  msiv®_št ; 36 * msiv®_±r ; 37 } tsigv®_t ; 40 #ià(! defšed __have_sigšfo_t \ 41 && ( defšed g_SIGNAL_H || defšed g__Ãed_sigšfo_t )) 42  #__have_sigšfo_t 1 ) 44  #__SI_MAX_SIZE 128 ) 45 #ià __WORDSIZE == 64 46  #__SI_PAD_SIZE (( __SI_MAX_SIZE /  ()è- 4) ) 48  #__SI_PAD_SIZE (( __SI_MAX_SIZE /  ()è- 3) ) 51  ssigšfo 53  msi_signo ; 54  msi_”ºo ; 56  msi_code ; 60  m_·d [ __SI_PAD_SIZE ]; 65 __pid_t msi_pid ; 66 __uid_t msi_uid ; 67 } m_kžl ; 72  m_tim”1 ; 73  m_tim”2 ; 74 } m_tim” ; 79 __pid_t msi_pid ; 80 __uid_t msi_uid ; 81 sigv®_t msi_sigv® ; 82 } m_¹ ; 87 __pid_t msi_pid ; 88 __uid_t msi_uid ; 89  msi_¡©us ; 90 __þock_t msi_utime ; 91 __þock_t msi_¡ime ; 92 } m_sigchld ; 97 * msi_addr ; 98 } m_sigçuÉ ; 103  msi_bªd ; 104  msi_fd ; 105 } m_sigpÞl ; 106 } m_sif›lds ; 107 } tsigšfo_t ; 111  #si_pid _sif›lds . _kžl . si_pid ) 112  #si_uid _sif›lds . _kžl . si_uid ) 113  #si_tim”1 _sif›lds . _tim” . _tim”1 ) 114  #si_tim”2 _sif›lds . _tim” . _tim”2 ) 115  #si_¡©us _sif›lds . _sigchld . si_¡©us ) 116  #si_utime _sif›lds . _sigchld . si_utime ) 117  #si_¡ime _sif›lds . _sigchld . si_¡ime ) 118  #si_v®ue _sif›lds . _¹ . si_sigv® ) 119  #si_št _sif›lds . _¹ . si_sigv® . siv®_št ) 120  #si_±r _sif›lds . _¹ . si_sigv® . siv®_±r ) 121  #si_addr _sif›lds . _sigçuÉ . si_addr ) 122  #si_bªd _sif›lds . _sigpÞl . si_bªd ) 123  #si_fd _sif›lds . _sigpÞl . si_fd ) 130 mSI_ASYNCNL = -6, 131  #SI_ASYNCNL SI_ASYNCNL ) 132 mSI_SIGIO , 133  #SI_SIGIO SI_SIGIO ) 134 mSI_ASYNCIO , 135  #SI_ASYNCIO SI_ASYNCIO ) 136 mSI_MESGQ , 137  #SI_MESGQ SI_MESGQ ) 138 mSI_TIMER , 139  #SI_TIMER SI_TIMER ) 140 mSI_QUEUE , 141  #SI_QUEUE SI_QUEUE ) 142 mSI_USER , 143  #SI_USER SI_USER ) 144 mSI_KERNEL = 0x80 145  #SI_KERNEL SI_KERNEL ) 152 mILL_ILLOPC = 1, 153  #ILL_ILLOPC ILL_ILLOPC ) 154 mILL_ILLOPN , 155  #ILL_ILLOPN ILL_ILLOPN ) 156 mILL_ILLADR , 157  #ILL_ILLADR ILL_ILLADR ) 158 mILL_ILLTRP , 159  #ILL_ILLTRP ILL_ILLTRP ) 160 mILL_PRVOPC , 161  #ILL_PRVOPC ILL_PRVOPC ) 162 mILL_PRVREG , 163  #ILL_PRVREG ILL_PRVREG ) 164 mILL_COPROC , 165  #ILL_COPROC ILL_COPROC ) 166 mILL_BADSTK 167  #ILL_BADSTK ILL_BADSTK ) 173 mFPE_INTDIV = 1, 174  #FPE_INTDIV FPE_INTDIV ) 175 mFPE_INTOVF , 176  #FPE_INTOVF FPE_INTOVF ) 177 mFPE_FLTDIV , 178  #FPE_FLTDIV FPE_FLTDIV ) 179 mFPE_FLTOVF , 180  #FPE_FLTOVF FPE_FLTOVF ) 181 mFPE_FLTUND , 182  #FPE_FLTUND FPE_FLTUND ) 183 mFPE_FLTRES , 184  #FPE_FLTRES FPE_FLTRES ) 185 mFPE_FLTINV , 186  #FPE_FLTINV FPE_FLTINV ) 187 mFPE_FLTSUB 188  #FPE_FLTSUB FPE_FLTSUB ) 194 mSEGV_MAPERR = 1, 195  #SEGV_MAPERR SEGV_MAPERR ) 196 mSEGV_ACCERR 197  #SEGV_ACCERR SEGV_ACCERR ) 203 mBUS_ADRALN = 1, 204  #BUS_ADRALN BUS_ADRALN ) 205 mBUS_ADRERR , 206  #BUS_ADRERR BUS_ADRERR ) 207 mBUS_OBJERR 208  #BUS_OBJERR BUS_OBJERR ) 214 mTRAP_BRKPT = 1, 215  #TRAP_BRKPT TRAP_BRKPT ) 216 mTRAP_TRACE 217  #TRAP_TRACE TRAP_TRACE ) 223 mCLD_EXITED = 1, 224  #CLD_EXITED CLD_EXITED ) 225 mCLD_KILLED , 226  #CLD_KILLED CLD_KILLED ) 227 mCLD_DUMPED , 228  #CLD_DUMPED CLD_DUMPED ) 229 mCLD_TRAPPED , 230  #CLD_TRAPPED CLD_TRAPPED ) 231 mCLD_STOPPED , 232  #CLD_STOPPED CLD_STOPPED ) 233 mCLD_CONTINUED 234  #CLD_CONTINUED CLD_CONTINUED ) 240 mPOLL_IN = 1, 241  #POLL_IN POLL_IN ) 242 mPOLL_OUT , 243  #POLL_OUT POLL_OUT ) 244 mPOLL_MSG , 245  #POLL_MSG POLL_MSG ) 246 mPOLL_ERR , 247  #POLL_ERR POLL_ERR ) 248 mPOLL_PRI , 249  #POLL_PRI POLL_PRI ) 250 mPOLL_HUP 251  #POLL_HUP POLL_HUP ) 254 #undeà __Ãed_sigšfo_t 258 #ià( defšed _SIGNAL_H || defšed __Ãed_sigev’t_t ) \ 259 && ! defšed g__have_sigev’t_t 260  #__have_sigev’t_t 1 ) 263  #__SIGEV_MAX_SIZE 64 ) 264 #ià __WORDSIZE == 64 265  #__SIGEV_PAD_SIZE (( __SIGEV_MAX_SIZE /  ()è- 4) ) 267  #__SIGEV_PAD_SIZE (( __SIGEV_MAX_SIZE /  ()è- 3) ) 271  g__±h»ad_©Œ_s ; 273  ssigev’t 275 sigv®_t msigev_v®ue ; 276  msigev_signo ; 277  msigev_nÙify ; 281  m_·d [ __SIGEV_PAD_SIZE ]; 285 (* m_funùiÚ è( msigv®_t ); 286  __±h»ad_©Œ_s * m_©Œibu‹ ; 287 } m_sigev_th»ad ; 288 } m_sigev_un ; 289 } tsigev’t_t ; 292  #sigev_nÙify_funùiÚ _sigev_un . _sigev_th»ad . _funùiÚ ) 293  #sigev_nÙify_©Œibu‹s _sigev_un . _sigev_th»ad . _©Œibu‹ ) 298 mSIGEV_SIGNAL = 0, 299  #SIGEV_SIGNAL SIGEV_SIGNAL ) 300 mSIGEV_NONE , 301  #SIGEV_NONE SIGEV_NONE ) 302 mSIGEV_THREAD 303  #SIGEV_THREAD SIGEV_THREAD ) @/usr/include/bits/signum.h 20 #ifdef _SIGNAL_H 23  #SIG_ERR (( __sighªdËr_t è-1è ) 24  #SIG_DFL (( __sighªdËr_t è0è ) 25  #SIG_IGN (( __sighªdËr_t è1è ) 27 #ifdeà __USE_UNIX98 28  #SIG_HOLD (( __sighªdËr_t è2è ) 33  #SIGHUP 1 ) 34  #SIGINT 2 ) 35  #SIGQUIT 3 ) 36  #SIGILL 4 ) 37  #SIGTRAP 5 ) 38  #SIGABRT 6 ) 39  #SIGIOT 6 ) 40  #SIGBUS 7 ) 41  #SIGFPE 8 ) 42  #SIGKILL 9 ) 43  #SIGUSR1 10 ) 44  #SIGSEGV 11 ) 45  #SIGUSR2 12 ) 46  #SIGPIPE 13 ) 47  #SIGALRM 14 ) 48  #SIGTERM 15 ) 49  #SIGSTKFLT 16 ) 50  #SIGCLD SIGCHLD ) 51  #SIGCHLD 17 ) 52  #SIGCONT 18 ) 53  #SIGSTOP 19 ) 54  #SIGTSTP 20 ) 55  #SIGTTIN 21 ) 56  #SIGTTOU 22 ) 57  #SIGURG 23 ) 58  #SIGXCPU 24 ) 59  #SIGXFSZ 25 ) 60  #SIGVTALRM 26 ) 61  #SIGPROF 27 ) 62  #SIGWINCH 28 ) 63  #SIGPOLL SIGIO ) 64  #SIGIO 29 ) 65  #SIGPWR 30 ) 66  #SIGSYS 31 ) 67  #SIGUNUSED 31 ) 69  #_NSIG 64 ) 72  #SIGRTMIN ( `__libc_cu¼’t_sig¹mš ()) ) 73  #SIGRTMAX ( `__libc_cu¼’t_sig¹max ()) ) 77  #__SIGRTMIN 32 ) 78  #__SIGRTMAX ( _NSIG - 1) ) @/usr/include/bits/sigset.h 20 #iâdef _SIGSET_H_ty³s 21  #_SIGSET_H_ty³s 1 ) 23  t__sig_©omic_t ; 27  #_SIGSET_NWORDS (1024 / (8 *  ())) ) 30  m__v® [ _SIGSET_NWORDS ]; 31 } t__sig£t_t ; 42 #ià! defšed _SIGSET_H_âs && defšed _SIGNAL_H 43  #_SIGSET_H_âs 1 ) 45 #iâdeà _EXTERN_INLINE 46  #_EXTERN_INLINE __šlše ) 50  #__sigmask ( sig ) \ 51 (((è1è<< ((( sig è- 1è% (8 *  ()))) ) 54  #__sigwÜd ( sig è(((sigè- 1è/ (8 *  ())) ) 56 #ià defšed __GNUC__ && __GNUC__ >= 2 57  #__sigem±y£t ( £t ) \ 58 ( `__ex‹nsiÚ__ ({  __út = _SIGSET_NWORDS ; \ 59 sig£t_t * __£t = ( £t ); \ 60 -- __út >ð0è __£t -> __v® [__cnt] = 0; \ 61 0; })) ) 62  #__sigfžl£t ( £t ) \ 63 ( `__ex‹nsiÚ__ ({  __út = _SIGSET_NWORDS ; \ 64 sig£t_t * __£t = ( £t ); \ 65 -- __út >ð0è __£t -> __v® [__cnt] = ~0UL; \ 66 0; })) ) 68 #ifdeà __USE_GNU 72  #__sigi£m±y£t ( £t ) \ 73 ( `__ex‹nsiÚ__ ({  __út = _SIGSET_NWORDS ; \ 74 cÚ¡ sig£t_t * __£t = ( £t ); \ 75  __»t = __£t -> __v® [-- __út ]; \ 76 ! __»t && -- __út >= 0) \ 77 __»t = __£t -> __v® [ __út ]; \ 78 __»t =ð0; })) ) 79  #__sigªd£t ( de¡ , Ëá , right ) \ 80 ( `__ex‹nsiÚ__ ({  __út = _SIGSET_NWORDS ; \ 81 sig£t_t * __de¡ = ( de¡ ); \ 82 cÚ¡ sig£t_t * __Ëá = ( Ëá ); \ 83 cÚ¡ sig£t_t * __right = ( right ); \ 84 -- __út >= 0) \ 85 __de¡ -> __v® [ __út ] = ( __Ëá ->__val[__cnt] \ 86 & __right -> __v® [ __út ]); \ 87 0; })) ) 88  #__sigÜ£t ( de¡ , Ëá , right ) \ 89 ( `__ex‹nsiÚ__ ({  __út = _SIGSET_NWORDS ; \ 90 sig£t_t * __de¡ = ( de¡ ); \ 91 cÚ¡ sig£t_t * __Ëá = ( Ëá ); \ 92 cÚ¡ sig£t_t * __right = ( right ); \ 93 -- __út >= 0) \ 94 __de¡ -> __v® [ __út ] = ( __Ëá ->__val[__cnt] \ 95 | __right -> __v® [ __út ]); \ 96 0; })) ) 103  __sigismemb” ( __cÚ¡ __sig£t_t *, ); 104  __sigadd£t ( __sig£t_t *, ); 105  __sigd–£t ( __sig£t_t *, ); 107 #ifdeà __USE_EXTERN_INLINES 108  #__SIGSETFN ( NAME , BODY , CONST ) \ 109 _EXTERN_INLINE \ 110 `NAME ( CONST __sig£t_t * __£t ,  __sig ) \ 112  __mask = `__sigmask ( __sig ); \ 113  __wÜd = `__sigwÜd ( __sig ); \ 114  BODY ; \ 115 } ) 117 __SIGSETFN ( __sigismemb” , ( __£t -> __v® [ __wÜd ] & __mask è? 1 : 0, __cÚ¡ ) 118 __SIGSETFN ( __sigadd£t , (( __£t -> __v® [ __wÜd ] |ð __mask ), 0), ) 119 __SIGSETFN ( __sigd–£t , (( __£t -> __v® [ __wÜd ] &ð~ __mask ), 0), ) 121 #undeà __SIGSETFN @/usr/include/bits/sigstack.h 20 #iâdeà _SIGNAL_H 26  ssig¡ack 28 * mss_¥ ; 29  mss_Ú¡ack ; 36 mSS_ONSTACK = 1, 37  #SS_ONSTACK SS_ONSTACK ) 38 mSS_DISABLE 39  #SS_DISABLE SS_DISABLE ) 43  #MINSIGSTKSZ 2048 ) 46  #SIGSTKSZ 8192 ) 50  ssig®t¡ack 52 * mss_¥ ; 53  mss_æags ; 54 size_t mss_size ; 55 } t¡ack_t ; @/usr/include/bits/sigthread.h 20 #iâdeà _BITS_SIGTHREAD_H 21  #_BITS_SIGTHREAD_H 1 ) 23 #ià! defšed _SIGNAL_H && !defšed _PTHREAD_H 31  $±h»ad_sigmask ( __how , 32 __cÚ¡ __sig£t_t * __»¡riù __Ãwmask , 33 __sig£t_t * __»¡riù __Þdmask ) __THROW ; 36  $±h»ad_kžl ( ±h»ad_t __th»ad ,  __signo è __THROW ; @/usr/include/bits/socket.h 20 #iâdeà __BITS_SOCKET_H 21  #__BITS_SOCKET_H ) 23 #ià! defšed _SYS_SOCKET_H && !defšed _NETINET_IN_H 27  #__Ãed_size_t ) 28  #__Ãed_NULL ) 29  ~<¡ddef.h > 31  ~ 32  ~ 35 #iâdeà __sockËn_t_defšed 36  __sockËn_t tsockËn_t ; 37  #__sockËn_t_defšed ) 41 e__sock‘_ty³ 43 mSOCK_STREAM = 1, 45  #SOCK_STREAM SOCK_STREAM ) 46 mSOCK_DGRAM = 2, 48  #SOCK_DGRAM SOCK_DGRAM ) 49 mSOCK_RAW = 3, 50  #SOCK_RAW SOCK_RAW ) 51 mSOCK_RDM = 4, 52  #SOCK_RDM SOCK_RDM ) 53 mSOCK_SEQPACKET = 5, 55  #SOCK_SEQPACKET SOCK_SEQPACKET ) 56 mSOCK_PACKET = 10 59  #SOCK_PACKET SOCK_PACKET ) 63  #PF_UNSPEC 0 ) 64  #PF_LOCAL 1 ) 65  #PF_UNIX PF_LOCAL ) 66  #PF_FILE PF_LOCAL ) 67  #PF_INET 2 ) 68  #PF_AX25 3 ) 69  #PF_IPX 4 ) 70  #PF_APPLETALK 5 ) 71  #PF_NETROM 6 ) 72  #PF_BRIDGE 7 ) 73  #PF_ATMPVC 8 ) 74  #PF_X25 9 ) 75  #PF_INET6 10 ) 76  #PF_ROSE 11 ) 77  #PF_DECÃt 12 ) 78  #PF_NETBEUI 13 ) 79  #PF_SECURITY 14 ) 80  #PF_KEY 15 ) 81  #PF_NETLINK 16 ) 82  #PF_ROUTE PF_NETLINK ) 83  #PF_PACKET 17 ) 84  #PF_ASH 18 ) 85  #PF_ECONET 19 ) 86  #PF_ATMSVC 20 ) 87  #PF_SNA 22 ) 88  #PF_IRDA 23 ) 89  #PF_PPPOX 24 ) 90  #PF_WANPIPE 25 ) 91  #PF_BLUETOOTH 31 ) 92  #PF_MAX 32 ) 95  #AF_UNSPEC PF_UNSPEC ) 96  #AF_LOCAL PF_LOCAL ) 97  #AF_UNIX PF_UNIX ) 98  #AF_FILE PF_FILE ) 99  #AF_INET PF_INET ) 100  #AF_AX25 PF_AX25 ) 101  #AF_IPX PF_IPX ) 102  #AF_APPLETALK PF_APPLETALK ) 103  #AF_NETROM PF_NETROM ) 104  #AF_BRIDGE PF_BRIDGE ) 105  #AF_ATMPVC PF_ATMPVC ) 106  #AF_X25 PF_X25 ) 107  #AF_INET6 PF_INET6 ) 108  #AF_ROSE PF_ROSE ) 109  #AF_DECÃt PF_DECÃt ) 110  #AF_NETBEUI PF_NETBEUI ) 111  #AF_SECURITY PF_SECURITY ) 112  #AF_KEY PF_KEY ) 113  #AF_NETLINK PF_NETLINK ) 114  #AF_ROUTE PF_ROUTE ) 115  #AF_PACKET PF_PACKET ) 116  #AF_ASH PF_ASH ) 117  #AF_ECONET PF_ECONET ) 118  #AF_ATMSVC PF_ATMSVC ) 119  #AF_SNA PF_SNA ) 120  #AF_IRDA PF_IRDA ) 121  #AF_PPPOX PF_PPPOX ) 122  #AF_WANPIPE PF_WANPIPE ) 123  #AF_BLUETOOTH PF_BLUETOOTH ) 124  #AF_MAX PF_MAX ) 130  #SOL_RAW 255 ) 131  #SOL_DECNET 261 ) 132  #SOL_X25 262 ) 133  #SOL_PACKET 263 ) 134  #SOL_ATM 264 ) 135  #SOL_AAL 265 ) 136  #SOL_IRDA 266 ) 139  #SOMAXCONN 128 ) 142  ~ 145  ssockaddr 147 __SOCKADDR_COMMON ( §_ ); 148  m§_d©a [14]; 154 #ià ULONG_MAX > 0xffffffff 155  #__ss_®igÁy³ __ušt64_t ) 157  #__ss_®igÁy³ __ušt32_t ) 159  #_SS_SIZE 128 ) 160  #_SS_PADSIZE ( _SS_SIZE - (2 *  ( __ss_®igÁy³ ))) ) 162  ssockaddr_¡Üage 164 __SOCKADDR_COMMON ( ss_ ); 165 __ss_®igÁy³ m__ss_®ign ; 166  m__ss_·ddšg [ _SS_PADSIZE ]; 173 mMSG_OOB = 0x01, 174  #MSG_OOB MSG_OOB ) 175 mMSG_PEEK = 0x02, 176  #MSG_PEEK MSG_PEEK ) 177 mMSG_DONTROUTE = 0x04, 178  #MSG_DONTROUTE MSG_DONTROUTE ) 179 #ifdeà __USE_GNU 181 mMSG_TRYHARD = MSG_DONTROUTE , 182  #MSG_TRYHARD MSG_DONTROUTE ) 184 mMSG_CTRUNC = 0x08, 185  #MSG_CTRUNC MSG_CTRUNC ) 186 mMSG_PROXY = 0x10, 187  #MSG_PROXY MSG_PROXY ) 188 mMSG_TRUNC = 0x20, 189  #MSG_TRUNC MSG_TRUNC ) 190 mMSG_DONTWAIT = 0x40, 191  #MSG_DONTWAIT MSG_DONTWAIT ) 192 mMSG_EOR = 0x80, 193  #MSG_EOR MSG_EOR ) 194 mMSG_WAITALL = 0x100, 195  #MSG_WAITALL MSG_WAITALL ) 196 mMSG_FIN = 0x200, 197  #MSG_FIN MSG_FIN ) 198 mMSG_SYN = 0x400, 199  #MSG_SYN MSG_SYN ) 200 mMSG_CONFIRM = 0x800, 201  #MSG_CONFIRM MSG_CONFIRM ) 202 mMSG_RST = 0x1000, 203  #MSG_RST MSG_RST ) 204 mMSG_ERRQUEUE = 0x2000, 205  #MSG_ERRQUEUE MSG_ERRQUEUE ) 206 mMSG_NOSIGNAL = 0x4000, 207  #MSG_NOSIGNAL MSG_NOSIGNAL ) 208 mMSG_MORE = 0x8000 209  #MSG_MORE MSG_MORE ) 215  smsghdr 217 * mmsg_Çme ; 218 sockËn_t mmsg_Çm–’ ; 220  iovec * mmsg_iov ; 221  mmsg_iovËn ; 223 * mmsg_cÚŒÞ ; 224 sockËn_t mmsg_cÚŒÞËn ; 226  mmsg_æags ; 230  scmsghdr 232 size_t mcmsg_Ën ; 234  mcmsg_Ëv– ; 235  mcmsg_ty³ ; 236 #ià(! defšed __STRICT_ANSI__ && __GNUC__ >ð2è|| __STDC_VERSION__ >= 199901L 237 __ex‹nsiÚ__  __cmsg_d©a m__æex¬r ; 242 #ià(! defšed __STRICT_ANSI__ && __GNUC__ >ð2è|| __STDC_VERSION__ >= 199901L 243  #CMSG_DATA ( cmsg è((cmsg)-> __cmsg_d©a ) ) 245  #CMSG_DATA ( cmsg è((*è(( cmsghdr *è(cmsgè+ 1)) ) 247  #CMSG_NXTHDR ( mhdr , cmsg è `__cmsg_nxthdr (mhdr, cmsg) ) 248  #CMSG_FIRSTHDR ( mhdr ) \ 249 (( size_t è( mhdr )-> msg_cÚŒÞËn >ð ( cmsghdr ) \ 250 ? ( cmsghdr *è( mhdr )-> msg_cÚŒÞ : (cmsghd¸*è NULL ) ) 251  #CMSG_ALIGN ( Ën è((Ö’è+  ( size_t ) - 1) \ 252 & ( size_t è~( (size_tè- 1)) ) 253  #CMSG_SPACE ( Ën è( `CMSG_ALIGN (len) \ 254 + `CMSG_ALIGN ( ( cmsghdr ))) ) 255  #CMSG_LEN ( Ën è( `CMSG_ALIGN ( ( cmsghdr )è+ (Ën)) ) 257  cmsghdr * $__cmsg_nxthdr ( msghdr * __mhdr , 258  cmsghdr * __cmsg è __THROW ; 259 #ifdeà __USE_EXTERN_INLINES 260 #iâdeà _EXTERN_INLINE 261  #_EXTERN_INLINE __šlše ) 263 _EXTERN_INLINE  cmsghdr * 264 $__cmsg_nxthdr ( msghdr * __mhdr ,  cmsghdr * __cmsg è __THROW 266 ià(( size_t è __cmsg -> cmsg_Ën <  ( cmsghdr )) 270 __cmsg = ( cmsghdr *) ((*) __cmsg 271 + `CMSG_ALIGN ( __cmsg -> cmsg_Ën )); 272 ià((*è( __cmsg + 1è> ((*è __mhdr -> msg_cÚŒÞ 273 + __mhdr -> msg_cÚŒÞËn ) 274 || ((*è __cmsg + `CMSG_ALIGN (__cmsg-> cmsg_Ën ) 275 > ((*è __mhdr -> msg_cÚŒÞ + __mhdr-> msg_cÚŒÞËn ))) 278  __cmsg ; 279 } } 286 SCM_RIGHTS = 0x01, 287  #SCM_RIGHTS SCM_RIGHTS ) 288 #ifdeà __USE_BSD 289 SCM_CREDENTIALS = 0x02, 290  #SCM_CREDENTIALS SCM_CREDENTIALS ) 292 __SCM_CONNECT = 0x03 297  suüed 299 pid_t mpid ; 300 uid_t muid ; 301 gid_t mgid ; 305  ~ 309  slšg” 311  ml_Úoff ; 312  ml_lšg” ; @/usr/include/bits/stat.h 19 #iâdeà _SYS_STAT_H 24  #_STAT_VER_LINUX_OLD 1 ) 25  #_STAT_VER_KERNEL 1 ) 26  #_STAT_VER_SVR4 2 ) 27  #_STAT_VER_LINUX 3 ) 28  #_STAT_VER _STAT_VER_LINUX ) 31  #_MKNOD_VER_LINUX 1 ) 32  #_MKNOD_VER_SVR4 2 ) 33  #_MKNOD_VER _MKNOD_VER_LINUX ) 36  s¡© 38 __dev_t m¡_dev ; 39  m__·d1 ; 40 #iâdeà __USE_FILE_OFFSET64 41 __šo_t m¡_šo ; 43 __šo_t m__¡_šo ; 45 __mode_t m¡_mode ; 46 __Æšk_t m¡_Æšk ; 47 __uid_t m¡_uid ; 48 __gid_t m¡_gid ; 49 __dev_t m¡_rdev ; 50  m__·d2 ; 51 #iâdeà __USE_FILE_OFFSET64 52 __off_t m¡_size ; 54 __off64_t m¡_size ; 56 __blksize_t m¡_blksize ; 58 #iâdeà __USE_FILE_OFFSET64 59 __blkút_t m¡_blocks ; 61 __blkút64_t m¡_blocks ; 63 __time_t m¡_©ime ; 64  m__unu£d1 ; 65 __time_t m¡_mtime ; 66  m__unu£d2 ; 67 __time_t m¡_ùime ; 68  m__unu£d3 ; 69 #iâdeà __USE_FILE_OFFSET64 70  m__unu£d4 ; 71  m__unu£d5 ; 73 __šo64_t m¡_šo ; 77 #ifdeà __USE_LARGEFILE64 78  s¡©64 80 __dev_t m¡_dev ; 81  m__·d1 ; 83 __šo_t m__¡_šo ; 84 __mode_t m¡_mode ; 85 __Æšk_t m¡_Æšk ; 86 __uid_t m¡_uid ; 87 __gid_t m¡_gid ; 88 __dev_t m¡_rdev ; 89  m__·d2 ; 90 __off64_t m¡_size ; 91 __blksize_t m¡_blksize ; 93 __blkút64_t m¡_blocks ; 94 __time_t m¡_©ime ; 95  m__unu£d1 ; 96 __time_t m¡_mtime ; 97  m__unu£d2 ; 98 __time_t m¡_ùime ; 99  m__unu£d3 ; 100 __šo64_t m¡_šo ; 105  #_STATBUF_ST_BLKSIZE ) 106  #_STATBUF_ST_RDEV ) 110  #__S_IFMT 0170000 ) 113  #__S_IFDIR 0040000 ) 114  #__S_IFCHR 0020000 ) 115  #__S_IFBLK 0060000 ) 116  #__S_IFREG 0100000 ) 117  #__S_IFIFO 0010000 ) 118  #__S_IFLNK 0120000 ) 119  #__S_IFSOCK 0140000 ) 123  #__S_TYPEISMQ ( buf è((buf)-> ¡_mode - (buf)->¡_mode) ) 124  #__S_TYPEISSEM ( buf è((buf)-> ¡_mode - (buf)->¡_mode) ) 125  #__S_TYPEISSHM ( buf è((buf)-> ¡_mode - (buf)->¡_mode) ) 129  #__S_ISUID 04000 ) 130  #__S_ISGID 02000 ) 131  #__S_ISVTX 01000 ) 132  #__S_IREAD 0400 ) 133  #__S_IWRITE 0200 ) 134  #__S_IEXEC 0100 ) @/usr/include/bits/stdio.h 20 #iâdeà _STDIO_H 24 #ifdeà __ýlu¥lus 25  #__STDIO_INLINE šlše ) 27  #__STDIO_INLINE __šlše ) 31 #ifdeà __USE_EXTERN_INLINES 33 __STDIO_INLINE  34 $v´štf ( __cÚ¡ * __»¡riù __fmt , _G_va_li¡ __¬g è __THROW 36  `vårštf ( ¡dout , __fmt , __¬g ); 37 } } 40 __STDIO_INLINE  41 $g‘ch¬ (è __THROW 43  `_IO_g‘c ( ¡dš ); 44 } } 47 #ià defšed __USE_POSIX || defšed __USE_MISC 49 __STDIO_INLINE  50 $g‘c_uÆocked ( FILE * __å è __THROW 52  `_IO_g‘c_uÆocked ( __å ); 53 } } 56 __STDIO_INLINE  57 $g‘ch¬_uÆocked (è __THROW 59  `_IO_g‘c_uÆocked ( ¡dš ); 60 } } 65 __STDIO_INLINE  66 $putch¬ ( __c è __THROW 68  `_IO_putc ( __c , ¡dout ); 69 } } 72 #ifdeà __USE_MISC 74 __STDIO_INLINE  75 $åutc_uÆocked ( __c , FILE * __¡»am è __THROW 77  `_IO_putc_uÆocked ( __c , __¡»am ); 78 } } 82 #ià defšed __USE_POSIX || defšed __USE_MISC 84 __STDIO_INLINE  85 $putc_uÆocked ( __c , FILE * __¡»am è __THROW 87  `_IO_putc_uÆocked ( __c , __¡»am ); 88 } } 91 __STDIO_INLINE  92 $putch¬_uÆocked ( __c è __THROW 94  `_IO_putc_uÆocked ( __c , ¡dout ); 95 } } 99 #ifdef __USE_GNU 101 __STDIO_INLINE _IO_ssize_t 102 $g‘lše (** __lš•Œ , size_t * __n , FILE * __¡»am è __THROW 104  `__g‘d–im ( __lš•Œ , __n , '\n', __¡»am ); 105 } } 109 #ifdeà __USE_MISC 111 __STDIO_INLINE  112 $ãof_uÆocked ( FILE * __¡»am è __THROW 114  `_IO_ãof_uÆocked ( __¡»am ); 115 } } 118 __STDIO_INLINE  119 $ã¼Ü_uÆocked ( FILE * __¡»am è __THROW 121  `_IO_ã¼Ü_uÆocked ( __¡»am ); 122 } } 128 #ià defšed __USE_MISC && defšed __GNUC__ && defšed __OPTIMIZE__ 130  #ä—d_uÆocked ( ±r , size , n , ¡»am ) \ 131 ( `__ex‹nsiÚ__ (( `__bužtš_cÚ¡ªt_p ( size è&& __bužtš_cÚ¡ªt_°( n ) \ 132 && ( size_t è(( size è* ( n )) <= 8 && (size) != 0) \ 133 ? ({ * __±r = (*è( ±r ); \ 134 FILE * __¡»am = ( ¡»am ); \ 135 size_t __út ; \ 136  __út = ( size è* ( n ); __cnt > 0; --__cnt) \ 138  __c = `_IO_g‘c_uÆocked ( __¡»am ); \ 139 ià( __c =ð EOF ) \ 141 * __±r ++ = __c ; \ 143 (( size_t è(( size è* ( n )è- __út ) / (size); }) \ 144 : ((( `__bužtš_cÚ¡ªt_p ( size ) && (size) == 0) \ 145 || ( `__bužtš_cÚ¡ªt_p ( n ) && (n) == 0)) \ 147 ? ((è( ±r ), (è( ¡»am ), (è( size ), \ 148 (è( n ), 0) \ 149 : `ä—d_uÆocked ( ±r , size , n , ¡»am )))) ) 151  #fwr™e_uÆocked ( ±r , size , n , ¡»am ) \ 152 ( `__ex‹nsiÚ__ (( `__bužtš_cÚ¡ªt_p ( size è&& __bužtš_cÚ¡ªt_°( n ) \ 153 && ( size_t è(( size è* ( n )) <= 8 && (size) != 0) \ 154 ? ({ cÚ¡ * __±r = (cÚ¡ *è( ±r ); \ 155 FILE * __¡»am = ( ¡»am ); \ 156 size_t __út ; \ 157  __út = ( size è* ( n ); __cnt > 0; --__cnt) \ 158 ià( `_IO_putc_uÆocked (* __±r ++, __¡»am è=ð EOF ) \ 160 (( size_t è(( size è* ( n )è- __út ) / (size); }) \ 161 : ((( `__bužtš_cÚ¡ªt_p ( size ) && (size) == 0) \ 162 || ( `__bužtš_cÚ¡ªt_p ( n ) && (n) == 0)) \ 164 ? ((è( ±r ), (è( ¡»am ), (è( size ), n ) \ 165 : `fwr™e_uÆocked ( ±r , size , n , ¡»am )))) ) 169 #undeà __STDIO_INLINE @/usr/include/bits/stdio_lim.h 19 #ià! defšed _STDIO_H && !defšed __Ãed_FOPEN_MAX && !defšed __Ãed_IOV_MAX 23 #ifdeà _STDIO_H 24  #L_tm²am 20 ) 25  #TMP_MAX 238328 ) 26  #FILENAME_MAX 4096 ) 28 #ifdeà __USE_POSIX 29  #L_ù”mid 9 ) 30  #L_cu£rid 9 ) 34 #ià defšed __Ãed_FOPEN_MAX || defšed _STDIO_H 35 #undeà FOPEN_MAX 36  #FOPEN_MAX 16 ) 39 #ià defšed __Ãed_IOV_MAX && !defšed IOV_MAX 40  #IOV_MAX 1024 ) @/usr/include/bits/string.h 20 #iâdeà _STRING_H 25  #_STRING_ARCH_uÇligÃd 1 ) 30 #ià! defšed __NO_STRING_INLINES && defšed __USE_STRING_INLINES \ 31 && defšed g__GNUC__ && __GNUC__ >ð2 && ! __BOUNDED_POINTERS__ 33 #iâdeà __STRING_INLINE 34 #ifdeà __ýlu¥lus 35  #__STRING_INLINE šlše ) 37  #__STRING_INLINE __šlše ) 43  #_HAVE_STRING_ARCH_memýy 1 ) 44  #memýy ( de¡ , ¤c , n ) \ 45 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( n ) \ 46 ? `__memýy_c ( de¡ , ¤c , n ) \ 47 : `memýy ( de¡ , ¤c , n ))) ) 50 __STRING_INLINE * __memýy_c (* __de¡ , __cÚ¡ * __¤c , 51 size_t __n ); 53 __STRING_INLINE * 54 $__memýy_c (* __de¡ , __cÚ¡ * __¤c , size_t __n ) 56  __d0 , __d1 , __d2 ; 58  __ui ; 59  __usi ; 60  __uc ; 61 } * __u = __de¡ ; 62  __n ) 65  __de¡ ; 67 __u -> __uc = *(cÚ¡ *è __¤c ; 68  __de¡ ; 70 __u -> __usi = *(cÚ¡ *è __¤c ; 71  __de¡ ; 73 __u -> __usi = *(cÚ¡ *è __¤c ; 74 __u = (*) __u + 2; 75 __u -> __uc = *(2 + (cÚ¡ *è __¤c ); 76  __de¡ ; 78 __u -> __ui = *(cÚ¡ *è __¤c ; 79  __de¡ ; 81 __u -> __ui = *(cÚ¡ *è __¤c ; 82 __u = (*) __u + 4; 83 __u -> __usi = *(2 + (cÚ¡ *è __¤c ); 84  __de¡ ; 86 __u -> __ui = *(cÚ¡ *è __¤c ; 87 __u = (*) __u + 4; 88 __u -> __ui = *(1 + (cÚ¡ *è __¤c ); 89  __de¡ ; 91 __u -> __ui = *(cÚ¡ *è __¤c ; 92 __u = (*) __u + 4; 93 __u -> __ui = *(1 + (cÚ¡ *è __¤c ); 94 __u = (*) __u + 4; 95 __u -> __ui = *(2 + (cÚ¡ *è __¤c ); 96  __de¡ ; 98 __u -> __ui = *(cÚ¡ *è __¤c ; 99 __u = (*) __u + 4; 100 __u -> __ui = *(1 + (cÚ¡ *è __¤c ); 101 __u = (*) __u + 4; 102 __u -> __ui = *(2 + (cÚ¡ *è __¤c ); 103 __u = (*) __u + 4; 104 __u -> __ui = *(3 + (cÚ¡ *è __¤c ); 105  __de¡ ; 107 __u -> __ui = *(cÚ¡ *è __¤c ; 108 __u = (*) __u + 4; 109 __u -> __ui = *(1 + (cÚ¡ *è __¤c ); 110 __u = (*) __u + 4; 111 __u -> __ui = *(2 + (cÚ¡ *è __¤c ); 112 __u = (*) __u + 4; 113 __u -> __ui = *(3 + (cÚ¡ *è __¤c ); 114 __u = (*) __u + 4; 115 __u -> __ui = *(4 + (cÚ¡ *è __¤c ); 116  __de¡ ; 118  #__COMMON_CODE ( x ) \ 119 __asm__ __vÞ©že__ \ 122 x \ 123 : "=&c" ( __d0 ), "=&D" ( __d1 ), "=&S" ( __d2 ) \ 124 : "0" ( __n / 4), "1" (& __u -> __uc ), "2" ( __¤c ) \ 125 : "memÜy"); ) 127  __n % 4) 130 `__COMMON_CODE (""); 133 `__COMMON_CODE ("\n\tmovsb"); 136 `__COMMON_CODE ("\n\tmovsw"); 139 `__COMMON_CODE ("\n\tmovsw\n\tmovsb"); 142  __de¡ ; 143 #undeà __COMMON_CODE 144 } } 149  #_HAVE_STRING_ARCH_memmove 1 ) 150 #iâdeà _FORCE_INLINES 151 __STRING_INLINE * 152 $memmove (* __de¡ , __cÚ¡ * __¤c , size_t __n ) 154  __d0 , __d1 , __d2 ; 155 ià( __de¡ < __¤c ) 156 __asm__ __vÞ©že__ 160 : "=&c" ( __d0 ), "=&S" ( __d1 ), "=&D" ( __d2 ) 161 : "0" ( __n ), "1" ( __¤c ), "2" ( __de¡ ) 164 __asm__ __vÞ©že__ 169 : "=&c" ( __d0 ), "=&S" ( __d1 ), "=&D" ( __d2 ) 170 : "0" ( __n ), "1" (__À- 1 + (cÚ¡ *è __¤c ), 171 "2" ( __n - 1 + (*è __de¡ ) 173  __de¡ ; 174 } } 178  #_HAVE_STRING_ARCH_mem£t 1 ) 179  #_USE_STRING_ARCH_mem£t 1 ) 180  #mem£t ( s , c , n ) \ 181 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( c ) \ 182 ? ( `__bužtš_cÚ¡ªt_p ( n ) \ 183 ? `__mem£t_cc ( s , 0x01010101UL * (è( c ), n ) \ 184 : `__mem£t_cg ( s , 0x01010101UL * (è( c ), n ))\ 185 : `__mem£t_gg ( s , c , n ))) ) 187 __STRING_INLINE * __mem£t_cc (* __s ,  __·‰”n , 188 size_t __n ); 190 __STRING_INLINE * 191 $__mem£t_cc (* __s ,  __·‰”n , size_t __n ) 193  __d0 , __d1 ; 195  __ui ; 196  __usi ; 197  __uc ; 198 } * __u = __s ; 199  __n ) 202  __s ; 204 __u -> __uc = __·‰”n ; 205  __s ; 207 __u -> __usi = __·‰”n ; 208  __s ; 210 __u -> __usi = __·‰”n ; 211 __u = `__ex‹nsiÚ__ ((*) __u + 2); 212 __u -> __uc = __·‰”n ; 213  __s ; 215 __u -> __ui = __·‰”n ; 216  __s ; 218  #__COMMON_CODE ( x ) \ 219 __asm__ __vÞ©že__ \ 222 x \ 223 : "=&c" ( __d0 ), "=&D" ( __d1 ) \ 224 : "a" ( __·‰”n ), "0" ( __n / 4), "1" (& __u -> __uc ) \ 225 : "memÜy") ) 227  __n % 4) 230 `__COMMON_CODE (""); 233 `__COMMON_CODE ("\n\tstosb"); 236 `__COMMON_CODE ("\n\tstosw"); 239 `__COMMON_CODE ("\n\tstosw\n\tstosb"); 242  __s ; 243 #undeà __COMMON_CODE 244 } } 246 __STRING_INLINE * __mem£t_cg (* __s ,  __c , size_t __n ); 248 __STRING_INLINE * 249 $__mem£t_cg (* __s ,  __c , size_t __n ) 251  __d0 , __d1 ; 252 __asm__ __vÞ©že__ 263 : "=&c" ( __d0 ), "=&D" ( __d1 ) 264 : "a" ( __c ), "q" ( __n ), "0" (__À/ 4), "1" ( __s ) 266  __s ; 267 } } 269 __STRING_INLINE * __mem£t_gg (* __s ,  __c , size_t __n ); 271 __STRING_INLINE * 272 $__mem£t_gg (* __s ,  __c , size_t __n ) 274  __d0 , __d1 ; 275 __asm__ __vÞ©že__ 278 : "=&D" ( __d0 ), "=&c" ( __d1 ) 279 : "a" ( __c ), "0" ( __s ), "1" ( __n ) 281  __s ; 282 } } 288  #_HAVE_STRING_ARCH_memchr 1 ) 289 #iâdeà _FORCE_INLINES 290 __STRING_INLINE * 291 $memchr ( __cÚ¡ * __s ,  __c , size_t __n ) 293  __d0 ; 294 * __»s ; 295 ià( __n == 0) 296  NULL ; 297 __asm__ __vÞ©že__ 303 : "=D" ( __»s ), "=&c" ( __d0 ) 304 : "a" ( __c ), "0" ( __s ), "1" ( __n ) 306  __»s - 1; 307 } } 310  #_HAVE_STRING_ARCH_memrchr 1 ) 311 #iâdeà _FORCE_INLINES 312 __STRING_INLINE * 313 $__memrchr ( __cÚ¡ * __s ,  __c , size_t __n ) 315  __d0 ; 316 * __»s ; 317 ià( __n == 0) 318  NULL ; 319 __asm__ __vÞ©že__ 325 : "=D" ( __»s ), "=&c" ( __d0 ) 326 : "a" ( __c ), "0" ( __s + __n - 1), "1" (__n) 328  __»s + 1; 329 } } 330 #ifdeà __USE_GNU 331  #memrchr ( s , c , n è `__memrchr (s, c,‚) ) 336  #_HAVE_STRING_ARCH_¡¾’ 1 ) 337 #iâdeà _FORCE_INLINES 338 __STRING_INLINE size_t 339 $¡¾’ ( __cÚ¡ * __¡r ) 341  __d0 ; 342  size_t __»s ; 343 __asm__ __vÞ©že__ 347 : "=c" ( __»s ), "=&D" ( __d0 ) 348 : "1" ( __¡r ), "a" (0), "0" (0xffffffff) 350  __»s - 1; 351 } } 355  #_HAVE_STRING_ARCH_¡rýy 1 ) 356 #iâdeà _FORCE_INLINES 357 __STRING_INLINE * 358 $¡rýy (* __de¡ , __cÚ¡ * __¤c ) 360  __d0 , __d1 ; 361 __asm__ __vÞ©že__ 368 : "=&S" ( __d0 ), "=&D" ( __d1 ) 369 : "0" ( __¤c ), "1" ( __de¡ ) 371  __de¡ ; 372 } } 376  #_HAVE_STRING_ARCH_¡ºýy 1 ) 377 #iâdeà _FORCE_INLINES 378 __STRING_INLINE * 379 $¡ºýy (* __de¡ , __cÚ¡ * __¤c , size_t __n ) 381  __d0 , __d1 , __d2 ; 382 __asm__ __vÞ©že__ 393 : "=&S" ( __d0 ), "=&D" ( __d1 ), "=&c" ( __d2 ) 394 : "0" ( __¤c ), "1" ( __de¡ ), "2" ( __n ) 396  __de¡ ; 397 } } 401  #_HAVE_STRING_ARCH_¡rÿt 1 ) 402 #iâdeà _FORCE_INLINES 403 __STRING_INLINE * 404 $¡rÿt (* __de¡ , __cÚ¡ * __¤c ) 406  __d0 , __d1 , __d2 , __d3 ; 407 __asm__ __vÞ©že__ 416 : "=&S" ( __d0 ), "=&D" ( __d1 ), "=&c" ( __d2 ), "=&a" ( __d3 ) 417 : "0" ( __¤c ), "1" ( __de¡ ), "2" (0xffffffff), "3" (0) 419  __de¡ ; 420 } } 424  #_HAVE_STRING_ARCH_¡ºÿt 1 ) 425 #iâdeà _FORCE_INLINES 426 __STRING_INLINE * 427 $¡ºÿt (* __de¡ , __cÚ¡ * __¤c , size_t __n ) 429  __d0 , __d1 , __d2 , __d3 ; 430 __asm__ __vÞ©že__ 447 : "=&S" ( __d0 ), "=&D" ( __d1 ), "=&c" ( __d2 ), "=&a" ( __d3 ) 448 : "g" ( __n ), "0" ( __¤c ), "1" ( __de¡ ), "2" (0xffffffff), "3" (0) 450  __de¡ ; 451 } } 455  #_HAVE_STRING_ARCH_¡rcmp 1 ) 456 #iâdeà _FORCE_INLINES 457 __STRING_INLINE  458 $¡rcmp ( __cÚ¡ * __s1 , __cÚ¡ * __s2 ) 460  __d0 , __d1 ; 461  __»s ; 462 __asm__ __vÞ©že__ 476 : "÷" ( __»s ), "=&S" ( __d0 ), "=&D" ( __d1 ) 477 : "1" ( __s1 ), "2" ( __s2 ) 479  __»s ; 480 } } 484  #_HAVE_STRING_ARCH_¡ºcmp 1 ) 485 #iâdeà _FORCE_INLINES 486 __STRING_INLINE  487 $¡ºcmp ( __cÚ¡ * __s1 , __cÚ¡ * __s2 , size_t __n ) 489  __d0 , __d1 , __d2 ; 490  __»s ; 491 __asm__ __vÞ©že__ 508 : "÷" ( __»s ), "=&S" ( __d0 ), "=&D" ( __d1 ), "=&c" ( __d2 ) 509 : "1" ( __s1 ), "2" ( __s2 ), "3" ( __n ) 511  __»s ; 512 } } 516  #_HAVE_STRING_ARCH_¡rchr 1 ) 517  #_USE_STRING_ARCH_¡rchr 1 ) 518  #¡rchr ( s , c ) \ 519 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( c ) \ 520 ? `__¡rchr_c ( s , (( c ) & 0xff) << 8) \ 521 : `__¡rchr_g ( s , c ))) ) 523 __STRING_INLINE * __¡rchr_g ( __cÚ¡ * __s ,  __c ); 525 __STRING_INLINE * 526 $__¡rchr_g ( __cÚ¡ * __s ,  __c ) 528  __d0 ; 529 * __»s ; 530 __asm__ __vÞ©že__ 542 : "÷" ( __»s ), "=&S" ( __d0 ) 543 : "0" ( __c ), "1" ( __s ) 545  __»s - 1; 546 } } 548 __STRING_INLINE * __¡rchr_c ( __cÚ¡ * __s ,  __c ); 550 __STRING_INLINE * 551 $__¡rchr_c ( __cÚ¡ * __s ,  __c ) 553  __d0 ; 554 * __»s ; 555 __asm__ __vÞ©že__ 566 : "÷" ( __»s ), "=&S" ( __d0 ) 567 : "0" ( __c ), "1" ( __s ) 569  __»s - 1; 570 } } 574  #_HAVE_STRING_ARCH_¡rchºul 1 ) 575  #__¡rchºul ( s , c ) \ 576 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( c ) \ 577 ? (( c ) == '\0' \ 578 ? (*è `__¿wmemchr ( s , c ) \ 579 : `__¡rchºul_c ( s , (( c ) & 0xff) << 8)) \ 580 : `__¡rchºul_g ( s , c ))) ) 582 __STRING_INLINE * __¡rchºul_g ( __cÚ¡ * __s ,  __c ); 584 __STRING_INLINE * 585 $__¡rchºul_g ( __cÚ¡ * __s ,  __c ) 587  __d0 ; 588 * __»s ; 589 __asm__ __vÞ©že__ 600 : "÷" ( __»s ), "=&S" ( __d0 ) 601 : "0" ( __c ), "1" ( __s ) 603  __»s - 1; 604 } } 606 __STRING_INLINE * __¡rchºul_c ( __cÚ¡ * __s ,  __c ); 608 __STRING_INLINE * 609 $__¡rchºul_c ( __cÚ¡ * __s ,  __c ) 611  __d0 ; 612 * __»s ; 613 __asm__ __vÞ©že__ 623 : "÷" ( __»s ), "=&S" ( __d0 ) 624 : "0" ( __c ), "1" ( __s ) 626  __»s - 1; 627 } } 628 #ifdeà __USE_GNU 629  #¡rchºul ( s , c è `__¡rchºul (s, c) ) 635  #_HAVE_STRING_ARCH_¡rc¥n 1 ) 636 #iâdeà _FORCE_INLINES 637 #ifdeà __PIC__ 638 __STRING_INLINE size_t 639 $¡rc¥n ( __cÚ¡ * __s , __cÚ¡ * __»jeù ) 641  __d0 , __d1 , __d2 ; 642 * __»s ; 643 __asm__ __vÞ©že__ 661 : "=&S" ( __»s ), "=&a" ( __d0 ), "=&c" ( __d1 ), "=&D" ( __d2 ) 662 : "d" ( __»jeù ), "0" ( __s ), "1" (0), "2" (0xffffffff) 664  ( __»s - 1è- __s ; 665 } } 667 __STRING_INLINE size_t 668 $¡rc¥n ( __cÚ¡ * __s , __cÚ¡ * __»jeù ) 670  __d0 , __d1 , __d2 , __d3 ; 671 * __»s ; 672 __asm__ __vÞ©že__ 688 : "=&S" ( __»s ), "=&a" ( __d0 ), "=&c" ( __d1 ), "=&d" ( __d2 ), "=&D" ( __d3 ) 689 : "g" ( __»jeù ), "0" ( __s ), "1" (0), "2" (0xffffffff) 691  ( __»s - 1è- __s ; 692 } } 699  #_HAVE_STRING_ARCH_¡r¥n 1 ) 700 #iâdeà _FORCE_INLINES 701 #ifdeà __PIC__ 702 __STRING_INLINE size_t 703 $¡r¥n ( __cÚ¡ * __s , __cÚ¡ * __acû± ) 705  __d0 , __d1 , __d2 ; 706 * __»s ; 707 __asm__ __vÞ©že__ 725 : "=&S" ( __»s ), "=&a" ( __d0 ), "=&c" ( __d1 ), "=&D" ( __d2 ) 726 : "r" ( __acû± ), "0" ( __s ), "1" (0), "2" (0xffffffff) 728  ( __»s - 1è- __s ; 729 } } 731 __STRING_INLINE size_t 732 $¡r¥n ( __cÚ¡ * __s , __cÚ¡ * __acû± ) 734  __d0 , __d1 , __d2 , __d3 ; 735 * __»s ; 736 __asm__ __vÞ©že__ 752 : "=&S" ( __»s ), "=&a" ( __d0 ), "=&c" ( __d1 ), "=&d" ( __d2 ), "=&D" ( __d3 ) 753 : "g" ( __acû± ), "0" ( __s ), "1" (0), "2" (0xffffffff) 755  ( __»s - 1è- __s ; 756 } } 762  #_HAVE_STRING_ARCH_¡½brk 1 ) 763 #iâdeà _FORCE_INLINES 764 #ifdeà __PIC__ 765 __STRING_INLINE * 766 $¡½brk ( __cÚ¡ * __s , __cÚ¡ * __acû± ) 768  __d0 , __d1 , __d2 ; 769 * __»s ; 770 __asm__ __vÞ©že__ 792 : "=&S" ( __»s ), "=&a" ( __d0 ), "=&c" ( __d1 ), "=&D" ( __d2 ) 793 : "r" ( __acû± ), "0" ( __s ), "1" (0), "2" (0xffffffff) 795  __»s ; 796 } } 798 __STRING_INLINE * 799 $¡½brk ( __cÚ¡ * __s , __cÚ¡ * __acû± ) 801  __d0 , __d1 , __d2 , __d3 ; 802 * __»s ; 803 __asm__ __vÞ©že__ 823 : "=&S" ( __»s ), "=&a" ( __d0 ), "=&c" ( __d1 ), "=&d" ( __d2 ), "=&D" ( __d3 ) 824 : "g" ( __acû± ), "0" ( __s ), "1" (0), "2" (0xffffffff) 826  __»s ; 827 } } 833  #_HAVE_STRING_ARCH_¡r¡r 1 ) 834 #iâdeà _FORCE_INLINES 835 #ifdeà __PIC__ 836 __STRING_INLINE * 837 $¡r¡r ( __cÚ¡ * __hay¡ack , __cÚ¡ * __ÃedË ) 839  __d0 , __d1 , __d2 ; 840 * __»s ; 841 __asm__ __vÞ©že__ 862 : "=&a" ( __»s ), "=&c" ( __d0 ), "=&S" ( __d1 ), "=&D" ( __d2 ) 863 : "r" ( __ÃedË ), "0" (0), "1" (0xffffffff), "2" ( __hay¡ack ) 865  __»s ; 866 } } 868 __STRING_INLINE * 869 $¡r¡r ( __cÚ¡ * __hay¡ack , __cÚ¡ * __ÃedË ) 871  __d0 , __d1 , __d2 , __d3 ; 872 * __»s ; 873 __asm__ __vÞ©že__ 892 : "=&a" ( __»s ), "=&c" ( __d0 ), "=&S" ( __d1 ), "=&d" ( __d2 ), "=&D" ( __d3 ) 893 : "g" ( __ÃedË ), "0" (0), "1" (0xffffffff), "2" ( __hay¡ack ) 895  __»s ; 896 } } 900 #iâdeà _FORCE_INLINES 901 #undeà __STRING_INLINE @/usr/include/bits/string2.h 21 #iâdeà _STRING_H 25 #ià! defšed __NO_STRING_INLINES && !defšed __BOUNDED_POINTERS__ 42 #iâdeà __STRING_INLINE 43 #ifdeà __ýlu¥lus 44  #__STRING_INLINE šlše ) 46  #__STRING_INLINE __šlše ) 50 #ià _STRING_ARCH_uÇligÃd 52  ~<’dŸn.h > 53  ~ 55 #ià __BYTE_ORDER =ð __LITTLE_ENDIAN 56  #__STRING2_SMALL_GET16 ( ¤c , idx ) \ 57 ((( __cÚ¡ *è(__cÚ¡ *è( ¤c ))[ idx + 1] << 8 \ 58 | (( __cÚ¡ *è(__cÚ¡ *è( ¤c ))[ idx ]) ) 59  #__STRING2_SMALL_GET32 ( ¤c , idx ) \ 60 ((((( __cÚ¡ *è(__cÚ¡ *è( ¤c ))[ idx + 3] << 8 \ 61 | (( __cÚ¡ *è(__cÚ¡ *è( ¤c ))[ idx + 2]) << 8 \ 62 | (( __cÚ¡ *è(__cÚ¡ *è( ¤c ))[ idx + 1]) << 8 \ 63 | (( __cÚ¡ *è(__cÚ¡ *è( ¤c ))[ idx ]) ) 65  #__STRING2_SMALL_GET16 ( ¤c , idx ) \ 66 ((( __cÚ¡ *è(__cÚ¡ *è( ¤c ))[ idx ] << 8 \ 67 | (( __cÚ¡ *è(__cÚ¡ *è( ¤c ))[ idx + 1]) ) 68  #__STRING2_SMALL_GET32 ( ¤c , idx ) \ 69 ((((( __cÚ¡ *è(__cÚ¡ *è( ¤c ))[ idx ] << 8 \ 70 | (( __cÚ¡ *è(__cÚ¡ *è( ¤c ))[ idx + 1]) << 8 \ 71 | (( __cÚ¡ *è(__cÚ¡ *è( ¤c ))[ idx + 2]) << 8 \ 72 | (( __cÚ¡ *è(__cÚ¡ *è( ¤c ))[ idx + 3]) ) 77  #__STRING2_COPY_TYPE ( N ) \ 78 ¡ruù {  __¬r [ N ]; } \ 79 t__STRING2_COPY_ARR ## tN t__©Œibu‹__ (( t·cked )) ) 80 t__STRING2_COPY_TYPE (2); 81 __STRING2_COPY_TYPE (3); 82 __STRING2_COPY_TYPE (4); 83 __STRING2_COPY_TYPE (5); 84 __STRING2_COPY_TYPE (6); 85 __STRING2_COPY_TYPE (7); 86 __STRING2_COPY_TYPE (8); 87 #undeà __STRING2_COPY_TYPE 93  #__¡ršg2_1b±r_p ( __x ) \ 94 (( size_t )(cÚ¡ *)(( __x è+ 1è- (size_t)(cÚ¡ *)(__xè=ð1) ) 97 #iâdeà _HAVE_STRING_ARCH_mem£t 98 #ià _STRING_ARCH_uÇligÃd 99  #mem£t ( s , c , n ) \ 100 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( n ) && (n) <= 16 \ 101 ? (( n ) == 1 \ 102 ? `__mem£t_1 ( s , c ) \ 103 : `__mem£t_gc ( s , c , n )) \ 104 : ( `__bužtš_cÚ¡ªt_p ( c ) && (c) == '\0' \ 105 ? ({ * __s = ( s ); `__bz”o (__s, n ); __s; }) \ 106 : `mem£t ( s , c , n )))) ) 108  #__mem£t_1 ( s , c è({ * __s = (s); \ 109 *(( __ušt8_t *è __s èð(__ušt8_tè c ; __s; }) ) 111  #__mem£t_gc ( s , c , n ) \ 112 ({ * __s = ( s ); \ 114  __ui ; \ 115  __usi ; \ 116  __uc ; \ 117 } * __u = __s ; \ 118 __ušt8_t __c = (__ušt8_tè( c ); \ 121 (è( n )) \ 124 __u -> __ui = __c * 0x01010101; \ 125 __u = `__ex‹nsiÚ__ ((*) __u + 4); \ 127 __u -> __ui = __c * 0x01010101; \ 128 __u = `__ex‹nsiÚ__ ((*) __u + 4); \ 130 __u -> __ui = __c * 0x01010101; \ 131 __u = `__ex‹nsiÚ__ ((*) __u + 4); \ 133 __u -> __usi = (è __c * 0x0101; \ 134 __u = `__ex‹nsiÚ__ ((*) __u + 2); \ 135 __u -> __uc = (è __c ; \ 139 __u -> __ui = __c * 0x01010101; \ 140 __u = `__ex‹nsiÚ__ ((*) __u + 4); \ 142 __u -> __ui = __c * 0x01010101; \ 143 __u = `__ex‹nsiÚ__ ((*) __u + 4); \ 145 __u -> __ui = __c * 0x01010101; \ 146 __u = `__ex‹nsiÚ__ ((*) __u + 4); \ 148 __u -> __usi = (è __c * 0x0101; \ 152 __u -> __ui = __c * 0x01010101; \ 153 __u = `__ex‹nsiÚ__ ((*) __u + 4); \ 155 __u -> __ui = __c * 0x01010101; \ 156 __u = `__ex‹nsiÚ__ ((*) __u + 4); \ 158 __u -> __ui = __c * 0x01010101; \ 159 __u = `__ex‹nsiÚ__ ((*) __u + 4); \ 161 __u -> __uc = (è __c ; \ 165 __u -> __ui = __c * 0x01010101; \ 166 __u = `__ex‹nsiÚ__ ((*) __u + 4); \ 168 __u -> __ui = __c * 0x01010101; \ 169 __u = `__ex‹nsiÚ__ ((*) __u + 4); \ 171 __u -> __ui = __c * 0x01010101; \ 172 __u = `__ex‹nsiÚ__ ((*) __u + 4); \ 174 __u -> __ui = __c * 0x01010101; \ 179 __s ; }) ) 181  #mem£t ( s , c , n ) \ 182 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( c ) && (c) == '\0' \ 183 ? ({ * __s = ( s ); `__bz”o (__s, n ); __s; }) \ 184 : `mem£t ( s , c , n ))) ) 189 #ià __GNUC_PREREQ (2, 91) 190  #__bz”o ( s , n è `__bužtš_mem£t (s, '\0',‚) ) 198 #ifdeà __USE_GNU 199 #ià! defšed _HAVE_STRING_ARCH_mempýy || defšed _FORCE_INLINES 200 #iâdeà _HAVE_STRING_ARCH_mempýy 201 #ià __GNUC_PREREQ (3, 0) 202  #__mempýy ( de¡ , ¤c , n ) \ 203 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( ¤c è&& __bužtš_cÚ¡ªt_°( n ) \ 204 && `__¡ršg2_1b±r_p ( ¤c è&& n <= 8 \ 205 ? `__bužtš_memýy ( de¡ , ¤c , n ) + (n) \ 206 : `__mempýy ( de¡ , ¤c , n ))) ) 208  #__mempýy ( de¡ , ¤c , n ) \ 209 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( ¤c è&& __bužtš_cÚ¡ªt_°( n ) \ 210 && `__¡ršg2_1b±r_p ( ¤c è&& n <= 8 \ 211 ? `__mempýy_sm®l ( de¡ , `__mempýy_¬gs ( ¤c ), n ) \ 212 : `__mempýy ( de¡ , ¤c , n ))) ) 216  #mempýy ( de¡ , ¤c , n è `__mempýy (de¡, src,‚) ) 219 #ià! __GNUC_PREREQ (3, 0è|| defšed _FORCE_INLINES 220 #ià _STRING_ARCH_uÇligÃd 221 #iâdeà _FORCE_INLINES 222  #__mempýy_¬gs ( ¤c ) \ 223 (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[2], \ 224 (( __cÚ¡ *è( ¤c ))[4], ((__const *) (src))[6], \ 225 __ex‹nsiÚ__ `__STRING2_SMALL_GET16 ( ¤c , 0), \ 226 __ex‹nsiÚ__ `__STRING2_SMALL_GET16 ( ¤c , 4), \ 227 __ex‹nsiÚ__ `__STRING2_SMALL_GET32 ( ¤c , 0), \ 228 __ex‹nsiÚ__ `__STRING2_SMALL_GET32 ( ¤c , 4) ) 230 __STRING_INLINE * __mempýy_sm®l (*, , , , , 231 __ušt16_t , __ušt16_t, __ušt32_t , 232 __ušt32_t , size_t ); 233 __STRING_INLINE * 234 $__mempýy_sm®l (* __de¡1 , 235  __¤c0_1 ,  __¤c2_1 ,  __¤c4_1 ,  __¤c6_1 , 236 __ušt16_t __¤c0_2 , __ušt16_ˆ __¤c4_2 , 237 __ušt32_t __¤c0_4 , __ušt32_ˆ __¤c4_4 , 238 size_t __¤þ’ ) 241 __ušt32_t __ui ; 242 __ušt16_t __usi ; 243  __uc ; 244  __c ; 245 } * __u = __de¡1 ; 246 (è __¤þ’ ) 249 __u -> __c = __¤c0_1 ; 250 __u = `__ex‹nsiÚ__ ((*) __u + 1); 253 __u -> __usi = __¤c0_2 ; 254 __u = `__ex‹nsiÚ__ ((*) __u + 2); 257 __u -> __usi = __¤c0_2 ; 258 __u = `__ex‹nsiÚ__ ((*) __u + 2); 259 __u -> __c = __¤c2_1 ; 260 __u = `__ex‹nsiÚ__ ((*) __u + 1); 263 __u -> __ui = __¤c0_4 ; 264 __u = `__ex‹nsiÚ__ ((*) __u + 4); 267 __u -> __ui = __¤c0_4 ; 268 __u = `__ex‹nsiÚ__ ((*) __u + 4); 269 __u -> __c = __¤c4_1 ; 270 __u = `__ex‹nsiÚ__ ((*) __u + 1); 273 __u -> __ui = __¤c0_4 ; 274 __u = `__ex‹nsiÚ__ ((*) __u + 4); 275 __u -> __usi = __¤c4_2 ; 276 __u = `__ex‹nsiÚ__ ((*) __u + 2); 279 __u -> __ui = __¤c0_4 ; 280 __u = `__ex‹nsiÚ__ ((*) __u + 4); 281 __u -> __usi = __¤c4_2 ; 282 __u = `__ex‹nsiÚ__ ((*) __u + 2); 283 __u -> __c = __¤c6_1 ; 284 __u = `__ex‹nsiÚ__ ((*) __u + 1); 287 __u -> __ui = __¤c0_4 ; 288 __u = `__ex‹nsiÚ__ ((*) __u + 4); 289 __u -> __ui = __¤c4_4 ; 290 __u = `__ex‹nsiÚ__ ((*) __u + 4); 293  (*è __u ; 294 } } 296 #iâdeà _FORCE_INLINES 297  #__mempýy_¬gs ( ¤c ) \ 298 (( __cÚ¡ *è( ¤c ))[0], \ 299 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR2 ) \ 300 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1] } }), \ 301 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR3 ) \ 302 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 303 (( __cÚ¡ *è( ¤c ))[2] } }), \ 304 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR4 ) \ 305 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 306 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3] } }), \ 307 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR5 ) \ 308 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 309 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3], \ 310 (( __cÚ¡ *è( ¤c ))[4] } }), \ 311 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR6 ) \ 312 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 313 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3], \ 314 (( __cÚ¡ *è( ¤c ))[4], ((__const *) (src))[5] } }), \ 315 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR7 ) \ 316 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 317 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3], \ 318 (( __cÚ¡ *è( ¤c ))[4], ((__const *) (src))[5], \ 319 (( __cÚ¡ *è( ¤c ))[6] } }), \ 320 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR8 ) \ 321 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 322 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3], \ 323 (( __cÚ¡ *è( ¤c ))[4], ((__const *) (src))[5], \ 324 (( __cÚ¡ *è( ¤c ))[6], ((__cÚ¡ *è(¤c))[7] } }) ) 326 __STRING_INLINE * __mempýy_sm®l (*, , __STRING2_COPY_ARR2 , 327 __STRING2_COPY_ARR3 , 328 __STRING2_COPY_ARR4 , 329 __STRING2_COPY_ARR5 , 330 __STRING2_COPY_ARR6 , 331 __STRING2_COPY_ARR7 , 332 __STRING2_COPY_ARR8 , size_t ); 333 __STRING_INLINE * 334 $__mempýy_sm®l (* __de¡ ,  __¤c1 , 335 __STRING2_COPY_ARR2 __¤c2 , __STRING2_COPY_ARR3 __¤c3 , 336 __STRING2_COPY_ARR4 __¤c4 , __STRING2_COPY_ARR5 __¤c5 , 337 __STRING2_COPY_ARR6 __¤c6 , __STRING2_COPY_ARR7 __¤c7 , 338 __STRING2_COPY_ARR8 __¤c8 , size_t __¤þ’ ) 341  __c ; 342 __STRING2_COPY_ARR2 __sÿ2 ; 343 __STRING2_COPY_ARR3 __sÿ3 ; 344 __STRING2_COPY_ARR4 __sÿ4 ; 345 __STRING2_COPY_ARR5 __sÿ5 ; 346 __STRING2_COPY_ARR6 __sÿ6 ; 347 __STRING2_COPY_ARR7 __sÿ7 ; 348 __STRING2_COPY_ARR8 __sÿ8 ; 349 } * __u = __de¡ ; 350 (è __¤þ’ ) 353 __u -> __c = __¤c1 ; 356 __ex‹nsiÚ__ __u -> __sÿ2 = __¤c2 ; 359 __ex‹nsiÚ__ __u -> __sÿ3 = __¤c3 ; 362 __ex‹nsiÚ__ __u -> __sÿ4 = __¤c4 ; 365 __ex‹nsiÚ__ __u -> __sÿ5 = __¤c5 ; 368 __ex‹nsiÚ__ __u -> __sÿ6 = __¤c6 ; 371 __ex‹nsiÚ__ __u -> __sÿ7 = __¤c7 ; 374 __ex‹nsiÚ__ __u -> __sÿ8 = __¤c8 ; 377  `__ex‹nsiÚ__ ((*è __u + __¤þ’ ); 378 } } 386 #iâdeà _HAVE_STRING_ARCH_¡rchr 387 * __¿wmemchr (cÚ¡ * __s ,  __c ); 388  #¡rchr ( s , c ) \ 389 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( c ) && (c) == '\0' \ 390 ? (*è `__¿wmemchr ( s , c ) \ 391 : `¡rchr ( s , c ))) ) 396 #ià(! defšed _HAVE_STRING_ARCH_¡rýy && ! __GNUC_PREREQ (3, 0)) \ 397 || defšed g_FORCE_INLINES 398 #ià! defšed _HAVE_STRING_ARCH_¡rýy && ! __GNUC_PREREQ (3, 0) 399  #¡rýy ( de¡ , ¤c ) \ 400 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( ¤c ) \ 401 ? ( `__¡ršg2_1b±r_p ( ¤c è&& `¡¾’ (src) + 1 <= 8 \ 402 ? `__¡rýy_sm®l ( de¡ , `__¡rýy_¬gs ( ¤c ), \ 403 `¡¾’ ( ¤c ) + 1) \ 404 : (*è `memýy ( de¡ , ¤c , `¡¾’ (src) + 1)) \ 405 : `¡rýy ( de¡ , ¤c ))) ) 408 #ià _STRING_ARCH_uÇligÃd 409 #iâdeà _FORCE_INLINES 410  #__¡rýy_¬gs ( ¤c ) \ 411 __ex‹nsiÚ__ `__STRING2_SMALL_GET16 ( ¤c , 0), \ 412 __ex‹nsiÚ__ `__STRING2_SMALL_GET16 ( ¤c , 4), \ 413 __ex‹nsiÚ__ `__STRING2_SMALL_GET32 ( ¤c , 0), \ 414 __ex‹nsiÚ__ `__STRING2_SMALL_GET32 ( ¤c , 4) ) 416 __STRING_INLINE * __¡rýy_sm®l (*, __ušt16_t , __uint16_t, 417 __ušt32_t , __ušt32_t, size_t ); 418 __STRING_INLINE * 419 $__¡rýy_sm®l (* __de¡ , 420 __ušt16_t __¤c0_2 , __ušt16_ˆ __¤c4_2 , 421 __ušt32_t __¤c0_4 , __ušt32_ˆ __¤c4_4 , 422 size_t __¤þ’ ) 425 __ušt32_t __ui ; 426 __ušt16_t __usi ; 427  __uc ; 428 } * __u = (*è __de¡ ; 429 (è __¤þ’ ) 432 __u -> __uc = '\0'; 435 __u -> __usi = __¤c0_2 ; 438 __u -> __usi = __¤c0_2 ; 439 __u = `__ex‹nsiÚ__ ((*) __u + 2); 440 __u -> __uc = '\0'; 443 __u -> __ui = __¤c0_4 ; 446 __u -> __ui = __¤c0_4 ; 447 __u = `__ex‹nsiÚ__ ((*) __u + 4); 448 __u -> __uc = '\0'; 451 __u -> __ui = __¤c0_4 ; 452 __u = `__ex‹nsiÚ__ ((*) __u + 4); 453 __u -> __usi = __¤c4_2 ; 456 __u -> __ui = __¤c0_4 ; 457 __u = `__ex‹nsiÚ__ ((*) __u + 4); 458 __u -> __usi = __¤c4_2 ; 459 __u = `__ex‹nsiÚ__ ((*) __u + 2); 460 __u -> __uc = '\0'; 463 __u -> __ui = __¤c0_4 ; 464 __u = `__ex‹nsiÚ__ ((*) __u + 4); 465 __u -> __ui = __¤c4_4 ; 468  __de¡ ; 469 } } 471 #iâdeà _FORCE_INLINES 472  #__¡rýy_¬gs ( ¤c ) \ 473 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR2 ) \ 474 { { (( __cÚ¡ *è( ¤c ))[0], '\0' } }), \ 475 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR3 ) \ 476 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 478 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR4 ) \ 479 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 480 (( __cÚ¡ *è( ¤c ))[2], '\0' } }), \ 481 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR5 ) \ 482 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 483 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3], \ 485 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR6 ) \ 486 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 487 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3], \ 488 (( __cÚ¡ *è( ¤c ))[4], '\0' } }), \ 489 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR7 ) \ 490 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 491 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3], \ 492 (( __cÚ¡ *è( ¤c ))[4], ((__const *) (src))[5], \ 494 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR8 ) \ 495 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 496 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3], \ 497 (( __cÚ¡ *è( ¤c ))[4], ((__const *) (src))[5], \ 498 (( __cÚ¡ *è( ¤c ))[6], '\0' } }) ) 500 __STRING_INLINE * __¡rýy_sm®l (*, __STRING2_COPY_ARR2 , 501 __STRING2_COPY_ARR3 , 502 __STRING2_COPY_ARR4 , 503 __STRING2_COPY_ARR5 , 504 __STRING2_COPY_ARR6 , 505 __STRING2_COPY_ARR7 , 506 __STRING2_COPY_ARR8 , size_t ); 507 __STRING_INLINE * 508 $__¡rýy_sm®l (* __de¡ , 509 __STRING2_COPY_ARR2 __¤c2 , __STRING2_COPY_ARR3 __¤c3 , 510 __STRING2_COPY_ARR4 __¤c4 , __STRING2_COPY_ARR5 __¤c5 , 511 __STRING2_COPY_ARR6 __¤c6 , __STRING2_COPY_ARR7 __¤c7 , 512 __STRING2_COPY_ARR8 __¤c8 , size_t __¤þ’ ) 515  __c ; 516 __STRING2_COPY_ARR2 __sÿ2 ; 517 __STRING2_COPY_ARR3 __sÿ3 ; 518 __STRING2_COPY_ARR4 __sÿ4 ; 519 __STRING2_COPY_ARR5 __sÿ5 ; 520 __STRING2_COPY_ARR6 __sÿ6 ; 521 __STRING2_COPY_ARR7 __sÿ7 ; 522 __STRING2_COPY_ARR8 __sÿ8 ; 523 } * __u = (*è __de¡ ; 524 (è __¤þ’ ) 527 __u -> __c = '\0'; 530 __ex‹nsiÚ__ __u -> __sÿ2 = __¤c2 ; 533 __ex‹nsiÚ__ __u -> __sÿ3 = __¤c3 ; 536 __ex‹nsiÚ__ __u -> __sÿ4 = __¤c4 ; 539 __ex‹nsiÚ__ __u -> __sÿ5 = __¤c5 ; 542 __ex‹nsiÚ__ __u -> __sÿ6 = __¤c6 ; 545 __ex‹nsiÚ__ __u -> __sÿ7 = __¤c7 ; 548 __ex‹nsiÚ__ __u -> __sÿ8 = __¤c8 ; 551  __de¡ ; 552 } } 558 #ifdeà __USE_GNU 559 #ià! defšed _HAVE_STRING_ARCH_¡pýy || defšed _FORCE_INLINES 560 #iâdeà _HAVE_STRING_ARCH_¡pýy 561 #ià __GNUC_PREREQ (3, 0) 562  #__¡pýy ( de¡ , ¤c ) \ 563 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( ¤c ) \ 564 ? ( `__¡ršg2_1b±r_p ( ¤c è&& `¡¾’ (src) + 1 <= 8 \ 565 ? `__bužtš_¡rýy ( de¡ , ¤c è+ `¡¾’ (src) \ 566 : ((*è( __mempýy è( de¡ , ¤c , `¡¾’ (src) + 1) \ 568 : `__¡pýy ( de¡ , ¤c ))) ) 570  #__¡pýy ( de¡ , ¤c ) \ 571 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( ¤c ) \ 572 ? ( `__¡ršg2_1b±r_p ( ¤c è&& `¡¾’ (src) + 1 <= 8 \ 573 ? `__¡pýy_sm®l ( de¡ , `__¡pýy_¬gs ( ¤c ), \ 574 `¡¾’ ( ¤c ) + 1) \ 575 : ((*è( __mempýy è( de¡ , ¤c , `¡¾’ (src) + 1) \ 577 : `__¡pýy ( de¡ , ¤c ))) ) 581  #¡pýy ( de¡ , ¤c è `__¡pýy (de¡, src) ) 584 #ià! __GNUC_PREREQ (3, 0è|| defšed _FORCE_INLINES 585 #ià _STRING_ARCH_uÇligÃd 586 #iâdeà _FORCE_INLINES 587  #__¡pýy_¬gs ( ¤c ) \ 588 __ex‹nsiÚ__ `__STRING2_SMALL_GET16 ( ¤c , 0), \ 589 __ex‹nsiÚ__ `__STRING2_SMALL_GET16 ( ¤c , 4), \ 590 __ex‹nsiÚ__ `__STRING2_SMALL_GET32 ( ¤c , 0), \ 591 __ex‹nsiÚ__ `__STRING2_SMALL_GET32 ( ¤c , 4) ) 593 __STRING_INLINE * __¡pýy_sm®l (*, __ušt16_t , __uint16_t, 594 __ušt32_t , __ušt32_t, size_t ); 595 __STRING_INLINE * 596 $__¡pýy_sm®l (* __de¡ , 597 __ušt16_t __¤c0_2 , __ušt16_ˆ __¤c4_2 , 598 __ušt32_t __¤c0_4 , __ušt32_ˆ __¤c4_4 , 599 size_t __¤þ’ ) 602  __ui ; 603  __usi ; 604  __uc ; 605  __c ; 606 } * __u = (*è __de¡ ; 607 (è __¤þ’ ) 610 __u -> __uc = '\0'; 613 __u -> __usi = __¤c0_2 ; 614 __u = `__ex‹nsiÚ__ ((*) __u + 1); 617 __u -> __usi = __¤c0_2 ; 618 __u = `__ex‹nsiÚ__ ((*) __u + 2); 619 __u -> __uc = '\0'; 622 __u -> __ui = __¤c0_4 ; 623 __u = `__ex‹nsiÚ__ ((*) __u + 3); 626 __u -> __ui = __¤c0_4 ; 627 __u = `__ex‹nsiÚ__ ((*) __u + 4); 628 __u -> __uc = '\0'; 631 __u -> __ui = __¤c0_4 ; 632 __u = `__ex‹nsiÚ__ ((*) __u + 4); 633 __u -> __usi = __¤c4_2 ; 634 __u = `__ex‹nsiÚ__ ((*) __u + 1); 637 __u -> __ui = __¤c0_4 ; 638 __u = `__ex‹nsiÚ__ ((*) __u + 4); 639 __u -> __usi = __¤c4_2 ; 640 __u = `__ex‹nsiÚ__ ((*) __u + 2); 641 __u -> __uc = '\0'; 644 __u -> __ui = __¤c0_4 ; 645 __u = `__ex‹nsiÚ__ ((*) __u + 4); 646 __u -> __ui = __¤c4_4 ; 647 __u = `__ex‹nsiÚ__ ((*) __u + 3); 650  & __u -> __c ; 651 } } 653 #iâdeà _FORCE_INLINES 654  #__¡pýy_¬gs ( ¤c ) \ 655 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR2 ) \ 656 { { (( __cÚ¡ *è( ¤c ))[0], '\0' } }), \ 657 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR3 ) \ 658 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 660 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR4 ) \ 661 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 662 (( __cÚ¡ *è( ¤c ))[2], '\0' } }), \ 663 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR5 ) \ 664 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 665 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3], \ 667 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR6 ) \ 668 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 669 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3], \ 670 (( __cÚ¡ *è( ¤c ))[4], '\0' } }), \ 671 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR7 ) \ 672 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 673 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3], \ 674 (( __cÚ¡ *è( ¤c ))[4], ((__const *) (src))[5], \ 676 `__ex‹nsiÚ__ (( __STRING2_COPY_ARR8 ) \ 677 { { (( __cÚ¡ *è( ¤c ))[0], ((__const *) (src))[1], \ 678 (( __cÚ¡ *è( ¤c ))[2], ((__const *) (src))[3], \ 679 (( __cÚ¡ *è( ¤c ))[4], ((__const *) (src))[5], \ 680 (( __cÚ¡ *è( ¤c ))[6], '\0' } }) ) 682 __STRING_INLINE * __¡pýy_sm®l (*, __STRING2_COPY_ARR2 , 683 __STRING2_COPY_ARR3 , 684 __STRING2_COPY_ARR4 , 685 __STRING2_COPY_ARR5 , 686 __STRING2_COPY_ARR6 , 687 __STRING2_COPY_ARR7 , 688 __STRING2_COPY_ARR8 , size_t ); 689 __STRING_INLINE * 690 $__¡pýy_sm®l (* __de¡ , 691 __STRING2_COPY_ARR2 __¤c2 , __STRING2_COPY_ARR3 __¤c3 , 692 __STRING2_COPY_ARR4 __¤c4 , __STRING2_COPY_ARR5 __¤c5 , 693 __STRING2_COPY_ARR6 __¤c6 , __STRING2_COPY_ARR7 __¤c7 , 694 __STRING2_COPY_ARR8 __¤c8 , size_t __¤þ’ ) 697  __c ; 698 __STRING2_COPY_ARR2 __sÿ2 ; 699 __STRING2_COPY_ARR3 __sÿ3 ; 700 __STRING2_COPY_ARR4 __sÿ4 ; 701 __STRING2_COPY_ARR5 __sÿ5 ; 702 __STRING2_COPY_ARR6 __sÿ6 ; 703 __STRING2_COPY_ARR7 __sÿ7 ; 704 __STRING2_COPY_ARR8 __sÿ8 ; 705 } * __u = (*è __de¡ ; 706 (è __¤þ’ ) 709 __u -> __c = '\0'; 712 __ex‹nsiÚ__ __u -> __sÿ2 = __¤c2 ; 715 __ex‹nsiÚ__ __u -> __sÿ3 = __¤c3 ; 718 __ex‹nsiÚ__ __u -> __sÿ4 = __¤c4 ; 721 __ex‹nsiÚ__ __u -> __sÿ5 = __¤c5 ; 724 __ex‹nsiÚ__ __u -> __sÿ6 = __¤c6 ; 727 __ex‹nsiÚ__ __u -> __sÿ7 = __¤c7 ; 730 __ex‹nsiÚ__ __u -> __sÿ8 = __¤c8 ; 733  __de¡ + __¤þ’ - 1; 734 } } 742 #iâdeà _HAVE_STRING_ARCH_¡ºýy 743 #ià defšed _USE_STRING_ARCH_mem£t && defšed _USE_STRING_ARCH_mempýy 744  #¡ºýy ( de¡ , ¤c , n ) \ 745 ( `__ex‹nsiÚ__ ({ * __de¡ = ( de¡ ); \ 746 `__bužtš_cÚ¡ªt_p ( ¤c è&& __bužtš_cÚ¡ªt_°( n ) \ 747 ? ( `¡¾’ ( ¤c è+ 1 >ð(( size_t è( n )) \ 748 ? (*è `memýy ( __de¡ , ¤c , n ) \ 749 : ( `mem£t ( `__mempýy ( __de¡ , ¤c , `¡¾’ (src)), \ 750 '\0', n - `¡¾’ ( ¤c )), \ 751 __de¡ )) \ 752 : `¡ºýy ( __de¡ , ¤c , n ); })) ) 754  #¡ºýy ( de¡ , ¤c , n ) \ 755 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( ¤c è&& __bužtš_cÚ¡ªt_°( n ) \ 756 ? ( `¡¾’ ( ¤c è+ 1 >ð(( size_t è( n )) \ 757 ? (*è `memýy ( de¡ , ¤c , n ) \ 758 : `¡ºýy ( de¡ , ¤c , n )) \ 759 : `¡ºýy ( de¡ , ¤c , n ))) ) 765 #iâdeà _HAVE_STRING_ARCH_¡ºÿt 766 #ifdeà _USE_STRING_ARCH_¡rchr 767  #¡ºÿt ( de¡ , ¤c , n ) \ 768 ( `__ex‹nsiÚ__ ({ * __de¡ = ( de¡ ); \ 769 `__bužtš_cÚ¡ªt_p ( ¤c è&& __bužtš_cÚ¡ªt_°( n ) \ 770 ? ( `¡¾’ ( ¤c è< (( size_t è( n )) \ 771 ? `¡rÿt ( __de¡ , ¤c ) \ 772 : (*((*è `__mempýy ( `¡rchr ( __de¡ , '\0'), \ 773 ¤c , n )èð'\0', __de¡ )) \ 774 : `¡ºÿt ( de¡ , ¤c , n ); })) ) 776  #¡ºÿt ( de¡ , ¤c , n ) \ 777 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( ¤c è&& __bužtš_cÚ¡ªt_°( n ) \ 778 ? ( `¡¾’ ( ¤c è< (( size_t è( n )) \ 779 ? `¡rÿt ( de¡ , ¤c ) \ 780 : `¡ºÿt ( de¡ , ¤c , n )) \ 781 : `¡ºÿt ( de¡ , ¤c , n ))) ) 787 #iâdeà _HAVE_STRING_ARCH_¡rcmp 788  #¡rcmp ( s1 , s2 ) \ 789 __ex‹nsiÚ__ \ 790 ({ size_t __s1_Ën , __s2_Ën ; \ 791 ( `__bužtš_cÚ¡ªt_p ( s1 è&& __bužtš_cÚ¡ªt_°( s2 ) \ 792 && ( __s1_Ën = `¡¾’ ( s1 ), __s2_Ën = sŒËÀ( s2 ), \ 793 (! `__¡ršg2_1b±r_p ( s1 è|| __s1_Ën >= 4) \ 794 && (! `__¡ršg2_1b±r_p ( s2 è|| __s2_Ën >= 4)) \ 795 ? `memcmp (( __cÚ¡ *è( s1 ), (__cÚ¡ *è( s2 ), \ 796 ( __s1_Ën < __s2_Ën ? __s1_len : __s2_len) + 1) \ 797 : ( `__bužtš_cÚ¡ªt_p ( s1 è&& `__¡ršg2_1b±r_p (s1) \ 798 && ( __s1_Ën = `¡¾’ ( s1 ), __s1_len < 4) \ 799 ? ( `__bužtš_cÚ¡ªt_p ( s2 è&& `__¡ršg2_1b±r_p (s2) \ 800 ? `__¡rcmp_cc ( s1 , s2 , __s1_Ën ) \ 801 : `__¡rcmp_cg ( s1 , s2 , __s1_Ën )) \ 802 : ( `__bužtš_cÚ¡ªt_p ( s2 è&& `__¡ršg2_1b±r_p (s2) \ 803 && ( __s2_Ën = `¡¾’ ( s2 ), __s2_len < 4) \ 804 ? ( `__bužtš_cÚ¡ªt_p ( s1 è&& `__¡ršg2_1b±r_p (s1) \ 805 ? `__¡rcmp_cc ( s1 , s2 , __s2_Ën ) \ 806 : `__¡rcmp_gc ( s1 , s2 , __s2_Ën )) \ 807 : `¡rcmp ( s1 , s2 )))); }) ) 809  #__¡rcmp_cc ( s1 , s2 , l ) \ 810 ( `__ex‹nsiÚ__ ({  __»suÉ = \ 811 ((( __cÚ¡ *è(__cÚ¡ *è( s1 ))[0] \ 812 - (( __cÚ¡ *è(__cÚ¡ *)( s2 ))[0]);\ 813 ià( l > 0 && __»suÉ == 0) \ 815 __»suÉ = ((( __cÚ¡ *) \ 816 ( __cÚ¡ *è( s1 ))[1] \ 817 - (( __cÚ¡ *) \ 818 ( __cÚ¡ *è( s2 ))[1]); \ 819 ià( l > 1 && __»suÉ == 0) \ 821 __»suÉ = \ 822 ((( __cÚ¡ *) \ 823 ( __cÚ¡ *è( s1 ))[2] \ 824 - (( __cÚ¡ *) \ 825 ( __cÚ¡ *è( s2 ))[2]); \ 826 ià( l > 2 && __»suÉ == 0) \ 827 __»suÉ = \ 828 ((( __cÚ¡ *) \ 829 ( __cÚ¡ *è( s1 ))[3] \ 830 - (( __cÚ¡ *) \ 831 ( __cÚ¡ *è( s2 ))[3]); \ 834 __»suÉ ; })) ) 836  #__¡rcmp_cg ( s1 , s2 , l1 ) \ 837 ( `__ex‹nsiÚ__ ({ __cÚ¡ * __s2 = \ 838 ( __cÚ¡ *è(__cÚ¡ *è( s2 ); \ 839  __»suÉ = \ 840 ((( __cÚ¡ *è(__cÚ¡ *è( s1 ))[0] \ 841 - __s2 [0]); \ 842 ià( l1 > 0 && __»suÉ == 0) \ 844 __»suÉ = ((( __cÚ¡ *) \ 845 ( __cÚ¡ *è( s1 ))[1] - __s2 [1]); \ 846 ià( l1 > 1 && __»suÉ == 0) \ 848 __»suÉ = ((( __cÚ¡ *) \ 849 ( __cÚ¡ *è( s1 ))[2] - __s2 [2]);\ 850 ià( l1 > 2 && __»suÉ == 0) \ 851 __»suÉ = ((( __cÚ¡ *) \ 852 ( __cÚ¡ *è( s1 ))[3] \ 853 - __s2 [3]); \ 856 __»suÉ ; })) ) 858  #__¡rcmp_gc ( s1 , s2 , l2 ) \ 859 ( `__ex‹nsiÚ__ ({ __cÚ¡ * __s1 = \ 860 ( __cÚ¡ *è(__cÚ¡ *è( s1 ); \ 861  __»suÉ = \ 862 __s1 [0] - (( __cÚ¡ *) \ 863 ( __cÚ¡ *è( s2 ))[0]; \ 864 ià( l2 > 0 && __»suÉ == 0) \ 866 __»suÉ = ( __s1 [1] \ 867 - (( __cÚ¡ *) \ 868 ( __cÚ¡ *è( s2 ))[1]); \ 869 ià( l2 > 1 && __»suÉ == 0) \ 871 __»suÉ = \ 872 ( __s1 [2] - (( __cÚ¡ *) \ 873 ( __cÚ¡ *è( s2 ))[2]); \ 874 ià( l2 > 2 && __»suÉ == 0) \ 875 __»suÉ = \ 876 ( __s1 [3] \ 877 - (( __cÚ¡ *) \ 878 ( __cÚ¡ *è( s2 ))[3]); \ 881 __»suÉ ; })) ) 886 #iâdeà _HAVE_STRING_ARCH_¡ºcmp 887  #¡ºcmp ( s1 , s2 , n ) \ 888 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( n ) \ 889 && (( `__bužtš_cÚ¡ªt_p ( s1 ) \ 890 && `¡¾’ ( s1 è< (( size_t è( n ))) \ 891 || ( `__bužtš_cÚ¡ªt_p ( s2 ) \ 892 && `¡¾’ ( s2 è< (( size_t è( n )))) \ 893 ? `¡rcmp ( s1 , s2 è: `¡ºcmp (s1, s2, n ))) ) 899 #ià! defšed _HAVE_STRING_ARCH_¡rc¥n || defšed _FORCE_INLINES 900 #iâdeà _HAVE_STRING_ARCH_¡rc¥n 901  #¡rc¥n ( s , »jeù ) \ 902 __ex‹nsiÚ__ \ 903 ({  __r0 , __r1 , __r2 ; \ 904 ( `__bužtš_cÚ¡ªt_p ( »jeù è&& `__¡ršg2_1b±r_p (reject) \ 905 ? (( __r0 = (( __cÚ¡ *è( »jeù ))[0], __r0 == '\0') \ 906 ? `¡¾’ ( s ) \ 907 : (( __r1 = (( __cÚ¡ *è( »jeù ))[1], __r1 == '\0') \ 908 ? `__¡rc¥n_c1 ( s , __r0 ) \ 909 : (( __r2 = (( __cÚ¡ *è( »jeù ))[2], __r2 == '\0') \ 910 ? `__¡rc¥n_c2 ( s , __r0 , __r1 ) \ 911 : ((( __cÚ¡ *è( »jeù ))[3] == '\0' \ 912 ? `__¡rc¥n_c3 ( s , __r0 , __r1 , __r2 ) \ 913 : `¡rc¥n ( s , »jeù ))))) \ 914 : `¡rc¥n ( s , »jeù )); }) ) 917 __STRING_INLINE size_t __¡rc¥n_c1 ( __cÚ¡ * __s ,  __»jeù ); 918 __STRING_INLINE size_t 919 $__¡rc¥n_c1 ( __cÚ¡ * __s ,  __»jeù ) 921  size_t __»suÉ = 0; 922  __s [ __»suÉ ] !ð'\0' && __s[__»suÉ] !ð __»jeù ) 923 ++ __»suÉ ; 924  __»suÉ ; 925 } } 927 __STRING_INLINE size_t __¡rc¥n_c2 ( __cÚ¡ * __s ,  __»jeù1 , 928  __»jeù2 ); 929 __STRING_INLINE size_t 930 $__¡rc¥n_c2 ( __cÚ¡ * __s ,  __»jeù1 ,  __»jeù2 ) 932  size_t __»suÉ = 0; 933  __s [ __»suÉ ] !ð'\0' && __s[__»suÉ] !ð __»jeù1 934 && __s [ __»suÉ ] !ð __»jeù2 ) 935 ++ __»suÉ ; 936  __»suÉ ; 937 } } 939 __STRING_INLINE size_t __¡rc¥n_c3 ( __cÚ¡ * __s ,  __»jeù1 , 940  __»jeù2 ,  __»jeù3 ); 941 __STRING_INLINE size_t 942 $__¡rc¥n_c3 ( __cÚ¡ * __s ,  __»jeù1 ,  __»jeù2 , 943  __»jeù3 ) 945  size_t __»suÉ = 0; 946  __s [ __»suÉ ] !ð'\0' && __s[__»suÉ] !ð __»jeù1 947 && __s [ __»suÉ ] !ð __»jeù2 && __s[__»suÉ] !ð __»jeù3 ) 948 ++ __»suÉ ; 949  __»suÉ ; 950 } } 956 #ià! defšed _HAVE_STRING_ARCH_¡r¥n || defšed _FORCE_INLINES 957 #iâdeà _HAVE_STRING_ARCH_¡r¥n 958  #¡r¥n ( s , acû± ) \ 959 __ex‹nsiÚ__ \ 960 ({  __a0 , __a1 , __a2 ; \ 961 ( `__bužtš_cÚ¡ªt_p ( acû± è&& `__¡ršg2_1b±r_p (accept) \ 962 ? (( __a0 = (( __cÚ¡ *è( acû± ))[0], __a0 == '\0') \ 963 ? ((è( s ), 0) \ 964 : (( __a1 = (( __cÚ¡ *è( acû± ))[1], __a1 == '\0') \ 965 ? `__¡r¥n_c1 ( s , __a0 ) \ 966 : (( __a2 = (( __cÚ¡ *è( acû± ))[2], __a2 == '\0') \ 967 ? `__¡r¥n_c2 ( s , __a0 , __a1 ) \ 968 : ((( __cÚ¡ *è( acû± ))[3] == '\0' \ 969 ? `__¡r¥n_c3 ( s , __a0 , __a1 , __a2 ) \ 970 : `¡r¥n ( s , acû± ))))) \ 971 : `¡r¥n ( s , acû± )); }) ) 974 __STRING_INLINE size_t __¡r¥n_c1 ( __cÚ¡ * __s ,  __acû± ); 975 __STRING_INLINE size_t 976 $__¡r¥n_c1 ( __cÚ¡ * __s ,  __acû± ) 978  size_t __»suÉ = 0; 980  __s [ __»suÉ ] =ð __acû± ) 981 ++ __»suÉ ; 982  __»suÉ ; 983 } } 985 __STRING_INLINE size_t __¡r¥n_c2 ( __cÚ¡ * __s ,  __acû±1 , 986  __acû±2 ); 987 __STRING_INLINE size_t 988 $__¡r¥n_c2 ( __cÚ¡ * __s ,  __acû±1 ,  __acû±2 ) 990  size_t __»suÉ = 0; 992  __s [ __»suÉ ] =ð __acû±1 || __s[__»suÉ] =ð __acû±2 ) 993 ++ __»suÉ ; 994  __»suÉ ; 995 } } 997 __STRING_INLINE size_t __¡r¥n_c3 ( __cÚ¡ * __s ,  __acû±1 , 998  __acû±2 ,  __acû±3 ); 999 __STRING_INLINE size_t 1000 $__¡r¥n_c3 ( __cÚ¡ * __s ,  __acû±1 ,  __acû±2 ,  __acû±3 ) 1002  size_t __»suÉ = 0; 1004  __s [ __»suÉ ] =ð __acû±1 || __s[__»suÉ] =ð __acû±2 1005 || __s [ __»suÉ ] =ð __acû±3 ) 1006 ++ __»suÉ ; 1007  __»suÉ ; 1008 } } 1013 #ià! defšed _HAVE_STRING_ARCH_¡½brk || defšed _FORCE_INLINES 1014 #iâdeà _HAVE_STRING_ARCH_¡½brk 1015  #¡½brk ( s , acû± ) \ 1016 __ex‹nsiÚ__ \ 1017 ({  __a0 , __a1 , __a2 ; \ 1018 ( `__bužtš_cÚ¡ªt_p ( acû± è&& `__¡ršg2_1b±r_p (accept) \ 1019 ? (( __a0 = (( __cÚ¡ *è( acû± ))[0], __a0 == '\0') \ 1020 ? ((è( s ), NULL ) \ 1021 : (( __a1 = (( __cÚ¡ *è( acû± ))[1], __a1 == '\0') \ 1022 ? `¡rchr ( s , __a0 ) \ 1023 : (( __a2 = (( __cÚ¡ *è( acû± ))[2], __a2 == '\0') \ 1024 ? `__¡½brk_c2 ( s , __a0 , __a1 ) \ 1025 : ((( __cÚ¡ *è( acû± ))[3] == '\0' \ 1026 ? `__¡½brk_c3 ( s , __a0 , __a1 , __a2 ) \ 1027 : `¡½brk ( s , acû± ))))) \ 1028 : `¡½brk ( s , acû± )); }) ) 1031 __STRING_INLINE * __¡½brk_c2 ( __cÚ¡ * __s ,  __acû±1 , 1032  __acû±2 ); 1033 __STRING_INLINE * 1034 $__¡½brk_c2 ( __cÚ¡ * __s ,  __acû±1 ,  __acû±2 ) 1037 * __s !ð'\0' && *__ !ð __acû±1 && *__ !ð __acû±2 ) 1038 ++ __s ; 1039  * __s =ð'\0' ? NULL : (*è( size_t ) __s; 1040 } } 1042 __STRING_INLINE * __¡½brk_c3 ( __cÚ¡ * __s ,  __acû±1 , 1043  __acû±2 ,  __acû±3 ); 1044 __STRING_INLINE * 1045 $__¡½brk_c3 ( __cÚ¡ * __s ,  __acû±1 ,  __acû±2 , 1046  __acû±3 ) 1049 * __s !ð'\0' && *__ !ð __acû±1 && *__ !ð __acû±2 1050 && * __s !ð __acû±3 ) 1051 ++ __s ; 1052  * __s =ð'\0' ? NULL : (*è( size_t ) __s; 1053 } } 1059 #ià! defšed _HAVE_STRING_ARCH_¡r¡r && ! __GNUC_PREREQ (2, 97) 1060  #¡r¡r ( hay¡ack , ÃedË ) \ 1061 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( ÃedË è&& `__¡ršg2_1b±r_p (needle) \ 1062 ? ((( __cÚ¡ *è( ÃedË ))[0] == '\0' \ 1063 ? (*è( size_t è( hay¡ack ) \ 1064 : ((( __cÚ¡ *è( ÃedË ))[1] == '\0' \ 1065 ? `¡rchr ( hay¡ack , \ 1066 (( __cÚ¡ *è( ÃedË ))[0]) \ 1067 : `¡r¡r ( hay¡ack , ÃedË ))) \ 1068 : `¡r¡r ( hay¡ack , ÃedË ))) ) 1072 #ià! defšed _HAVE_STRING_ARCH_¡¹ok_r || defšed _FORCE_INLINES 1073 #iâdeà _HAVE_STRING_ARCH_¡¹ok_r 1074  #__¡¹ok_r ( s , £p , Ãx� ) \ 1075 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( £p è&& `__¡ršg2_1b±r_p (sep) \ 1076 ? ((( __cÚ¡ *è( £p ))[0] != '\0' \ 1077 && (( __cÚ¡ *è( £p ))[1] == '\0' \ 1078 ? `__¡¹ok_r_1c ( s , (( __cÚ¡ *è( £p ))[0], Ãx� ) \ 1079 : `__¡¹ok_r ( s , £p , Ãx� )) \ 1080 : `__¡¹ok_r ( s , £p , Ãx� ))) ) 1083 __STRING_INLINE * __¡¹ok_r_1c (* __s ,  __£p , ** __Ãx� ); 1084 __STRING_INLINE * 1085 $__¡¹ok_r_1c (* __s ,  __£p , ** __Ãx� ) 1087 * __»suÉ ; 1088 ià( __s =ð NULL ) 1089 __s = * __Ãx� ; 1090 * __s =ð __£p ) 1091 ++ __s ; 1092 __»suÉ = NULL ; 1093 ià(* __s != '\0') 1095 __»suÉ = __s ++; 1096 * __s != '\0') 1097 ià(* __s ++ =ð __£p ) 1099 __s [-1] = '\0'; 1102 * __Ãx� = __s ; 1104  __»suÉ ; 1105 } } 1106 #ià defšed __USE_POSIX || defšed __USE_MISC 1107  #¡¹ok_r ( s , £p , Ãx� è `__¡¹ok_r (s, s•,‚ex�) ) 1112 #ià! defšed _HAVE_STRING_ARCH_¡r£p || defšed _FORCE_INLINES 1113 #iâdeà _HAVE_STRING_ARCH_¡r£p 1115 * __¡r£p_g (** __¡ršgp , __cÚ¡ * __d–im ); 1116  #__¡r£p ( s , »jeù ) \ 1117 __ex‹nsiÚ__ \ 1118 ({  __r0 , __r1 , __r2 ; \ 1119 ( `__bužtš_cÚ¡ªt_p ( »jeù è&& `__¡ršg2_1b±r_p (reject) \ 1120 && ( __r0 = (( __cÚ¡ *è( »jeù ))[0], \ 1121 (( __cÚ¡ *è( »jeù ))[0] != '\0') \ 1122 ? (( __r1 = (( __cÚ¡ *è( »jeù ))[1], \ 1123 (( __cÚ¡ *è( »jeù ))[1] == '\0') \ 1124 ? `__¡r£p_1c ( s , __r0 ) \ 1125 : (( __r2 = (( __cÚ¡ *è( »jeù ))[2], __r2 == '\0') \ 1126 ? `__¡r£p_2c ( s , __r0 , __r1 ) \ 1127 : ((( __cÚ¡ *è( »jeù ))[3] == '\0' \ 1128 ? `__¡r£p_3c ( s , __r0 , __r1 , __r2 ) \ 1129 : `__¡r£p_g ( s , »jeù )))) \ 1130 : `__¡r£p_g ( s , »jeù )); }) ) 1133 __STRING_INLINE * __¡r£p_1c (** __s ,  __»jeù ); 1134 __STRING_INLINE * 1135 $__¡r£p_1c (** __s ,  __»jeù ) 1137 * __»tv® = * __s ; 1138 ià( __»tv® !ð NULL && (* __s = `¡rchr (__»tv®, __»jeù )) != NULL) 1139 *(* __s )++ = '\0'; 1140  __»tv® ; 1141 } } 1143 __STRING_INLINE * __¡r£p_2c (** __s ,  __»jeù1 ,  __»jeù2 ); 1144 __STRING_INLINE * 1145 $__¡r£p_2c (** __s ,  __»jeù1 ,  __»jeù2 ) 1147 * __»tv® = * __s ; 1148 ià( __»tv® !ð NULL ) 1150 * __ý = __»tv® ; 1153 ià(* __ý == '\0') 1155 __ý = NULL ; 1158 ià(* __ý =ð __»jeù1 || *__ý =ð __»jeù2 ) 1160 * __ý ++ = '\0'; 1163 ++ __ý ; 1165 * __s = __ý ; 1167  __»tv® ; 1168 } } 1170 __STRING_INLINE * __¡r£p_3c (** __s ,  __»jeù1 ,  __»jeù2 , 1171  __»jeù3 ); 1172 __STRING_INLINE * 1173 $__¡r£p_3c (** __s ,  __»jeù1 ,  __»jeù2 ,  __»jeù3 ) 1175 * __»tv® = * __s ; 1176 ià( __»tv® !ð NULL ) 1178 * __ý = __»tv® ; 1181 ià(* __ý == '\0') 1183 __ý = NULL ; 1186 ià(* __ý =ð __»jeù1 || *__ý =ð __»jeù2 || *__ý =ð __»jeù3 ) 1188 * __ý ++ = '\0'; 1191 ++ __ý ; 1193 * __s = __ý ; 1195  __»tv® ; 1196 } } 1197 #ifdeà __USE_BSD 1198  #¡r£p ( s , »jeù è `__¡r£p (s,„ejeù) ) 1205 #ifdeà __USE_MISC 1207 #ià! defšed _HAVE_STRING_ARCH_¡rdup || !defšed _HAVE_STRING_ARCH_¡ºdup 1208  #__Ãed_m®loc_ªd_ÿÎoc ) 1209  ~<¡dlib.h > 1212 #iâdeà _HAVE_STRING_ARCH_¡rdup 1214 * $__¡rdup ( __cÚ¡ * __¡ršg è __THROW __©Œibu‹_m®loc__ ; 1215  #__¡rdup ( s ) \ 1216 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( s è&& `__¡ršg2_1b±r_p (s) \ 1217 ? ((( __cÚ¡ *è( s ))[0] == '\0' \ 1218 ? (*è `ÿÎoc (1, 1) \ 1219 : ({ size_t __Ën = `¡¾’ ( s ) + 1; \ 1220 * __»tv® = (*è `m®loc ( __Ën ); \ 1221 ià( __»tv® !ð NULL ) \ 1222 __»tv® = (*è `memýy (__»tv®, s , __Ën ); \ 1223 __»tv® ; } })) \ 1224 : `__¡rdup ( s ))) ) 1226 #ià defšed __USE_SVID || defšed __USE_BSD || defšed __USE_XOPEN_EXTENDED 1227  #¡rdup ( s è `__¡rdup (s) ) 1231 #iâdeà _HAVE_STRING_ARCH_¡ºdup 1233 * $__¡ºdup ( __cÚ¡ * __¡ršg , size_t __n ) 1234 __THROW __©Œibu‹_m®loc__ ; 1235  #__¡ºdup ( s , n ) \ 1236 ( `__ex‹nsiÚ__ ( `__bužtš_cÚ¡ªt_p ( s è&& `__¡ršg2_1b±r_p (s) \ 1237 ? ((( __cÚ¡ *è( s ))[0] == '\0' \ 1238 ? (*è `ÿÎoc (1, 1) \ 1239 : ({ size_t __Ën = `¡¾’ ( s ) + 1; \ 1240 size_t __n = ( n ); \ 1241 * __»tv® ; \ 1242 ià( __n < __Ën ) \ 1243 __Ën = __n + 1; \ 1244 __»tv® = (*è `m®loc ( __Ën ); \ 1245 ià( __»tv® !ð NULL ) \ 1247 __»tv® [ __Ën - 1] = '\0'; \ 1248 __»tv® = (*è `memýy (__»tv®, s , \ 1249 __Ën - 1); \ 1251 __»tv® ; } })) \ 1252 : `__¡ºdup ( s , n ))) ) 1254 #ifdeà __USE_GNU 1255  #¡ºdup ( s , n è `__¡ºdup (s,‚) ) 1261 #iâdeà _FORCE_INLINES 1262 #undeà __STRING_INLINE @/usr/include/bits/time.h 24 #iâdeà __Ãed_timev® 25 #iâdeà _BITS_TIME_H 26  #_BITS_TIME_H 1 ) 34  #CLOCKS_PER_SEC 1000000l ) 36 #ià! defšed __STRICT_ANSI__ && !defšed __USE_XOPEN2K 39  ~ 40  __syscÚf (); 41  #CLK_TCK (( __þock_t è `__syscÚf (2)è ) 44 #ifdeà __USE_POSIX199309 46  #CLOCK_REALTIME 0 ) 48  #CLOCK_PROCESS_CPUTIME_ID 2 ) 50  #CLOCK_THREAD_CPUTIME_ID 3 ) 53  #TIMER_ABSTIME 1 ) 59 #ifdeà __Ãed_timev® 60 #undeà __Ãed_timev® 61 #iâdeà _STRUCT_TIMEVAL 62  #_STRUCT_TIMEVAL 1 ) 63  ~ 67  stimev® 69 __time_t mtv_£c ; 70 __su£cÚds_t mtv_u£c ; @/usr/include/bits/types.h 23 #iâdef _BITS_TYPES_H 24  #_BITS_TYPES_H 1 ) 26  ~<ã©u»s.h > 28  #__Ãed_size_t ) 29  ~<¡ddef.h > 32  t__u_ch¬ ; 33  t__u_shÜt ; 34  t__u_št ; 35  t__u_lÚg ; 36 #ifdeà __GLIBC_HAVE_LONG_LONG 37 __ex‹nsiÚ__  t__u_quad_t ; 38 __ex‹nsiÚ__  t__quad_t ; 42  m__v® [2]; 43 } t__quad_t ; 46 __u_lÚg m__v® [2]; 47 } t__u_quad_t ; 49 sigÃd  t__št8_t ; 50  t__ušt8_t ; 51 sigÃd  t__št16_t ; 52  t__ušt16_t ; 53 sigÃd  t__št32_t ; 54  t__ušt32_t ; 55 #ifdeà __GLIBC_HAVE_LONG_LONG 56 __ex‹nsiÚ__ sigÃd  t__št64_t ; 57 __ex‹nsiÚ__  t__ušt64_t ; 59  __quad_t * t__qaddr_t ; 61  __u_quad_t t__dev_t ; 62  __u_št t__uid_t ; 63  __u_št t__gid_t ; 64  __u_lÚg t__šo_t ; 65  __u_št t__mode_t ; 66  __u_št t__Æšk_t ; 67  t__off_t ; 68  __quad_t t__loff_t ; 69  t__pid_t ; 70  t__ssize_t ; 71  __u_lÚg t__¾im_t ; 72  __u_quad_t t__¾im64_t ; 73  __u_št t__id_t ; 77  m__v® [2]; 78 } t__fsid_t ; 81  t__daddr_t ; 82 * t__ÿddr_t ; 83  t__time_t ; 84  t__u£cÚds_t ; 85  t__su£cÚds_t ; 86  t__swblk_t ; 88  t__þock_t ; 91  t__þockid_t ; 94  t__tim”_t ; 98  #__FD_SETSIZE 1024 ) 101  t__key_t ; 104  t__�c_pid_t ; 108  t__blksize_t ; 113  t__blkút_t ; 114  __quad_t t__blkút64_t ; 117  __u_lÚg t__fsblkút_t ; 118  __u_quad_t t__fsblkút64_t ; 121  __u_lÚg t__fsfžút_t ; 122  __u_quad_t t__fsfžút64_t ; 125  __u_quad_t t__šo64_t ; 128  __loff_t t__off64_t ; 131  t__t_sÿÏr_t ; 132  t__t_usÿÏr_t ; 135  t__š�Œ_t ; 138  t__sockËn_t ; 142 #ià defšed __USE_POSIX199506 || defšed __USE_UNIX98 143  ~ @/usr/include/bits/waitflags.h 20 #ià! defšed _SYS_WAIT_H && !defšed _STDLIB_H 26  #WNOHANG 1 ) 27  #WUNTRACED 2 ) 29  #__WALL 0x40000000 ) 30  #__WCLONE 0x80000000 ) @/usr/include/bits/waitstatus.h 20 #ià! defšed _SYS_WAIT_H && !defšed _STDLIB_H 29  #__WEXITSTATUS ( ¡©us è(((¡©usè& 0xff00è>> 8) ) 32  #__WTERMSIG ( ¡©us è((¡©usè& 0x7f) ) 35  #__WSTOPSIG ( ¡©us è `__WEXITSTATUS (¡©us) ) 38  #__WIFEXITED ( ¡©us è( `__WTERMSIG (¡©usè=ð0) ) 41 #ifdef __GNUC__ 42  #__WIFSIGNALED ( ¡©us ) \ 43 ( `__ex‹nsiÚ__ ({  __¡©us = ( ¡©us ); \ 44 ! `__WIFSTOPPED ( __¡©us è&& ! `__WIFEXITED (__¡©us); })) ) 46  #__WIFSIGNALED ( ¡©us è(! `__WIFSTOPPED (¡©usè&& ! `__WIFEXITED (¡©us)) ) 50  #__WIFSTOPPED ( ¡©us è(((¡©usè& 0xffè=ð0x7f) ) 53  #__WCOREDUMP ( ¡©us è((¡©usè& __WCOREFLAG ) ) 56  #__W_EXITCODE ( »t , sig è(Ô‘è<< 8 | (sig)) ) 57  #__W_STOPCODE ( sig è((sigè<< 8 | 0x7f) ) 58  #__WCOREFLAG 0x80 ) 61 #ifdef __USE_BSD 63  ~<’dŸn.h > 65  uwa™ 67  mw_¡©us ; 70 #if __BYTE_ORDER =ð __LITTLE_ENDIAN 71  m__w_‹rmsig :7; 72  m__w_cÜedump :1; 73  m__w_»tcode :8; 76 #if __BYTE_ORDER =ð __BIG_ENDIAN 78  m__w_»tcode :8; 79  m__w_cÜedump :1; 80  m__w_‹rmsig :7; 82 } m__wa™_‹rmš©ed ; 85 #if __BYTE_ORDER =ð __LITTLE_ENDIAN 86  m__w_¡Ýv® :8; 87  m__w_¡Ýsig :8; 90 #if __BYTE_ORDER =ð __BIG_ENDIAN 92  m__w_¡Ýsig :8; 93  m__w_¡Ýv® :8; 95 } m__wa™_¡Ý³d ; 98  #w_‹rmsig __wa™_‹rmš©ed . __w_‹rmsig ) 99  #w_cÜedump __wa™_‹rmš©ed . __w_cÜedump ) 100  #w_»tcode __wa™_‹rmš©ed . __w_»tcode ) 101  #w_¡Ýsig __wa™_¡Ý³d . __w_¡Ýsig ) 102  #w_¡Ýv® __wa™_¡Ý³d . __w_¡Ýv® ) @/usr/include/endian.h 19 #iâdef _ENDIAN_H 20  #_ENDIAN_H 1 ) 22  ~<ã©u»s.h > 32  #__LITTLE_ENDIAN 1234 ) 33  #__BIG_ENDIAN 4321 ) 34  #__PDP_ENDIAN 3412 ) 37  ~ 41 #iâdeà __FLOAT_WORD_ORDER 42  #__FLOAT_WORD_ORDER __BYTE_ORDER ) 45 #ifdef __USE_BSD 46  #LITTLE_ENDIAN __LITTLE_ENDIAN ) 47  #BIG_ENDIAN __BIG_ENDIAN ) 48  #PDP_ENDIAN __PDP_ENDIAN ) 49  #BYTE_ORDER __BYTE_ORDER ) 52 #ià __BYTE_ORDER =ð __LITTLE_ENDIAN 53  #__LONG_LONG_PAIR ( HI , LO èLO, ) HI 54 #–ià __BYTE_ORDER =ð __BIG_ENDIAN 55  #__LONG_LONG_PAIR ( HI , LO èHI, ) LO @/usr/include/features.h 19 #iâdef _FEATURES_H 20  #_FEATURES_H 1 ) 86 #undeà __USE_ISOC99 87 #undeà __USE_POSIX 88 #undeà __USE_POSIX2 89 #undeà __USE_POSIX199309 90 #undeà __USE_POSIX199506 91 #undeà __USE_XOPEN 92 #undeà __USE_XOPEN_EXTENDED 93 #undeà __USE_UNIX98 94 #undeà __USE_XOPEN2K 95 #undeà __USE_LARGEFILE 96 #undeà __USE_LARGEFILE64 97 #undeà __USE_FILE_OFFSET64 98 #undeà __USE_BSD 99 #undeà __USE_SVID 100 #undeà __USE_MISC 101 #undeà __USE_GNU 102 #undeà __USE_REENTRANT 103 #undeà __FAVOR_BSD 104 #undeà __KERNEL_STRICT_NAMES 108 #iâdeà _LOOSE_KERNEL_NAMES 109  #__KERNEL_STRICT_NAMES ) 113  #__USE_ANSI 1 ) 117 #ià defšed _BSD_SOURCE && \ 118 !( defšed g_POSIX_SOURCE || defšed g_POSIX_C_SOURCE || \ 119 defšed g_XOPEN_SOURCE || defšed g_XOPEN_SOURCE_EXTENDED || \ 120 defšed g_GNU_SOURCE || defšed g_SVID_SOURCE ) 121  #__FAVOR_BSD 1 ) 125 #ifdeà _GNU_SOURCE 126 #undeà _ISOC99_SOURCE 127  #_ISOC99_SOURCE 1 ) 128 #undeà _POSIX_SOURCE 129  #_POSIX_SOURCE 1 ) 130 #undeà _POSIX_C_SOURCE 131  #_POSIX_C_SOURCE 199506L ) 132 #undeà _XOPEN_SOURCE 133  #_XOPEN_SOURCE 600 ) 134 #undeà _XOPEN_SOURCE_EXTENDED 135  #_XOPEN_SOURCE_EXTENDED 1 ) 136 #undeà _LARGEFILE64_SOURCE 137  #_LARGEFILE64_SOURCE 1 ) 138 #undeà _BSD_SOURCE 139  #_BSD_SOURCE 1 ) 140 #undeà _SVID_SOURCE 141  #_SVID_SOURCE 1 ) 146 #ià(! defšed __STRICT_ANSI__ && !defšed _ISOC99_SOURCE && \ 147 ! defšed g_POSIX_SOURCE && !defšed g_POSIX_C_SOURCE && \ 148 ! defšed g_XOPEN_SOURCE && !defšed g_XOPEN_SOURCE_EXTENDED && \ 149 ! defšed g_BSD_SOURCE && !defšed g_SVID_SOURCE ) 150  #_BSD_SOURCE 1 ) 151  #_SVID_SOURCE 1 ) 158 #ià( defšed _ISOC99_SOURCE || defšed _ISOC9X_SOURCE \ 159 || ( defšed g__STDC_VERSION__ && __STDC_VERSION__ >= 199901L)) 160  #__USE_ISOC99 1 ) 165 #ià(! defšed __STRICT_ANSI__ && !defšed _POSIX_SOURCE && \ 166 ! defšed _POSIX_C_SOURCE ) 167  #_POSIX_SOURCE 1 ) 168 #ià defšed _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 500 169  #_POSIX_C_SOURCE 2 ) 171  #_POSIX_C_SOURCE 199506L ) 175 #ià defšed _POSIX_SOURCE || _POSIX_C_SOURCE >ð1 || defšed _XOPEN_SOURCE 176  #__USE_POSIX 1 ) 179 #ià defšed _POSIX_C_SOURCE && _POSIX_C_SOURCE >ð2 || defšed _XOPEN_SOURCE 180  #__USE_POSIX2 1 ) 183 #ià( _POSIX_C_SOURCE - 0) >= 199309L 184  #__USE_POSIX199309 1 ) 187 #ià( _POSIX_C_SOURCE - 0) >= 199506L 188  #__USE_POSIX199506 1 ) 191 #ifdef _XOPEN_SOURCE 192  #__USE_XOPEN 1 ) 193 #ià( _XOPEN_SOURCE - 0) >= 500 194  #__USE_XOPEN_EXTENDED 1 ) 195  #__USE_UNIX98 1 ) 196 #undeà _LARGEFILE_SOURCE 197  #_LARGEFILE_SOURCE 1 ) 198 #ià( _XOPEN_SOURCE - 0) >= 600 199  #__USE_XOPEN2K 1 ) 200 #undeà __USE_ISOC99 201  #__USE_ISOC99 1 ) 204 #ifdeà _XOPEN_SOURCE_EXTENDED 205  #__USE_XOPEN_EXTENDED 1 ) 210 #ifdeà _LARGEFILE_SOURCE 211  #__USE_LARGEFILE 1 ) 214 #ifdeà _LARGEFILE64_SOURCE 215  #__USE_LARGEFILE64 1 ) 218 #ià defšed _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64 219  #__USE_FILE_OFFSET64 1 ) 222 #ià defšed _BSD_SOURCE || defšed _SVID_SOURCE 223  #__USE_MISC 1 ) 226 #ifdef _BSD_SOURCE 227  #__USE_BSD 1 ) 230 #ifdef _SVID_SOURCE 231  #__USE_SVID 1 ) 234 #ifdef _GNU_SOURCE 235  #__USE_GNU 1 ) 238 #ià defšed _REENTRANT || defšed _THREAD_SAFE 239  #__USE_REENTRANT 1 ) 243  #__STDC_IEC_559__ 1 ) 244  #__STDC_IEC_559_COMPLEX__ 1 ) 247  #__STDC_ISO_10646__ 200009L ) 255 #undeà __GNU_LIBRARY__ 256  #__GNU_LIBRARY__ 6 ) 260  #__GLIBC__ 2 ) 261  #__GLIBC_MINOR__ 2 ) 270 #ià defšed __GNUC__ && defšed __GNUC_MINOR__ 271  #__GNUC_PREREQ ( maj , mš ) \ 272 (( __GNUC__ << 16è+ __GNUC_MINOR__ >ð(( maj è<< 16è+ ( mš )) ) 274  #__GNUC_PREREQ ( maj , mš è0 ) 277  #__GLIBC_PREREQ ( maj , mš ) \ 278 (( __GLIBC__ << 16è+ __GLIBC_MINOR__ >ð(( maj è<< 16è+ ( mš )) ) 281 #ià defšed __GNUC__ \ 282 || ( defšed g__PGI && defšed g__i386__ ) \ 283 || ( defšed g__INTEL_COMPILER && (defšed g__i386__ || defšed g__Ÿ64__ )) \ 284 || ( defšed g__STDC_VERSION && __STDC_VERSION >= 199901L) 285  #__GLIBC_HAVE_LONG_LONG 1 ) 289 #iâdeà __ASSEMBLER__ 290 #iâdeà _SYS_CDEFS_H 291  ~ 296 #ià defšed __USE_FILE_OFFSET64 && !defšed __REDIRECT 297  #__USE_LARGEFILE 1 ) 298  #__USE_LARGEFILE64 1 ) 304 #ià __GNUC_PREREQ (2, 7è&& defšed __OPTIMIZE__ \ 305 && ! defšed g__OPTIMIZE_SIZE__ && !defšed g__NO_INLINE__ 306  #__USE_EXTERN_INLINES 1 ) 310 #iâdeà _LIBC 320  ~ @/usr/include/getopt.h 20 #iâdeà _GETOPT_H 22 #iâdeà __Ãed_g‘Ýt 23  #_GETOPT_H 1 ) 33 #ià! defšed __GNU_LIBRARY__ 34  ~<ùy³.h > 37 #ifdef __ýlu¥lus 47 * Ý�rg ; 61  Ýtšd ; 66  Ý‹¼ ; 70  ÝtÝt ; 72 #iâdeà __Ãed_g‘Ýt 94  sÝtiÚ 96 #ià( defšed __STDC__ && __STDC__è|| defšed __ýlu¥lus 97 cÚ¡ * gÇme ; 99 * gÇme ; 103  ghas_¬g ; 104 * gæag ; 105  gv® ; 110  #no_¬gum’t 0 ) 111  #»quœed_¬gum’t 1 ) 112  #ÝtiÚ®_¬gum’t 2 ) 140 #ià( defšed __STDC__ && __STDC__è|| defšed __ýlu¥lus 141 #ifdeà __GNU_LIBRARY__ 145  g‘Ýt ( ___¬gc , *cÚ¡ * ___¬gv , cÚ¡ * __shÜtÝts ); 147  g‘Ýt (); 150 #iâdeà __Ãed_g‘Ýt 151  g‘Ýt_lÚg ( ___¬gc , *cÚ¡ * ___¬gv , 152 cÚ¡ * __shÜtÝts , 153 cÚ¡  ÝtiÚ * __lÚgÝts , * __lÚgšd ); 154  g‘Ýt_lÚg_Úly ( ___¬gc , *cÚ¡ * ___¬gv , 155 cÚ¡ * __shÜtÝts , 156 cÚ¡  ÝtiÚ * __lÚgÝts , * __lÚgšd ); 159  _g‘Ýt_š‹º® ( ___¬gc , *cÚ¡ * ___¬gv , 160 cÚ¡ * __shÜtÝts , 161 cÚ¡  ÝtiÚ * __lÚgÝts , * __lÚgšd , 162  __lÚg_Úly ); 165  g‘Ýt (); 166 #iâdeà __Ãed_g‘Ýt 167  g‘Ýt_lÚg (); 168  g‘Ýt_lÚg_Úly (); 170  _g‘Ýt_š‹º® (); 174 #ifdef __ýlu¥lus 179 #undeà __Ãed_g‘Ýt @/usr/include/libio.h 29 #iâdeà _IO_STDIO_H 30  #_IO_STDIO_H ) 32  ~<_G_cÚfig.h > 34  #_IO_pos_t _G_åos_t ) 35  #_IO_åos_t _G_åos_t ) 36  #_IO_åos64_t _G_åos64_t ) 37  #_IO_size_t _G_size_t ) 38  #_IO_ssize_t _G_ssize_t ) 39  #_IO_off_t _G_off_t ) 40  #_IO_off64_t _G_off64_t ) 41  #_IO_pid_t _G_pid_t ) 42  #_IO_uid_t _G_uid_t ) 43  #_IO_icÚv_t _G_icÚv_t ) 44  #_IO_HAVE_SYS_WAIT _G_HAVE_SYS_WAIT ) 45  #_IO_HAVE_ST_BLKSIZE _G_HAVE_ST_BLKSIZE ) 46  #_IO_BUFSIZ _G_BUFSIZ ) 47  #_IO_va_li¡ _G_va_li¡ ) 48  #_IO_wšt_t _G_wšt_t ) 50 #ifdeà _G_NEED_STDARG_H 52  #__Ãed___va_li¡ ) 53  ~<¡d¬g.h > 54 #ifdeà __GNUC_VA_LIST 55 #undeà _IO_va_li¡ 56  #_IO_va_li¡ __gnuc_va_li¡ ) 60 #iâdeà __P 61 #ià _G_HAVE_SYS_CDEFS 62  ~ 64 #ifdeà __STDC__ 65  #__P ( p è ) p 66  #__PMT ( p è ) p 68  #__P ( p è() ) 69  #__PMT ( p è() ) 75 #iâdeà _PARAMS 76  #_PARAMS ( ´Ùos è `__P ÕrÙos) ) 79 #iâdeà __STDC__ 81 cÚ¡ ) 84  #_IO_UNIFIED_JUMPTABLES 1 ) 85 #iâdeà _G_HAVE_PRINTF_FP 86  #_IO_USE_DTOA 1 ) 89 #iâdeà EOF 90  #EOF (-1) ) 92 #iâdeà NULL 93 #ià defšed __GNUG__ && \ 94 ( g__GNUC__ > 2 || (__GNUC__ =ð2 && __GNUC_MINOR__ >= 8)) 95  #NULL ( __nuÎ ) ) 97 #ià! defšed ( __ýlu¥lus ) 98  #NULL ((*)0) ) 100  #NULL (0) ) 105  #_IOS_INPUT 1 ) 106  #_IOS_OUTPUT 2 ) 107  #_IOS_ATEND 4 ) 108  #_IOS_APPEND 8 ) 109  #_IOS_TRUNC 16 ) 110  #_IOS_NOCREATE 32 ) 111  #_IOS_NOREPLACE 64 ) 112  #_IOS_BIN 128 ) 120  #_IO_MAGIC 0xFBAD0000 ) 121  #_OLD_STDIO_MAGIC 0xFABC0000 ) 122  #_IO_MAGIC_MASK 0xFFFF0000 ) 123  #_IO_USER_BUF 1 ) 124  #_IO_UNBUFFERED 2 ) 125  #_IO_NO_READS 4 ) 126  #_IO_NO_WRITES 8 ) 127  #_IO_EOF_SEEN 0x10 ) 128  #_IO_ERR_SEEN 0x20 ) 129  #_IO_DELETE_DONT_CLOSE 0x40 ) 130  #_IO_LINKED 0x80 ) 131  #_IO_IN_BACKUP 0x100 ) 132  #_IO_LINE_BUF 0x200 ) 133  #_IO_TIED_PUT_GET 0x400 ) 134  #_IO_CURRENTLY_PUTTING 0x800 ) 135  #_IO_IS_APPENDING 0x1000 ) 136  #_IO_IS_FILEBUF 0x2000 ) 137  #_IO_BAD_SEEN 0x4000 ) 138  #_IO_USER_LOCK 0x8000 ) 141  #_IO_SKIPWS 01 ) 142  #_IO_LEFT 02 ) 143  #_IO_RIGHT 04 ) 144  #_IO_INTERNAL 010 ) 145  #_IO_DEC 020 ) 146  #_IO_OCT 040 ) 147  #_IO_HEX 0100 ) 148  #_IO_SHOWBASE 0200 ) 149  #_IO_SHOWPOINT 0400 ) 150  #_IO_UPPERCASE 01000 ) 151  #_IO_SHOWPOS 02000 ) 152  #_IO_SCIENTIFIC 04000 ) 153  #_IO_FIXED 010000 ) 154  #_IO_UNITBUF 020000 ) 155  #_IO_STDIO 040000 ) 156  #_IO_DONT_CLOSE 0100000 ) 157  #_IO_BOOLALPHA 0200000 ) 160  _IO_jump_t ;  g_IO_FILE ; 163 #ifdeà _IO_MTSAFE_IO 164 #ià defšed __GLIBC__ && __GLIBC__ >= 2 165  ~ 170  t_IO_lock_t ; 176  s_IO_m¬k” { 177  _IO_m¬k” * m_Ãxt ; 178  _IO_FILE * m_sbuf ; 182  m_pos ; 184  £t_¡»ampos ( ¡»ampos ¥ è{ m_¥os = sp; } 185  £t_off£t ( off£t è{ m_pos = off£t; m_¥os = ( ¡»ampos )(-2); } 186 mpublic : 187 ¡»amm¬k” ( ¡»ambuf * sb ); 188 ~ ¡»amm¬k” (); 189  §všg (è{  m_¥os == -2; } 190  d–� ( ¡»amm¬k” &); 191  d–� (); 196 e__codecvt_»suÉ 198 m__codecvt_ok , 199 m__codecvt_·¹Ÿl , 200 m__codecvt_”rÜ , 201 m__codecvt_nocÚv 204 #ià defšed _LIBC || defšed _GLIBCPP_USE_WCHAR_T 207  s_IO_codecvt 209 (* m__codecvt_de¡r è( m_IO_codecvt *); 210 __codecvt_»suÉ (* __codecvt_do_out è( m_IO_codecvt *, 211 m__mb¡©e_t *, 212 cÚ¡ mwch¬_t *, 213 cÚ¡ mwch¬_t *, 214 cÚ¡ mwch¬_t **, *, 216 __codecvt_»suÉ (* __codecvt_do_unshiá è( m_IO_codecvt *, 217 m__mb¡©e_t *, *, 219 __codecvt_»suÉ (* __codecvt_do_š è( m_IO_codecvt *, 220 m__mb¡©e_t *, 222 cÚ¡ **, mwch¬_t *, 223 mwch¬_t *, wchar_t **); 224 (* m__codecvt_do_’codšg è( m_IO_codecvt *); 225 (* m__codecvt_do_®ways_nocÚv è( m_IO_codecvt *); 226 (* m__codecvt_do_Ëngth è( m_IO_codecvt *, m__mb¡©e_t *, 227 cÚ¡ *, cÚ¡ *, m_IO_size_t ); 228 (* m__codecvt_do_max_Ëngth è( m_IO_codecvt *); 230 _IO_icÚv_t m__cd_š ; 231 _IO_icÚv_t m__cd_out ; 235  s_IO_wide_d©a 237 wch¬_t * m_IO_»ad_±r ; 238 wch¬_t * m_IO_»ad_’d ; 239 wch¬_t * m_IO_»ad_ba£ ; 240 wch¬_t * m_IO_wr™e_ba£ ; 241 wch¬_t * m_IO_wr™e_±r ; 242 wch¬_t * m_IO_wr™e_’d ; 243 wch¬_t * m_IO_buf_ba£ ; 244 wch¬_t * m_IO_buf_’d ; 246 wch¬_t * m_IO_§ve_ba£ ; 247 wch¬_t * m_IO_backup_ba£ ; 249 wch¬_t * m_IO_§ve_’d ; 251 __mb¡©e_t m_IO_¡©e ; 252 __mb¡©e_t m_IO_Ï¡_¡©e ; 253  _IO_codecvt m_codecvt ; 255 wch¬_t m_shÜtbuf [1]; 257  _IO_jump_t * m_wide_v�bË ; 261  s_IO_FILE { 262  m_æags ; 263  #_IO_fže_æags _æags ) 267 * m_IO_»ad_±r ; 268 * m_IO_»ad_’d ; 269 * m_IO_»ad_ba£ ; 270 * m_IO_wr™e_ba£ ; 271 * m_IO_wr™e_±r ; 272 * m_IO_wr™e_’d ; 273 * m_IO_buf_ba£ ; 274 * m_IO_buf_’d ; 276 * m_IO_§ve_ba£ ; 277 * m_IO_backup_ba£ ; 278 * m_IO_§ve_’d ; 280  _IO_m¬k” * m_m¬k”s ; 282  _IO_FILE * m_chaš ; 284  m_fž’o ; 285  m_blksize ; 286 _IO_off_t m_Þd_off£t ; 288  #__HAVE_COLUMN ) 290  m_cur_cÞumn ; 291 sigÃd  m_v�bË_off£t ; 292  m_shÜtbuf [1]; 296 _IO_lock_t * m_lock ; 297 #ifdeà _IO_USE_OLD_IO_FILE 300  s_IO_FILE_com¶‘e 302  _IO_FILE m_fže ; 304 #ià defšed _G_IO_IO_FILE_VERSION && _G_IO_IO_FILE_VERSION == 0x20001 305 _IO_off64_t m_off£t ; 306 #ià defšed _LIBC || defšed _GLIBCPP_USE_WCHAR_T 308  _IO_codecvt * m_codecvt ; 309  _IO_wide_d©a * m_wide_d©a ; 311 * m__·d1 ; 312 * m__·d2 ; 314  m_mode ; 316  m_unu£d2 [15 *  () - 2 *  (*)]; 320 #iâdeà __ýlu¥lus 321  _IO_FILE t_IO_FILE ; 324  g_IO_FILE_¶us ; 326  _IO_FILE_¶us _IO_2_1_¡dš_ ; 327  _IO_FILE_¶us _IO_2_1_¡dout_ ; 328  _IO_FILE_¶us _IO_2_1_¡d”r_ ; 329 #iâdeà _LIBC 330  #_IO_¡dš (( _IO_FILE *)(& _IO_2_1_¡dš_ )) ) 331  #_IO_¡dout (( _IO_FILE *)(& _IO_2_1_¡dout_ )) ) 332  #_IO_¡d”r (( _IO_FILE *)(& _IO_2_1_¡d”r_ )) ) 334 _IO_FILE * _IO_¡dš ©Œibu‹_hidd’ ; 335 _IO_FILE * _IO_¡dout ©Œibu‹_hidd’ ; 336 _IO_FILE * _IO_¡d”r ©Œibu‹_hidd’ ; 344  __ssize_t t__io_»ad_â (* t__cook› , * t__buf , tsize_t t__nby‹s ); 352  __ssize_t t__io_wr™e_â (* t__cook› , t__cÚ¡ * t__buf , 353 tsize_t t__n ); 361  t__io_£ek_â (* t__cook› , t_IO_off64_t * t__pos ,  t__w ); 364  t__io_þo£_â (* t__cook› ); 367 #ifdeà _GNU_SOURCE 369  __io_»ad_â tcook›_»ad_funùiÚ_t ; 370  __io_wr™e_â tcook›_wr™e_funùiÚ_t ; 371  __io_£ek_â tcook›_£ek_funùiÚ_t ; 372  __io_þo£_â tcook›_þo£_funùiÚ_t ; 377 __io_»ad_â * m»ad ; 378 __io_wr™e_â * mwr™e ; 379 __io_£ek_â * m£ek ; 380 __io_þo£_â * mþo£ ; 381 } t_IO_cook›_io_funùiÚs_t ; 382  _IO_cook›_io_funùiÚs_t tcook›_io_funùiÚs_t ; 384  g_IO_cook›_fže ; 387  _IO_cook›_š™ ( _IO_cook›_fže * __cfže ,  __»ad_wr™e , 388 * __cook› , _IO_cook›_io_funùiÚs_t __âs ); 392 #ifdeà __ýlu¥lus 396  __und”æow ( _IO_FILE *è __THROW ; 397  __uæow ( _IO_FILE *è __THROW ; 398  __ov”æow ( _IO_FILE *, è __THROW ; 399 _IO_wšt_t __wund”æow ( _IO_FILE *è __THROW ; 400 _IO_wšt_t __wuæow ( _IO_FILE *è __THROW ; 401 _IO_wšt_t __wov”æow ( _IO_FILE *, _IO_wšt_tè __THROW ; 403  #_IO_g‘c_uÆocked ( _å ) \ 404 (( _å )-> _IO_»ad_±r >ð(_å)-> _IO_»ad_’d ? `__uæow (_fp) \ 405 : *(*è( _å )-> _IO_»ad_±r ++) ) 406  #_IO_³ekc_uÆocked ( _å ) \ 407 (( _å )-> _IO_»ad_±r >ð(_å)-> _IO_»ad_’d \ 408 && `__und”æow ( _å è=ð EOF ? EOF \ 409 : *(*è( _å )-> _IO_»ad_±r ) ) 410  #_IO_putc_uÆocked ( _ch , _å ) \ 411 ((( _å )-> _IO_wr™e_±r >ð(_å)-> _IO_wr™e_’d ) \ 412 ? `__ov”æow ( _å , (è( _ch )) \ 413 : (è(*( _å )-> _IO_wr™e_±r ++ = ( _ch ))) ) 415  #_IO_g‘wc_uÆocked ( _å ) \ 416 (( _å )-> _wide_d©a -> _IO_»ad_±r >ð(_å)->_wide_d©a-> _IO_»ad_’d \ 417 ? `__wuæow ( _å è: ( _IO_wšt_t è*(_å)-> _wide_d©a -> _IO_»ad_±r ++) ) 418  #_IO_putwc_uÆocked ( _wch , _å ) \ 419 (( _å )-> _wide_d©a -> _IO_wr™e_±r >ð(_å)->_wide_d©a-> _IO_wr™e_’d \ 420 ? `__wov”æow ( _å , _wch ) \ 421 : ( _IO_wšt_t è(*( _å )-> _wide_d©a -> _IO_wr™e_±r ++ = ( _wch ))) ) 423  #_IO_ãof_uÆocked ( __å è(((__å)-> _æags & _IO_EOF_SEEN è!ð0) ) 424  #_IO_ã¼Ü_uÆocked ( __å è(((__å)-> _æags & _IO_ERR_SEEN è!ð0) ) 426  _IO_g‘c ( _IO_FILE * __å è __THROW ; 427  _IO_putc ( __c , _IO_FILE * __å è __THROW ; 428  _IO_ãof ( _IO_FILE * __å è __THROW ; 429  _IO_ã¼Ü ( _IO_FILE * __å è __THROW ; 431  _IO_³ekc_locked ( _IO_FILE * __å è __THROW ; 434  #_IO_PENDING_OUTPUT_COUNT ( _å ) \ 435 (( _å )-> _IO_wr™e_±r - (_å)-> _IO_wr™e_ba£ ) ) 437  _IO_æockfže ( _IO_FILE *è __THROW ; 438  _IO_fuÆockfže ( _IO_FILE *è __THROW ; 439  _IO_árylockfže ( _IO_FILE *è __THROW ; 441 #ifdeà _IO_MTSAFE_IO 442  #_IO_³ekc ( _å è `_IO_³ekc_locked (_å) ) 443  #_IO_æockfže ( _å ) \ 444 ià((( _å )-> _æags & _IO_USER_LOCK è=ð0è `_IO_æockfže (_å) ) 445  #_IO_fuÆockfže ( _å ) \ 446 ià((( _å )-> _æags & _IO_USER_LOCK è=ð0è `_IO_fuÆockfže (_å) ) 448  #_IO_³ekc ( _å è `_IO_³ekc_uÆocked (_å) ) 449  #_IO_æockfže ( _å è ) 450  #_IO_fuÆockfže ( _å è ) 451  #_IO_árylockfže ( _å è ) 452  #_IO_þ—nup_»giÚ_¡¬t ( _fù , _å è ) 453  #_IO_þ—nup_»giÚ_’d ( _Do™ è ) 456  _IO_vfsÿnf ( _IO_FILE * __»¡riù , const * __restrict, 457 _IO_va_li¡ , * __»¡riù è __THROW ; 458  _IO_vårštf ( _IO_FILE * __»¡riù , const *__restrict, 459 _IO_va_li¡ è __THROW ; 460 _IO_ssize_t _IO_·dn ( _IO_FILE *, , _IO_ssize_tè __THROW ; 461 _IO_size_t _IO_sg‘n ( _IO_FILE *, *, _IO_size_tè __THROW ; 463 _IO_off64_t _IO_£ekoff ( _IO_FILE *, _IO_off64_t, , è __THROW ; 464 _IO_off64_t _IO_£ekpos ( _IO_FILE *, _IO_off64_t, è __THROW ; 466  _IO_ä“_backup_¬— ( _IO_FILE *è __THROW ; 468 #ià defšed _LIBC || defšed _GLIBCPP_USE_WCHAR_T 469 _IO_wšt_t _IO_g‘wc ( _IO_FILE * __å è __THROW ; 470 _IO_wšt_t _IO_putwc ( wch¬_t __wc , _IO_FILE * __å è __THROW ; 471  _IO_fwide ( _IO_FILE * __å ,  __mode è __THROW ; 472 #ià __GNUC__ >= 2 475 #ià defšed _LIBC && defšed SHARED 476  ~ 477 #ià SHLIB_COMPAT ( libc , GLIBC_2_0 , GLIBC_2_1 ) 478  #_IO_fwide_maybe_šcom·tibË \ 479 ( `__bužtš_ex³ù (& _IO_¡dš_u£d =ð NULL , 0)) ) 480 cÚ¡  _IO_¡dš_u£d ; 481 w—k_ex‹º ( _IO_¡dš_u£d ); 484 #iâdeà _IO_fwide_maybe_šcom·tibË 485  #_IO_fwide_maybe_šcom·tibË (0) ) 489  #_IO_fwide ( __å , __mode ) \ 490 ({  __»suÉ = ( __mode ); \ 491 ià( __»suÉ < 0 && ! _IO_fwide_maybe_šcom·tibË ) \ 493 ià(( __å )-> _mode == 0) \ 495 ( __å )-> _mode = -1; \ 496 __»suÉ = ( __å )-> _mode ; \ 498 ià( `__bužtš_cÚ¡ªt_p ( __mode ) && (__mode) == 0) \ 499 __»suÉ = ( __å )-> _mode ; \ 501 __»suÉ = `_IO_fwide ( __å , __result); \ 502 __»suÉ ; }) ) 505  _IO_vfwsÿnf ( _IO_FILE * __»¡riù , cÚ¡ wch¬_t * __restrict, 506 _IO_va_li¡ , * __»¡riù è __THROW ; 507  _IO_vfw´štf ( _IO_FILE * __»¡riù , cÚ¡ wch¬_t *__restrict, 508 _IO_va_li¡ è __THROW ; 509 _IO_ssize_t _IO_w·dn ( _IO_FILE *, wšt_t , _IO_ssize_tè __THROW ; 510  _IO_ä“_wbackup_¬— ( _IO_FILE *è __THROW ; 513 #ifdeà __ýlu¥lus @/usr/include/limits.h 23 #iâdeà _LIBC_LIMITS_H_ 24  #_LIBC_LIMITS_H_ 1 ) 26  ~<ã©u»s.h > 32  #MB_LEN_MAX 16 ) 37 #ià! defšed __GNUC__ || __GNUC__ < 2 42 #iâdeà _LIMITS_H 43  #_LIMITS_H 1 ) 45  ~ 54  #CHAR_BIT 8 ) 57  #SCHAR_MIN (-128) ) 58  #SCHAR_MAX 127 ) 61  #UCHAR_MAX 255 ) 64 #ifdeà __CHAR_UNSIGNED__ 65  #CHAR_MIN 0 ) 66  #CHAR_MAX UCHAR_MAX ) 68  #CHAR_MIN SCHAR_MIN ) 69  #CHAR_MAX SCHAR_MAX ) 73  #SHRT_MIN (-32768) ) 74  #SHRT_MAX 32767 ) 77  #USHRT_MAX 65535 ) 80  #INT_MIN (- INT_MAX - 1) ) 81  #INT_MAX 2147483647 ) 84  #UINT_MAX 4294967295U ) 87 #ià __WORDSIZE == 64 88  #LONG_MAX 9223372036854775807L ) 90  #LONG_MAX 2147483647L ) 92  #LONG_MIN (- LONG_MAX - 1L) ) 95 #ià __WORDSIZE == 64 96  #ULONG_MAX 18446744073709551615UL ) 98  #ULONG_MAX 4294967295UL ) 101 #ifdeà __USE_ISOC99 104  #LLONG_MAX 9223372036854775807LL ) 105  #LLONG_MIN (- LLONG_MAX - 1LL) ) 108  #ULLONG_MAX 18446744073709551615ULL ) 122 #ià defšed __GNUC__ && !defšed _GCC_LIMITS_H_ 124 #šþude_Ãxˆ< lim™s . h > 129 #ifdeà __USE_ISOC99 130 #iâdeà LLONG_MIN 131  #LLONG_MIN LONG_LONG_MIN ) 133 #iâdeà LLONG_MAX 134  #LLONG_MAX LONG_LONG_MAX ) 136 #iâdeà ULLONG_MAX 137  #ULLONG_MAX ULONG_LONG_MAX ) 142 #ifdef __USE_POSIX 144  ~ 147 #ifdef __USE_POSIX2 148  ~ 151 #ifdef __USE_XOPEN 152  ~ @/usr/include/linux/limits.h 1 #iâdeà _LINUX_LIMITS_H 2  #_LINUX_LIMITS_H ) 4  #NR_OPEN 1024 ) 6  #NGROUPS_MAX 32 ) 7  #ARG_MAX 131072 ) 8  #CHILD_MAX 999 ) 9  #OPEN_MAX 256 ) 10  #LINK_MAX 127 ) 11  #MAX_CANON 255 ) 12  #MAX_INPUT 255 ) 13  #NAME_MAX 255 ) 14  #PATH_MAX 4096 ) 15  #PIPE_BUF 4096 ) 17  #RTSIG_MAX 32 ) @/usr/include/linux/param.h 1 #iâdeà _LINUX_PARAM_H 2  #_LINUX_PARAM_H ) 4  ~ @/usr/include/rpc/netdb.h 36 #iâdeà _RPC_NETDB_H 37  #_RPC_NETDB_H 1 ) 39  ~<ã©u»s.h > 41  #__Ãed_size_t ) 42  ~<¡ddef.h > 44 __BEGIN_DECLS 46  s½ûÁ 48 * mr_Çme ; 49 ** mr_®Ÿ£s ; 50  mr_numb” ; 53  $£ŒpûÁ ( __¡ayÝ’ è __THROW ; 54  $’d½ûÁ (è __THROW ; 55  ½ûÁ * $g‘½cbyÇme ( __cÚ¡ * __Çme è __THROW ; 56  ½ûÁ * $g‘½cbynumb” ( __numb” è __THROW ; 57  ½ûÁ * $g‘½ûÁ (è __THROW ; 59 #ifdeà __USE_MISC 60  $g‘½cbyÇme_r ( __cÚ¡ * __Çme ,  ½ûÁ * __»suÉ_buf , 61 * __bufãr , size_t __buæ’ , 62  ½ûÁ ** __»suÉ è __THROW ; 64  $g‘½cbynumb”_r ( __numb” ,  ½ûÁ * __»suÉ_buf , 65 * __bufãr , size_t __buæ’ , 66  ½ûÁ ** __»suÉ è __THROW ; 68  $g‘½ûÁ_r ( ½ûÁ * __»suÉ_buf , * __bufãr , 69 size_t __buæ’ ,  ½ûÁ ** __»suÉ è __THROW ; 72 __END_DECLS @/usr/include/stdint.h 23 #iâdeà _STDINT_H 24  #_STDINT_H 1 ) 26  ~<ã©u»s.h > 27  ~ 28  ~ 35 #iâdeà __št8_t_defšed 36  #__št8_t_defšed ) 37 sigÃd  tšt8_t ; 38  tšt16_t ; 39  tšt32_t ; 40 #ià __WORDSIZE == 64 41  tšt64_t ; 43 __ex‹nsiÚ__ 44  tšt64_t ; 49  tušt8_t ; 50  tušt16_t ; 51 #iâdeà __ušt32_t_defšed 52  tušt32_t ; 53  #__ušt32_t_defšed ) 55 #ià __WORDSIZE == 64 56  tušt64_t ; 58 __ex‹nsiÚ__ 59  tušt64_t ; 66 sigÃd  tšt_Ëa¡8_t ; 67  tšt_Ëa¡16_t ; 68  tšt_Ëa¡32_t ; 69 #ià __WORDSIZE == 64 70  tšt_Ëa¡64_t ; 72 __ex‹nsiÚ__ 73  tšt_Ëa¡64_t ; 77  tušt_Ëa¡8_t ; 78  tušt_Ëa¡16_t ; 79  tušt_Ëa¡32_t ; 80 #ià __WORDSIZE == 64 81  tušt_Ëa¡64_t ; 83 __ex‹nsiÚ__ 84  tušt_Ëa¡64_t ; 91 sigÃd  tšt_ç¡8_t ; 92 #ià __WORDSIZE == 64 93  tšt_ç¡16_t ; 94  tšt_ç¡32_t ; 95  tšt_ç¡64_t ; 97  tšt_ç¡16_t ; 98  tšt_ç¡32_t ; 99 __ex‹nsiÚ__ 100  tšt_ç¡64_t ; 104  tušt_ç¡8_t ; 105 #ià __WORDSIZE == 64 106  tušt_ç¡16_t ; 107  tušt_ç¡32_t ; 108  tušt_ç¡64_t ; 110  tušt_ç¡16_t ; 111  tušt_ç¡32_t ; 112 __ex‹nsiÚ__ 113  tušt_ç¡64_t ; 118 #ià __WORDSIZE == 64 119 #iâdeà __š�Œ_t_defšed 120  tš�Œ_t ; 121  #__š�Œ_t_defšed ) 123  tuš�Œ_t ; 125 #iâdeà __š�Œ_t_defšed 126  tš�Œ_t ; 127  #__š�Œ_t_defšed ) 129  tuš�Œ_t ; 134 #ià __WORDSIZE == 64 135  tštmax_t ; 136  tuštmax_t ; 138 __ex‹nsiÚ__ 139  tštmax_t ; 140 __ex‹nsiÚ__ 141  tuštmax_t ; 147 #ià! defšed __ýlu¥lus || defšed __STDC_LIMIT_MACROS 149 #ià __WORDSIZE == 64 150  #__INT64_C ( c èø## L ) 151  #__UINT64_C ( c èø## UL ) 153  #__INT64_C ( c èø## LL ) 154  #__UINT64_C ( c èø## ULL ) 160  #INT8_MIN (-128) ) 161  #INT16_MIN (-32767-1) ) 162  #INT32_MIN (-2147483647-1) ) 163  #INT64_MIN (- `__INT64_C (9223372036854775807)-1) ) 165  #INT8_MAX (127) ) 166  #INT16_MAX (32767) ) 167  #INT32_MAX (2147483647) ) 168  #INT64_MAX ( `__INT64_C (9223372036854775807)) ) 171  #UINT8_MAX (255) ) 172  #UINT16_MAX (65535) ) 173  #UINT32_MAX (4294967295U) ) 174  #UINT64_MAX ( `__UINT64_C (18446744073709551615)) ) 178  #INT_LEAST8_MIN (-128) ) 179  #INT_LEAST16_MIN (-32767-1) ) 180  #INT_LEAST32_MIN (-2147483647-1) ) 181  #INT_LEAST64_MIN (- `__INT64_C (9223372036854775807)-1) ) 183  #INT_LEAST8_MAX (127) ) 184  #INT_LEAST16_MAX (32767) ) 185  #INT_LEAST32_MAX (2147483647) ) 186  #INT_LEAST64_MAX ( `__INT64_C (9223372036854775807)) ) 189  #UINT_LEAST8_MAX (255) ) 190  #UINT_LEAST16_MAX (65535) ) 191  #UINT_LEAST32_MAX (4294967295U) ) 192  #UINT_LEAST64_MAX ( `__UINT64_C (18446744073709551615)) ) 196  #INT_FAST8_MIN (-128) ) 197 #ià __WORDSIZE == 64 198  #INT_FAST16_MIN (-9223372036854775807L-1) ) 199  #INT_FAST32_MIN (-9223372036854775807L-1) ) 201  #INT_FAST16_MIN (-2147483647-1) ) 202  #INT_FAST32_MIN (-2147483647-1) ) 204  #INT_FAST64_MIN (- `__INT64_C (9223372036854775807)-1) ) 206  #INT_FAST8_MAX (127) ) 207 #ià __WORDSIZE == 64 208  #INT_FAST16_MAX (9223372036854775807L) ) 209  #INT_FAST32_MAX (9223372036854775807L) ) 211  #INT_FAST16_MAX (2147483647) ) 212  #INT_FAST32_MAX (2147483647) ) 214  #INT_FAST64_MAX ( `__INT64_C (9223372036854775807)) ) 217  #UINT_FAST8_MAX (255) ) 218 #ià __WORDSIZE == 64 219  #UINT_FAST16_MAX (18446744073709551615UL) ) 220  #UINT_FAST32_MAX (18446744073709551615UL) ) 222  #UINT_FAST16_MAX (4294967295U) ) 223  #UINT_FAST32_MAX (4294967295U) ) 225  #UINT_FAST64_MAX ( `__UINT64_C (18446744073709551615)) ) 229 #ià __WORDSIZE == 64 230  #INTPTR_MIN (-9223372036854775807L-1) ) 231  #INTPTR_MAX (9223372036854775807L) ) 232  #UINTPTR_MAX (18446744073709551615UL) ) 234  #INTPTR_MIN (-2147483647-1) ) 235  #INTPTR_MAX (2147483647) ) 236  #UINTPTR_MAX (4294967295U) ) 241  #INTMAX_MIN (- `__INT64_C (9223372036854775807)-1) ) 243  #INTMAX_MAX ( `__INT64_C (9223372036854775807)) ) 246  #UINTMAX_MAX ( `__UINT64_C (18446744073709551615)) ) 252 #ià __WORDSIZE == 64 253  #PTRDIFF_MIN (-9223372036854775807L-1) ) 254  #PTRDIFF_MAX (9223372036854775807L) ) 256  #PTRDIFF_MIN (-2147483647-1) ) 257  #PTRDIFF_MAX (2147483647) ) 261  #SIG_ATOMIC_MIN (-2147483647-1) ) 262  #SIG_ATOMIC_MAX (2147483647) ) 265 #ià __WORDSIZE == 64 266  #SIZE_MAX (18446744073709551615UL) ) 268  #SIZE_MAX (4294967295U) ) 272 #iâdeà WCHAR_MIN 274  #WCHAR_MIN __WCHAR_MIN ) 275  #WCHAR_MAX __WCHAR_MAX ) 279  #WINT_MIN (0u) ) 280  #WINT_MAX (4294967295u) ) 287 #ià! defšed __ýlu¥lus || defšed __STDC_CONSTANT_MACROS 290  #INT8_C ( c è ) c 291  #INT16_C ( c è ) c 292  #INT32_C ( c è ) c 293 #ià __WORDSIZE == 64 294  #INT64_C ( c èø## L ) 296  #INT64_C ( c èø## LL ) 300  #UINT8_C ( c èø## U ) 301  #UINT16_C ( c èø## U ) 302  #UINT32_C ( c èø## U ) 303 #ià __WORDSIZE == 64 304  #UINT64_C ( c èø## UL ) 306  #UINT64_C ( c èø## ULL ) 310 #ià __WORDSIZE == 64 311  #INTMAX_C ( c èø## L ) 312  #UINTMAX_C ( c èø## UL ) 314  #INTMAX_C ( c èø## LL ) 315  #UINTMAX_C ( c èø## ULL ) @/usr/include/sys/sysmacros.h 20 #iâdeà _SYS_SYSMACROS_H 21  #_SYS_SYSMACROS_H 1 ) 27 #ià defšed __GNUC__ && __GNUC__ >= 2 28  #majÜ ( dev è(()(((devè>> 8è& 0xff)) ) 29  #mšÜ ( dev è(()((devè& 0xff)) ) 30  #makedev ( majÜ , mšÜ ) (((() (major)) << 8) \ 31 | ((è( mšÜ ))) ) 35  ~<’dŸn.h > 36 #ià __BYTE_ORDER =ð __BIG_ENDIAN 37  #majÜ ( dev è(((dev). __v® [1] >> 8è& 0xff) ) 38  #mšÜ ( dev è((dev). __v® [1] & 0xff) ) 39  #makedev ( majÜ , mšÜ ) { 0, (((() (major)) << 8) \ 40 | ((è( mšÜ ))è} ) 42  #majÜ ( dev è(((dev). __v® [0] >> 8è& 0xff) ) 43  #mšÜ ( dev è((dev). __v® [0] & 0xff) ) 44  #makedev ( majÜ , mšÜ ) { (((() (major)) << 8) \ 45 | ((è( mšÜ ))), 0 } ) @/usr/include/sys/ttydefaults.h 40 #iâdeà _SYS_TTYDEFAULTS_H_ 41  #_SYS_TTYDEFAULTS_H_ ) 46  #TTYDEF_IFLAG ( BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY ) ) 47  #TTYDEF_OFLAG ( OPOST | ONLCR | XTABS ) ) 48  #TTYDEF_LFLAG ( ECHO | ICANON | ISIG | IEXTEN | ECHOE | ECHOKE | ECHOCTL ) ) 49  #TTYDEF_CFLAG ( CREAD | CS7 | PARENB | HUPCL ) ) 50  #TTYDEF_SPEED ( B9600 ) ) 55  #CTRL ( x è(x&037) ) 56  #CEOF `CTRL ('d') ) 57 #ifdeà _POSIX_VDISABLE 58  #CEOL _POSIX_VDISABLE ) 60  #CEOL '\0' ) 62  #CERASE 0177 ) 63  #CINTR `CTRL ('c') ) 64 #ifdeà _POSIX_VDISABLE 65  #CSTATUS _POSIX_VDISABLE ) 67  #CSTATUS '\0' ) 69  #CKILL `CTRL ('u') ) 70  #CMIN 1 ) 71  #CQUIT 034 ) 72  #CSUSP `CTRL ('z') ) 73  #CTIME 0 ) 74  #CDSUSP `CTRL ('y') ) 75  #CSTART `CTRL ('q') ) 76  #CSTOP `CTRL ('s') ) 77  #CLNEXT `CTRL ('v') ) 78  #CDISCARD `CTRL ('o') ) 79  #CWERASE `CTRL ('w') ) 80  #CREPRINT `CTRL ('r') ) 81  #CEOT CEOF ) 83  #CBRK CEOL ) 84  #CRPRNT CREPRINT ) 85  #CFLUSH CDISCARD ) 93 #ifdeà TTYDEFCHARS 94 cc_t g‰ydefch¬s [ NCCS ] = { 95 CEOF , CEOL , CEOL, CERASE , CWERASE , CKILL , CREPRINT , 96 _POSIX_VDISABLE , CINTR , CQUIT , CSUSP , CDSUSP , CSTART , CSTOP , CLNEXT , 97 CDISCARD , CMIN , CTIME , CSTATUS , _POSIX_VDISABLE 99 #undeà TTYDEFCHARS @/usr/include/sys/uio.h 19 #iâdeà _SYS_UIO_H 20  #_SYS_UIO_H 1 ) 22  ~<ã©u»s.h > 24  ~ 26 g__BEGIN_DECLS 29  ~ 37 ssize_t $»adv ( __fd , __cÚ¡  iovec * __veùÜ ,  __couÁ ) 38 __THROW ; 45 ssize_t $wr™ev ( __fd , __cÚ¡  iovec * __veùÜ ,  __couÁ ) 46 __THROW ; 48 __END_DECLS @/usr/include/ucontext.h 21 #iâdeà _UCONTEXT_H 22  #_UCONTEXT_H 1 ) 24  ~<ã©u»s.h > 27  ~ 29 __BEGIN_DECLS 32  $g‘cÚ‹xt ( ucÚ‹xt_t * __uý è __THROW ; 35  $£tcÚ‹xt ( __cÚ¡ ucÚ‹xt_t * __uý è __THROW ; 39  $sw­cÚ‹xt ( ucÚ‹xt_t * __»¡riù __ouý , 40 __cÚ¡ ucÚ‹xt_t * __»¡riù __uý è __THROW ; 48  `makecÚ‹xt ( ucÚ‹xt_t * __uý , (* __func ) (), 49  __¬gc , ...è __THROW ; 51 __END_DECLS @/usr/include/xlocale.h 21 #iâdeà _XLOCALE_H 22  #_XLOCALE_H 1 ) 28  s__loÿË_¡ruù 31  loÿË_d©a * m__loÿËs [13]; 34 cÚ¡ * m__ùy³_b ; 35 cÚ¡ * m__ùy³_tÞow” ; 36 cÚ¡ * m__ùy³_touµ” ; 37 } * t__loÿË_t ; @/usr/include/_G_config.h 4 #iâdeà _G_cÚfig_h 5  #_G_cÚfig_h 1 ) 9  ~ 10  #__Ãed_size_t ) 11  #__Ãed_wch¬_t ) 12  #__Ãed_wšt_t ) 13  #__Ãed_NULL ) 14  ~<¡ddef.h > 15 #iâdeà _WINT_T 20  #_WINT_T ) 21  twšt_t ; 23  #__Ãed_mb¡©e_t ) 24  ~ 25  #_G_size_t size_t ) 28 __off_t m__pos ; 29 __mb¡©e_t m__¡©e ; 30 } t_G_åos_t ; 33 __off64_t m__pos ; 34 __mb¡©e_t m__¡©e ; 35 } t_G_åos64_t ; 36  #_G_ssize_t __ssize_t ) 37  #_G_off_t __off_t ) 38  #_G_off64_t __off64_t ) 39  #_G_pid_t __pid_t ) 40  #_G_uid_t __uid_t ) 41  #_G_wch¬_t wch¬_t ) 42  #_G_wšt_t wšt_t ) 43  #_G_¡©64 ¡©64 ) 44  ~ 47  __gcÚv_šfo m__cd ; 50  __gcÚv_šfo m__cd ; 51  __gcÚv_¡•_d©a m__d©a ; 52 } m__combšed ; 53 } t_G_icÚv_t ; 55  t_G_št16_t t__©Œibu‹__ (( t__mode__ ( t__HI__ ))); 56  t_G_št32_t t__©Œibu‹__ (( t__mode__ ( t__SI__ ))); 57  t_G_ušt16_t t__©Œibu‹__ (( t__mode__ ( t__HI__ ))); 58  t_G_ušt32_t t__©Œibu‹__ (( t__mode__ ( t__SI__ ))); 60  #_G_HAVE_BOOL 1 ) 64  #_G_HAVE_ATEXIT 1 ) 65  #_G_HAVE_SYS_CDEFS 1 ) 66  #_G_HAVE_SYS_WAIT 1 ) 67  #_G_NEED_STDARG_H 1 ) 68  #_G_va_li¡ __gnuc_va_li¡ ) 70  #_G_HAVE_PRINTF_FP 1 ) 71  #_G_HAVE_MMAP 1 ) 72  #_G_HAVE_LONG_DOUBLE_IO 1 ) 73  #_G_HAVE_IO_FILE_OPEN 1 ) 74  #_G_HAVE_IO_GETLINE_INFO 1 ) 76  #_G_IO_IO_FILE_VERSION 0x20001 ) 78  #_G_OPEN64 __Ý’64 ) 79  #_G_LSEEK64 __l£ek64 ) 80  #_G_MMAP64 __mm­64 ) 81  #_G_FSTAT64 ( fd , buf è `__fx¡©64 ( _STAT_VER , fd, buf) ) 84  #_G_HAVE_ST_BLKSIZE `defšed ( _STATBUF_ST_BLKSIZE ) ) 86  #_G_BUFSIZ 8192 ) 89  #_G_NAMES_HAVE_UNDERSCORE 0 ) 90  #_G_VTABLE_LABEL_HAS_LENGTH 1 ) 91  #_G_USING_THUNKS 1 ) 92  #_G_VTABLE_LABEL_PREFIX "__vt_" ) 93  #_G_VTABLE_LABEL_PREFIX_ID __vt_ ) 96 #ià defšed __ýlu¥lus || defšed __STDC__ 97  #_G_ARGS ( ARGLIST è ) ARGLIST 99  #_G_ARGS ( ARGLIST è() ) @/usr/include/asm/ioctls.h 1 #iâdeà __ARCH_I386_IOCTLS_H__ 2  #__ARCH_I386_IOCTLS_H__ ) 4  ~ 8  #TCGETS 0x5401 ) 9  #TCSETS 0x5402 ) 10  #TCSETSW 0x5403 ) 11  #TCSETSF 0x5404 ) 12  #TCGETA 0x5405 ) 13  #TCSETA 0x5406 ) 14  #TCSETAW 0x5407 ) 15  #TCSETAF 0x5408 ) 16  #TCSBRK 0x5409 ) 17  #TCXONC 0x540A ) 18  #TCFLSH 0x540B ) 19  #TIOCEXCL 0x540C ) 20  #TIOCNXCL 0x540D ) 21  #TIOCSCTTY 0x540E ) 22  #TIOCGPGRP 0x540F ) 23  #TIOCSPGRP 0x5410 ) 24  #TIOCOUTQ 0x5411 ) 25  #TIOCSTI 0x5412 ) 26  #TIOCGWINSZ 0x5413 ) 27  #TIOCSWINSZ 0x5414 ) 28  #TIOCMGET 0x5415 ) 29  #TIOCMBIS 0x5416 ) 30  #TIOCMBIC 0x5417 ) 31  #TIOCMSET 0x5418 ) 32  #TIOCGSOFTCAR 0x5419 ) 33  #TIOCSSOFTCAR 0x541A ) 34  #FIONREAD 0x541B ) 35  #TIOCINQ FIONREAD ) 36  #TIOCLINUX 0x541C ) 37  #TIOCCONS 0x541D ) 38  #TIOCGSERIAL 0x541E ) 39  #TIOCSSERIAL 0x541F ) 40  #TIOCPKT 0x5420 ) 41  #FIONBIO 0x5421 ) 42  #TIOCNOTTY 0x5422 ) 43  #TIOCSETD 0x5423 ) 44  #TIOCGETD 0x5424 ) 45  #TCSBRKP 0x5425 ) 46  #TIOCTTYGSTRUCT 0x5426 ) 47  #TIOCSBRK 0x5427 ) 48  #TIOCCBRK 0x5428 ) 49  #TIOCGSID 0x5429 ) 50  #TIOCGPTN `_IOR ('T',0x30, è ) 51  #TIOCSPTLCK `_IOW ('T',0x31, è ) 53  #FIONCLEX 0x5450 ) 54  #FIOCLEX 0x5451 ) 55  #FIOASYNC 0x5452 ) 56  #TIOCSERCONFIG 0x5453 ) 57  #TIOCSERGWILD 0x5454 ) 58  #TIOCSERSWILD 0x5455 ) 59  #TIOCGLCKTRMIOS 0x5456 ) 60  #TIOCSLCKTRMIOS 0x5457 ) 61  #TIOCSERGSTRUCT 0x5458 ) 62  #TIOCSERGETLSR 0x5459 ) 63  #TIOCSERGETMULTI 0x545A ) 64  #TIOCSERSETMULTI 0x545B ) 66  #TIOCMIWAIT 0x545C ) 67  #TIOCGICOUNT 0x545D ) 68  #TIOCGHAYESESP 0x545E ) 69  #TIOCSHAYESESP 0x545F ) 70  #FIOQSIZE 0x5460 ) 73  #TIOCPKT_DATA 0 ) 74  #TIOCPKT_FLUSHREAD 1 ) 75  #TIOCPKT_FLUSHWRITE 2 ) 76  #TIOCPKT_STOP 4 ) 77  #TIOCPKT_START 8 ) 78  #TIOCPKT_NOSTOP 16 ) 79  #TIOCPKT_DOSTOP 32 ) 81  #TIOCSER_TEMT 0x01 ) @/usr/include/asm/param.h 1 #iâdeà _ASMi386_PARAM_H 2  #_ASMi386_PARAM_H ) 4 #iâdeà HZ 5  #HZ 100 ) 8  #EXEC_PAGESIZE 4096 ) 10 #iâdeà NGROUPS 11  #NGROUPS 32 ) 14 #iâdeà NOGROUP 15  #NOGROUP (-1) ) 18  #MAXHOSTNAMELEN 64 ) @/usr/include/asm/sigcontext.h 1 #iâdeà _ASMi386_SIGCONTEXT_H 2  #_ASMi386_SIGCONTEXT_H ) 18  s_å»g { 19  msignifiÿnd [4]; 20  mexpÚ’t ; 23  s_åx»g { 24  msignifiÿnd [4]; 25  mexpÚ’t ; 26  m·ddšg [3]; 29  s_xmm»g { 30  m–em’t [4]; 33  s_å¡©e { 35  mcw ; 36  msw ; 37  m�g ; 38  m�off ; 39  mcs£l ; 40  md©aoff ; 41  md©a£l ; 42  _å»g m_¡ [8]; 43  m¡©us ; 44  mmagic ; 47  m_fx¤_’v [6]; 48  mmxc¤ ; 49  m»£rved ; 50  _åx»g m_fx¤_¡ [8]; 51  _xmm»g m_xmm [8]; 52  m·ddšg [56]; 55  #X86_FXSR_MAGIC 0x0000 ) 57  ssigcÚ‹xt { 58  mgs , m__gsh ; 59  mfs , m__fsh ; 60  mes , m__esh ; 61  mds , m__dsh ; 62  medi ; 63  mesi ; 64  mebp ; 65  me¥ ; 66  mebx ; 67  medx ; 68  mecx ; 69  m—x ; 70  mŒ­no ; 71  m”r ; 72  me� ; 73  mcs , m__csh ; 74  meæags ; 75  me¥_©_sigÇl ; 76  mss , m__ssh ; 77  _å¡©e * må¡©e ; 78  mÞdmask ; 79  mü2 ; @/usr/include/asm/socket.h 1 #iâdeà _ASM_SOCKET_H 2  #_ASM_SOCKET_H ) 4  ~ 7  #SOL_SOCKET 1 ) 9  #SO_DEBUG 1 ) 10  #SO_REUSEADDR 2 ) 11  #SO_TYPE 3 ) 12  #SO_ERROR 4 ) 13  #SO_DONTROUTE 5 ) 14  #SO_BROADCAST 6 ) 15  #SO_SNDBUF 7 ) 16  #SO_RCVBUF 8 ) 17  #SO_KEEPALIVE 9 ) 18  #SO_OOBINLINE 10 ) 19  #SO_NO_CHECK 11 ) 20  #SO_PRIORITY 12 ) 21  #SO_LINGER 13 ) 22  #SO_BSDCOMPAT 14 ) 24  #SO_PASSCRED 16 ) 25  #SO_PEERCRED 17 ) 26  #SO_RCVLOWAT 18 ) 27  #SO_SNDLOWAT 19 ) 28  #SO_RCVTIMEO 20 ) 29  #SO_SNDTIMEO 21 ) 32  #SO_SECURITY_AUTHENTICATION 22 ) 33  #SO_SECURITY_ENCRYPTION_TRANSPORT 23 ) 34  #SO_SECURITY_ENCRYPTION_NETWORK 24 ) 36  #SO_BINDTODEVICE 25 ) 39  #SO_ATTACH_FILTER 26 ) 40  #SO_DETACH_FILTER 27 ) 42  #SO_PEERNAME 28 ) 43  #SO_TIMESTAMP 29 ) 44  #SCM_TIMESTAMP SO_TIMESTAMP ) 46  #SO_ACCEPTCONN 30 ) 49 #ià defšed ( __KERNEL__ è|| !defšed( __GLIBC__ ) || (__GLIBC__ < 2) 51  #SOCK_STREAM 1 ) 52  #SOCK_DGRAM 2 ) 53  #SOCK_RAW 3 ) 54  #SOCK_RDM 4 ) 55  #SOCK_SEQPACKET 5 ) 56  #SOCK_PACKET 10 ) 61  #SOCK_MAX ( SOCK_PACKET +1) ) @/usr/include/bits/endian.h 3 #iâdeà _ENDIAN_H 7  #__BYTE_ORDER __LITTLE_ENDIAN ) @/usr/include/bits/local_lim.h 25 #iâdeà NR_OPEN 26  #__undef_NR_OPEN ) 28 #iâdeà LINK_MAX 29  #__undef_LINK_MAX ) 31 #iâdeà OPEN_MAX 32  #__undef_OPEN_MAX ) 36  ~ 39 #ifdeà __undef_NR_OPEN 40 #undeà NR_OPEN 41 #undeà __undef_NR_OPEN 44 #ifdeà __undef_LINK_MAX 45 #undeà LINK_MAX 46 #undeà __undef_LINK_MAX 49 #ifdeà __undef_OPEN_MAX 50 #undeà OPEN_MAX 51 #undeà __undef_OPEN_MAX 55  #_POSIX_THREAD_KEYS_MAX 128 ) 57  #PTHREAD_KEYS_MAX 1024 ) 60  #_POSIX_THREAD_DESTRUCTOR_ITERATIONS 4 ) 62  #PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS ) 65  #_POSIX_THREAD_THREADS_MAX 64 ) 67  #PTHREAD_THREADS_MAX 1024 ) 71  #AIO_PRIO_DELTA_MAX 20 ) 74  #PTHREAD_STACK_MIN 16384 ) 77  #TIMER_MAX 256 ) 80  #DELAYTIMER_MAX 2147483647 ) @/usr/include/bits/posix2_lim.h 23 #iâdef _BITS_POSIX2_LIM_H 24  #_BITS_POSIX2_LIM_H 1 ) 28  #_POSIX2_BC_BASE_MAX 99 ) 31  #_POSIX2_BC_DIM_MAX 2048 ) 34  #_POSIX2_BC_SCALE_MAX 99 ) 37  #_POSIX2_BC_STRING_MAX 1000 ) 41  #_POSIX2_COLL_WEIGHTS_MAX 2 ) 45  #_POSIX2_EXPR_NEST_MAX 32 ) 48  #_POSIX2_LINE_MAX 2048 ) 52  #_POSIX2_RE_DUP_MAX 255 ) 56  #_POSIX2_CHARCLASS_NAME_MAX 14 ) 63 #iâdef BC_BASE_MAX 64  #BC_BASE_MAX _POSIX2_BC_BASE_MAX ) 66 #iâdef BC_DIM_MAX 67  #BC_DIM_MAX _POSIX2_BC_DIM_MAX ) 69 #iâdef BC_SCALE_MAX 70  #BC_SCALE_MAX _POSIX2_BC_SCALE_MAX ) 72 #iâdef BC_STRING_MAX 73  #BC_STRING_MAX _POSIX2_BC_STRING_MAX ) 75 #iâdef COLL_WEIGHTS_MAX 76  #COLL_WEIGHTS_MAX 255 ) 78 #iâdef EXPR_NEST_MAX 79  #EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX ) 81 #iâdef LINE_MAX 82  #LINE_MAX _POSIX2_LINE_MAX ) 84 #iâdef CHARCLASS_NAME_MAX 85  #CHARCLASS_NAME_MAX 2048 ) 89  #RE_DUP_MAX (0x7fff) ) @/usr/include/bits/pthreadtypes.h 15 #ià! defšed _BITS_TYPES_H && !defšed _PTHREAD_H 19 #iâdeà _BITS_PTHREADTYPES_H 20  #_BITS_PTHREADTYPES_H 1 ) 22  #__Ãed_sched·¿m ) 23  ~ 26  s_±h»ad_ç¡lock 28  m__¡©us ; 29  m__¥šlock ; 33 #iâdeà _PTHREAD_DESCR_DEFINED 35  _±h»ad_desü_¡ruù * t_±h»ad_desü ; 36  #_PTHREAD_DESCR_DEFINED ) 41  s__±h»ad_©Œ_s 43  m__d‘ach¡©e ; 44  m__schedpÞicy ; 45  __sched_·¿m m__sched·¿m ; 46  m__šh”™sched ; 47  m__scÝe ; 48 size_t m__gu¬dsize ; 49  m__¡ackaddr_£t ; 50 * m__¡ackaddr ; 51 size_t m__¡acksize ; 52 } t±h»ad_©Œ_t ; 58  _±h»ad_ç¡lock m__c_lock ; 59 _±h»ad_desü m__c_wa™šg ; 60 } t±h»ad_cÚd_t ; 66  m__dummy ; 67 } t±h»ad_cÚd©Œ_t ; 70  t±h»ad_key_t ; 78  m__m_»£rved ; 79  m__m_couÁ ; 80 _±h»ad_desü m__m_owÃr ; 81  m__m_kšd ; 82  _±h»ad_ç¡lock m__m_lock ; 83 } t±h»ad_mu‹x_t ; 89  m__mu‹xkšd ; 90 } t±h»ad_mu‹x©Œ_t ; 94  t±h»ad_Úû_t ; 97 #ifdeà __USE_UNIX98 99  s_±h»ad_rwlock_t 101  _±h»ad_ç¡lock m__rw_lock ; 102  m__rw_»ad”s ; 103 _±h»ad_desü m__rw_wr™” ; 104 _±h»ad_desü m__rw_»ad_wa™šg ; 105 _±h»ad_desü m__rw_wr™e_wa™šg ; 106  m__rw_kšd ; 107  m__rw_psh¬ed ; 108 } t±h»ad_rwlock_t ; 114  m__lockkšd ; 115  m__psh¬ed ; 116 } t±h»ad_rwlock©Œ_t ; 119 #ifdeà __USE_XOPEN2K 121 vÞ©ž� t±h»ad_¥šlock_t ; 125  _±h»ad_ç¡lock m__ba_lock ; 126  m__ba_»quœed ; 127  m__ba_´e£Á ; 128 _±h»ad_desü m__ba_wa™šg ; 129 } t±h»ad_b¬r›r_t ; 133  m__psh¬ed ; 134 } t±h»ad_b¬r›¿‰r_t ; 140  t±h»ad_t ; @/usr/include/bits/sockaddr.h 24 #iâdeà _BITS_SOCKADDR_H 25  #_BITS_SOCKADDR_H 1 ) 29  t§_çmžy_t ; 35  #__SOCKADDR_COMMON ( §_´efix ) \ 36 §_çmžy_t §_´efix ## çmžy ) 38  #__SOCKADDR_COMMON_SIZE ( ()) ) @/usr/include/bits/stdio-lock.h 20 #iâdeà _BITS_STDIO_LOCK_H 21  #_BITS_STDIO_LOCK_H 1 ) 23  ~ 25 $__libc_lock_defše_»cursive (, _IO_lock_t ) 28 #ifdeà t_LIBC_LOCK_RECURSIVE_INITIALIZER 29  t_IO_lock_š™Ÿliz” t_LIBC_LOCK_RECURSIVE_INITIALIZER ) 30 #–ià t_IO_MTSAFE_IO 31 #”rÜ tlibio tÃeds t»cursive tmu‹xes  t_IO_MTSAFE_IO 34  t_IO_lock_š™ ( t_Çme è t__libc_lock_š™_»cursive (_Çme) ) 35  t_IO_lock_fši ( t_Çme è t__libc_lock_fši_»cursive (_Çme) ) 36  t_IO_lock_lock ( t_Çme è t__libc_lock_lock_»cursive (_Çme) ) 37  t_IO_lock_uÆock ( t_Çme è t__libc_lock_uÆock_»cursive (_Çme) ) 40  t_IO_þ—nup_»giÚ_¡¬t ( t_fù , t_å ) \ 41 t__libc_þ—nup_»giÚ_¡¬t ((( t_å )-> t_æags & t_IO_USER_LOCK è=ð0, t_fù , _å) ) 42  t_IO_þ—nup_»giÚ_¡¬t_nßrg ( t_fù ) \ 43 t__libc_þ—nup_»giÚ_¡¬t (1, t_fù , tNULL ) ) 44  t_IO_þ—nup_»giÚ_’d ( t_do™ ) \ 45 t__libc_þ—nup_»giÚ_’d ( t_do™ ) ) @/usr/include/bits/uio.h 19 #iâdeà _SYS_UIO_H 24  ~ 38  #UIO_MAXIOV 1024 ) 42  siovec 44 * miov_ba£ ; 45 size_t miov_Ën ; @/usr/include/bits/wchar.h 20 #iâdeà _BITS_WCHAR_H 21  #_BITS_WCHAR_H 1 ) 23  #__WCHAR_MIN (-2147483647È- 1l) ) 24  #__WCHAR_MAX (2147483647l) ) @/usr/include/bits/wordsize.h 19  #__WORDSIZE 32 ) @/usr/include/bits/xopen_lim.h 30 #iâdeà _XOPEN_LIM_H 31  #_XOPEN_LIM_H 1 ) 33  #__Ãed_IOV_MAX ) 34  ~ 66  #_XOPEN_IOV_MAX _POSIX_UIO_MAXIOV ) 71  #NL_ARGMAX _POSIX_ARG_MAX ) 74  #NL_LANGMAX _POSIX2_LINE_MAX ) 77  #NL_MSGMAX INT_MAX ) 81  #NL_NMAX INT_MAX ) 84  #NL_SETMAX INT_MAX ) 87  #NL_TEXTMAX INT_MAX ) 90  #NZERO 20 ) 94 #ifdeà INT_MAX 95 #ià INT_MAX == 32767 96  #WORD_BIT 16 ) 98 #ià INT_MAX == 2147483647 99  #WORD_BIT 32 ) 102  #WORD_BIT 64 ) 105 #–ià defšed __INT_MAX__ 106 #ià __INT_MAX__ == 32767 107  #WORD_BIT 16 ) 109 #ià __INT_MAX__ == 2147483647 110  #WORD_BIT 32 ) 113  #WORD_BIT 64 ) 117  #WORD_BIT 32 ) 121 #ifdeà LONG_MAX 122 #ià LONG_MAX == 2147483647 123  #LONG_BIT 32 ) 126  #LONG_BIT 64 ) 128 #–ià defšed __LONG_MAX__ 129 #ià __LONG_MAX__ == 2147483647 130  #LONG_BIT 32 ) 133  #LONG_BIT 64 ) 136  ~ 137 #ià __WORDSIZE == 64 138  #LONG_BIT 64 ) 140  #LONG_BIT 32 ) @/usr/include/gnu/stubs.h 5  #__¡ub___k”Ãl_co¦ ) 6  #__¡ub___k”Ãl_sšl ) 7  #__¡ub___k”Ãl_�Æ ) 8  #__¡ub_chæags ) 9  #__¡ub_ç‰ach ) 10  #__¡ub_fchæags ) 11  #__¡ub_fd‘ach ) 12  #__¡ub_ãxecve ) 13  #__¡ub_g‰y ) 14  #__¡ub_posix_çdvi£ ) 15  #__¡ub_posix_çdvi£64 ) 16  #__¡ub_»voke ) 17  #__¡ub_£Žogš ) 18  #__¡ub_sig»tuº ) 19  #__¡ub_s¡k ) 20  #__¡ub_¡ty ) @/usr/include/linux/errno.h 1 #iâdeà _LINUX_ERRNO_H 2  #_LINUX_ERRNO_H ) 4  ~ @/usr/include/sys/cdefs.h 19 #iâdef _SYS_CDEFS_H 20  #_SYS_CDEFS_H 1 ) 23 #iâdeà _FEATURES_H 24  ~<ã©u»s.h > 30 #ià defšed __GNUC__ && !defšed __STDC__ 35 #undeà __P 36 #undeà __PMT 38 #ifdeà __GNUC__ 43 #ià defšed __ýlu¥lus && __GNUC_PREREQ (2,8) 44  #__THROW `throw () ) 46  #__THROW ) 48  #__P ( ¬gs è¬g  __THROW ) 51  #__PMT ( ¬gs è ) args 55  #__šlše ) 57  #__THROW ) 58  #__P ( ¬gs è ) args 59  #__PMT ( ¬gs è ) args 61  #__cÚ¡ cÚ¡ ) 62  #__sigÃd sigÃd ) 63  #__vÞ©že vÞ©že ) 70  #__CONCAT ( x , y èx ## ) y 71  #__STRING ( x è#x ) 74  #__±r_t * ) 75  #__lÚg_doubË_t  ) 79 #ifdef __ýlu¥lus 80  #__BEGIN_DECLS "C" { ) 81  #__END_DECLS } ) 83  #__BEGIN_DECLS ) 84  #__END_DECLS ) 89 #iâdeà __BOUNDED_POINTERS__ 90  #__bounded ) 91  #__unbounded ) 92  #__±rv®ue ) 97 #ià __GNUC_PREREQ (2,97) 99  #__æex¬r [] ) 101 #ifdeà __GNUC__ 102  #__æex¬r [0] ) 104 #ià defšed __STDC_VERSION__ && __STDC_VERSION__ >= 199901L 105  #__æex¬r [] ) 108  #__æex¬r [1] ) 124 #ià defšed __GNUC__ && __GNUC__ >= 2 126  #__REDIRECT ( Çme , ´Ùo , ®Ÿs èÇm�´ÙØ `__asm__ ( `__ASMNAME (#®Ÿs)) ) 127  #__ASMNAME ( úame è `__ASMNAME2 ( __USER_LABEL_PREFIX__ , cÇme) ) 128  #__ASMNAME2 ( ´efix , úame è `__STRING (´efixè ) cname 141 #ià! defšed __GNUC__ || __GNUC__ < 2 142  #__©Œibu‹__ ( xyz è ) 148 #ià __GNUC_PREREQ (2,96) 149  #__©Œibu‹_m®loc__ `__©Œibu‹__ (( __m®loc__ )) ) 151  #__©Œibu‹_m®loc__ ) 157 #ià __GNUC_PREREQ (2,96) 158  #__©Œibu‹_pu»__ `__©Œibu‹__ (( __pu»__ )) ) 160  #__©Œibu‹_pu»__ ) 166 #ià __GNUC_PREREQ (3,1) 167  #__©Œibu‹_u£d__ `__©Œibu‹__ (( __u£d__ )) ) 168  #__©Œibu‹_nošlše__ `__©Œibu‹__ (( __nošlše__ )) ) 170  #__©Œibu‹_u£d__ `__©Œibu‹__ (( __unu£d__ )) ) 171  #__©Œibu‹_nošlše__ ) 180 #ià __GNUC_PREREQ (2,8) 181  #__©Œibu‹_fÜm©_¬g__ ( x è `__©Œibu‹__ (( `__fÜm©_¬g__ (x))) ) 183  #__©Œibu‹_fÜm©_¬g__ ( x è ) 190 #ià __GNUC_PREREQ (2,97) 191  #__©Œibu‹_fÜm©_¡rfmÚ__ ( a , b ) \ 192 `__©Œibu‹__ (( `__fÜm©__ ( __¡rfmÚ__ , a , b ))) ) 194  #__©Œibu‹_fÜm©_¡rfmÚ__ ( a , b è ) 201 #ià! __GNUC_PREREQ (2,8) 202  #__ex‹nsiÚ__ ) 206 #ià! __GNUC_PREREQ (2,92) 207  #__»¡riù ) 213 #ià __GNUC_PREREQ (3,1è&& ! defšed __GNUG__ 214  #__»¡riù_¬r __»¡riù ) 216 #ifdeà __GNUC__ 217  #__»¡riù_¬r ) 219 #ià defšed __STDC_VERSION__ && __STDC_VERSION__ >= 199901L 220  #__»¡riù_¬r »¡riù ) 223  #__»¡riù_¬r ) @/usr/include/sys/ucontext.h 19 #iâdeà _SYS_UCONTEXT_H 20  #_SYS_UCONTEXT_H 1 ) 22  ~<ã©u»s.h > 23  ~ 27  ~ 31  tg»g_t ; 34  #NGREG 19 ) 37  g»g_t tg»g£t_t [ NGREG ]; 39 #ifdeà __USE_GNU 43 mREG_GS = 0, 44  #REG_GS REG_GS ) 45 mREG_FS , 46  #REG_FS REG_FS ) 47 mREG_ES , 48  #REG_ES REG_ES ) 49 mREG_DS , 50  #REG_DS REG_DS ) 51 mREG_EDI , 52  #REG_EDI REG_EDI ) 53 mREG_ESI , 54  #REG_ESI REG_ESI ) 55 mREG_EBP , 56  #REG_EBP REG_EBP ) 57 mREG_ESP , 58  #REG_ESP REG_ESP ) 59 mREG_EBX , 60  #REG_EBX REG_EBX ) 61 mREG_EDX , 62  #REG_EDX REG_EDX ) 63 mREG_ECX , 64  #REG_ECX REG_ECX ) 65 mREG_EAX , 66  #REG_EAX REG_EAX ) 67 mREG_TRAPNO , 68  #REG_TRAPNO REG_TRAPNO ) 69 mREG_ERR , 70  #REG_ERR REG_ERR ) 71 mREG_EIP , 72  #REG_EIP REG_EIP ) 73 mREG_CS , 74  #REG_CS REG_CS ) 75 mREG_EFL , 76  #REG_EFL REG_EFL ) 77 mREG_UESP , 78  #REG_UESP REG_UESP ) 79 mREG_SS 80  #REG_SS REG_SS ) 85  s_libc_å»g 87  msignifiÿnd [4]; 88  mexpÚ’t ; 91  s_libc_å¡©e 93  mcw ; 94  msw ; 95  m�g ; 96  m�off ; 97  mcs£l ; 98  md©aoff ; 99  md©a£l ; 100  _libc_å»g m_¡ [8]; 101  m¡©us ; 105  _libc_å¡©e * tå»g£t_t ; 110 g»g£t_t mg»gs ; 113 å»g£t_t må»gs ; 114  mÞdmask ; 115  mü2 ; 116 } tmcÚ‹xt_t ; 119  sucÚ‹xt 121  muc_æags ; 122  ucÚ‹xt * muc_lšk ; 123 ¡ack_t muc_¡ack ; 124 mcÚ‹xt_t muc_mcÚ‹xt ; 125 __sig£t_t muc_sigmask ; 126  _libc_å¡©e m__å»gs_mem ; 127 } tucÚ‹xt_t ; @/usr/include/asm/errno.h 1 #iâdeà _I386_ERRNO_H 2  #_I386_ERRNO_H ) 4  #EPERM 1 ) 5  #ENOENT 2 ) 6  #ESRCH 3 ) 7  #EINTR 4 ) 8  #EIO 5 ) 9  #ENXIO 6 ) 10  #E2BIG 7 ) 11  #ENOEXEC 8 ) 12  #EBADF 9 ) 13  #ECHILD 10 ) 14  #EAGAIN 11 ) 15  #ENOMEM 12 ) 16  #EACCES 13 ) 17  #EFAULT 14 ) 18  #ENOTBLK 15 ) 19  #EBUSY 16 ) 20  #EEXIST 17 ) 21  #EXDEV 18 ) 22  #ENODEV 19 ) 23  #ENOTDIR 20 ) 24  #EISDIR 21 ) 25  #EINVAL 22 ) 26  #ENFILE 23 ) 27  #EMFILE 24 ) 28  #ENOTTY 25 ) 29  #ETXTBSY 26 ) 30  #EFBIG 27 ) 31  #ENOSPC 28 ) 32  #ESPIPE 29 ) 33  #EROFS 30 ) 34  #EMLINK 31 ) 35  #EPIPE 32 ) 36  #EDOM 33 ) 37  #ERANGE 34 ) 38  #EDEADLK 35 ) 39  #ENAMETOOLONG 36 ) 40  #ENOLCK 37 ) 41  #ENOSYS 38 ) 42  #ENOTEMPTY 39 ) 43  #ELOOP 40 ) 44  #EWOULDBLOCK EAGAIN ) 45  #ENOMSG 42 ) 46  #EIDRM 43 ) 47  #ECHRNG 44 ) 48  #EL2NSYNC 45 ) 49  #EL3HLT 46 ) 50  #EL3RST 47 ) 51  #ELNRNG 48 ) 52  #EUNATCH 49 ) 53  #ENOCSI 50 ) 54  #EL2HLT 51 ) 55  #EBADE 52 ) 56  #EBADR 53 ) 57  #EXFULL 54 ) 58  #ENOANO 55 ) 59  #EBADRQC 56 ) 60  #EBADSLT 57 ) 62  #EDEADLOCK EDEADLK ) 64  #EBFONT 59 ) 65  #ENOSTR 60 ) 66  #ENODATA 61 ) 67  #ETIME 62 ) 68  #ENOSR 63 ) 69  #ENONET 64 ) 70  #ENOPKG 65 ) 71  #EREMOTE 66 ) 72  #ENOLINK 67 ) 73  #EADV 68 ) 74  #ESRMNT 69 ) 75  #ECOMM 70 ) 76  #EPROTO 71 ) 77  #EMULTIHOP 72 ) 78  #EDOTDOT 73 ) 79  #EBADMSG 74 ) 80  #EOVERFLOW 75 ) 81  #ENOTUNIQ 76 ) 82  #EBADFD 77 ) 83  #EREMCHG 78 ) 84  #ELIBACC 79 ) 85  #ELIBBAD 80 ) 86  #ELIBSCN 81 ) 87  #ELIBMAX 82 ) 88  #ELIBEXEC 83 ) 89  #EILSEQ 84 ) 90  #ERESTART 85 ) 91  #ESTRPIPE 86 ) 92  #EUSERS 87 ) 93  #ENOTSOCK 88 ) 94  #EDESTADDRREQ 89 ) 95  #EMSGSIZE 90 ) 96  #EPROTOTYPE 91 ) 97  #ENOPROTOOPT 92 ) 98  #EPROTONOSUPPORT 93 ) 99  #ESOCKTNOSUPPORT 94 ) 100  #EOPNOTSUPP 95 ) 101  #EPFNOSUPPORT 96 ) 102  #EAFNOSUPPORT 97 ) 103  #EADDRINUSE 98 ) 104  #EADDRNOTAVAIL 99 ) 105  #ENETDOWN 100 ) 106  #ENETUNREACH 101 ) 107  #ENETRESET 102 ) 108  #ECONNABORTED 103 ) 109  #ECONNRESET 104 ) 110  #ENOBUFS 105 ) 111  #EISCONN 106 ) 112  #ENOTCONN 107 ) 113  #ESHUTDOWN 108 ) 114  #ETOOMANYREFS 109 ) 115  #ETIMEDOUT 110 ) 116  #ECONNREFUSED 111 ) 117  #EHOSTDOWN 112 ) 118  #EHOSTUNREACH 113 ) 119  #EALREADY 114 ) 120  #EINPROGRESS 115 ) 121  #ESTALE 116 ) 122  #EUCLEAN 117 ) 123  #ENOTNAM 118 ) 124  #ENAVAIL 119 ) 125  #EISNAM 120 ) 126  #EREMOTEIO 121 ) 127  #EDQUOT 122 ) 129  #ENOMEDIUM 123 ) 130  #EMEDIUMTYPE 124 ) @/usr/include/asm/ioctl.h 6 #iâdeà _ASMI386_IOCTL_H 7  #_ASMI386_IOCTL_H ) 27  #_IOC_NRBITS 8 ) 28  #_IOC_TYPEBITS 8 ) 29  #_IOC_SIZEBITS 14 ) 30  #_IOC_DIRBITS 2 ) 32  #_IOC_NRMASK ((1 << _IOC_NRBITS )-1) ) 33  #_IOC_TYPEMASK ((1 << _IOC_TYPEBITS )-1) ) 34  #_IOC_SIZEMASK ((1 << _IOC_SIZEBITS )-1) ) 35  #_IOC_DIRMASK ((1 << _IOC_DIRBITS )-1) ) 37  #_IOC_NRSHIFT 0 ) 38  #_IOC_TYPESHIFT ( _IOC_NRSHIFT + _IOC_NRBITS ) ) 39  #_IOC_SIZESHIFT ( _IOC_TYPESHIFT + _IOC_TYPEBITS ) ) 40  #_IOC_DIRSHIFT ( _IOC_SIZESHIFT + _IOC_SIZEBITS ) ) 45  #_IOC_NONE 0U ) 46  #_IOC_WRITE 1U ) 47  #_IOC_READ 2U ) 49  #_IOC ( dœ , ty³ , Ä , size ) \ 50 ((( dœ è<< _IOC_DIRSHIFT ) | \ 51 (( ty³ è<< _IOC_TYPESHIFT ) | \ 52 (( Ä è<< _IOC_NRSHIFT ) | \ 53 (( size è<< _IOC_SIZESHIFT )) ) 56  #_IO ( ty³ , Ä è `_IOC ( _IOC_NONE ,Ñy³),Òr),0) ) 57  #_IOR ( ty³ , Ä , size è `_IOC ( _IOC_READ ,Ñy³),Òr),(size)) ) 58  #_IOW ( ty³ , Ä , size è `_IOC ( _IOC_WRITE ,Ñy³),Òr),(size)) ) 59  #_IOWR ( ty³ , Ä , size è `_IOC ( _IOC_READ | _IOC_WRITE ,Ñy³),Òr),(size)) ) 62  #_IOC_DIR ( Ä è((Òrè>> _IOC_DIRSHIFT è& _IOC_DIRMASK ) ) 63  #_IOC_TYPE ( Ä è((Òrè>> _IOC_TYPESHIFT è& _IOC_TYPEMASK ) ) 64  #_IOC_NR ( Ä è((Òrè>> _IOC_NRSHIFT è& _IOC_NRMASK ) ) 65  #_IOC_SIZE ( Ä è((Òrè>> _IOC_SIZESHIFT è& _IOC_SIZEMASK ) ) 69  #IOC_IN ( _IOC_WRITE << _IOC_DIRSHIFT ) ) 70  #IOC_OUT ( _IOC_READ << _IOC_DIRSHIFT ) ) 71  #IOC_INOUT (( _IOC_WRITE | _IOC_READ è<< _IOC_DIRSHIFT ) ) 72  #IOCSIZE_MASK ( _IOC_SIZEMASK << _IOC_SIZESHIFT ) ) 73  #IOCSIZE_SHIFT ( _IOC_SIZESHIFT ) ) @/usr/include/asm/sockios.h 1 #iâdeà __ARCH_I386_SOCKIOS__ 2  #__ARCH_I386_SOCKIOS__ ) 5  #FIOSETOWN 0x8901 ) 6  #SIOCSPGRP 0x8902 ) 7  #FIOGETOWN 0x8903 ) 8  #SIOCGPGRP 0x8904 ) 9  #SIOCATMARK 0x8905 ) 10  #SIOCGSTAMP 0x8906 ) @/usr/include/bits/libc-lock.h 20 #iâdeà _BITS_LIBC_LOCK_H 21  #_BITS_LIBC_LOCK_H 1 ) 23  ~<±h»ad.h > 26 #ià defšed ( _LIBC è|| defšed( _IO_MTSAFE_IO ) 27  ±h»ad_mu‹x_t t__libc_lock_t ; 28 ¡ruù { ±h»ad_mu‹x_t mmu‹x ; } t__libc_lock_»cursive_t ; 29 #ifdeà __USE_UNIX98 30  ±h»ad_rwlock_t t__libc_rwlock_t ; 32  __libc_rwlock_Ýaque__ t__libc_rwlock_t ; 35  __libc_lock_Ýaque__ t__libc_lock_t ; 36  __libc_lock_»cursive_Ýaque__ t__libc_lock_»cursive_t ; 37  __libc_rwlock_Ýaque__ t__libc_rwlock_t ; 41  ±h»ad_key_t t__libc_key_t ; 50  #__libc_lock_defše ( CLASS , NAME ) \ 51 CLASS __libc_lock_t NAME ; ) 52  #__libc_rwlock_defše ( CLASS , NAME ) \ 53 CLASS __libc_rwlock_t NAME ; ) 54  #__libc_lock_defše_»cursive ( CLASS , NAME ) \ 55 CLASS __libc_lock_»cursive_t NAME ; ) 66 #ià __LT_SPINLOCK_INIT == 0 67  #__libc_lock_defše_š™Ÿlized ( CLASS , NAME ) \ 68 CLASS __libc_lock_t NAME ; ) 70  #__libc_lock_defše_š™Ÿlized ( CLASS , NAME ) \ 71 CLASS __libc_lock_t NAME = PTHREAD_MUTEX_INITIALIZER ; ) 74  #__libc_rwlock_defše_š™Ÿlized ( CLASS , NAME ) \ 75 CLASS __libc_rwlock_t NAME = PTHREAD_RWLOCK_INITIALIZER ; ) 79  #__libc_lock_defše_š™Ÿlized_»cursive ( CLASS , NAME ) \ 80 CLASS __libc_lock_»cursive_t NAME = _LIBC_LOCK_RECURSIVE_INITIALIZER ; ) 81  #_LIBC_LOCK_RECURSIVE_INITIALIZER \ 82 { PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP } ) 86  #__libc_lock_š™ ( NAME ) \ 87 ( __±h»ad_mu‹x_š™ !ð NULL ? `__±h»ad_mu‹x_š™ (&( NAME ), NULLè: 0); ) 88  #__libc_rwlock_š™ ( NAME ) \ 89 ( __±h»ad_rwlock_š™ !ð NULL ? `__±h»ad_rwlock_š™ (&( NAME ), NULLè: 0); ) 92  #__libc_lock_š™_»cursive ( NAME ) \ 94 ià( __±h»ad_mu‹x_š™ !ð NULL ) \ 96 ±h»ad_mu‹x©Œ_t __©Œ ; \ 97 `__±h»ad_mu‹x©Œ_š™ (& __©Œ ); \ 98 `__±h»ad_mu‹x©Œ_£‰y³ (& __©Œ , PTHREAD_MUTEX_RECURSIVE_NP ); \ 99 `__±h»ad_mu‹x_š™ (&( NAME ). mu‹x , & __©Œ ); \ 100 `__±h»ad_mu‹x©Œ_de¡roy (& __©Œ ); \ 102 } 0); ) 107  #__libc_lock_fši ( NAME ) \ 108 ( __±h»ad_mu‹x_de¡roy !ð NULL ? `__±h»ad_mu‹x_de¡roy (&( NAME )è: 0); ) 109  #__libc_rwlock_fši ( NAME ) \ 110 ( __±h»ad_rwlock_de¡roy !ð NULL ? `__±h»ad_rwlock_de¡roy (&( NAME )è: 0); ) 113  #__libc_lock_fši_»cursive ( NAME è `__libc_lock_fši ((NAME). mu‹x ) ) 116  #__libc_lock_lock ( NAME ) \ 117 ( __±h»ad_mu‹x_lock !ð NULL ? `__±h»ad_mu‹x_lock (&( NAME )è: 0); ) 118  #__libc_rwlock_rdlock ( NAME ) \ 119 ( __±h»ad_rwlock_rdlock !ð NULL ? `__±h»ad_rwlock_rdlock (&( NAME )è: 0); ) 120  #__libc_rwlock_w¾ock ( NAME ) \ 121 ( __±h»ad_rwlock_w¾ock !ð NULL ? `__±h»ad_rwlock_w¾ock (&( NAME )è: 0); ) 124  #__libc_lock_lock_»cursive ( NAME è `__libc_lock_lock ((NAME). mu‹x ) ) 127  #__libc_lock_Œylock ( NAME ) \ 128 ( __±h»ad_mu‹x_Œylock !ð NULL ? `__±h»ad_mu‹x_Œylock (&( NAME )è: 0) ) 129  #__libc_rwlock_Œyrdlock ( NAME ) \ 130 ( __±h»ad_rwlock_Œyrdlock !ð NULL \ 131 ? `__±h»ad_rwlock_Œyrdlock (&( NAME )è: 0) ) 132  #__libc_rwlock_Œyw¾ock ( NAME ) \ 133 ( __±h»ad_rwlock_Œyw¾ock !ð NULL \ 134 ? `__±h»ad_rwlock_Œyw¾ock (&( NAME )è: 0) ) 137  #__libc_lock_Œylock_»cursive ( NAME è `__libc_lock_Œylock ((NAME). mu‹x ) ) 140  #__libc_lock_uÆock ( NAME ) \ 141 ( __±h»ad_mu‹x_uÆock !ð NULL ? `__±h»ad_mu‹x_uÆock (&( NAME )è: 0); ) 142  #__libc_rwlock_uÆock ( NAME ) \ 143 ( __±h»ad_rwlock_uÆock !ð NULL ? `__±h»ad_rwlock_uÆock (&( NAME )è: 0); ) 146  #__libc_lock_uÆock_»cursive ( NAME è `__libc_lock_uÆock ((NAME). mu‹x ) ) 150 #ià PTHREAD_ONCE_INIT == 0 153  #__libc_Úû_defše ( CLASS , NAME ) \ 154 CLASS ±h»ad_Úû_t NAME ) 156  #__libc_Úû_defše ( CLASS , NAME ) \ 157 CLASS ±h»ad_Úû_t NAME = PTHREAD_ONCE_INIT ) 161  #__libc_Úû ( ONCE_CONTROL , INIT_FUNCTION ) \ 163 ià( __±h»ad_Úû !ð NULL ) \ 164 `__±h»ad_Úû (&( ONCE_CONTROL ), ( INIT_FUNCTION )); \ 165 ià(( ONCE_CONTROL è=ð PTHREAD_ONCE_INIT ) { \ 166 `INIT_FUNCTION (); \ 167 ( ONCE_CONTROL èð! PTHREAD_ONCE_INIT ; \ 169 } 0) ) 173  #__libc_þ—nup_»giÚ_¡¬t ( DOIT , FCT , ARG ) \ 174 {  _±h»ad_þ—nup_bufãr _bufãr ; \ 175  _avaž = ( DOIT è&& _±h»ad_þ—nup_push_deãr !ð NULL ; \ 176 ià( _avaž ) { \ 177 `_±h»ad_þ—nup_push_deãr (& _bufãr , ( FCT ), ( ARG )); \ 178 } ) 181  #__libc_þ—nup_»giÚ_’d ( DOIT ) \ 182 ià( _avaž ) { \ 183 `_±h»ad_þ—nup_pÝ_»¡Üe (& _bufãr , ( DOIT )); \ 185 } ) 188  #__libc_þ—nup_’d ( DOIT ) \ 189 ià( _avaž ) { \ 190 `_±h»ad_þ—nup_pÝ_»¡Üe (& _bufãr , ( DOIT )); \ 191 } ) 194  #__libc_key_ü—‹ ( KEY , DESTRUCTOR ) \ 195 ( __±h»ad_key_ü—‹ !ð NULL ? `__±h»ad_key_ü—‹ ( KEY , DESTRUCTOR è: 1) ) 198  #__libc_g‘¥ecific ( KEY ) \ 199 ( __±h»ad_g‘¥ecific !ð NULL ? `__±h»ad_g‘¥ecific ( KEY è: NULL) ) 202  #__libc_£t¥ecific ( KEY , VALUE ) \ 203 ( __±h»ad_£t¥ecific !ð NULL ? `__±h»ad_£t¥ecific ( KEY , VALUE è: 0) ) 207  #__libc_©fÜk ( PREPARE , PARENT , CHILD ) \ 208 ( __±h»ad_©fÜk !ð NULL ? `__±h»ad_©fÜk ( PREPARE , PARENT , CHILD è: 0) ) 213  __±h»ad_mu‹x_š™ ( ±h»ad_mu‹x_t * __mu‹x , 214 __cÚ¡ ±h»ad_mu‹x©Œ_t * __mu‹x_©Œ ); 216  __±h»ad_mu‹x_de¡roy ( ±h»ad_mu‹x_t * __mu‹x ); 218  __±h»ad_mu‹x_Œylock ( ±h»ad_mu‹x_t * __mu‹x ); 220  __±h»ad_mu‹x_lock ( ±h»ad_mu‹x_t * __mu‹x ); 222  __±h»ad_mu‹x_uÆock ( ±h»ad_mu‹x_t * __mu‹x ); 224  __±h»ad_mu‹x©Œ_š™ ( ±h»ad_mu‹x©Œ_t * __©Œ ); 226  __±h»ad_mu‹x©Œ_de¡roy ( ±h»ad_mu‹x©Œ_t * __©Œ ); 228  __±h»ad_mu‹x©Œ_£‰y³ ( ±h»ad_mu‹x©Œ_t * __©Œ , 229  __kšd ); 231 #ifdeà __USE_UNIX98 232  __±h»ad_rwlock_š™ ( ±h»ad_rwlock_t * __rwlock , 233 __cÚ¡ ±h»ad_rwlock©Œ_t * __©Œ ); 235  __±h»ad_rwlock_de¡roy ( ±h»ad_rwlock_t * __rwlock ); 237  __±h»ad_rwlock_rdlock ( ±h»ad_rwlock_t * __rwlock ); 239  __±h»ad_rwlock_Œyrdlock ( ±h»ad_rwlock_t * __rwlock ); 241  __±h»ad_rwlock_w¾ock ( ±h»ad_rwlock_t * __rwlock ); 243  __±h»ad_rwlock_Œyw¾ock ( ±h»ad_rwlock_t * __rwlock ); 245  __±h»ad_rwlock_uÆock ( ±h»ad_rwlock_t * __rwlock ); 248  __±h»ad_key_ü—‹ ( ±h»ad_key_t * __key , 249 (* __de¡r_funùiÚ ) (*)); 251  `__±h»ad_£t¥ecific ( ±h»ad_key_t __key , 252 __cÚ¡ * __poš‹r ); 254 * `__±h»ad_g‘¥ecific ( ±h»ad_key_t __key ); 256  `__±h»ad_Úû ( ±h»ad_Úû_t * __Úû_cÚŒÞ , 257 (* __š™_routše ) ()); 259  `__±h»ad_©fÜk ((* __´•¬e ) (), 260 (* __·»Á ) (), 261 (* __chžd ) ()); 267 #iâdeà __NO_WEAK_PTHREAD_ALIASES 268 #ifdeà w—k_ex‹º 269 #ià _LIBC 270  ~ 272  #BP_SYM ( sym è ) sym 274 `w—k_ex‹º ( $BP_SYM ( __±h»ad_mu‹x_š™ )) 275 `w—k_ex‹º ( $BP_SYM ( __±h»ad_mu‹x_de¡roy )) 276 `w—k_ex‹º ( $BP_SYM ( __±h»ad_mu‹x_lock )) 277 `w—k_ex‹º ( $BP_SYM ( __±h»ad_mu‹x_Œylock )) 278 `w—k_ex‹º ( $BP_SYM ( __±h»ad_mu‹x_uÆock )) 279 `w—k_ex‹º ( $BP_SYM ( __±h»ad_mu‹x©Œ_š™ )) 280 `w—k_ex‹º ( $BP_SYM ( __±h»ad_mu‹x©Œ_de¡roy )) 281 `w—k_ex‹º ( $BP_SYM ( __±h»ad_mu‹x©Œ_£‰y³ )) 282 `w—k_ex‹º ( $BP_SYM ( __±h»ad_rwlock_š™ )) 283 `w—k_ex‹º ( $BP_SYM ( __±h»ad_rwlock_de¡roy )) 284 `w—k_ex‹º ( $BP_SYM ( __±h»ad_rwlock_rdlock )) 285 `w—k_ex‹º ( $BP_SYM ( __±h»ad_rwlock_Œyrdlock )) 286 `w—k_ex‹º ( $BP_SYM ( __±h»ad_rwlock_w¾ock )) 287 `w—k_ex‹º ( $BP_SYM ( __±h»ad_rwlock_Œyw¾ock )) 288 `w—k_ex‹º ( $BP_SYM ( __±h»ad_rwlock_uÆock )) 289 `w—k_ex‹º ( $BP_SYM ( __±h»ad_key_ü—‹ )) 290 `w—k_ex‹º ( $BP_SYM ( __±h»ad_£t¥ecific )) 291 `w—k_ex‹º ( $BP_SYM ( __±h»ad_g‘¥ecific )) 292 `w—k_ex‹º ( $BP_SYM ( __±h»ad_Úû )) 293 $w—k_ex‹º ( __±h»ad_š™Ÿlize ) 294 $w—k_ex‹º ( __±h»ad_©fÜk ) 295 `w—k_ex‹º ( $BP_SYM ( _±h»ad_þ—nup_push_deãr )) 296 `w—k_ex‹º ( $BP_SYM ( _±h»ad_þ—nup_pÝ_»¡Üe )) 298 #´agm¨ w—k __±h»ad_mu‹x_š™ 299 #´agm¨ w—k __±h»ad_mu‹x_de¡roy 300 #´agm¨ w—k __±h»ad_mu‹x_lock 301 #´agm¨ w—k __±h»ad_mu‹x_Œylock 302 #´agm¨ w—k __±h»ad_mu‹x_uÆock 303 #´agm¨ w—k __±h»ad_mu‹x©Œ_š™ 304 #´agm¨ w—k __±h»ad_mu‹x©Œ_de¡roy 305 #´agm¨ w—k __±h»ad_mu‹x©Œ_£‰y³ 306 #´agm¨ w—k __±h»ad_rwlock_de¡roy 307 #´agm¨ w—k __±h»ad_rwlock_rdlock 308 #´agm¨ w—k __±h»ad_rwlock_Œyrdlock 309 #´agm¨ w—k __±h»ad_rwlock_w¾ock 310 #´agm¨ w—k __±h»ad_rwlock_Œyw¾ock 311 #´agm¨ w—k __±h»ad_rwlock_uÆock 312 #´agm¨ w—k __±h»ad_key_ü—‹ 313 #´agm¨ w—k __±h»ad_£t¥ecific 314 #´agm¨ w—k __±h»ad_g‘¥ecific 315 #´agm¨ w—k __±h»ad_Úû 316 #´agm¨ w—k __±h»ad_š™Ÿlize 317 #´agm¨ w—k __±h»ad_©fÜk 318 #´agm¨ w—k _±h»ad_þ—nup_push_deãr 319 #´agm¨ w—k _±h»ad_þ—nup_pÝ_»¡Üe 325  #__libc_mu‹x_uÆock __±h»ad_mu‹x_uÆock ) @/usr/include/bits/sched.h 21 #iâdeà __Ãed_sched·¿m 23 #iâdeà _SCHED_H 29  #SCHED_OTHER 0 ) 30  #SCHED_FIFO 1 ) 31  #SCHED_RR 2 ) 33 #ifdeà __USE_MISC 35  #CSIGNAL 0x000000fà ) 36  #CLONE_VM 0x00000100 ) 37  #CLONE_FS 0x00000200 ) 38  #CLONE_FILES 0x00000400 ) 39  #CLONE_SIGHAND 0x00000800 ) 40  #CLONE_PID 0x00001000 ) 41  #CLONE_PTRACE 0x00002000 ) 42  #CLONE_VFORK 0x00004000 ) 47  ssched_·¿m 49  m__sched_´iÜ™y ; 52 g__BEGIN_DECLS 55 #ifdeà __USE_MISC 56  þÚe ((* __â è(* __¬g ), * __chžd_¡ack , 57  __æags , * __¬g è __THROW ; 60 __END_DECLS 64 #ià! defšed __defšed_sched·¿m \ 65 && ( defšed __Ãed_sched·¿m || defšed _SCHED_H ) 66  #__defšed_sched·¿m 1 ) 68  s__sched_·¿m 70  __sched_´iÜ™y ; 72 #undeà __Ãed_sched·¿m @/usr/include/gconv.h 23 #iâdeà _GCONV_H 24  #_GCONV_H 1 ) 26  ~<ã©u»s.h > 27  #__Ãed_mb¡©e_t ) 28  ~ 29  #__Ãed_size_t ) 30  #__Ãed_wch¬_t ) 31  ~<¡ddef.h > 34  #__UNKNOWN_10646_CHAR (( wch¬_t è0xfffd) ) 39 m__GCONV_OK = 0, 40 m__GCONV_NOCONV , 41 m__GCONV_NODB , 42 m__GCONV_NOMEM , 44 m__GCONV_EMPTY_INPUT , 45 m__GCONV_FULL_OUTPUT , 46 m__GCONV_ILLEGAL_INPUT , 47 m__GCONV_INCOMPLETE_INPUT , 49 m__GCONV_ILLEGAL_DESCRIPTOR , 50 m__GCONV_INTERNAL_ERROR 57 m__GCONV_IS_LAST = 0x0001, 58 m__GCONV_IGNORE_ERRORS = 0x0002 63  g__gcÚv_¡• ; 64  g__gcÚv_¡•_d©a ; 65  g__gcÚv_lßded_objeù ; 66  g__gcÚv_Œªs_d©a ; 70 (* t__gcÚv_fù è( t__gcÚv_¡• *,  t__gcÚv_¡•_d©a *, 71 t__cÚ¡ **, __const *, 72 **, tsize_t *, , ); 75 (* t__gcÚv_š™_fù è( t__gcÚv_¡• *); 76 (* t__gcÚv_’d_fù è( t__gcÚv_¡• *); 80 (* t__gcÚv_Œªs_fù è( t__gcÚv_¡• *, 81  t__gcÚv_¡•_d©a *, *, 82 t__cÚ¡ *, 83 t__cÚ¡ **, 84 t__cÚ¡ *, **, 85 tsize_t *); 88 (* t__gcÚv_Œªs_cÚ‹xt_fù è(*, t__cÚ¡ *, 89 t__cÚ¡ *, 93 (* t__gcÚv_Œªs_qu”y_fù è( t__cÚ¡ *, __const ***, 94 tsize_t *); 97 (* t__gcÚv_Œªs_š™_fù ) (**, const *); 98 (* t__gcÚv_Œªs_’d_fù ) (*); 100  s__gcÚv_Œªs_d©a 103 __gcÚv_Œªs_fù __Œªs_fù ; 104 __gcÚv_Œªs_cÚ‹xt_fù __Œªs_cÚ‹xt_fù ; 105 __gcÚv_Œªs_’d_fù __Œªs_’d_fù ; 106 * __d©a ; 107  __gcÚv_Œªs_d©a * __Ãxt ; 112  s__gcÚv_¡• 114  __gcÚv_lßded_objeù * __shlib_hªdË ; 115 __cÚ¡ * __modÇme ; 117  __couÁ” ; 119 * __äom_Çme ; 120 * __to_Çme ; 122 __gcÚv_fù __fù ; 123 __gcÚv_š™_fù __š™_fù ; 124 __gcÚv_’d_fù __’d_fù ; 128  __mš_Ãeded_äom ; 129  __max_Ãeded_äom ; 130  __mš_Ãeded_to ; 131  __max_Ãeded_to ; 134  __¡©eful ; 136 * __d©a ; 141  s__gcÚv_¡•_d©a 143 * __outbuf ; 144 * __outbuãnd ; 148  __æags ; 152  __švoÿtiÚ_couÁ” ; 156  __š‹º®_u£ ; 158 __mb¡©e_t * __¡©• ; 159 __mb¡©e_t __¡©e ; 163  __gcÚv_Œªs_d©a * __Œªs ; 168  s__gcÚv_šfo 170 size_t __n¡•s ; 171  __gcÚv_¡• * __¡•s ; 172 __ex‹nsiÚ__  __gcÚv_¡•_d©a __d©a __æex¬r ; 173 } * t__gcÚv_t ; @/usr/include/wchar.h 24 #iâdeà _WCHAR_H 26 #iâdeà __Ãed_mb¡©e_t 27  #_WCHAR_H 1 ) 28  ~<ã©u»s.h > 31 #ifdeà _WCHAR_H 33  #__Ãed___FILE ) 34 #ifdeà __USE_UNIX98 35  #__Ãed_FILE ) 37  ~<¡dio.h > 39  #__Ãed___va_li¡ ) 40  ~<¡d¬g.h > 43  #__Ãed_size_t ) 44  #__Ãed_wch¬_t ) 45  #__Ãed_NULL ) 47  #__Ãed_wšt_t ) 48  ~<¡ddef.h > 50  ~ 54 #iâdeà _WINT_T 59  #_WINT_T ) 60  twšt_t ; 64 #iâdeà __mb¡©e_t_defšed 65  #__mb¡©e_t_defšed 1 ) 69  m__couÁ ; 72 wšt_t m__wch ; 73  m__wchb [4]; 74 } m__v®ue ; 75 } t__mb¡©e_t ; 77 #undeà __Ãed_mb¡©e_t 82 #ifdeà _WCHAR_H 85  __mb¡©e_t tmb¡©e_t ; 87 #iâdeà WCHAR_MIN 89  #WCHAR_MIN __WCHAR_MIN ) 90  #WCHAR_MAX __WCHAR_MAX ) 93 #iâdeà WEOF 94  #WEOF (0xffffffffu) ) 99 #ià defšed __USE_XOPEN && !defšed __USE_UNIX98 100  ~ 105  gtm ; 108 __BEGIN_DECLS 111 wch¬_t * $wcsýy ( wch¬_t * __»¡riù __de¡ , 112 __cÚ¡ wch¬_t * __»¡riù __¤c è __THROW ; 114 wch¬_t * $wc¢ýy ( wch¬_t * __»¡riù __de¡ , 115 __cÚ¡ wch¬_t * __»¡riù __¤c , size_t __n ) 116 __THROW ; 119 wch¬_t * $wcsÿt ( wch¬_t * __»¡riù __de¡ , 120 __cÚ¡ wch¬_t * __»¡riù __¤c è __THROW ; 122 wch¬_t * $wc¢ÿt ( wch¬_t * __»¡riù __de¡ , 123 __cÚ¡ wch¬_t * __»¡riù __¤c , size_t __n ) 124 __THROW ; 127  $wcscmp ( __cÚ¡ wch¬_t * __s1 , __cÚ¡ wch¬_ˆ* __s2 ) 128 __THROW __©Œibu‹_pu»__ ; 130  $wc¢cmp ( __cÚ¡ wch¬_t * __s1 , __cÚ¡ wch¬_ˆ* __s2 , size_t __n ) 131 __THROW __©Œibu‹_pu»__ ; 133 #ifdeà __USE_GNU 135  $wcsÿ£cmp ( __cÚ¡ wch¬_t * __s1 , __cÚ¡ wch¬_ˆ* __s2 è __THROW ; 138  $wc¢ÿ£cmp ( __cÚ¡ wch¬_t * __s1 , __cÚ¡ wch¬_ˆ* __s2 , 139 size_t __n è __THROW ; 143  ~ 145  $__wcsÿ£cmp_l ( __cÚ¡ wch¬_t * __s1 , __cÚ¡ wch¬_ˆ* __s2 , 146 __loÿË_t __loc è __THROW ; 148  $__wc¢ÿ£cmp_l ( __cÚ¡ wch¬_t * __s1 , __cÚ¡ wch¬_ˆ* __s2 , 149 size_t __n , __loÿË_t __loc è __THROW ; 154  $wcscÞl ( __cÚ¡ wch¬_t * __s1 , __cÚ¡ wch¬_ˆ* __s2 è __THROW ; 158 size_t $wcsxäm ( wch¬_t * __»¡riù __s1 , 159 __cÚ¡ wch¬_t * __»¡riù __s2 , size_t __n è __THROW ; 161 #ifdeà __USE_GNU 167  $__wcscÞl_l ( __cÚ¡ wch¬_t * __s1 , __cÚ¡ wch¬_ˆ* __s2 , 168 __loÿË_t __loc è __THROW ; 172 size_t $__wcsxäm_l ( wch¬_t * __s1 , __cÚ¡ wch¬_ˆ* __s2 , 173 size_t __n , __loÿË_t __loc è __THROW ; 176 wch¬_t * $wcsdup ( __cÚ¡ wch¬_t * __s è __THROW __©Œibu‹_m®loc__ ; 180 wch¬_t * $wcschr ( __cÚ¡ wch¬_t * __wcs , wch¬_ˆ __wc ) 181 __THROW __©Œibu‹_pu»__ ; 183 wch¬_t * $wc¤chr ( __cÚ¡ wch¬_t * __wcs , wch¬_ˆ __wc ) 184 __THROW __©Œibu‹_pu»__ ; 186 #ifdeà __USE_GNU 189 wch¬_t * $wcschºul ( __cÚ¡ wch¬_t * __s , wch¬_ˆ __wc ) 190 __THROW __©Œibu‹_pu»__ ; 195 size_t $wcsc¥n ( __cÚ¡ wch¬_t * __wcs , __cÚ¡ wch¬_ˆ* __»jeù ) 196 __THROW __©Œibu‹_pu»__ ; 199 size_t $wcs¥n ( __cÚ¡ wch¬_t * __wcs , __cÚ¡ wch¬_ˆ* __acû± ) 200 __THROW __©Œibu‹_pu»__ ; 202 wch¬_t * $wc¥brk ( __cÚ¡ wch¬_t * __wcs , __cÚ¡ wch¬_ˆ* __acû± ) 203 __THROW __©Œibu‹_pu»__ ; 205 wch¬_t * $wcs¡r ( __cÚ¡ wch¬_t * __hay¡ack , __cÚ¡ wch¬_ˆ* __ÃedË ) 206 __THROW __©Œibu‹_pu»__ ; 208 #ifdeà __USE_XOPEN 210 wch¬_t * $wcswcs ( __cÚ¡ wch¬_t * __hay¡ack , __cÚ¡ wch¬_ˆ* __ÃedË ) 211 __THROW __©Œibu‹_pu»__ ; 215 wch¬_t * $wc¡ok ( wch¬_t * __»¡riù __s , 216 __cÚ¡ wch¬_t * __»¡riù __d–im , 217 wch¬_t ** __»¡riù __±r è __THROW ; 220 size_t $wc¦’ ( __cÚ¡ wch¬_t * __s è __THROW __©Œibu‹_pu»__ ; 222 #ifdeà __USE_GNU 224 size_t $wc¢Ën ( __cÚ¡ wch¬_t * __s , size_t __maxËn ) 225 __THROW __©Œibu‹_pu»__ ; 230 wch¬_t * $wmemchr ( __cÚ¡ wch¬_t * __s , wch¬_ˆ __c , size_t __n ) 231 __THROW __©Œibu‹_pu»__ ; 234  $wmemcmp ( __cÚ¡ wch¬_t * __»¡riù __s1 , 235 __cÚ¡ wch¬_t * __»¡riù __s2 , size_t __n ) 236 __THROW __©Œibu‹_pu»__ ; 239 wch¬_t * $wmemýy ( wch¬_t * __»¡riù __s1 , 240 __cÚ¡ wch¬_t * __»¡riù __s2 , size_t __n è __THROW ; 244 wch¬_t * $wmemmove ( wch¬_t * __s1 , __cÚ¡ wch¬_ˆ* __s2 , size_t __n ) 245 __THROW ; 248 wch¬_t * $wmem£t ( wch¬_t * __s , wch¬_ˆ __c , size_t __n è __THROW ; 250 #ifdeà __USE_GNU 253 wch¬_t * $wmempýy ( wch¬_t * __»¡riù __s1 , 254 __cÚ¡ wch¬_t * __»¡riù __s2 , size_t __n ) 255 __THROW ; 261 wšt_t $btowc ( __c è __THROW ; 265  $wùob ( wšt_t __c è __THROW ; 269  $mbsš™ ( __cÚ¡ mb¡©e_t * __ps è __THROW __©Œibu‹_pu»__ ; 273 size_t $mb¹owc ( wch¬_t * __»¡riù __pwc , 274 __cÚ¡ * __»¡riù __s , size_t __n , 275 mb¡©e_t * __p è __THROW ; 278 size_t $wütomb (* __»¡riù __s , wch¬_t __wc , 279 mb¡©e_t * __»¡riù __ps è __THROW ; 282 size_t $__mb¾’ ( __cÚ¡ * __»¡riù __s , size_t __n , 283 mb¡©e_t * __»¡riù __ps è __THROW ; 284 size_t $mb¾’ ( __cÚ¡ * __»¡riù __s , size_t __n , 285 mb¡©e_t * __»¡riù __ps è __THROW ; 287 #ifdeà __USE_EXTERN_INLINES 289 __šlše size_t $mb¾’ ( __cÚ¡ * __»¡riù __s , size_t __n , 290 mb¡©e_t * __»¡riù __ps è __THROW 291 {  ( __ps !ð NULL 292 ? `mb¹owc ( NULL , __s , __n , __ps è: `__mb¾’ (__s, __n, NULL)); } } 297 size_t $mb¤towcs ( wch¬_t * __»¡riù __d¡ , 298 __cÚ¡ ** __»¡riù __¤c , size_t __Ën , 299 mb¡©e_t * __»¡riù __ps è __THROW ; 303 size_t $wc¤tombs (* __»¡riù __d¡ , 304 __cÚ¡ wch¬_t ** __»¡riù __¤c , size_t __Ën , 305 mb¡©e_t * __»¡riù __ps è __THROW ; 308 #ifdef __USE_GNU 311 size_t $mb¢¹owcs ( wch¬_t * __»¡riù __d¡ , 312 __cÚ¡ ** __»¡riù __¤c , size_t __nmc , 313 size_t __Ën , mb¡©e_t * __»¡riù __ps è __THROW ; 317 size_t $wc¢¹ombs (* __»¡riù __d¡ , 318 __cÚ¡ wch¬_t ** __»¡riù __¤c , 319 size_t __nwc , size_ˆ __Ën , 320 mb¡©e_t * __»¡riù __ps è __THROW ; 325 #ifdeà __USE_XOPEN 327  $wcwidth ( wch¬_t __c è __THROW ; 331  $wcswidth ( __cÚ¡ wch¬_t * __s , size_t __n è __THROW ; 337  $wc¡od ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 338 wch¬_t ** __»¡riù __’d±r è __THROW ; 340 #ifdeà __USE_ISOC99 342  $wc¡of ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 343 wch¬_t ** __»¡riù __’d±r è __THROW ; 344  $wc¡Þd ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 345 wch¬_t ** __»¡riù __’d±r è __THROW ; 351  $wc¡Þ ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 352 wch¬_t ** __»¡riù __’d±r ,  __ba£ è __THROW ; 356  $wc¡oul ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 357 wch¬_t ** __»¡riù __’d±r ,  __ba£ ) 358 __THROW ; 360 #ià defšed __GNUC__ && defšed __USE_GNU 363 __ex‹nsiÚ__ 364  $wc¡oq ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 365 wch¬_t ** __»¡riù __’d±r ,  __ba£ ) 366 __THROW ; 370 __ex‹nsiÚ__ 371  $wc¡ouq ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 372 wch¬_t ** __»¡riù __’d±r , 373  __ba£ è __THROW ; 376 #ià defšed __USE_ISOC99 || (defšed __GNUC__ && defšed __USE_GNU ) 379 __ex‹nsiÚ__ 380  $wc¡Þl ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 381 wch¬_t ** __»¡riù __’d±r ,  __ba£ ) 382 __THROW ; 386 __ex‹nsiÚ__ 387  $wc¡ouÎ ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 388 wch¬_t ** __»¡riù __’d±r , 389  __ba£ è __THROW ; 392 #ifdeà __USE_GNU 406  ~ 410  $__wc¡Þ_l ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 411 wch¬_t ** __»¡riù __’d±r ,  __ba£ , 412 __loÿË_t __loc è __THROW ; 414  $__wc¡oul_l ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 415 wch¬_t ** __»¡riù __’d±r , 416  __ba£ , __loÿË_t __loc è __THROW ; 418 __ex‹nsiÚ__ 419  $__wc¡Þl_l ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 420 wch¬_t ** __»¡riù __’d±r , 421  __ba£ , __loÿË_t __loc è __THROW ; 423 __ex‹nsiÚ__ 424  $__wc¡ouÎ_l ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 425 wch¬_t ** __»¡riù __’d±r , 426  __ba£ , __loÿË_t __loc ) 427 __THROW ; 429  $__wc¡od_l ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 430 wch¬_t ** __»¡riù __’d±r , __loÿË_t __loc ) 431 __THROW ; 433  $__wc¡of_l ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 434 wch¬_t ** __»¡riù __’d±r , __loÿË_t __loc ) 435 __THROW ; 437  $__wc¡Þd_l ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 438 wch¬_t ** __»¡riù __’d±r , 439 __loÿË_t __loc è __THROW ; 445  $__wc¡od_š‹º® ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 446 wch¬_t ** __»¡riù __’d±r ,  __group ) 447 __THROW ; 448  $__wc¡of_š‹º® ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 449 wch¬_t ** __»¡riù __’d±r ,  __group ) 450 __THROW ; 451  $__wc¡Þd_š‹º® ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 452 wch¬_t ** __»¡riù __’d±r , 453  __group è __THROW ; 455 #iâdeà __wc¡Þ_š‹º®_defšed 456  $__wc¡Þ_š‹º® ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 457 wch¬_t ** __»¡riù __’d±r , 458  __ba£ ,  __group è __THROW ; 459  #__wc¡Þ_š‹º®_defšed 1 ) 461 #iâdeà __wc¡oul_š‹º®_defšed 462  $__wc¡oul_š‹º® ( __cÚ¡ wch¬_t * __»¡riù __Åt , 463 wch¬_t ** __»¡riù __’d±r , 464  __ba£ ,  __group è __THROW ; 465  #__wc¡oul_š‹º®_defšed 1 ) 467 #iâdeà __wc¡Þl_š‹º®_defšed 468 __ex‹nsiÚ__ 469  $__wc¡Þl_š‹º® ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 470 wch¬_t ** __»¡riù __’d±r , 471  __ba£ ,  __group è __THROW ; 472  #__wc¡Þl_š‹º®_defšed 1 ) 474 #iâdeà __wc¡ouÎ_š‹º®_defšed 475 __ex‹nsiÚ__ 476  $__wc¡ouÎ_š‹º® ( __cÚ¡ wch¬_t * 477 __»¡riù __ÅŒ , 478 wch¬_t ** 479 __»¡riù __’d±r , 480  __ba£ , 481  __group è __THROW ; 482  #__wc¡ouÎ_š‹º®_defšed 1 ) 486 #ià defšed __OPTIMIZE__ && __GNUC__ >= 2 489 __šlše  $wc¡od ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 490 wch¬_t ** __»¡riù __’d±r è __THROW 491 {  `__wc¡od_š‹º® ( __ÅŒ , __’d±r , 0); } } 492 __šlše  $wc¡Þ ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 493 wch¬_t ** __»¡riù __’d±r , 494  __ba£ è __THROW 495 {  `__wc¡Þ_š‹º® ( __ÅŒ , __’d±r , __ba£ , 0); } } 496 __šlše  $wc¡oul ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 497 wch¬_t ** __»¡riù __’d±r , 498  __ba£ è __THROW 499 {  `__wc¡oul_š‹º® ( __ÅŒ , __’d±r , __ba£ , 0); } } 501 #ifdeà __USE_GNU 502 __šlše  $wc¡of ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 503 wch¬_t ** __»¡riù __’d±r è __THROW 504 {  `__wc¡of_š‹º® ( __ÅŒ , __’d±r , 0); } } 505 __šlše  $wc¡Þd ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 506 wch¬_t ** __»¡riù __’d±r è __THROW 507 {  `__wc¡Þd_š‹º® ( __ÅŒ , __’d±r , 0); } } 510 __ex‹nsiÚ__ 511 __šlše  $wc¡oq ( __cÚ¡ wch¬_t * __»¡riù __ÅŒ , 512 wch¬_t ** __»¡riù __’d±r , 513  __ba£ è __THROW 514 {  `__wc¡Þl_š‹º® ( __ÅŒ , __’d±r , __ba£ , 0); } } 515 __ex‹nsiÚ__ 516 __šlše  $wc¡ouq ( __cÚ¡ wch¬_t * 517 __»¡riù __ÅŒ , 518 wch¬_t ** __»¡riù __’d±r , 519  __ba£ è __THROW 520 {  `__wc¡ouÎ_š‹º® ( __ÅŒ , __’d±r , __ba£ , 0); } } 525 #ifdef __USE_GNU 528 wch¬_t * $wýýy ( wch¬_t * __de¡ , __cÚ¡ wch¬_ˆ* __¤c è __THROW ; 532 wch¬_t * $wýnýy ( wch¬_t * __de¡ , __cÚ¡ wch¬_ˆ* __¤c , size_t __n ) 533 __THROW ; 538 #ià defšed __USE_ISOC99 || defšed __USE_UNIX98 541  $fwide ( __FILE * __å ,  __mode è __THROW ; 545  $fw´štf ( __FILE * __»¡riù __¡»am , 546 __cÚ¡ wch¬_t * __»¡riù __fÜm© , ...) 547 __THROW ; 549  $w´štf ( __cÚ¡ wch¬_t * __»¡riù __fÜm© , ...) 550 __THROW ; 552  $sw´štf ( wch¬_t * __»¡riù __s , size_t __n , 553 __cÚ¡ wch¬_t * __»¡riù __fÜm© , ...) 554 __THROW ; 557  $vfw´štf ( __FILE * __»¡riù __s , 558 __cÚ¡ wch¬_t * __»¡riù __fÜm© , 559 __gnuc_va_li¡ __¬g ) 560 __THROW ; 562  $vw´štf ( __cÚ¡ wch¬_t * __»¡riù __fÜm© , 563 __gnuc_va_li¡ __¬g ) 564 __THROW ; 567  $vsw´štf ( wch¬_t * __»¡riù __s , size_t __n , 568 __cÚ¡ wch¬_t * __»¡riù __fÜm© , 569 __gnuc_va_li¡ __¬g ) 570 __THROW ; 574  $fwsÿnf ( __FILE * __»¡riù __¡»am , 575 __cÚ¡ wch¬_t * __»¡riù __fÜm© , ...) 576 __THROW ; 578  $wsÿnf ( __cÚ¡ wch¬_t * __»¡riù __fÜm© , ...) 579 __THROW ; 581  $swsÿnf ( __cÚ¡ wch¬_t * __»¡riù __s , 582 __cÚ¡ wch¬_t * __»¡riù __fÜm© , ...) 583 __THROW ; 586 #ifdeà __USE_ISOC99 588  $vfwsÿnf ( __FILE * __»¡riù __s , 589 __cÚ¡ wch¬_t * __»¡riù __fÜm© , 590 __gnuc_va_li¡ __¬g ) 591 __THROW ; 593  $vwsÿnf ( __cÚ¡ wch¬_t * __»¡riù __fÜm© , 594 __gnuc_va_li¡ __¬g ) 595 __THROW ; 597  $vswsÿnf ( __cÚ¡ wch¬_t * __»¡riù __s , 598 __cÚ¡ wch¬_t * __»¡riù __fÜm© , 599 __gnuc_va_li¡ __¬g ) 600 __THROW ; 605 wšt_t $fg‘wc ( __FILE * __¡»am è __THROW ; 606 wšt_t $g‘wc ( __FILE * __¡»am è __THROW ; 609 wšt_t $g‘wch¬ (è __THROW ; 613 wšt_t $åutwc ( wch¬_t __wc , __FILE * __¡»am è __THROW ; 614 wšt_t $putwc ( wch¬_t __wc , __FILE * __¡»am è __THROW ; 617 wšt_t $putwch¬ ( wch¬_t __wc è __THROW ; 622 wch¬_t * $fg‘ws ( wch¬_t * __»¡riù __ws ,  __n , 623 __FILE * __»¡riù __¡»am è __THROW ; 626  $åutws ( __cÚ¡ wch¬_t * __»¡riù __ws , 627 __FILE * __»¡riù __¡»am è __THROW ; 631 wšt_t $ung‘wc ( wšt_t __wc , __FILE * __¡»am è __THROW ; 634 #ifdeà __USE_GNU 637 wšt_t $g‘wc_uÆocked ( __FILE * __¡»am è __THROW ; 638 wšt_t $g‘wch¬_uÆocked (è __THROW ; 641 wšt_t $fg‘wc_uÆocked ( __FILE * __¡»am è __THROW ; 644 wšt_t $åutwc_uÆocked ( wch¬_t __wc , __FILE * __¡»am è __THROW ; 648 wšt_t $putwc_uÆocked ( wch¬_t __wc , __FILE * __¡»am è __THROW ; 649 wšt_t $putwch¬_uÆocked ( wch¬_t __wc è __THROW ; 653 wch¬_t * $fg‘ws_uÆocked ( wch¬_t * __»¡riù __ws ,  __n , 654 __FILE * __»¡riù __¡»am è __THROW ; 657  $åutws_uÆocked ( __cÚ¡ wch¬_t * __»¡riù __ws , 658 __FILE * __»¡riù __¡»am è __THROW ; 665 size_t $wcsáime ( wch¬_t * __»¡riù __s , size_t __maxsize , 666 __cÚ¡ wch¬_t * __»¡riù __fÜm© , 667 __cÚ¡  tm * __»¡riù __� è __THROW ; 675 #ià defšed __USE_UNIX98 && !defšed __USE_GNU 676  #__Ãed_iswxxx ) 677  ~ 680 __END_DECLS @/usr/include/pthread.h 15 #iâdeà _PTHREAD_H 16  #_PTHREAD_H 1 ) 18  ~<ã©u»s.h > 20  ~ 21  ~ 23  #__Ãed_sig£t_t ) 24  ~ 25  ~ 26  ~ 29 g__BEGIN_DECLS 33  #PTHREAD_MUTEX_INITIALIZER \ 34 {0, 0, 0, PTHREAD_MUTEX_TIMED_NP , __LOCK_INITIALIZER } ) 35 #ifdeà __USE_GNU 36  #PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP \ 37 {0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP , __LOCK_INITIALIZER } ) 38  #PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP \ 39 {0, 0, 0, PTHREAD_MUTEX_ERRORCHECK_NP , __LOCK_INITIALIZER } ) 40  #PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP \ 41 {0, 0, 0, PTHREAD_MUTEX_ADAPTIVE_NP , __LOCK_INITIALIZER } ) 44  #PTHREAD_COND_INITIALIZER { __LOCK_INITIALIZER , 0} ) 46 #ifdeà __USE_UNIX98 47  #PTHREAD_RWLOCK_INITIALIZER \ 48 { __LOCK_INITIALIZER , 0, NULL , NULL, NULL, \ 49 PTHREAD_RWLOCK_DEFAULT_NP , PTHREAD_PROCESS_PRIVATE } ) 51 #ifdeà __USE_GNU 52  #PTHREAD_RWLOCK_WRITER_NONRECURSIVE_INITIALIZER_NP \ 53 { __LOCK_INITIALIZER , 0, NULL , NULL, NULL, \ 54 PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP , PTHREAD_PROCESS_PRIVATE } ) 61 mPTHREAD_CREATE_JOINABLE , 62  #PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_JOINABLE ) 63 mPTHREAD_CREATE_DETACHED 64  #PTHREAD_CREATE_DETACHED PTHREAD_CREATE_DETACHED ) 69 mPTHREAD_INHERIT_SCHED , 70  #PTHREAD_INHERIT_SCHED PTHREAD_INHERIT_SCHED ) 71 mPTHREAD_EXPLICIT_SCHED 72  #PTHREAD_EXPLICIT_SCHED PTHREAD_EXPLICIT_SCHED ) 77 mPTHREAD_SCOPE_SYSTEM , 78  #PTHREAD_SCOPE_SYSTEM PTHREAD_SCOPE_SYSTEM ) 79 mPTHREAD_SCOPE_PROCESS 80  #PTHREAD_SCOPE_PROCESS PTHREAD_SCOPE_PROCESS ) 85 mPTHREAD_MUTEX_TIMED_NP , 86 mPTHREAD_MUTEX_RECURSIVE_NP , 87 mPTHREAD_MUTEX_ERRORCHECK_NP , 88 mPTHREAD_MUTEX_ADAPTIVE_NP 89 #ifdeà __USE_UNIX98 91 mPTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP , 92 mPTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP , 93 mPTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP , 94 mPTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL 96 #ifdeà __USE_GNU 98 , mPTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_ADAPTIVE_NP 104 mPTHREAD_PROCESS_PRIVATE , 105  #PTHREAD_PROCESS_PRIVATE PTHREAD_PROCESS_PRIVATE ) 106 mPTHREAD_PROCESS_SHARED 107  #PTHREAD_PROCESS_SHARED PTHREAD_PROCESS_SHARED ) 110 #ifdeà __USE_UNIX98 113 mPTHREAD_RWLOCK_PREFER_READER_NP , 114 mPTHREAD_RWLOCK_PREFER_WRITER_NP , 115 mPTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP , 116 mPTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_WRITER_NP 120  #PTHREAD_ONCE_INIT 0 ) 124 #ifdeà __USE_XOPEN2K 126  #PTHREAD_BARRIER_SERIAL_THREAD -1 ) 131  s_±h»ad_þ—nup_bufãr 133 (* m__routše ) (*); 134 * m__¬g ; 135  m__ÿnûÉy³ ; 136  _±h»ad_þ—nup_bufãr * m__´ev ; 143 mPTHREAD_CANCEL_ENABLE , 144  #PTHREAD_CANCEL_ENABLE PTHREAD_CANCEL_ENABLE ) 145 mPTHREAD_CANCEL_DISABLE 146  #PTHREAD_CANCEL_DISABLE PTHREAD_CANCEL_DISABLE ) 150 mPTHREAD_CANCEL_DEFERRED , 151  #PTHREAD_CANCEL_DEFERRED PTHREAD_CANCEL_DEFERRED ) 152 mPTHREAD_CANCEL_ASYNCHRONOUS 153  #PTHREAD_CANCEL_ASYNCHRONOUS PTHREAD_CANCEL_ASYNCHRONOUS ) 155  #PTHREAD_CANCELED ((*è-1) ) 163  ±h»ad_ü—‹ ( ±h»ad_t * __»¡riù __th»ad , 164 __cÚ¡ ±h»ad_©Œ_t * __»¡riù __©Œ , 165 *(* __¡¬t_routše ) (*), 166 * __»¡riù __¬g è __THROW ; 169 ±h»ad_t $±h»ad_£lf (è __THROW ; 172  $±h»ad_equ® ( ±h»ad_t __th»ad1 ,…th»ad_ˆ __th»ad2 è __THROW ; 175  $±h»ad_ex™ (* __»tv® ) 176 __THROW `__©Œibu‹__ (( __nÜ‘uº__ )); 181  $±h»ad_još ( ±h»ad_t __th , ** __th»ad_»tuº è __THROW ; 187  $±h»ad_d‘ach ( ±h»ad_t __th è __THROW ; 195  $±h»ad_©Œ_š™ ( ±h»ad_©Œ_t * __©Œ è __THROW ; 198  $±h»ad_©Œ_de¡roy ( ±h»ad_©Œ_t * __©Œ è __THROW ; 201  $±h»ad_©Œ_£td‘ach¡©e ( ±h»ad_©Œ_t * __©Œ , 202  __d‘ach¡©e è __THROW ; 205  $±h»ad_©Œ_g‘d‘ach¡©e ( __cÚ¡ ±h»ad_©Œ_t * __©Œ , 206 * __d‘ach¡©e è __THROW ; 209  $±h»ad_©Œ_£tsched·¿m ( ±h»ad_©Œ_t * __»¡riù __©Œ , 210 __cÚ¡  sched_·¿m * __»¡riù 211 __·¿m è __THROW ; 214  $±h»ad_©Œ_g‘sched·¿m ( __cÚ¡ ±h»ad_©Œ_t * __»¡riù 215 __©Œ , 216  sched_·¿m * __»¡riù __·¿m ) 217 __THROW ; 220  $±h»ad_©Œ_£tschedpÞicy ( ±h»ad_©Œ_t * __©Œ ,  __pÞicy ) 221 __THROW ; 224  $±h»ad_©Œ_g‘schedpÞicy ( __cÚ¡ ±h»ad_©Œ_t * __»¡riù 225 __©Œ , * __»¡riù __pÞicy ) 226 __THROW ; 229  $±h»ad_©Œ_£tšh”™sched ( ±h»ad_©Œ_t * __©Œ , 230  __šh”™ è __THROW ; 233  $±h»ad_©Œ_g‘šh”™sched ( __cÚ¡ ±h»ad_©Œ_t * __»¡riù 234 __©Œ , * __»¡riù __šh”™ ) 235 __THROW ; 238  $±h»ad_©Œ_£tscÝe ( ±h»ad_©Œ_t * __©Œ ,  __scÝe ) 239 __THROW ; 242  $±h»ad_©Œ_g‘scÝe ( __cÚ¡ ±h»ad_©Œ_t * __»¡riù __©Œ , 243 * __»¡riù __scÝe è __THROW ; 245 #ifdeà __USE_UNIX98 247  $±h»ad_©Œ_£tgu¬dsize ( ±h»ad_©Œ_t * __©Œ , 248 size_t __gu¬dsize è __THROW ; 251  $±h»ad_©Œ_g‘gu¬dsize ( __cÚ¡ ±h»ad_©Œ_t * __»¡riù 252 __©Œ , size_t * __»¡riù __gu¬dsize ) 253 __THROW ; 260  $±h»ad_©Œ_£t¡ackaddr ( ±h»ad_©Œ_t * __©Œ , 261 * __¡ackaddr è __THROW ; 264  $±h»ad_©Œ_g‘¡ackaddr ( __cÚ¡ ±h»ad_©Œ_t * __»¡riù 265 __©Œ , ** __»¡riù __¡ackaddr ) 266 __THROW ; 268 #ifdeà __USE_XOPEN2K 272  $±h»ad_©Œ_£t¡ack ( ±h»ad_©Œ_t * __©Œ , * __¡ackaddr , 273 size_t __¡acksize è __THROW ; 276  $±h»ad_©Œ_g‘¡ack ( __cÚ¡ ±h»ad_©Œ_t * __»¡riù __©Œ , 277 ** __»¡riù __¡ackaddr , 278 size_t * __»¡riù __¡acksize è __THROW ; 284  $±h»ad_©Œ_£t¡acksize ( ±h»ad_©Œ_t * __©Œ , 285 size_t __¡acksize è __THROW ; 288  $±h»ad_©Œ_g‘¡acksize ( __cÚ¡ ±h»ad_©Œ_t * __»¡riù 289 __©Œ , size_t * __»¡riù __¡acksize ) 290 __THROW ; 292 #ifdeà __USE_GNU 294  $±h»ad_g‘©Œ_Å ( ±h»ad_t __th , ±h»ad_©Œ_t * __©Œ è __THROW ; 301  $±h»ad_£tsched·¿m ( ±h»ad_t __�rg‘_th»ad ,  __pÞicy , 302 __cÚ¡  sched_·¿m * __·¿m ) 303 __THROW ; 306  $±h»ad_g‘sched·¿m ( ±h»ad_t __�rg‘_th»ad , 307 * __»¡riù __pÞicy , 308  sched_·¿m * __»¡riù __·¿m ) 309 __THROW ; 311 #ifdeà __USE_UNIX98 313  $±h»ad_g‘cÚcu¼’cy (è __THROW ; 316  $±h»ad_£tcÚcu¼’cy ( __Ëv– è __THROW ; 319 #ifdeà __USE_GNU 324  $±h»ad_y›ld (è __THROW ; 331  $±h»ad_mu‹x_š™ ( ±h»ad_mu‹x_t * __»¡riù __mu‹x , 332 __cÚ¡ ±h»ad_mu‹x©Œ_t * __»¡riù 333 __mu‹x_©Œ è __THROW ; 336  $±h»ad_mu‹x_de¡roy ( ±h»ad_mu‹x_t * __mu‹x è __THROW ; 339  $±h»ad_mu‹x_Œylock ( ±h»ad_mu‹x_t * __mu‹x è __THROW ; 342  $±h»ad_mu‹x_lock ( ±h»ad_mu‹x_t * __mu‹x è __THROW ; 344 #ifdeà __USE_XOPEN2K 346  $±h»ad_mu‹x_timedlock ( ±h»ad_mu‹x_t * __»¡riù __mu‹x , 347 __cÚ¡  time¥ec * __»¡riù 348 __ab¡ime è __THROW ; 352  $±h»ad_mu‹x_uÆock ( ±h»ad_mu‹x_t * __mu‹x è __THROW ; 359  $±h»ad_mu‹x©Œ_š™ ( ±h»ad_mu‹x©Œ_t * __©Œ è __THROW ; 362  $±h»ad_mu‹x©Œ_de¡roy ( ±h»ad_mu‹x©Œ_t * __©Œ è __THROW ; 365  $±h»ad_mu‹x©Œ_g‘psh¬ed ( __cÚ¡ ±h»ad_mu‹x©Œ_t * 366 __»¡riù __©Œ , 367 * __»¡riù __psh¬ed è __THROW ; 370  $±h»ad_mu‹x©Œ_£�sh¬ed ( ±h»ad_mu‹x©Œ_t * __©Œ , 371  __psh¬ed è __THROW ; 373 #ifdeà __USE_UNIX98 377  $±h»ad_mu‹x©Œ_£‰y³ ( ±h»ad_mu‹x©Œ_t * __©Œ ,  __kšd ) 378 __THROW ; 381  $±h»ad_mu‹x©Œ_g‘ty³ ( __cÚ¡ ±h»ad_mu‹x©Œ_t * __»¡riù 382 __©Œ , * __»¡riù __kšd è __THROW ; 390  $±h»ad_cÚd_š™ ( ±h»ad_cÚd_t * __»¡riù __cÚd , 391 __cÚ¡ ±h»ad_cÚd©Œ_t * __»¡riù 392 __cÚd_©Œ è __THROW ; 395  $±h»ad_cÚd_de¡roy ( ±h»ad_cÚd_t * __cÚd è __THROW ; 398  $±h»ad_cÚd_sigÇl ( ±h»ad_cÚd_t * __cÚd è __THROW ; 401  $±h»ad_cÚd_brßdÿ¡ ( ±h»ad_cÚd_t * __cÚd è __THROW ; 405  $±h»ad_cÚd_wa™ ( ±h»ad_cÚd_t * __»¡riù __cÚd , 406 ±h»ad_mu‹x_t * __»¡riù __mu‹x è __THROW ; 412  $±h»ad_cÚd_timedwa™ ( ±h»ad_cÚd_t * __»¡riù __cÚd , 413 ±h»ad_mu‹x_t * __»¡riù __mu‹x , 414 __cÚ¡  time¥ec * __»¡riù 415 __ab¡ime è __THROW ; 420  $±h»ad_cÚd©Œ_š™ ( ±h»ad_cÚd©Œ_t * __©Œ è __THROW ; 423  $±h»ad_cÚd©Œ_de¡roy ( ±h»ad_cÚd©Œ_t * __©Œ è __THROW ; 426  $±h»ad_cÚd©Œ_g‘psh¬ed ( __cÚ¡ ±h»ad_cÚd©Œ_t * 427 __»¡riù __©Œ , 428 * __»¡riù __psh¬ed è __THROW ; 431  $±h»ad_cÚd©Œ_£�sh¬ed ( ±h»ad_cÚd©Œ_t * __©Œ , 432  __psh¬ed è __THROW ; 435 #ifdeà __USE_UNIX98 440  $±h»ad_rwlock_š™ ( ±h»ad_rwlock_t * __»¡riù __rwlock , 441 __cÚ¡ ±h»ad_rwlock©Œ_t * __»¡riù 442 __©Œ è __THROW ; 445  $±h»ad_rwlock_de¡roy ( ±h»ad_rwlock_t * __rwlock è __THROW ; 448  $±h»ad_rwlock_rdlock ( ±h»ad_rwlock_t * __rwlock è __THROW ; 451  $±h»ad_rwlock_Œyrdlock ( ±h»ad_rwlock_t * __rwlock è __THROW ; 453 #ifdeà __USE_XOPEN2K 455  $±h»ad_rwlock_timedrdlock ( ±h»ad_rwlock_t * __»¡riù __rwlock , 456 __cÚ¡  time¥ec * __»¡riù 457 __ab¡ime è __THROW ; 461  $±h»ad_rwlock_w¾ock ( ±h»ad_rwlock_t * __rwlock è __THROW ; 464  $±h»ad_rwlock_Œyw¾ock ( ±h»ad_rwlock_t * __rwlock è __THROW ; 466 #ifdeà __USE_XOPEN2K 468  $±h»ad_rwlock_timedw¾ock ( ±h»ad_rwlock_t * __»¡riù __rwlock , 469 __cÚ¡  time¥ec * __»¡riù 470 __ab¡ime è __THROW ; 474  $±h»ad_rwlock_uÆock ( ±h»ad_rwlock_t * __rwlock è __THROW ; 480  $±h»ad_rwlock©Œ_š™ ( ±h»ad_rwlock©Œ_t * __©Œ è __THROW ; 483  $±h»ad_rwlock©Œ_de¡roy ( ±h»ad_rwlock©Œ_t * __©Œ è __THROW ; 486  $±h»ad_rwlock©Œ_g‘psh¬ed ( __cÚ¡ ±h»ad_rwlock©Œ_t * 487 __»¡riù __©Œ , 488 * __»¡riù __psh¬ed è __THROW ; 491  $±h»ad_rwlock©Œ_£�sh¬ed ( ±h»ad_rwlock©Œ_t * __©Œ , 492  __psh¬ed è __THROW ; 495  $±h»ad_rwlock©Œ_g‘kšd_Å ( __cÚ¡ ±h»ad_rwlock©Œ_t * __©Œ , 496 * __´ef è __THROW ; 499  $±h»ad_rwlock©Œ_£tkšd_Å ( ±h»ad_rwlock©Œ_t * __©Œ , 500  __´ef è __THROW ; 503 #ifdeà __USE_XOPEN2K 509  $±h»ad_¥š_š™ ( ±h»ad_¥šlock_t * __lock ,  __psh¬ed ) 510 __THROW ; 513  $±h»ad_¥š_de¡roy ( ±h»ad_¥šlock_t * __lock è __THROW ; 516  $±h»ad_¥š_lock ( ±h»ad_¥šlock_t * __lock è __THROW ; 519  $±h»ad_¥š_Œylock ( ±h»ad_¥šlock_t * __lock è __THROW ; 522  $±h»ad_¥š_uÆock ( ±h»ad_¥šlock_t * __lock è __THROW ; 527  $±h»ad_b¬r›r_š™ ( ±h»ad_b¬r›r_t * __»¡riù __b¬r›r , 528 __cÚ¡ ±h»ad_b¬r›¿‰r_t * __»¡riù 529 __©Œ ,  __couÁ è __THROW ; 531  $±h»ad_b¬r›r_de¡roy ( ±h»ad_b¬r›r_t * __b¬r›r è __THROW ; 533  $±h»ad_b¬r›¿‰r_š™ ( ±h»ad_b¬r›¿‰r_t * __©Œ è __THROW ; 535  $±h»ad_b¬r›¿‰r_de¡roy ( ±h»ad_b¬r›¿‰r_t * __©Œ è __THROW ; 537  $±h»ad_b¬r›¿‰r_g‘psh¬ed ( __cÚ¡ ±h»ad_b¬r›¿‰r_t * 538 __»¡riù __©Œ , 539 * __»¡riù __psh¬ed è __THROW ; 541  $±h»ad_b¬r›¿‰r_£�sh¬ed ( ±h»ad_b¬r›¿‰r_t * __©Œ , 542  __psh¬ed è __THROW ; 544  $±h»ad_b¬r›r_wa™ ( ±h»ad_b¬r›r_t * __b¬r›r è __THROW ; 556  `±h»ad_key_ü—‹ ( ±h»ad_key_t * __key , 557 (* __de¡r_funùiÚ è(*)è __THROW ; 560  $±h»ad_key_d–‘e ( ±h»ad_key_t __key è __THROW ; 563  $±h»ad_£t¥ecific ( ±h»ad_key_t __key , 564 __cÚ¡ * __poš‹r è __THROW ; 567 * $±h»ad_g‘¥ecific ( ±h»ad_key_t __key è __THROW ; 576  `±h»ad_Úû ( ±h»ad_Úû_t * __Úû_cÚŒÞ , 577 (* __š™_routše è()è __THROW ; 584  $±h»ad_£tÿnûl¡©e ( __¡©e , * __Þd¡©e è __THROW ; 588  $±h»ad_£tÿnûÉy³ ( __ty³ , * __Þdty³ è __THROW ; 591  $±h»ad_ÿnûl ( ±h»ad_t __th»ad è __THROW ; 596  $±h»ad_‹¡ÿnûl (è __THROW ; 606  #±h»ad_þ—nup_push ( routše , ¬g ) \ 607 {  _±h»ad_þ—nup_bufãr _bufãr ; \ 608 `_±h»ad_þ—nup_push (& _bufãr , ( routše ), ( ¬g )); ) 610  `_±h»ad_þ—nup_push ( _±h»ad_þ—nup_bufãr * __bufãr , 611 (* __routše ) (*), 612 * __¬g è __THROW ; 617  #±h»ad_þ—nup_pÝ ( execu‹ ) \ 618 `_±h»ad_þ—nup_pÝ (& _bufãr , ( execu‹ )); } ) } 620  $_±h»ad_þ—nup_pÝ ( _±h»ad_þ—nup_bufãr * __bufãr , 621  __execu‹ è __THROW ; 626 #ifdeà __USE_GNU 627  #±h»ad_þ—nup_push_deãr_Å ( routše , ¬g ) \ 628 {  _±h»ad_þ—nup_bufãr _bufãr ; \ 629 `_±h»ad_þ—nup_push_deãr (& _bufãr , ( routše ), ( ¬g )); ) 631  `_±h»ad_þ—nup_push_deãr ( _±h»ad_þ—nup_bufãr * __bufãr , 632 (* __routše ) (*), 633 * __¬g è __THROW ; 639  #±h»ad_þ—nup_pÝ_»¡Üe_Å ( execu‹ ) \ 640 `_±h»ad_þ—nup_pÝ_»¡Üe (& _bufãr , ( execu‹ )); } ) } 642  $_±h»ad_þ—nup_pÝ_»¡Üe ( _±h»ad_þ—nup_bufãr * __bufãr , 643  __execu‹ è __THROW ; 647 #ifdeà __USE_XOPEN2K 649  $±h»ad_g‘ýuþockid ( ±h»ad_t __th»ad_id , 650 þockid_t * __þock_id è __THROW ; 655  ~ 671  `±h»ad_©fÜk ((* __´•¬e ) (), 672 (* __·»Á ) (), 673 (* __chžd è()è __THROW ; 678  $±h»ad_kžl_Ùh”_th»ads_Å (è __THROW ; 680 __END_DECLS @/usr/include/wctype.h 24 #iâdeà _WCTYPE_H 26  ~<ã©u»s.h > 27  ~ 29 #iâdeà __Ãed_iswxxx 30  #_WCTYPE_H 1 ) 34  #__Ãed_wšt_t ) 35  ~<¡ddef.h > 36 #iâdeà _WINT_T 41  #_WINT_T ) 42  twšt_t ; 47 #iâdeà WEOF 48  #WEOF (0xffffffffu) ) 51 #undeà __Ãed_iswxxx 56 #iâdeà __iswxxx_defšed 57  #__iswxxx_defšed 1 ) 61  twùy³_t ; 63 #iâdeà _ISwb™ 68  ~<’dŸn.h > 69 #ià __BYTE_ORDER =ð __BIG_ENDIAN 70  #_ISwb™ ( b™ è(1 << (b™)) ) 72  #_ISwb™ ( b™ ) \ 73 (( b™ ) < 8 ? () ((1UL << (bit)) << 24) \ 74 : (( b™ ) < 16 ? () ((1UL << (bit)) << 8) \ 75 : (( b™ ) < 24 ? () ((1UL << (bit)) >> 8) \ 76 : (è((1UL << ( b™ )è>> 24)))) ) 81 m__ISwuµ” = 0, 82 m__ISwlow” = 1, 83 m__ISw®pha = 2, 84 m__ISwdig™ = 3, 85 m__ISwxdig™ = 4, 86 m__ISw¥aû = 5, 87 m__ISw´št = 6, 88 m__ISwg¿ph = 7, 89 m__ISwbÏnk = 8, 90 m__ISwúŒl = 9, 91 m__ISwpunù = 10, 92 m__ISw®num = 11, 94 m_ISwuµ” = _ISwb™ ( __ISwuµ” ), 95 m_ISwlow” = _ISwb™ ( __ISwlow” ), 96 m_ISw®pha = _ISwb™ ( __ISw®pha ), 97 m_ISwdig™ = _ISwb™ ( __ISwdig™ ), 98 m_ISwxdig™ = _ISwb™ ( __ISwxdig™ ), 99 m_ISw¥aû = _ISwb™ ( __ISw¥aû ), 100 m_ISw´št = _ISwb™ ( __ISw´št ), 101 m_ISwg¿ph = _ISwb™ ( __ISwg¿ph ), 102 m_ISwbÏnk = _ISwb™ ( __ISwbÏnk ), 103 m_ISwúŒl = _ISwb™ ( __ISwúŒl ), 104 m_ISwpunù = _ISwb™ ( __ISwpunù ), 105 m_ISw®num = _ISwb™ ( __ISw®num ) 110 __BEGIN_DECLS 118  $isw®num ( wšt_t __wc è __THROW ; 124  $isw®pha ( wšt_t __wc è __THROW ; 127  $iswúŒl ( wšt_t __wc è __THROW ; 131  $iswdig™ ( wšt_t __wc è __THROW ; 135  $iswg¿ph ( wšt_t __wc è __THROW ; 140  $iswlow” ( wšt_t __wc è __THROW ; 143  $isw´št ( wšt_t __wc è __THROW ; 148  $iswpunù ( wšt_t __wc è __THROW ; 153  $isw¥aû ( wšt_t __wc è __THROW ; 158  $iswuµ” ( wšt_t __wc è __THROW ; 163  $iswxdig™ ( wšt_t __wc è __THROW ; 168 #ifdeà __USE_ISOC99 169  $iswbÏnk ( wšt_t __wc è __THROW ; 178 wùy³_t $wùy³ ( __cÚ¡ * __´Ý”ty è __THROW ; 182  $iswùy³ ( wšt_t __wc , wùy³_t __desc è __THROW ; 184 #ià __GNUC__ >ð2 && defšed __OPTIMIZE__ 187 * __ùy³32_b ; 189  #isw®num ( wc ) \ 190 ( __ex‹nsiÚ__ \ 191 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 192 ? (è( __ùy³32_b [( wšt_t è( wc )] & _ISw®num è: `isw®num (wc))) ) 193  #isw®pha ( wc ) \ 194 ( __ex‹nsiÚ__ \ 195 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 196 ? (è( __ùy³32_b [( wšt_t è( wc )] & _ISw®pha è: `isw®pha (wc))) ) 197  #iswúŒl ( wc ) \ 198 ( __ex‹nsiÚ__ \ 199 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 200 ? (è( __ùy³32_b [( wšt_t è( wc )] & _ISwúŒl è: `iswúŒl (wc))) ) 201  #iswdig™ ( wc ) \ 202 ( __ex‹nsiÚ__ \ 203 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 204 ? (è( __ùy³32_b [( wšt_t è( wc )] & _ISwdig™ è: `iswdig™ (wc))) ) 205  #iswlow” ( wc ) \ 206 ( __ex‹nsiÚ__ \ 207 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 208 ? (è( __ùy³32_b [( wšt_t è( wc )] & _ISwlow” è: `iswlow” (wc))) ) 209  #iswg¿ph ( wc ) \ 210 ( __ex‹nsiÚ__ \ 211 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 212 ? (è( __ùy³32_b [( wšt_t è( wc )] & _ISwg¿ph è: `iswg¿ph (wc))) ) 213  #isw´št ( wc ) \ 214 ( __ex‹nsiÚ__ \ 215 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 216 ? (è( __ùy³32_b [( wšt_t è( wc )] & _ISw´št è: `isw´št (wc))) ) 217  #iswpunù ( wc ) \ 218 ( __ex‹nsiÚ__ \ 219 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 220 ? (è( __ùy³32_b [( wšt_t è( wc )] & _ISwpunù è: `iswpunù (wc))) ) 221  #isw¥aû ( wc ) \ 222 ( __ex‹nsiÚ__ \ 223 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 224 ? (è( __ùy³32_b [( wšt_t è( wc )] & _ISw¥aû è: `isw¥aû (wc))) ) 225  #iswuµ” ( wc ) \ 226 ( __ex‹nsiÚ__ \ 227 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 228 ? (è( __ùy³32_b [( wšt_t è( wc )] & _ISwuµ” è: `iswuµ” (wc))) ) 229  #iswxdig™ ( wc ) \ 230 ( __ex‹nsiÚ__ \ 231 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 232 ? (è( __ùy³32_b [( wšt_t è( wc )] & _ISwxdig™ è: `iswxdig™ (wc))) ) 234 #ifdeà __USE_ISOC99 235  #iswbÏnk ( wc ) \ 236 ( __ex‹nsiÚ__ \ 237 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 238 ? (è( __ùy³32_b [( wšt_t è( wc )] & _ISwbÏnk è: `iswbÏnk (wc))) ) 249  __cÚ¡ t__št32_t * twù¿ns_t ; 252 wšt_t $towlow” ( wšt_t __wc è __THROW ; 255 wšt_t $towuµ” ( wšt_t __wc è __THROW ; 257 #ià __GNUC__ >ð2 && defšed __OPTIMIZE__ 260 cÚ¡ wšt_t * __ùy³32_tÞow” ; 261 cÚ¡ wšt_t * __ùy³32_touµ” ; 263  #towlow” ( wc ) \ 264 ( __ex‹nsiÚ__ \ 265 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 266 ? ( wšt_t è __ùy³32_tÞow” [(wšt_tè( wc )] : `towlow” (wc))) ) 268  #towuµ” ( wc ) \ 269 ( __ex‹nsiÚ__ \ 270 ( `__bužtš_cÚ¡ªt_p ( wc è&& ( wšt_t è(wcè<ð L '\xff' \ 271 ? ( wšt_t è __ùy³32_touµ” [(wšt_tè( wc )] : `towuµ” (wc))) ) 275 __END_DECLS 282 #ifdeà _WCTYPE_H 288 __BEGIN_DECLS 292 wù¿ns_t $wù¿ns ( __cÚ¡ * __´Ý”ty è __THROW ; 295 wšt_t $towù¿ns ( wšt_t __wc , wù¿ns_t __desc è __THROW ; 297 #ifdeà __USE_GNU 299  ~ 303  $__isw®num_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 309  $__isw®pha_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 312  $__iswúŒl_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 316  $__iswdig™_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 320  $__iswg¿ph_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 325  $__iswlow”_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 328  $__isw´št_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 333  $__iswpunù_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 338  $__isw¥aû_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 343  $__iswuµ”_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 348  $__iswxdig™_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 353  $__iswbÏnk_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 357 wùy³_t $__wùy³_l ( __cÚ¡ * __´Ý”ty , __loÿË_t __loÿË ) 358 __THROW ; 362  $__iswùy³_l ( wšt_t __wc , wùy³_t __desc , __loÿË_t __loÿË ) 363 __THROW ; 371 wšt_t $__towlow”_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 374 wšt_t $__towuµ”_l ( wšt_t __wc , __loÿË_t __loÿË è __THROW ; 378 wù¿ns_t $__wù¿ns_l ( __cÚ¡ * __´Ý”ty , __loÿË_t __loÿË ) 379 __THROW ; 382 wšt_t $__towù¿ns_l ( wšt_t __wc , wù¿ns_t __desc , 383 __loÿË_t __loÿË è __THROW ; 387 __END_DECLS @/usr/include/bits/initspin.h 23  #__LT_SPINLOCK_INIT 0 ) 26  #__LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT } ) 27  #__ALT_LOCK_INITIALIZER { 0, __LT_SPINLOCK_INIT } ) 28  #__ATOMIC_INITIALIZER { 0, __LT_SPINLOCK_INIT } ) @/usr/include/sched.h 20 #iâdef _SCHED_H 21  #_SCHED_H 1 ) 23  ~<ã©u»s.h > 26  ~ 28  #__Ãed_time¥ec ) 29  ~ 32  ~ 34  #sched_´iÜ™y __sched_´iÜ™y ) 37 __BEGIN_DECLS 40  $sched_£�¬am ( __pid_t __pid , __cÚ¡  sched_·¿m * __·¿m ) 41 __THROW ; 44  $sched_g‘·¿m ( __pid_t __pid ,  sched_·¿m * __·¿m è __THROW ; 47  $sched_£tscheduËr ( __pid_t __pid ,  __pÞicy , 48 __cÚ¡  sched_·¿m * __·¿m è __THROW ; 51  $sched_g‘scheduËr ( __pid_t __pid è __THROW ; 54  $sched_y›ld (è __THROW ; 57  $sched_g‘_´iÜ™y_max ( __®gÜ™hm è __THROW ; 60  $sched_g‘_´iÜ™y_mš ( __®gÜ™hm è __THROW ; 63  $sched_¼_g‘_š‹rv® ( __pid_t __pid ,  time¥ec * __t è __THROW ; 65 __END_DECLS @ 1 . 1 /usr/include 148 3046 EXTERN.h INTERN.h arg.h array.c array.h cmd.c cmd.h config.h cons.c consarg.c doarg.c doio.c dolist.c dump.c eval.c form.c form.h handy.h hash.c hash.h malloc.c patch-malloc.c patchlevel.h perl.c perl.h perly.c perly.h regcomp.c regcomp.h regexec.c regexp.h spat.h stab.c stab.h str.c str.h toke.c tperly.c usersub.c util.c util.h /usr/include/ctype.h /usr/include/dirent.h /usr/include/errno.h /usr/include/fcntl.h /usr/include/gdbm.h /usr/include/grp.h /usr/include/netdb.h /usr/include/netinet/in.h /usr/include/pwd.h /usr/include/setjmp.h /usr/include/signal.h /usr/include/stdio.h /usr/include/stdlib.h /usr/include/string.h /usr/include/sys/dir.h /usr/include/sys/file.h /usr/include/sys/ioctl.h /usr/include/sys/ipc.h /usr/include/sys/msg.h /usr/include/sys/param.h /usr/include/sys/select.h /usr/include/sys/sem.h /usr/include/sys/shm.h /usr/include/sys/socket.h /usr/include/sys/stat.h /usr/include/sys/time.h /usr/include/sys/times.h /usr/include/sys/types.h /usr/include/time.h /usr/include/utime.h /usr/include/alloca.h /usr/include/bits/byteswap.h /usr/include/bits/dirent.h /usr/include/bits/errno.h /usr/include/bits/fcntl.h /usr/include/bits/in.h /usr/include/bits/ioctl-types.h /usr/include/bits/ioctls.h /usr/include/bits/ipc.h /usr/include/bits/msq.h /usr/include/bits/netdb.h /usr/include/bits/posix1_lim.h /usr/include/bits/select.h /usr/include/bits/sem.h /usr/include/bits/setjmp.h /usr/include/bits/shm.h /usr/include/bits/sigaction.h /usr/include/bits/sigcontext.h /usr/include/bits/siginfo.h /usr/include/bits/signum.h /usr/include/bits/sigset.h /usr/include/bits/sigstack.h /usr/include/bits/sigthread.h /usr/include/bits/socket.h /usr/include/bits/stat.h /usr/include/bits/stdio.h /usr/include/bits/stdio_lim.h /usr/include/bits/string.h /usr/include/bits/string2.h /usr/include/bits/time.h /usr/include/bits/types.h /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h /usr/include/endian.h /usr/include/features.h /usr/include/getopt.h /usr/include/libio.h /usr/include/limits.h /usr/include/linux/limits.h /usr/include/linux/param.h /usr/include/rpc/netdb.h /usr/include/stdint.h /usr/include/sys/sysmacros.h /usr/include/sys/ttydefaults.h /usr/include/sys/uio.h /usr/include/ucontext.h /usr/include/xlocale.h /usr/include/_G_config.h /usr/include/asm/ioctls.h /usr/include/asm/param.h /usr/include/asm/sigcontext.h /usr/include/asm/socket.h /usr/include/bits/endian.h /usr/include/bits/local_lim.h /usr/include/bits/posix2_lim.h /usr/include/bits/pthreadtypes.h /usr/include/bits/sockaddr.h /usr/include/bits/stdio-lock.h /usr/include/bits/uio.h /usr/include/bits/wchar.h /usr/include/bits/wordsize.h /usr/include/bits/xopen_lim.h /usr/include/gnu/stubs.h /usr/include/linux/errno.h /usr/include/sys/cdefs.h /usr/include/sys/ucontext.h /usr/include/asm/errno.h /usr/include/asm/ioctl.h /usr/include/asm/sockios.h /usr/include/bits/libc-lock.h /usr/include/bits/sched.h /usr/include/gconv.h /usr/include/wchar.h /usr/include/pthread.h /usr/include/wctype.h /usr/include/bits/initspin.h /usr/include/sched.h