1 static char sccsid[] = " save.c 4.1 82/11/24 "; 2 3 #include "back.h" 4 5 extern int errno; 6 7 int code[] = { 8 0000413, 0000000, 0004000, 0000000, 0002000, 0000000, 0037060, 0000000, 9 0001144, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 10 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 11 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 12 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 13 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 14 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 15 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 16 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 17 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 18 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 19 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 20 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 21 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 22 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 23 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 24 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 25 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 26 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 27 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 28 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 29 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 30 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 31 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 32 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 33 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 34 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 35 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 36 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 37 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 38 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 39 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 40 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 41 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 42 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 43 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 44 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 45 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 46 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 47 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 48 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 49 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 50 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 51 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 52 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 53 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 54 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 55 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 56 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 57 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 58 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 59 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 60 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 61 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 62 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 63 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 64 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 65 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 66 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 67 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 68 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 69 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 70 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 71 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 72 0007400, 0036421, 0057320, 0140532, 0055004, 0150120, 0054520, 0054720, 73 0152530, 0011611, 0010402, 0150772, 0064131, 0001431, 0002302, 0150131, 74 0167531, 0003732, 0000000, 0167735, 0003724, 0000000, 0054335, 0065335, 75 0001773, 0006757, 0000000, 0156400, 0175520, 0167401, 0000144, 0000000, 76 0010404, 0000301, 0000000, 0000335, 0136335, 0157410, 0022357, 0000010, 77 0157400, 0011757, 0000010, 0157400, 0173757, 0000007, 0175400, 0167405, 78 0000004, 0000000, 0000004, 0000000, 0000000, 0126237, 0156410, 0002254, 79 0001373, 0000757, 0000000, 0002000, 0000000, 0167735, 0003600, 0000000, 80 0126335, 0156410, 0002254, 0001773, 0006757, 0000000, 0013400, 0016757, 81 0000000, 0000000, 0167427, 0000026, 0000000, 0000000, 0035674, 0172037, 82 0000004, 0000000, 0000000, 0000373, 0143757, 0000001, 0136000, 0000001, 83 0050320, 0054757, 0000011, 0147000, 0050001, 0000004, 0007400, 0030302, 84 0150136, 0004254, 0160533, 0125410, 0004020, 0001250, 0010253, 0010252, 85 0010253, 0000741, 0010253, 0030403, 0000222, 0000716, 0002120, 0054724, 86 0054720, 0010530, 0173033, 0002254, 0177655, 0000720, 0156530, 0157530, 87 0177655, 0125630, 0077022, 0001773, 0006757, 0000005, 0150000, 0054520, 88 0065724, 0001461, 0160001, 0125402, 0155420, 0125720, 0055010, 0001423, 89 0144061, 0157400, 0150255, 0125630, 0077022, 0001373, 0154757, 0000001, 90 0152400, 0014520, 0152405, 0172255, 0004024, 0107462, 0002000, 0174255, 91 0002421, 0126720, 0126764, 0150770, 0107533, 0004214, 0000000, 0071022, 92 0167630, 0003530, 0000000, 0175576, 0167401, 0000666, 0000000, 0050325, 93 0002423, 0003742, 0010253, 0157000, 0135757, 0000010, 0125400, 0157010, 94 0131757, 0000010, 0125400, 0150004, 0174255, 0006253, 0003741, 0010253, 95 0150224, 0004253, 0173132, 0002254, 0002273, 0125726, 0140404, 0006253, 96 0050132, 0125721, 0050004, 0004430, 0126321, 0005004, 0001423, 0046461, 97 0141777, 0125532, 0050004, 0050320, 0156530, 0156520, 0114132, 0011253, 98 0175576, 0167403, 0002142, 0000000, 0050320, 0150131, 0125532, 0030404, 99 0177516, 0126735, 0175770, 0167401, 0000664, 0000000, 0050320, 0150132, 100 0125532, 0011010, 0124006, 0125404, 0010420, 0124241, 0125410, 0150020, 101 0174255, 0006253, 0054724, 0054720, 0010530, 0141440, 0125532, 0054404, 102 0054720, 0012530, 0150026, 0125532, 0156404, 0156531, 0114132, 0011253, 103 0175576, 0167403, 0002022, 0000000, 0050320, 0141531, 0125401, 0065414, 104 0126366, 0105004, 0055320, 0002253, 0054321, 0011531, 0124007, 0125440, 105 0030420, 0177306, 0126320, 0050004, 0000004, 0007000, 0126320, 0055404, 106 0125462, 0050020, 0107712, 0177771, 0177777, 0150520, 0001120, 0040022, 107 0125720, 0055010, 0035023, 0055303, 0002253, 0012531, 0150063, 0125532, 108 0131404, 0102217, 0125400, 0011420, 0152004, 0010520, 0150004, 0006253, 109 0150120, 0065520, 0054735, 0055335, 0125630, 0077022, 0001773, 0123757, 110 0000003, 0150400, 0054520, 0004023, 0020250, 0010253, 0000716, 0002120, 111 0050324, 0000004, 0004000, 0167736, 0002774, 0000000, 0010533, 0156414, 112 0175533, 0167401, 0000016, 0000000, 0012300, 0150533, 0167533, 0003566, 113 0000000, 0165431, 0000004, 0006000, 0126320, 0055404, 0000716, 0131532, 114 0001617, 0125401, 0011420, 0160100, 0125406, 0035420, 0055735, 0000773, 115 0062757, 0177777, 0150377, 0055120, 0125630, 0077022, 0000773, 0063757, 116 0000000, 0152400, 0014120, 0147003, 0055001, 0001741, 0010253, 0156412, 117 0004253, 0000773, 0001757, 0000002, 0131400, 0106217, 0125400, 0011420, 118 0152006, 0004253, 0125724, 0125014, 0177617, 0125401, 0152020, 0150153, 119 0050132, 0000004, 0167427, 0176666, 0177777, 0000000, 0016274, 0172037, 120 0000004, 0000000, 0000000, 0004302, 0157536, 0175255, 0126335, 0175404, 121 0167402, 0000064, 0000000, 0050325, 0001430, 0050324, 0150004, 0050001, 122 0000004, 0000000, 0167427, 0176606, 0177777, 0000000, 0003274, 0172037, 123 0050324, 0000004, 0000000, 0126335, 0156410, 0004617, 0003164, 0156600, 124 0002254, 0001773, 0016757, 0000000, 0002000, 0000000, 0126335, 0156410, 125 0004217, 0003164, 0156500, 0002254, 0001773, 0003757, 0000000, 0002000, 126 0167427, 0176512, 0177777, 0000000, 0033274, 0172037, 0000004, 0000000, 127 0007000, 0167725, 0043240, 0000000, 0027022, 0000711, 0016217, 0000112, 128 0167400, 0043222, 0000000, 0000711, 0014217, 0000112, 0167400, 0043212, 129 0000000, 0167736, 0043204, 0000000, 0103757, 0000106, 0157000, 0072757, 130 0000106, 0167400, 0043170, 0000000, 0002335, 0003701, 0002254, 0175576, 131 0167402, 0001046, 0000000, 0050320, 0150131, 0060757, 0000106, 0055400, 132 0167724, 0043146, 0000000, 0065751, 0010405, 0150044, 0065552, 0065720, 133 0164532, 0173552, 0001170, 0050131, 0055700, 0150520, 0050132, 0007431, 134 0001170, 0050131, 0055700, 0150520, 0055520, 0001431, 0134461, 0150000, 135 0055133, 0000713, 0055553, 0055721, 0012132, 0150713, 0167532, 0043042, 136 0000000, 0004422, 0055721, 0014217, 0000112, 0011400, 0152003, 0002120, 137 0000761, 0167401, 0043024, 0000000, 0177654, 0107701, 0000400, 0000000, 138 0050131, 0107706, 0000400, 0000000, 0074120, 0050010, 0175757, 0000105, 139 0156400, 0175400, 0167401, 0000572, 0000000, 0050320, 0074132, 0167402, 140 0042750, 0000000, 0140120, 0050132, 0050321, 0014532, 0074300, 0167402, 141 0042730, 0000000, 0175576, 0167401, 0000530, 0000000, 0050320, 0150532, 142 0107532, 0177777, 0177777, 0122423, 0055320, 0132777, 0000105, 0140400, 143 0167404, 0042656, 0000000, 0150520, 0050132, 0003423, 0000710, 0120777, 144 0000105, 0074000, 0167402, 0042642, 0000000, 0140120, 0050132, 0002303, 145 0065120, 0065320, 0105757, 0000105, 0144400, 0107401, 0045030, 0000000, 146 0077777, 0000105, 0030400, 0177430, 0001170, 0050131, 0055701, 0167520, 147 0042554, 0000000, 0055321, 0062757, 0000105, 0012400, 0150022, 0056777, 148 0000105, 0167400, 0042540, 0000000, 0065720, 0050777, 0000105, 0144400, 149 0167401, 0042512, 0000000, 0140553, 0055404, 0002120, 0006000, 0126320, 150 0055404, 0055720, 0141132, 0055004, 0055320, 0030757, 0000105, 0145400, 151 0065001, 0150120, 0065120, 0000004, 0007000, 0006302, 0150136, 0002254, 152 0164533, 0176253, 0156411, 0175533, 0167401, 0177716, 0177777, 0055703, 153 0176253, 0143520, 0050004, 0172255, 0126335, 0175410, 0167401, 0177116, 154 0177777, 0050320, 0011532, 0150405, 0055532, 0002022, 0055320, 0002120, 155 0055720, 0176255, 0055320, 0174255, 0002335, 0001701, 0004254, 0175576, 156 0167402, 0000226, 0000000, 0050320, 0150531, 0126531, 0017364, 0150031, 157 0126531, 0010764, 0150023, 0176255, 0150120, 0174255, 0150121, 0060540, 158 0002300, 0176255, 0002300, 0174255, 0126720, 0050364, 0126727, 0152764, 159 0011120, 0150742, 0055532, 0132030, 0001170, 0050131, 0055300, 0150520, 160 0055520, 0124031, 0001170, 0050131, 0055300, 0141120, 0050133, 0002306, 161 0150120, 0110757, 0000104, 0040000, 0010552, 0000221, 0167427, 0175416, 162 0177777, 0000000, 0010674, 0172037, 0126320, 0167404, 0002134, 0000000, 163 0050324, 0000004, 0000000, 0167701, 0002120, 0000000, 0002254, 0156576, 164 0150001, 0051534, 0057320, 0136134, 0017421, 0150321, 0035757, 0000004, 165 0050000, 0121700, 0167404, 0002062, 0000000, 0000004, 0000000, 0126320, 166 0050004, 0126320, 0051010, 0002423, 0051321, 0012401, 0152010, 0075521, 167 0050122, 0051120, 0011404, 0150413, 0051120, 0001436, 0050324, 0150004, 168 0050001, 0000004, 0167427, 0175246, 0177777, 0000000, 0002274, 0172037, 169 0000004, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 170 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 171 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 172 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 173 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 174 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 175 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 176 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 177 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 178 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 179 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 180 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 181 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 182 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 183 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 184 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 185 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 186 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 187 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 188 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 189 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 190 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 191 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 192 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 193 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 194 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 195 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 196 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 197 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 198 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 199 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 200 0000000, 0000000, 0004014, 0000000, 0000005, 0000000, 0024100, 0024443, 201 0066543, 0072147, 0061456, 0072162, 0027060, 0004543, 0027064, 0020063, 202 0061450, 0072162, 0027060, 0024543, 0024040, 0062502, 0065562, 0066145, 203 0074545, 0020051, 0027464, 0034461, 0034057, 0000062, 0062411, 0062570, 204 0066143, 0061456, 0030411, 0030456, 0034011, 0027462, 0032460, 0030457, 205 0004461, 0000000, 0072457, 0071163, 0063457, 0066541, 0071545, 0061057, 206 0061541, 0063553, 0066541, 0067555, 0000156, 0060542, 0065543, 0060547, 207 0066555, 0067157, 0071400, 0000000, 0000000, 0000000, 0000000, 0000000, 208 0000000, 0000000, 0000000, 0000000, 0000001, 0000000, 0000000, 0000000, 209 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000002, 0000001, 210 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 211 0000006, 0000002, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 212 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 213 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 214 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 215 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 216 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 217 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 218 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 219 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 220 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 221 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 222 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 223 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 224 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 225 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 226 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 227 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 228 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 229 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 230 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 231 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 232 0000000, 0000000, 0000000, 0000000, 0005010, 0000000, 0045060, 0000000, 233 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 234 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 235 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 236 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 237 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 238 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 239 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 240 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 241 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 242 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 243 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 244 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 245 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 246 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 247 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 248 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 249 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 250 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 251 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 252 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 253 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 254 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 255 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 256 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 257 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 258 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 259 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 260 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 261 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 262 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 263 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 0000000, 264 0000004, 0000000, 0000004, 0002664, 0000000, 0000000, 0000013, 0000000, 265 0000004, 0000222, 0000104, 0000000, 0000023, 0000000, 0000006, 0000000, 266 0004074, 0000000, 0000033, 0000000, 0000004, 0000000, 0000150, 0000000, 267 0000043, 0000000, 0000004, 0003604, 0000170, 0000000, 0000053, 0000000, 268 0000004, 0003317, 0000224, 0000000, 0000064, 0000000, 0000004, 0003317, 269 0000244, 0000000, 0000073, 0000000, 0000004, 0001626, 0000260, 0000000, 270 0000104, 0000000, 0000004, 0003627, 0000274, 0000000, 0000115, 0000000, 271 0000004, 0001571, 0001364, 0000000, 0000124, 0000000, 0000004, 0002664, 272 0001364, 0000000, 0000134, 0000000, 0000004, 0003642, 0001404, 0000000, 273 0000145, 0000000, 0000004, 0001673, 0001444, 0000000, 0000155, 0000000, 274 0000004, 0003473, 0001464, 0000000, 0000164, 0000000, 0000004, 0001673, 275 0001540, 0000000, 0000174, 0000000, 0000004, 0003614, 0001560, 0000000, 276 0000205, 0000000, 0000004, 0003067, 0002634, 0000000, 0000214, 0000000, 277 0000004, 0001701, 0002734, 0000000, 0000223, 0000000, 0000004, 0003200, 278 0003004, 0000000, 0000233, 0000000, 0000007, 0002562, 0004000, 0000000, 279 0000244, 0000000, 0000005, 0002416, 0000000, 0000000, 0000252, 0000000, 280 0000005, 0001576, 0000104, 0000000, 0000260, 0000000, 0000005, 0001640, 281 0000244, 0000000, 0000266, 0000000, 0000007, 0000222, 0004010, 0000000, 282 0000275, 0000000, 0000005, 0003572, 0000150, 0000000, 0000304, 0000000, 283 0000005, 0004034, 0000260, 0000000, 0000313, 0000000, 0000005, 0003604, 284 0000170, 0000000, 0000322, 0000000, 0000005, 0003317, 0000232, 0000000, 285 0000332, 0000000, 0000005, 0001626, 0001164, 0000000, 0000344, 0000000, 286 0000011, 0003627, 0005020, 0000000, 0000353, 0000000, 0000005, 0001146, 287 0000274, 0000000, 0000364, 0000000, 0000005, 0004225, 0003012, 0000000, 288 0000373, 0000000, 0000005, 0003642, 0001372, 0000000, 0000402, 0000000, 289 0000007, 0001456, 0004170, 0000000, 0000410, 0000000, 0000005, 0003463, 290 0001404, 0000000, 0000420, 0000000, 0000011, 0003012, 0005030, 0000000, 291 0000430, 0000000, 0000005, 0003253, 0001560, 0000000, 0000440, 0000000, 292 0000005, 0003114, 0001032, 0000000, 0000450, 0000000, 0000005, 0003001, 293 0001226, 0000000, 0000460, 0000000, 0000007, 0002664, 0005010, 0000000, 294 0000472, 0000000, 0000005, 0003473, 0001452, 0000000, 0000501, 0000000, 295 0000005, 0001571, 0002334, 0000000, 0000507, 0000000, 0000011, 0002732, 296 0025030, 0000000, 0000517, 0000000, 0000005, 0001673, 0001512, 0000000, 297 0000525, 0000000, 0000005, 0002033, 0001464, 0000000, 0000533, 0000000, 298 0000005, 0003614, 0001546, 0000000, 0000542, 0000000, 0000005, 0003200, 299 0002734, 0000000, 0000547, 0000000, 0000005, 0001701, 0002664, 0000000, 300 0000555, 0000000, 0000005, 0003067, 0002370, 0000000, 0000566, 0000000, 301 0000011, 0002714, 0045060, 0000000, 0000573, 0000000, 0000005, 0002717, 302 0002642, 0000000, 0000600, 0000000, 0071143, 0030164, 0067456, 0062400, 303 0062570, 0066143, 0067456, 0057400, 0061563, 0071543, 0062151, 0062400, 304 0062570, 0066143, 0067456, 0062400, 0062570, 0073143, 0067456, 0062400, 305 0062570, 0073143, 0027145, 0000157, 0074145, 0072151, 0067456, 0061400, 306 0071145, 0067562, 0027162, 0000157, 0066146, 0061163, 0063165, 0067456, 307 0062000, 0072141, 0027141, 0000157, 0071546, 0060564, 0027164, 0000157, 308 0071551, 0072141, 0074564, 0067456, 0061400, 0067554, 0062563, 0067456, 309 0071400, 0072164, 0027171, 0000157, 0067551, 0072143, 0027154, 0000157, 310 0060555, 0066154, 0061557, 0067456, 0047400, 0071142, 0027153, 0000157, 311 0062165, 0073151, 0067456, 0073400, 0064562, 0062564, 0067456, 0057400, 312 0067145, 0064566, 0067562, 0000156, 0072163, 0071141, 0000164, 0066537, 313 0064541, 0000156, 0062537, 0064570, 0000164, 0061555, 0072557, 0072156, 314 0057400, 0074145, 0061545, 0000154, 0062543, 0071162, 0071157, 0057400, 315 0074145, 0061545, 0000166, 0062537, 0062570, 0073143, 0000145, 0057537, 316 0066143, 0060545, 0072556, 0000160, 0062537, 0071162, 0067556, 0057400, 317 0063137, 0071554, 0072542, 0000146, 0073537, 0064562, 0062564, 0057400, 318 0071546, 0060564, 0000164, 0057537, 0067551, 0000142, 0064537, 0060563, 319 0072164, 0000171, 0057537, 0067563, 0072542, 0000146, 0066537, 0066141, 320 0067554, 0000143, 0063137, 0066146, 0071565, 0000150, 0063137, 0066143, 321 0071557, 0000145, 0057537, 0060554, 0072163, 0072542, 0000146, 0061537, 322 0067554, 0062563, 0057400, 0071146, 0062545, 0057400, 0071537, 0061151, 323 0063165, 0057400, 0072147, 0074564, 0057400, 0072163, 0074564, 0057400, 324 0067551, 0072143, 0000154, 0062165, 0073151, 0057400, 0061163, 0065562, 325 0057400, 0062562, 0066141, 0067554, 0000143, 0062537, 0062156, 0057400, 326 0071142, 0000153, 0, 327 }; 328 329 static char confirm[] = "Are you sure you want to leave now?"; 330 static char prompt[] = "Enter a file name: "; 331 static char exist1[] = "The file '"; 332 static char exist2[] = 333 "' already exists.\nAre you sure you want to use this file?"; 334 static char cantuse[] = "\nCan't use "; 335 static char saved[] = "This file has been saved on the file '"; 336 static char type[] = "'.\nType '"; 337 static char rec[] = "' to recover your game.\n\n"; 338 static char cantrec[] = "Can't recover file: "; 339 340 save (n) 341 register int n; 342 343 { 344 register int fdesc; 345 register char *fs; 346 char fname[50]; 347 348 if (n) { 349 if (tflag) { 350 curmove (20,0); 351 clend(); 352 } else 353 writec ('\n'); 354 writel (confirm); 355 if (! yorn(0)) 356 return; 357 } 358 cflag = 1; 359 for (;;) { 360 writel (prompt); 361 fs = fname; 362 while ((*fs = readc()) != '\n') { 363 if (*fs == tty.sg_erase) { 364 if (fs > fname) { 365 fs--; 366 if (tflag) 367 curmove (curr,curc-1); 368 else 369 writec (*fs); 370 } else 371 writec ('\007'); 372 continue; 373 } 374 writec (*fs++); 375 } 376 *fs = '\0'; 377 if ((fdesc = open(fname,2)) == -1 && errno == 2) { 378 if ((fdesc = creat (fname,0700)) != -1) 379 break; 380 } 381 if (fdesc != -1) { 382 if (tflag) { 383 curmove (18,0); 384 clend(); 385 } else 386 writec ('\n'); 387 writel (exist1); 388 writel (fname); 389 writel (exist2); 390 cflag = 0; 391 close (fdesc); 392 if (yorn (0)) { 393 unlink (fname); 394 fdesc = creat (fname,0700); 395 break; 396 } else { 397 cflag = 1; 398 continue; 399 } 400 } 401 writel (cantuse); 402 writel (fname); 403 writel (".\n"); 404 close (fdesc); 405 cflag = 1; 406 } 407 write (fdesc,code,sizeof code); 408 write (fdesc,board,52); 409 write (fdesc,off,4); 410 write (fdesc,in,4); 411 write (fdesc,dice,4); 412 write (fdesc,&cturn,2); 413 write (fdesc,&dlast,2); 414 write (fdesc,&pnum,2); 415 write (fdesc,&rscore,2); 416 write (fdesc,&wscore,2); 417 write (fdesc,&gvalue,2); 418 write (fdesc,&raflag,2); 419 close (fdesc); 420 if (tflag) 421 curmove (18,0); 422 writel (saved); 423 writel (fname); 424 writel (type); 425 writel (fname); 426 writel (rec); 427 if (tflag) 428 clend(); 429 getout (); 430 } 431 432 recover (s) 433 char *s; 434 435 { 436 register int i; 437 int fdesc; 438 439 if ((fdesc = open (s,0)) == -1) 440 norec (s); 441 read (fdesc,board,52); 442 for (i = 0; i < 26; i++) 443 if (board[i] != code[i]) 444 norec (s); 445 if (lseek (fdesc,(long) sizeof code,0) == -1) 446 norec (s); 447 read (fdesc,board,52); 448 read (fdesc,off,4); 449 read (fdesc,in,4); 450 read (fdesc,dice,4); 451 read (fdesc,&cturn,2); 452 read (fdesc,&dlast,2); 453 read (fdesc,&pnum,2); 454 read (fdesc,&rscore,2); 455 read (fdesc,&wscore,2); 456 read (fdesc,&gvalue,2); 457 read (fdesc,&raflag,2); 458 close (fdesc); 459 rflag = 1; 460 } 461 462 norec (s) 463 register char *s; 464 465 { 466 register char *c; 467 468 tflag = 0; 469 writel (cantrec); 470 c = s; 471 while (*c != '\0') 472 writec (*c++); 473 getout (); 474 } 475