-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathformat.c
276 lines (268 loc) · 7.03 KB
/
format.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
#define BF_FMT_SCAN(a) a
#define BF_ASCII(x) BF_ASCII_##x
#define BF_ASCII_0 2,\0
#define BF_ASCII_1 2,\x1
#define BF_ASCII_2 2,\x2
#define BF_ASCII_3 2,\x3
#define BF_ASCII_4 2,\x4
#define BF_ASCII_5 2,\x5
#define BF_ASCII_6 2,\x6
#define BF_ASCII_7 2,\a
#define BF_ASCII_8 2,\b
#define BF_ASCII_9 2,\t
#define BF_ASCII_a 2,\n
#define BF_ASCII_b 2,\v
#define BF_ASCII_c 2,\f
#define BF_ASCII_d 2,\r
#define BF_ASCII_e 2,\xe
#define BF_ASCII_f 2,\xf
#define BF_ASCII_10 2,\x10
#define BF_ASCII_11 2,\x11
#define BF_ASCII_12 2,\x12
#define BF_ASCII_13 2,\x13
#define BF_ASCII_14 2,\x14
#define BF_ASCII_15 2,\x15
#define BF_ASCII_16 2,\x16
#define BF_ASCII_17 2,\x17
#define BF_ASCII_18 2,\x18
#define BF_ASCII_19 2,\x19
#define BF_ASCII_1a 2,\x1a
#define BF_ASCII_1b 2,\x1b
#define BF_ASCII_1c 2,\x1c
#define BF_ASCII_1d 2,\x1d
#define BF_ASCII_1e 2,\x1e
#define BF_ASCII_1f 2,\x1f
#define BF_ASCII_20 2,\x20
#define BF_ASCII_21 0,!
#define BF_ASCII_22 0,\x22
#define BF_ASCII_23 0,#
#define BF_ASCII_24 0,\x24
#define BF_ASCII_25 0,%
#define BF_ASCII_26 0,&
#define BF_ASCII_27 2,\x27
#define BF_ASCII_28 2,\x28
#define BF_ASCII_29 2,\x29
#define BF_ASCII_2a 0,*
#define BF_ASCII_2b 0,+
#define BF_ASCII_2c 2,\x2c
#define BF_ASCII_2d 0,-
#define BF_ASCII_2e 0,.
#define BF_ASCII_2f 0,/
#define BF_ASCII_30 1,0
#define BF_ASCII_31 1,1
#define BF_ASCII_32 1,2
#define BF_ASCII_33 1,3
#define BF_ASCII_34 1,4
#define BF_ASCII_35 1,5
#define BF_ASCII_36 1,6
#define BF_ASCII_37 1,7
#define BF_ASCII_38 1,8
#define BF_ASCII_39 1,9
#define BF_ASCII_3a 0,:
#define BF_ASCII_3b 0,;
#define BF_ASCII_3c 0,<
#define BF_ASCII_3d 0,=
#define BF_ASCII_3e 0,>
#define BF_ASCII_3f 0,?
#define BF_ASCII_40 0,@
#define BF_ASCII_41 1,A
#define BF_ASCII_42 1,B
#define BF_ASCII_43 1,C
#define BF_ASCII_44 1,D
#define BF_ASCII_45 1,E
#define BF_ASCII_46 1,F
#define BF_ASCII_47 1,G
#define BF_ASCII_48 1,H
#define BF_ASCII_49 1,I
#define BF_ASCII_4a 1,J
#define BF_ASCII_4b 1,K
#define BF_ASCII_4c 1,L
#define BF_ASCII_4d 1,M
#define BF_ASCII_4e 1,N
#define BF_ASCII_4f 1,O
#define BF_ASCII_50 1,P
#define BF_ASCII_51 1,Q
#define BF_ASCII_52 1,R
#define BF_ASCII_53 1,S
#define BF_ASCII_54 1,T
#define BF_ASCII_55 1,U
#define BF_ASCII_56 1,V
#define BF_ASCII_57 1,W
#define BF_ASCII_58 1,X
#define BF_ASCII_59 1,Y
#define BF_ASCII_5a 1,Z
#define BF_ASCII_5b 0,[
#define BF_ASCII_5c 2,\x5c
#define BF_ASCII_5d 0,]
#define BF_ASCII_5e 0,^
#define BF_ASCII_5f 1,_
#define BF_ASCII_60 2,\x60
#define BF_ASCII_61 1,a
#define BF_ASCII_62 1,b
#define BF_ASCII_63 1,c
#define BF_ASCII_64 1,d
#define BF_ASCII_65 1,e
#define BF_ASCII_66 1,f
#define BF_ASCII_67 1,g
#define BF_ASCII_68 1,h
#define BF_ASCII_69 1,i
#define BF_ASCII_6a 1,j
#define BF_ASCII_6b 1,k
#define BF_ASCII_6c 1,l
#define BF_ASCII_6d 1,m
#define BF_ASCII_6e 1,n
#define BF_ASCII_6f 1,o
#define BF_ASCII_70 1,p
#define BF_ASCII_71 1,q
#define BF_ASCII_72 1,r
#define BF_ASCII_73 1,s
#define BF_ASCII_74 1,t
#define BF_ASCII_75 1,u
#define BF_ASCII_76 1,v
#define BF_ASCII_77 1,w
#define BF_ASCII_78 1,x
#define BF_ASCII_79 1,y
#define BF_ASCII_7a 1,z
#define BF_ASCII_7b 0,{
#define BF_ASCII_7c 0,|
#define BF_ASCII_7d 0,}
#define BF_ASCII_7e 0,~
#define BF_ASCII_7f 2,\x7f
#define BF_ASCII_80 2,\x80
#define BF_ASCII_81 2,\x81
#define BF_ASCII_82 2,\x82
#define BF_ASCII_83 2,\x83
#define BF_ASCII_84 2,\x84
#define BF_ASCII_85 2,\x85
#define BF_ASCII_86 2,\x86
#define BF_ASCII_87 2,\x87
#define BF_ASCII_88 2,\x88
#define BF_ASCII_89 2,\x89
#define BF_ASCII_8a 2,\x8a
#define BF_ASCII_8b 2,\x8b
#define BF_ASCII_8c 2,\x8c
#define BF_ASCII_8d 2,\x8d
#define BF_ASCII_8e 2,\x8e
#define BF_ASCII_8f 2,\x8f
#define BF_ASCII_90 2,\x90
#define BF_ASCII_91 2,\x91
#define BF_ASCII_92 2,\x92
#define BF_ASCII_93 2,\x93
#define BF_ASCII_94 2,\x94
#define BF_ASCII_95 2,\x95
#define BF_ASCII_96 2,\x96
#define BF_ASCII_97 2,\x97
#define BF_ASCII_98 2,\x98
#define BF_ASCII_99 2,\x99
#define BF_ASCII_9a 2,\x9a
#define BF_ASCII_9b 2,\x9b
#define BF_ASCII_9c 2,\x9c
#define BF_ASCII_9d 2,\x9d
#define BF_ASCII_9e 2,\x9e
#define BF_ASCII_9f 2,\x9f
#define BF_ASCII_a0 2,\xa0
#define BF_ASCII_a1 2,\xa1
#define BF_ASCII_a2 2,\xa2
#define BF_ASCII_a3 2,\xa3
#define BF_ASCII_a4 2,\xa4
#define BF_ASCII_a5 2,\xa5
#define BF_ASCII_a6 2,\xa6
#define BF_ASCII_a7 2,\xa7
#define BF_ASCII_a8 2,\xa8
#define BF_ASCII_a9 2,\xa9
#define BF_ASCII_aa 2,\xaa
#define BF_ASCII_ab 2,\xab
#define BF_ASCII_ac 2,\xac
#define BF_ASCII_ad 2,\xad
#define BF_ASCII_ae 2,\xae
#define BF_ASCII_af 2,\xaf
#define BF_ASCII_b0 2,\xb0
#define BF_ASCII_b1 2,\xb1
#define BF_ASCII_b2 2,\xb2
#define BF_ASCII_b3 2,\xb3
#define BF_ASCII_b4 2,\xb4
#define BF_ASCII_b5 2,\xb5
#define BF_ASCII_b6 2,\xb6
#define BF_ASCII_b7 2,\xb7
#define BF_ASCII_b8 2,\xb8
#define BF_ASCII_b9 2,\xb9
#define BF_ASCII_ba 2,\xba
#define BF_ASCII_bb 2,\xbb
#define BF_ASCII_bc 2,\xbc
#define BF_ASCII_bd 2,\xbd
#define BF_ASCII_be 2,\xbe
#define BF_ASCII_bf 2,\xbf
#define BF_ASCII_c0 2,\xc0
#define BF_ASCII_c1 2,\xc1
#define BF_ASCII_c2 2,\xc2
#define BF_ASCII_c3 2,\xc3
#define BF_ASCII_c4 2,\xc4
#define BF_ASCII_c5 2,\xc5
#define BF_ASCII_c6 2,\xc6
#define BF_ASCII_c7 2,\xc7
#define BF_ASCII_c8 2,\xc8
#define BF_ASCII_c9 2,\xc9
#define BF_ASCII_ca 2,\xca
#define BF_ASCII_cb 2,\xcb
#define BF_ASCII_cc 2,\xcc
#define BF_ASCII_cd 2,\xcd
#define BF_ASCII_ce 2,\xce
#define BF_ASCII_cf 2,\xcf
#define BF_ASCII_d0 2,\xd0
#define BF_ASCII_d1 2,\xd1
#define BF_ASCII_d2 2,\xd2
#define BF_ASCII_d3 2,\xd3
#define BF_ASCII_d4 2,\xd4
#define BF_ASCII_d5 2,\xd5
#define BF_ASCII_d6 2,\xd6
#define BF_ASCII_d7 2,\xd7
#define BF_ASCII_d8 2,\xd8
#define BF_ASCII_d9 2,\xd9
#define BF_ASCII_da 2,\xda
#define BF_ASCII_db 2,\xdb
#define BF_ASCII_dc 2,\xdc
#define BF_ASCII_dd 2,\xdd
#define BF_ASCII_de 2,\xde
#define BF_ASCII_df 2,\xdf
#define BF_ASCII_e0 2,\xe0
#define BF_ASCII_e1 2,\xe1
#define BF_ASCII_e2 2,\xe2
#define BF_ASCII_e3 2,\xe3
#define BF_ASCII_e4 2,\xe4
#define BF_ASCII_e5 2,\xe5
#define BF_ASCII_e6 2,\xe6
#define BF_ASCII_e7 2,\xe7
#define BF_ASCII_e8 2,\xe8
#define BF_ASCII_e9 2,\xe9
#define BF_ASCII_ea 2,\xea
#define BF_ASCII_eb 2,\xeb
#define BF_ASCII_ec 2,\xec
#define BF_ASCII_ed 2,\xed
#define BF_ASCII_ee 2,\xee
#define BF_ASCII_ef 2,\xef
#define BF_ASCII_f0 2,\xf0
#define BF_ASCII_f1 2,\xf1
#define BF_ASCII_f2 2,\xf2
#define BF_ASCII_f3 2,\xf3
#define BF_ASCII_f4 2,\xf4
#define BF_ASCII_f5 2,\xf5
#define BF_ASCII_f6 2,\xf6
#define BF_ASCII_f7 2,\xf7
#define BF_ASCII_f8 2,\xf8
#define BF_ASCII_f9 2,\xf9
#define BF_ASCII_fa 2,\xfa
#define BF_ASCII_fb 2,\xfb
#define BF_ASCII_fc 2,\xfc
#define BF_ASCII_fd 2,\xfd
#define BF_ASCII_fe 2,\xfe
#define BF_ASCII_ff 2,\xff
#define BF_ASCII__(...) 0,(__VA_ARGS__)
#define BF_ASCII_APPEND00(P,a,b) BF_FMT_SCAN(P##a)P##b
#define BF_ASCII_APPEND01(P,a,b) BF_FMT_SCAN(P##a)P##b
#define BF_ASCII_APPEND10(P,a,b) BF_FMT_SCAN(P##a)P##b
#define BF_ASCII_APPEND11(P,a,b) a##b
#define BF_ASCII_APPEND02(P,a,b) BF_FMT_SCAN(P##a)P##b
#define BF_ASCII_APPEND12(P,a,b) BF_FMT_SCAN(P##a)P##b
#define BF_ASCII_APPEND22(P,a,b) BF_FMT_SCAN(P##a)P##b
#define BF_ASCII_APPEND21(P,a,b) a##b
#define BF_ASCII_APPEND20(P,a,b) BF_FMT_SCAN(P##a)P##b