~vcs-imports/mammoth-replicator/trunk

« back to all changes in this revision

Viewing changes to src/tools/pgindent/pgindent

  • Committer: alvherre
  • Date: 2005-12-16 21:24:52 UTC
  • Revision ID: svn-v4:db760fc0-0f08-0410-9d63-cc6633f64896:trunk:1
Initial import of the REL8_0_3 sources from the Pgsql CVS repository.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/bin/sh
 
2
 
 
3
# Known bugs:
 
4
#
 
5
# Blank line is added after, seen as a function definition, no space
 
6
# after *:
 
7
#       y = (int) x *y;
 
8
 
 
9
trap "rm -f /tmp/$$ /tmp/$$a" 0 1 2 3 15
 
10
entab </dev/null >/dev/null
 
11
if [ "$?" -ne 0 ]
 
12
then    echo "Go to the src/tools/entab directory and do a 'make' and 'make install'." >&2
 
13
        echo "This will put the 'entab' command in your path." >&2
 
14
        echo "Then run $0 again."
 
15
        exit 1
 
16
fi
 
17
indent -? </dev/null >/dev/null 2>&1
 
18
if [ "$?" -ne 1 ]
 
19
then    echo "You do not appear to have 'indent' installed on your system." >&2
 
20
        exit 1
 
21
fi
 
22
indent -gnu </dev/null >/dev/null 2>&1
 
23
if [ "$?" -eq 0 ]
 
24
then    echo "You appear to have GNU indent rather than BSD indent." >&2
 
25
        echo "See the pgindent/README file for a description of its problems." >&2
 
26
        EXTRA_OPTS="-cdb -bli0 -npcs -cli4 -sc"
 
27
else    echo "Hope you installed /src/tools/pgindent/indent.bsd.patch." >&2
 
28
        EXTRA_OPTS="-cli1"
 
29
fi
 
30
 
 
31
for FILE
 
32
do
 
33
        cat "$FILE" |
 
34
# convert // comments to /* */
 
35
        sed 's;^\([     ]*\)//\(.*\)$;\1/* \2 */;g' |
 
36
# Avoid bug that converts 'x =- 1' to 'x = -1'
 
37
        sed 's;=- ;-= ;g' |
 
38
# mark some comments for special treatment later
 
39
        sed 's;/\*  *---;/*---X_X;g' |
 
40
# workaround for indent bug with 'else' handling
 
41
# indent comment so BSD indent will move it
 
42
        sed 's;\([}     ]\)else[        ]*\(/\*.*\)$;\1else\
 
43
    \2;g' | 
 
44
        detab -t4 -qc |
 
45
# work around bug where function that defines no local variables misindents
 
46
# switch() case lines and line after #else.  Do not do for struct/enum.
 
47
        awk '   BEGIN   {line1 = ""; line2 = ""}
 
48
                {
 
49
                        line2 = $0;
 
50
                        if (NR >= 2)
 
51
                                print line1;
 
52
                        if (NR >= 2 &&
 
53
                            line2 ~ "^{[        ]*$" &&
 
54
                            line1 !~ "^struct" &&
 
55
                            line1 !~ "^enum" &&
 
56
                            line1 !~ "^typedef" &&
 
57
                            line1 !~ "^extern[  ][      ]*\"C\"" &&
 
58
                            line1 !~ "=" &&
 
59
                            line1 ~ "\)")
 
60
                                print "int      pgindent_func_no_var_fix;";
 
61
                        line1 = line2;
 
62
                }
 
63
                END {
 
64
                        if (NR >= 1)
 
65
                                print line1;
 
66
                }' |
 
67
# prevent indenting of code in 'extern "C"' blocks
 
68
        awk '   BEGIN   {line1 = ""; line2 = ""; skips = 0}
 
69
                {
 
70
                        line2 = $0;
 
71
                        if (skips > 0)
 
72
                                skips--;
 
73
                        if (line1 ~ "^#ifdef[   ]*__cplusplus" &&
 
74
                            line2 ~ "^extern[   ]*\"C\"[        ]*$")
 
75
                        {
 
76
                                print line1;
 
77
                                print line2;
 
78
                                if (getline && $0 ~ /^{[        ]*$/)
 
79
                                        print "/* Open extern \"C\" */";
 
80
                                else    print $0;
 
81
                                line2 = "";
 
82
                                skips = 2;
 
83
                        }
 
84
                        else if (line1 ~ "^#ifdef[      ]*__cplusplus" &&
 
85
                            line2 ~ "^}[        ]*$")
 
86
                        {
 
87
                                print line1;
 
88
                                print "/* Close extern \"C\" */";
 
89
                                line2 = "";
 
90
                                skips = 2;
 
91
                        }
 
92
                        else
 
93
                                if (skips == 0 && NR >= 2)
 
94
                                        print line1;
 
95
                        line1 = line2;
 
96
                }
 
97
                END {
 
98
                        if (NR >= 1 && skips <= 1)
 
99
                                print line1;
 
100
                }' |
 
101
# protect backslashes in DATA()
 
102
        sed 's;^DATA(.*$;/*&*/;' |
 
103
# protect wrapping in CATALOG()
 
104
        sed 's;^CATALOG(.*$;/*&*/;' >/tmp/$$a
 
105
 
 
106
# We get the list of typedef's from /src/tools/find_typedef
 
107
        indent -bad -bap -bc -bl -d0 -cdb -nce -nfc1 -di12 -i4 -l79 \
 
108
                -lp -nip -npro -bbb $EXTRA_OPTS \
 
109
-TAES_KEY \
 
110
-TAMT \
 
111
-TAMTS \
 
112
-TASN1_BIT_STRING \
 
113
-TASN1_BMPSTRING \
 
114
-TASN1_BOOLEAN \
 
115
-TASN1_CTX \
 
116
-TASN1_ENCODING \
 
117
-TASN1_ENUMERATED \
 
118
-TASN1_GENERALIZEDTIME \
 
119
-TASN1_GENERALSTRING \
 
120
-TASN1_HEADER \
 
121
-TASN1_IA5STRING \
 
122
-TASN1_INTEGER \
 
123
-TASN1_ITEM \
 
124
-TASN1_ITEM_EXP \
 
125
-TASN1_METHOD \
 
126
-TASN1_NULL \
 
127
-TASN1_OBJECT \
 
128
-TASN1_OCTET_STRING \
 
129
-TASN1_PRINTABLESTRING \
 
130
-TASN1_STRING \
 
131
-TASN1_STRING_TABLE \
 
132
-TASN1_T61STRING \
 
133
-TASN1_TEMPLATE \
 
134
-TASN1_TIME \
 
135
-TASN1_TLC \
 
136
-TASN1_TYPE \
 
137
-TASN1_UNIVERSALSTRING \
 
138
-TASN1_UTCTIME \
 
139
-TASN1_UTF8STRING \
 
140
-TASN1_VALUE \
 
141
-TASN1_VISIBLESTRING \
 
142
-TAV \
 
143
-TA_Const \
 
144
-TA_Expr \
 
145
-TA_Expr_Kind \
 
146
-TA_Indices \
 
147
-TA_Indirection \
 
148
-TAbsoluteTime \
 
149
-TAcl \
 
150
-TAclId \
 
151
-TAclItem \
 
152
-TAclMaskHow \
 
153
-TAclMode \
 
154
-TAclObjectKind \
 
155
-TAclResult \
 
156
-TAgg \
 
157
-TAggHashEntry \
 
158
-TAggHashEntryData \
 
159
-TAggInfo \
 
160
-TAggState \
 
161
-TAggStatePerAgg \
 
162
-TAggStatePerAggData \
 
163
-TAggStatePerGroup \
 
164
-TAggStatePerGroupData \
 
165
-TAggStrategy \
 
166
-TAggref \
 
167
-TAggrefExprState \
 
168
-TAlias \
 
169
-TAllocBlock \
 
170
-TAllocBlockData \
 
171
-TAllocChunk \
 
172
-TAllocChunkData \
 
173
-TAllocPointer \
 
174
-TAllocSet \
 
175
-TAllocSetContext \
 
176
-TAllocateDesc \
 
177
-TAllocateDescKind \
 
178
-TAlterDatabaseSetStmt \
 
179
-TAlterDomainStmt \
 
180
-TAlterGroupStmt \
 
181
-TAlterOwnerStmt \
 
182
-TAlterSeqStmt \
 
183
-TAlterTableCmd \
 
184
-TAlterTableStmt \
 
185
-TAlterTableType \
 
186
-TAlterUserSetStmt \
 
187
-TAlterUserStmt \
 
188
-TAlteredTableInfo \
 
189
-TAnalyzeAttrFetchFunc \
 
190
-TAnlIndexData \
 
191
-TAppend \
 
192
-TAppendPath \
 
193
-TAppendState \
 
194
-TArchive \
 
195
-TArchiveEntryPtr \
 
196
-TArchiveFormat \
 
197
-TArchiveHandle \
 
198
-TArchiveMode \
 
199
-TArchiverStage \
 
200
-TArrayBuildState \
 
201
-TArrayExpr \
 
202
-TArrayExprState \
 
203
-TArrayMetaState \
 
204
-TArrayParseState \
 
205
-TArrayRef \
 
206
-TArrayRefExprState \
 
207
-TArrayType \
 
208
-TAttInMetadata \
 
209
-TAttrDefInfo \
 
210
-TAttrDefault \
 
211
-TAttrNumber \
 
212
-TAuthRequest \
 
213
-TBF_KEY \
 
214
-TBIGNUM \
 
215
-TBINOP \
 
216
-TBIO \
 
217
-TBIO_F_BUFFER_CTX \
 
218
-TBIO_METHOD \
 
219
-TBIO_dummy \
 
220
-TBIT_STRING_BITNAME \
 
221
-TBLOCK \
 
222
-TBMS_Membership \
 
223
-TBN_BLINDING \
 
224
-TBN_CTX \
 
225
-TBN_MONT_CTX \
 
226
-TBN_RECP_CTX \
 
227
-TBOX \
 
228
-TBTBuildState \
 
229
-TBTItem \
 
230
-TBTItemData \
 
231
-TBTMetaPageData \
 
232
-TBTPageOpaque \
 
233
-TBTPageOpaqueData \
 
234
-TBTPageState \
 
235
-TBTScanOpaque \
 
236
-TBTScanOpaqueData \
 
237
-TBTSpool \
 
238
-TBTStack \
 
239
-TBTStackData \
 
240
-TBTWriteState \
 
241
-TBUF_MEM \
 
242
-TBackend \
 
243
-TBackendId \
 
244
-TBgWriterRequest \
 
245
-TBgWriterShmemStruct \
 
246
-TBitmapset \
 
247
-TBkpBlock \
 
248
-TBlock \
 
249
-TBlockId \
 
250
-TBlockIdData \
 
251
-TBlockNumber \
 
252
-TBlockSampler \
 
253
-TBlockSamplerData \
 
254
-TBoolExpr \
 
255
-TBoolExprState \
 
256
-TBoolExprType \
 
257
-TBoolPtr \
 
258
-TBoolTestType \
 
259
-TBooleanTest \
 
260
-TBpChar \
 
261
-TBucket \
 
262
-TBufFile \
 
263
-TBufFlags \
 
264
-TBuffer \
 
265
-TBufferDesc \
 
266
-TBufferLookupEnt \
 
267
-TBufferStrategyCDB \
 
268
-TBufferStrategyControl \
 
269
-TBufferTag \
 
270
-TByte \
 
271
-TBytef \
 
272
-TCAC_state \
 
273
-TCAST_KEY \
 
274
-TCATEGORY \
 
275
-TCFuncHashTabEntry \
 
276
-TCIRCLE \
 
277
-TCOMP_CTX \
 
278
-TCOMP_METHOD \
 
279
-TCONDOP \
 
280
-TCOP \
 
281
-TCPFunction \
 
282
-TCPPFunction \
 
283
-TCRYPTO_EX_DATA \
 
284
-TCRYPTO_EX_DATA_FUNCS \
 
285
-TCRYPTO_EX_DATA_IMPL \
 
286
-TCRYPTO_EX_dup \
 
287
-TCRYPTO_EX_free \
 
288
-TCRYPTO_EX_new \
 
289
-TCRYPTO_MEM_LEAK_CB \
 
290
-TCRYPTO_dynlock \
 
291
-TCURCUR \
 
292
-TCV \
 
293
-TCacheCallbackFunction \
 
294
-TCancelRequestPacket \
 
295
-TCaseExpr \
 
296
-TCaseExprState \
 
297
-TCaseTestExpr \
 
298
-TCaseWhen \
 
299
-TCaseWhenState \
 
300
-TCash \
 
301
-TCastInfo \
 
302
-TCatCList \
 
303
-TCatCTup \
 
304
-TCatCache \
 
305
-TCatCacheHeader \
 
306
-TCatalogId \
 
307
-TCatalogIndexState \
 
308
-TChangeVarNodes_context \
 
309
-TCheckPoint \
 
310
-TCheckPointStmt \
 
311
-TChromosome \
 
312
-TCity \
 
313
-TClientData \
 
314
-TClosePortalStmt \
 
315
-TClosePtr \
 
316
-TClusterStmt \
 
317
-TCmdType \
 
318
-TCoalesceExpr \
 
319
-TCoalesceExprState \
 
320
-TCoerceToDomain \
 
321
-TCoerceToDomainState \
 
322
-TCoerceToDomainValue \
 
323
-TCoercionCodes \
 
324
-TCoercionContext \
 
325
-TCoercionForm \
 
326
-TColumnDef \
 
327
-TColumnIOData \
 
328
-TColumnRef \
 
329
-TCommandDest \
 
330
-TCommandId \
 
331
-TCommentItem \
 
332
-TCommentStmt \
 
333
-TCompositeTypeStmt \
 
334
-TConnStatusType \
 
335
-TConst \
 
336
-TConstrCheck \
 
337
-TConstrType \
 
338
-TConstraint \
 
339
-TConstraintCategory \
 
340
-TConstraintInfo \
 
341
-TConstraintsSetStmt \
 
342
-TContainsOids \
 
343
-TControlFileData \
 
344
-TConvInfo \
 
345
-TCookedConstraint \
 
346
-TCopyDest \
 
347
-TCopyReadResult \
 
348
-TCopyStmt \
 
349
-TCost \
 
350
-TCostSelector \
 
351
-TCreateCastStmt \
 
352
-TCreateConversionStmt \
 
353
-TCreateDomainStmt \
 
354
-TCreateFunctionStmt \
 
355
-TCreateGroupStmt \
 
356
-TCreateOpClassItem \
 
357
-TCreateOpClassStmt \
 
358
-TCreatePLangStmt \
 
359
-TCreateSchemaStmt \
 
360
-TCreateSchemaStmtContext \
 
361
-TCreateSeqStmt \
 
362
-TCreateStmt \
 
363
-TCreateStmtContext \
 
364
-TCreateTableSpaceStmt \
 
365
-TCreateTrigStmt \
 
366
-TCreateUserStmt \
 
367
-TCreatedbStmt \
 
368
-TCred \
 
369
-TCtlCommand \
 
370
-TCustomOutPtr \
 
371
-TDBState \
 
372
-TDCHCacheEntry \
 
373
-TDCH_poz \
 
374
-TDEADLOCK_INFO \
 
375
-TDES_cblock \
 
376
-TDES_key_schedule \
 
377
-TDH \
 
378
-TDH_METHOD \
 
379
-TDIR \
 
380
-TDR_printtup \
 
381
-TDSA \
 
382
-TDSA_METHOD \
 
383
-TDSA_SIG \
 
384
-TDataDumperPtr \
 
385
-TDateADT \
 
386
-TDatum \
 
387
-TDatumPtr \
 
388
-TDatumTuple \
 
389
-TDatumTupleFields \
 
390
-TDeallocateStmt \
 
391
-TDeclareCursorStmt \
 
392
-TDefElem \
 
393
-TDeferredTriggerEvent \
 
394
-TDeferredTriggerEventData \
 
395
-TDeferredTriggerEventItem \
 
396
-TDeferredTriggerState \
 
397
-TDeferredTriggerStateData \
 
398
-TDeferredTriggerStatus \
 
399
-TDeferredTriggerStatusData \
 
400
-TDeferredTriggers \
 
401
-TDeferredTriggersData \
 
402
-TDefineStmt \
 
403
-TDeleteStmt \
 
404
-TDependencyType \
 
405
-TDestReceiver \
 
406
-TDistinctExpr \
 
407
-TDl_info \
 
408
-TDlelem \
 
409
-TDllist \
 
410
-TDomainConstraintState \
 
411
-TDomainConstraintType \
 
412
-TDropBehavior \
 
413
-TDropCastStmt \
 
414
-TDropGroupStmt \
 
415
-TDropPLangStmt \
 
416
-TDropPropertyStmt \
 
417
-TDropStmt \
 
418
-TDropTableSpaceStmt \
 
419
-TDropUserStmt \
 
420
-TDropdbStmt \
 
421
-TDumpId \
 
422
-TDumpableObject \
 
423
-TDumpableObjectType \
 
424
-TDupHashTabEntry \
 
425
-TDynamicFileList \
 
426
-TEDGE \
 
427
-TENGINE \
 
428
-TERR_FNS \
 
429
-TERR_STATE \
 
430
-TERR_STRING_DATA \
 
431
-TEState \
 
432
-TEVP_CIPHER \
 
433
-TEVP_CIPHER_CTX \
 
434
-TEVP_CIPHER_INFO \
 
435
-TEVP_ENCODE_CTX \
 
436
-TEVP_MD \
 
437
-TEVP_MD_CTX \
 
438
-TEVP_PBE_KEYGEN \
 
439
-TEVP_PKEY \
 
440
-TEdge \
 
441
-TEndBlobPtr \
 
442
-TEndBlobsPtr \
 
443
-TEndDataPtr \
 
444
-TEolType \
 
445
-TErrorContextCallback \
 
446
-TErrorData \
 
447
-TExceptionLabelMap \
 
448
-TExecContext \
 
449
-TExecContextData \
 
450
-TExecScanAccessMtd \
 
451
-TExecStatus \
 
452
-TExecStatusType \
 
453
-TExecuteStmt \
 
454
-TExplainState \
 
455
-TExplainStmt \
 
456
-TExpr \
 
457
-TExprContext \
 
458
-TExprContextCallbackFunction \
 
459
-TExprContext_CB \
 
460
-TExprDoneCond \
 
461
-TExprState \
 
462
-TExprStateEvalFunc \
 
463
-TFF \
 
464
-TFILE \
 
465
-TFSMHeader \
 
466
-TFSMPageData \
 
467
-TFSMRelation \
 
468
-TFUNMAP \
 
469
-TFetchDirection \
 
470
-TFetchStmt \
 
471
-TFieldSelect \
 
472
-TFieldSelectState \
 
473
-TFieldStore \
 
474
-TFieldStoreState \
 
475
-TFile \
 
476
-TFileName \
 
477
-TFindSplitData \
 
478
-TFkConstraint \
 
479
-TFmgrBuiltin \
 
480
-TFmgrInfo \
 
481
-TFormData_pg_aggregate \
 
482
-TFormData_pg_am \
 
483
-TFormData_pg_amop \
 
484
-TFormData_pg_amproc \
 
485
-TFormData_pg_attrdef \
 
486
-TFormData_pg_attribute \
 
487
-TFormData_pg_cast \
 
488
-TFormData_pg_class \
 
489
-TFormData_pg_constraint \
 
490
-TFormData_pg_conversion \
 
491
-TFormData_pg_database \
 
492
-TFormData_pg_depend \
 
493
-TFormData_pg_description \
 
494
-TFormData_pg_group \
 
495
-TFormData_pg_index \
 
496
-TFormData_pg_inherits \
 
497
-TFormData_pg_language \
 
498
-TFormData_pg_largeobject \
 
499
-TFormData_pg_listener \
 
500
-TFormData_pg_namespace \
 
501
-TFormData_pg_opclass \
 
502
-TFormData_pg_operator \
 
503
-TFormData_pg_proc \
 
504
-TFormData_pg_rewrite \
 
505
-TFormData_pg_sequence \
 
506
-TFormData_pg_shadow \
 
507
-TFormData_pg_statistic \
 
508
-TFormData_pg_tablespace \
 
509
-TFormData_pg_trigger \
 
510
-TFormData_pg_type \
 
511
-TForm_pg_aggregate \
 
512
-TForm_pg_am \
 
513
-TForm_pg_amop \
 
514
-TForm_pg_amproc \
 
515
-TForm_pg_attrdef \
 
516
-TForm_pg_attribute \
 
517
-TForm_pg_cast \
 
518
-TForm_pg_class \
 
519
-TForm_pg_constraint \
 
520
-TForm_pg_conversion \
 
521
-TForm_pg_database \
 
522
-TForm_pg_depend \
 
523
-TForm_pg_description \
 
524
-TForm_pg_group \
 
525
-TForm_pg_index \
 
526
-TForm_pg_inherits \
 
527
-TForm_pg_language \
 
528
-TForm_pg_largeobject \
 
529
-TForm_pg_listener \
 
530
-TForm_pg_namespace \
 
531
-TForm_pg_opclass \
 
532
-TForm_pg_operator \
 
533
-TForm_pg_proc \
 
534
-TForm_pg_rewrite \
 
535
-TForm_pg_sequence \
 
536
-TForm_pg_shadow \
 
537
-TForm_pg_statistic \
 
538
-TForm_pg_tablespace \
 
539
-TForm_pg_trigger \
 
540
-TForm_pg_type \
 
541
-TFormatNode \
 
542
-TFromExpr \
 
543
-TFsmCacheFileHeader \
 
544
-TFsmCacheRelHeader \
 
545
-TFuncCall \
 
546
-TFuncCallContext \
 
547
-TFuncCandidateList \
 
548
-TFuncDetailCode \
 
549
-TFuncExpr \
 
550
-TFuncExprState \
 
551
-TFuncInfo \
 
552
-TFuncWithArgs \
 
553
-TFunction \
 
554
-TFunctionCallInfo \
 
555
-TFunctionCallInfoData \
 
556
-TFunctionParameter \
 
557
-TFunctionScan \
 
558
-TFunctionScanState \
 
559
-TGEN_SESSION_CB \
 
560
-TGISTBuildState \
 
561
-TGISTENTRY \
 
562
-TGISTPageOpaque \
 
563
-TGISTPageOpaqueData \
 
564
-TGISTSTACK \
 
565
-TGISTSTATE \
 
566
-TGISTScanList \
 
567
-TGISTScanListData \
 
568
-TGISTScanOpaque \
 
569
-TGISTScanOpaqueData \
 
570
-TGIST_SPLITVEC \
 
571
-TGP \
 
572
-TGUC_yy_size_t \
 
573
-TGUC_yy_state_type \
 
574
-TGV \
 
575
-TGVOP \
 
576
-TGene \
 
577
-TGenericExprState \
 
578
-TGeqoEvalData \
 
579
-TGistEntryVector \
 
580
-TGrantObjectType \
 
581
-TGrantStmt \
 
582
-TGroup \
 
583
-TGroupClause \
 
584
-TGroupState \
 
585
-TGucBoolAssignHook \
 
586
-TGucContext \
 
587
-TGucIntAssignHook \
 
588
-TGucRealAssignHook \
 
589
-TGucShowHook \
 
590
-TGucSource \
 
591
-TGucStack \
 
592
-TGucStringAssignHook \
 
593
-THASHACTION \
 
594
-THASHBUCKET \
 
595
-THASHCTL \
 
596
-THASHELEMENT \
 
597
-THASHHDR \
 
598
-THASHSEGMENT \
 
599
-THASH_SEQ_STATUS \
 
600
-THE \
 
601
-THEK \
 
602
-THISTORY_STATE \
 
603
-THIST_ENTRY \
 
604
-THTAB \
 
605
-THTSV_Result \
 
606
-THV \
 
607
-THash \
 
608
-THashAllocFunc \
 
609
-THashBuildState \
 
610
-THashCompareFunc \
 
611
-THashItem \
 
612
-THashItemData \
 
613
-THashJoin \
 
614
-THashJoinState \
 
615
-THashJoinTable \
 
616
-THashJoinTuple \
 
617
-THashJoinTupleData \
 
618
-THashMetaPage \
 
619
-THashMetaPageData \
 
620
-THashPageOpaque \
 
621
-THashPageOpaqueData \
 
622
-THashPath \
 
623
-THashScanList \
 
624
-THashScanListData \
 
625
-THashScanOpaque \
 
626
-THashScanOpaqueData \
 
627
-THashState \
 
628
-THashTableData \
 
629
-THashValueFunc \
 
630
-THeapScanDesc \
 
631
-THeapScanDescData \
 
632
-THeapTuple \
 
633
-THeapTupleData \
 
634
-THeapTupleFields \
 
635
-THeapTupleHeader \
 
636
-THeapTupleHeaderData \
 
637
-TI16 \
 
638
-TI32 \
 
639
-TI8 \
 
640
-TIO \
 
641
-TIOFuncSelector \
 
642
-TIV \
 
643
-TIV64 \
 
644
-TIdList \
 
645
-TInClauseInfo \
 
646
-TIncrementVarSublevelsUp_context \
 
647
-TIndex \
 
648
-TIndexAttributeBitMap \
 
649
-TIndexAttributeBitMapData \
 
650
-TIndexBuildCallback \
 
651
-TIndexBulkDeleteCallback \
 
652
-TIndexBulkDeleteResult \
 
653
-TIndexElem \
 
654
-TIndexFSMPageData \
 
655
-TIndexInfo \
 
656
-TIndexList \
 
657
-TIndexOptInfo \
 
658
-TIndexPath \
 
659
-TIndexScan \
 
660
-TIndexScanDesc \
 
661
-TIndexScanDescData \
 
662
-TIndexScanDescPtr \
 
663
-TIndexScanState \
 
664
-TIndexStmt \
 
665
-TIndexTuple \
 
666
-TIndexTupleData \
 
667
-TIndexVacuumCleanupInfo \
 
668
-TIndirectBlock \
 
669
-TIndxInfo \
 
670
-TInhInfo \
 
671
-TInhOption \
 
672
-TInhPaths \
 
673
-TInhRelation \
 
674
-TInnerIndexscanInfo \
 
675
-TInsertIndexResult \
 
676
-TInsertIndexResultData \
 
677
-TInsertStmt \
 
678
-TInstrumentation \
 
679
-TInt8TransTypeData \
 
680
-TIntArray \
 
681
-TInt_yy_size_t \
 
682
-TInt_yy_state_type \
 
683
-TInt_yysigned_char \
 
684
-TInterval \
 
685
-TInvalidationChunk \
 
686
-TInvalidationListHeader \
 
687
-TIpcMemoryId \
 
688
-TIpcMemoryKey \
 
689
-TIpcSemaphoreId \
 
690
-TIpcSemaphoreKey \
 
691
-TItem \
 
692
-TItemId \
 
693
-TItemIdData \
 
694
-TItemIdFlags \
 
695
-TItemLength \
 
696
-TItemOffset \
 
697
-TItemPointer \
 
698
-TItemPointerData \
 
699
-TJMPENV \
 
700
-TJoin \
 
701
-TJoinExpr \
 
702
-TJoinInfo \
 
703
-TJoinPath \
 
704
-TJoinState \
 
705
-TJoinType \
 
706
-TJunkFilter \
 
707
-TKEYMAP_ENTRY \
 
708
-TKEYMAP_ENTRY_ARRAY \
 
709
-TKeySuffix \
 
710
-TKeyWord \
 
711
-TKeymap \
 
712
-TLHASH \
 
713
-TLHASH_COMP_FN_TYPE \
 
714
-TLHASH_DOALL_ARG_FN_TYPE \
 
715
-TLHASH_DOALL_FN_TYPE \
 
716
-TLHASH_HASH_FN_TYPE \
 
717
-TLHASH_NODE \
 
718
-TLINE \
 
719
-TLISTOP \
 
720
-TLOCALLOCK \
 
721
-TLOCALLOCKOWNER \
 
722
-TLOCALLOCKTAG \
 
723
-TLOCK \
 
724
-TLOCKMASK \
 
725
-TLOCKMETHODID \
 
726
-TLOCKMODE \
 
727
-TLOCKTAG \
 
728
-TLOGOP \
 
729
-TLOOP \
 
730
-TLSEG \
 
731
-TLVRelStats \
 
732
-TLWLock \
 
733
-TLWLockId \
 
734
-TLWLockMode \
 
735
-TLargeObjectDesc \
 
736
-TLimit \
 
737
-TLimitState \
 
738
-TLimitStateCond \
 
739
-TList \
 
740
-TListCell \
 
741
-TListenStmt \
 
742
-TLoadStmt \
 
743
-TLocationIndex \
 
744
-TLockData \
 
745
-TLockInfo \
 
746
-TLockInfoData \
 
747
-TLockMethod \
 
748
-TLockMethodData \
 
749
-TLockRelId \
 
750
-TLockStmt \
 
751
-TLogStmtLevel \
 
752
-TLogicalTape \
 
753
-TLogicalTapeSet \
 
754
-TMAGIC \
 
755
-TMD2_CTX \
 
756
-TMD4_CTX \
 
757
-TMD5_CTX \
 
758
-TMDC2_CTX \
 
759
-TMGVTBL \
 
760
-TMaterial \
 
761
-TMaterialPath \
 
762
-TMaterialState \
 
763
-TMdfdVec \
 
764
-TMemoryContext \
 
765
-TMemoryContextData \
 
766
-TMemoryContextMethods \
 
767
-TMergeJoin \
 
768
-TMergeJoinState \
 
769
-TMergePath \
 
770
-TMsgType \
 
771
-TMyVarInfo \
 
772
-TNETSCAPE_CERT_SEQUENCE \
 
773
-TNETSCAPE_SPKAC \
 
774
-TNETSCAPE_SPKI \
 
775
-TNUMCacheEntry \
 
776
-TNUMDesc \
 
777
-TNUMProc \
 
778
-TNUM_poz \
 
779
-TNV \
 
780
-TName \
 
781
-TNameData \
 
782
-TNamespaceInfo \
 
783
-TNestLoop \
 
784
-TNestLoopState \
 
785
-TNestPath \
 
786
-TNewColumnValue \
 
787
-TNewConstraint \
 
788
-TNode \
 
789
-TNodeTag \
 
790
-TNotifyStmt \
 
791
-TNullIfExpr \
 
792
-TNullTest \
 
793
-TNullTestType \
 
794
-TNumeric \
 
795
-TNumericData \
 
796
-TNumericDigit \
 
797
-TNumericVar \
 
798
-TOBJ_NAME \
 
799
-TOP \
 
800
-TObjectAddress \
 
801
-TObjectAddresses \
 
802
-TObjectClass \
 
803
-TObjectType \
 
804
-TOffset \
 
805
-TOffsetNumber \
 
806
-TOffsetVarNodes_context \
 
807
-TOid \
 
808
-TOidOptions \
 
809
-TOldstyle_fnextra \
 
810
-TOnCommitAction \
 
811
-TOnCommitItem \
 
812
-TOpClassCacheEnt \
 
813
-TOpClassMember \
 
814
-TOpExpr \
 
815
-TOpclassCandidateList \
 
816
-TOpclassInfo \
 
817
-TOperator \
 
818
-TOprInfo \
 
819
-TOutputContext \
 
820
-TOutrec \
 
821
-TPADOFFSET \
 
822
-TPATH \
 
823
-TPBE2PARAM \
 
824
-TPBEPARAM \
 
825
-TPBKDF2PARAM \
 
826
-TPEM_CTX \
 
827
-TPEM_ENCODE_SEAL_CTX \
 
828
-TPEM_USER \
 
829
-TPERL_CONTEXT \
 
830
-TPERL_SI \
 
831
-TPGAsyncStatusType \
 
832
-TPGErrorVerbosity \
 
833
-TPGFInfoFunction \
 
834
-TPGFunction \
 
835
-TPGLZ_DecompState \
 
836
-TPGLZ_Header \
 
837
-TPGLZ_HistEntry \
 
838
-TPGLZ_Strategy \
 
839
-TPGMessageField \
 
840
-TPGNoticeHooks \
 
841
-TPGPROC \
 
842
-TPGSemaphore \
 
843
-TPGSemaphoreData \
 
844
-TPGSetenvStatusType \
 
845
-TPGShmemHeader \
 
846
-TPGTransactionStatusType \
 
847
-TPGVerbosity \
 
848
-TPG_Lock_Status \
 
849
-TPGconn \
 
850
-TPGlobjfuncs \
 
851
-TPGnotify \
 
852
-TPGresAttDesc \
 
853
-TPGresAttValue \
 
854
-TPGresult \
 
855
-TPGresult_data \
 
856
-TPKCS7 \
 
857
-TPKCS7_DIGEST \
 
858
-TPKCS7_ENCRYPT \
 
859
-TPKCS7_ENC_CONTENT \
 
860
-TPKCS7_ENVELOPE \
 
861
-TPKCS7_ISSUER_AND_SERIAL \
 
862
-TPKCS7_RECIP_INFO \
 
863
-TPKCS7_SIGNED \
 
864
-TPKCS7_SIGNER_INFO \
 
865
-TPKCS7_SIGN_ENVELOPE \
 
866
-TPKCS8_PRIV_KEY_INFO \
 
867
-TPLPGSQL_YYSTYPE \
 
868
-TPLpgSQL_arrayelem \
 
869
-TPLpgSQL_condition \
 
870
-TPLpgSQL_datum \
 
871
-TPLpgSQL_diag_item \
 
872
-TPLpgSQL_dstring \
 
873
-TPLpgSQL_exception \
 
874
-TPLpgSQL_exceptions \
 
875
-TPLpgSQL_execstate \
 
876
-TPLpgSQL_expr \
 
877
-TPLpgSQL_func_hashkey \
 
878
-TPLpgSQL_function \
 
879
-TPLpgSQL_ns \
 
880
-TPLpgSQL_nsitem \
 
881
-TPLpgSQL_rec \
 
882
-TPLpgSQL_recfield \
 
883
-TPLpgSQL_row \
 
884
-TPLpgSQL_stmt \
 
885
-TPLpgSQL_stmt_assign \
 
886
-TPLpgSQL_stmt_block \
 
887
-TPLpgSQL_stmt_close \
 
888
-TPLpgSQL_stmt_dynexecute \
 
889
-TPLpgSQL_stmt_dynfors \
 
890
-TPLpgSQL_stmt_execsql \
 
891
-TPLpgSQL_stmt_exit \
 
892
-TPLpgSQL_stmt_fetch \
 
893
-TPLpgSQL_stmt_fori \
 
894
-TPLpgSQL_stmt_fors \
 
895
-TPLpgSQL_stmt_getdiag \
 
896
-TPLpgSQL_stmt_if \
 
897
-TPLpgSQL_stmt_loop \
 
898
-TPLpgSQL_stmt_open \
 
899
-TPLpgSQL_stmt_perform \
 
900
-TPLpgSQL_stmt_raise \
 
901
-TPLpgSQL_stmt_return \
 
902
-TPLpgSQL_stmt_return_next \
 
903
-TPLpgSQL_stmt_select \
 
904
-TPLpgSQL_stmt_while \
 
905
-TPLpgSQL_stmts \
 
906
-TPLpgSQL_trigarg \
 
907
-TPLpgSQL_type \
 
908
-TPLpgSQL_var \
 
909
-TPLpgSQL_variable \
 
910
-TPMOP \
 
911
-TPMSignalReason \
 
912
-TPOLYGON \
 
913
-TPQArgBlock \
 
914
-TPQEnvironmentOption \
 
915
-TPQExpBuffer \
 
916
-TPQExpBufferData \
 
917
-TPQconninfoOption \
 
918
-TPQnoticeProcessor \
 
919
-TPQnoticeReceiver \
 
920
-TPQprintOpt \
 
921
-TPROCLOCK \
 
922
-TPROCLOCKTAG \
 
923
-TPROC_HDR \
 
924
-TPROC_QUEUE \
 
925
-TPV \
 
926
-TPVOP \
 
927
-TPacketLen \
 
928
-TPage \
 
929
-TPageFreeSpaceInfo \
 
930
-TPageHeader \
 
931
-TPageHeaderData \
 
932
-TParam \
 
933
-TParamExecData \
 
934
-TParamListInfo \
 
935
-TParamListInfoData \
 
936
-TParamRef \
 
937
-TParseState \
 
938
-TPath \
 
939
-TPathKeyItem \
 
940
-TPathKeysComparison \
 
941
-TPattern_Prefix_Status \
 
942
-TPattern_Type \
 
943
-TPendingOperationEntry \
 
944
-TPendingRelDelete \
 
945
-TPerlExitListEntry \
 
946
-TPerlInterpreter \
 
947
-TPgStat_Counter \
 
948
-TPgStat_Info \
 
949
-TPgStat_Msg \
 
950
-TPgStat_MsgActivity \
 
951
-TPgStat_MsgBestart \
 
952
-TPgStat_MsgBeterm \
 
953
-TPgStat_MsgDropdb \
 
954
-TPgStat_MsgDummy \
 
955
-TPgStat_MsgHdr \
 
956
-TPgStat_MsgResetcounter \
 
957
-TPgStat_MsgTabpurge \
 
958
-TPgStat_MsgTabstat \
 
959
-TPgStat_StatBeDead \
 
960
-TPgStat_StatBeEntry \
 
961
-TPgStat_StatDBEntry \
 
962
-TPgStat_StatTabEntry \
 
963
-TPgStat_TableEntry \
 
964
-TPg_finfo_record \
 
965
-TPlan \
 
966
-TPlanState \
 
967
-TPlannerParamItem \
 
968
-TPoint \
 
969
-TPointer \
 
970
-TPool \
 
971
-TPort \
 
972
-TPortal \
 
973
-TPortalData \
 
974
-TPortalHashEnt \
 
975
-TPortalStatus \
 
976
-TPortalStrategy \
 
977
-TPostgresPollingStatusType \
 
978
-TPrepareStmt \
 
979
-TPreparedStatement \
 
980
-TPrintExtraTocPtr \
 
981
-TPrintTocDataPtr \
 
982
-TPrinttupAttrInfo \
 
983
-TPrivGrantee \
 
984
-TPrivTarget \
 
985
-TProcLangInfo \
 
986
-TProcState \
 
987
-TProcessingMode \
 
988
-TProjectionInfo \
 
989
-TProtocolVersion \
 
990
-TPsqlScanResult \
 
991
-TPsqlScanState \
 
992
-TPsqlScanStateData \
 
993
-TPsqlSettings \
 
994
-TQualCost \
 
995
-TQuery \
 
996
-TQueryDesc \
 
997
-TQuerySource \
 
998
-TRC2_KEY \
 
999
-TRC4_KEY \
 
1000
-TREGEXP \
 
1001
-TRIPEMD160_CTX \
 
1002
-TRI_QueryHashEntry \
 
1003
-TRI_QueryKey \
 
1004
-TRSA \
 
1005
-TRSA_METHOD \
 
1006
-TRTBuildState \
 
1007
-TRTEKind \
 
1008
-TRTSTACK \
 
1009
-TRTSTATE \
 
1010
-TRTScanList \
 
1011
-TRTScanListData \
 
1012
-TRTreePageOpaque \
 
1013
-TRTreePageOpaqueData \
 
1014
-TRTreeScanOpaque \
 
1015
-TRTreeScanOpaqueData \
 
1016
-TRangeFunction \
 
1017
-TRangeQueryClause \
 
1018
-TRangeSubselect \
 
1019
-TRangeTblEntry \
 
1020
-TRangeTblRef \
 
1021
-TRangeVar \
 
1022
-TRawColumnDefault \
 
1023
-TReadBufPtr \
 
1024
-TReadBytePtr \
 
1025
-TReadExtraTocPtr \
 
1026
-TRecordCacheEntry \
 
1027
-TRecordIOData \
 
1028
-TRegProcedure \
 
1029
-TReindexStmt \
 
1030
-TRelFileNode \
 
1031
-TRelIdCacheEnt \
 
1032
-TRelNameCacheEnt \
 
1033
-TRelOptInfo \
 
1034
-TRelOptKind \
 
1035
-TRelToCheck \
 
1036
-TRelToCluster \
 
1037
-TRelabelType \
 
1038
-TRelation \
 
1039
-TRelationBuildDescInfo \
 
1040
-TRelationData \
 
1041
-TRelationPtr \
 
1042
-TRelativeTime \
 
1043
-TRelids \
 
1044
-TRemoveAggrStmt \
 
1045
-TRemoveFuncStmt \
 
1046
-TRemoveOpClassStmt \
 
1047
-TRemoveOperStmt \
 
1048
-TRenameStmt \
 
1049
-TResTarget \
 
1050
-TResdom \
 
1051
-TResolveNew_context \
 
1052
-TResourceOwner \
 
1053
-TResourceOwnerData \
 
1054
-TResourceReleaseCallback \
 
1055
-TResourceReleaseCallbackItem \
 
1056
-TResourceReleasePhase \
 
1057
-TRestoreOptions \
 
1058
-TRestrictInfo \
 
1059
-TResult \
 
1060
-TResultPath \
 
1061
-TResultRelInfo \
 
1062
-TResultState \
 
1063
-TReturnSetInfo \
 
1064
-TRewriteRule \
 
1065
-TRmgrData \
 
1066
-TRmgrId \
 
1067
-TRowExpr \
 
1068
-TRowExprState \
 
1069
-TRuleInfo \
 
1070
-TRuleLock \
 
1071
-TRuleStmt \
 
1072
-TSHA_CTX \
 
1073
-TSHMEM_OFFSET \
 
1074
-TSHM_QUEUE \
 
1075
-TSISeg \
 
1076
-TSMgrRelation \
 
1077
-TSMgrRelationData \
 
1078
-TSPITupleTable \
 
1079
-TSPLITCOST \
 
1080
-TSPLITVEC \
 
1081
-TSQLFunctionCache \
 
1082
-TSQLFunctionCachePtr \
 
1083
-TSSL \
 
1084
-TSSL2_STATE \
 
1085
-TSSL3_BUFFER \
 
1086
-TSSL3_RECORD \
 
1087
-TSSL3_STATE \
 
1088
-TSSL_CIPHER \
 
1089
-TSSL_COMP \
 
1090
-TSSL_CTX \
 
1091
-TSSL_METHOD \
 
1092
-TSSL_SESSION \
 
1093
-TSTACK \
 
1094
-TSTRLEN \
 
1095
-TSUBLEXINFO \
 
1096
-TSV \
 
1097
-TSVOP \
 
1098
-TSaveArchivePtr \
 
1099
-TScalarArrayOpExpr \
 
1100
-TScalarArrayOpExprState \
 
1101
-TScalarItem \
 
1102
-TScalarMCVItem \
 
1103
-TScan \
 
1104
-TScanDirection \
 
1105
-TScanKey \
 
1106
-TScanKeyData \
 
1107
-TScanKeyword \
 
1108
-TScanState \
 
1109
-TSchemaQuery \
 
1110
-TSelectStmt \
 
1111
-TSelectivity \
 
1112
-TSeqScan \
 
1113
-TSeqScanState \
 
1114
-TSeqTable \
 
1115
-TSeqTableData \
 
1116
-TSetFunctionReturnMode \
 
1117
-TSetOp \
 
1118
-TSetOpCmd \
 
1119
-TSetOpState \
 
1120
-TSetOperation \
 
1121
-TSetOperationStmt \
 
1122
-TSetToDefault \
 
1123
-TSharedInvalCatcacheMsg \
 
1124
-TSharedInvalRelcacheMsg \
 
1125
-TSharedInvalidationMessage \
 
1126
-TShmemIndexEnt \
 
1127
-TShutdownMode \
 
1128
-TSigHandler \
 
1129
-TSighandler_t \
 
1130
-TSigsave_t \
 
1131
-TSize \
 
1132
-TSlruCtl \
 
1133
-TSlruCtlData \
 
1134
-TSlruErrorCause \
 
1135
-TSlruFlush \
 
1136
-TSlruFlushData \
 
1137
-TSlruPageStatus \
 
1138
-TSlruShared \
 
1139
-TSlruSharedData \
 
1140
-TSnapshot \
 
1141
-TSnapshotData \
 
1142
-TSockAddr \
 
1143
-TSort \
 
1144
-TSortBy \
 
1145
-TSortClause \
 
1146
-TSortFunctionKind \
 
1147
-TSortState \
 
1148
-TStackElem \
 
1149
-TStandardChunkHeader \
 
1150
-TStartBlobPtr \
 
1151
-TStartBlobsPtr \
 
1152
-TStartDataPtr \
 
1153
-TStartupPacket \
 
1154
-TStdAnalyzeData \
 
1155
-TStrategyNumber \
 
1156
-TStringInfo \
 
1157
-TStringInfoData \
 
1158
-TSubLink \
 
1159
-TSubLinkType \
 
1160
-TSubPlan \
 
1161
-TSubPlanState \
 
1162
-TSubqueryScan \
 
1163
-TSubqueryScanState \
 
1164
-TSysScanDesc \
 
1165
-TSysScanDescData \
 
1166
-TTAR_MEMBER \
 
1167
-TTBlockState \
 
1168
-TTStoreState \
 
1169
-TTableDataInfo \
 
1170
-TTableInfo \
 
1171
-TTargetEntry \
 
1172
-TTclStubHooks \
 
1173
-TTclStubs \
 
1174
-TTcl_AppInitProc \
 
1175
-TTcl_AsyncHandler \
 
1176
-TTcl_AsyncProc \
 
1177
-TTcl_CallFrame \
 
1178
-TTcl_Channel \
 
1179
-TTcl_ChannelProc \
 
1180
-TTcl_ChannelType \
 
1181
-TTcl_ChannelTypeVersion \
 
1182
-TTcl_CloseProc \
 
1183
-TTcl_CmdDeleteProc \
 
1184
-TTcl_CmdInfo \
 
1185
-TTcl_CmdProc \
 
1186
-TTcl_CmdTraceProc \
 
1187
-TTcl_Command \
 
1188
-TTcl_Condition \
 
1189
-TTcl_CreateFileHandlerProc \
 
1190
-TTcl_DString \
 
1191
-TTcl_DeleteFileHandlerProc \
 
1192
-TTcl_DriverBlockModeProc \
 
1193
-TTcl_DriverClose2Proc \
 
1194
-TTcl_DriverCloseProc \
 
1195
-TTcl_DriverFlushProc \
 
1196
-TTcl_DriverGetHandleProc \
 
1197
-TTcl_DriverGetOptionProc \
 
1198
-TTcl_DriverHandlerProc \
 
1199
-TTcl_DriverInputProc \
 
1200
-TTcl_DriverOutputProc \
 
1201
-TTcl_DriverSeekProc \
 
1202
-TTcl_DriverSetOptionProc \
 
1203
-TTcl_DriverWatchProc \
 
1204
-TTcl_DupInternalRepProc \
 
1205
-TTcl_Encoding \
 
1206
-TTcl_EncodingConvertProc \
 
1207
-TTcl_EncodingFreeProc \
 
1208
-TTcl_EncodingState \
 
1209
-TTcl_EncodingType \
 
1210
-TTcl_EolTranslation \
 
1211
-TTcl_Event \
 
1212
-TTcl_EventCheckProc \
 
1213
-TTcl_EventDeleteProc \
 
1214
-TTcl_EventProc \
 
1215
-TTcl_EventSetupProc \
 
1216
-TTcl_ExitProc \
 
1217
-TTcl_FileFreeProc \
 
1218
-TTcl_FileProc \
 
1219
-TTcl_FreeInternalRepProc \
 
1220
-TTcl_FreeProc \
 
1221
-TTcl_HashEntry \
 
1222
-TTcl_HashSearch \
 
1223
-TTcl_HashTable \
 
1224
-TTcl_IdleProc \
 
1225
-TTcl_Interp \
 
1226
-TTcl_InterpDeleteProc \
 
1227
-TTcl_MainLoopProc \
 
1228
-TTcl_MathProc \
 
1229
-TTcl_Mutex \
 
1230
-TTcl_Namespace \
 
1231
-TTcl_NamespaceDeleteProc \
 
1232
-TTcl_NotifierProcs \
 
1233
-TTcl_Obj \
 
1234
-TTcl_ObjCmdProc \
 
1235
-TTcl_ObjType \
 
1236
-TTcl_PackageInitProc \
 
1237
-TTcl_PanicProc \
 
1238
-TTcl_Parse \
 
1239
-TTcl_PathType \
 
1240
-TTcl_Pid \
 
1241
-TTcl_QueuePosition \
 
1242
-TTcl_RegExp \
 
1243
-TTcl_RegExpIndices \
 
1244
-TTcl_RegExpInfo \
 
1245
-TTcl_SavedResult \
 
1246
-TTcl_SetFromAnyProc \
 
1247
-TTcl_SetTimerProc \
 
1248
-TTcl_Stat_ \
 
1249
-TTcl_TcpAcceptProc \
 
1250
-TTcl_ThreadCreateProc \
 
1251
-TTcl_ThreadDataKey \
 
1252
-TTcl_ThreadId \
 
1253
-TTcl_Time \
 
1254
-TTcl_TimerProc \
 
1255
-TTcl_TimerToken \
 
1256
-TTcl_Token \
 
1257
-TTcl_Trace \
 
1258
-TTcl_UniChar \
 
1259
-TTcl_UpdateStringProc \
 
1260
-TTcl_Value \
 
1261
-TTcl_ValueType \
 
1262
-TTcl_Var \
 
1263
-TTcl_VarTraceProc \
 
1264
-TTcl_WaitForEventProc \
 
1265
-TThingFile \
 
1266
-TThread \
 
1267
-TTidPath \
 
1268
-TTidScan \
 
1269
-TTidScanState \
 
1270
-TTimeADT \
 
1271
-TTimeInterval \
 
1272
-TTimeIntervalData \
 
1273
-TTimeLineID \
 
1274
-TTimeTzADT \
 
1275
-TTimestamp \
 
1276
-TTimestampTz \
 
1277
-TTimevalStruct \
 
1278
-TTmFromChar \
 
1279
-TTmToChar \
 
1280
-TTocEntry \
 
1281
-TTrackItem \
 
1282
-TTransInvalidationInfo \
 
1283
-TTransState \
 
1284
-TTransactionId \
 
1285
-TTransactionState \
 
1286
-TTransactionStateData \
 
1287
-TTransactionStmt \
 
1288
-TTransactionStmtKind \
 
1289
-TTrigger \
 
1290
-TTriggerData \
 
1291
-TTriggerDesc \
 
1292
-TTriggerEvent \
 
1293
-TTriggerInfo \
 
1294
-TTruncateStmt \
 
1295
-TTupOutputState \
 
1296
-TTupSortStatus \
 
1297
-TTupStoreStatus \
 
1298
-TTupleConstr \
 
1299
-TTupleDesc \
 
1300
-TTupleHashEntry \
 
1301
-TTupleHashEntryData \
 
1302
-TTupleHashIterator \
 
1303
-TTupleHashTable \
 
1304
-TTupleHashTableData \
 
1305
-TTupleTable \
 
1306
-TTupleTableData \
 
1307
-TTupleTableSlot \
 
1308
-TTuplesortstate \
 
1309
-TTuplestorestate \
 
1310
-TType \
 
1311
-TTypeCacheEntry \
 
1312
-TTypeCast \
 
1313
-TTypeInfo \
 
1314
-TTypeName \
 
1315
-TU16 \
 
1316
-TU32 \
 
1317
-TU8 \
 
1318
-TUI \
 
1319
-TUI_METHOD \
 
1320
-TUI_STRING \
 
1321
-TUNDO_LIST \
 
1322
-TUNOP \
 
1323
-TUV \
 
1324
-TUnique \
 
1325
-TUniquePath \
 
1326
-TUniquePathMethod \
 
1327
-TUniqueState \
 
1328
-TUnlistenStmt \
 
1329
-TUpdateStmt \
 
1330
-TUserAuth \
 
1331
-TVFunction \
 
1332
-TVRelStats \
 
1333
-TVTupleLink \
 
1334
-TVTupleLinkData \
 
1335
-TVTupleMove \
 
1336
-TVTupleMoveData \
 
1337
-TVacAttrStats \
 
1338
-TVacAttrStatsP \
 
1339
-TVacPage \
 
1340
-TVacPageData \
 
1341
-TVacPageList \
 
1342
-TVacPageListData \
 
1343
-TVacRUsage \
 
1344
-TVacuumStmt \
 
1345
-TValue \
 
1346
-TVar \
 
1347
-TVarBit \
 
1348
-TVarChar \
 
1349
-TVariableCache \
 
1350
-TVariableCacheData \
 
1351
-TVariableResetStmt \
 
1352
-TVariableSetStmt \
 
1353
-TVariableShowStmt \
 
1354
-TVariableSpace \
 
1355
-TVariableStatData \
 
1356
-TVfd \
 
1357
-TViewStmt \
 
1358
-TWAIT_ORDER \
 
1359
-TWriteBufPtr \
 
1360
-TWriteBytePtr \
 
1361
-TWriteDataPtr \
 
1362
-TWriteExtraTocPtr \
 
1363
-TX509 \
 
1364
-TX509_ALGOR \
 
1365
-TX509_ATTRIBUTE \
 
1366
-TX509_CERT_AUX \
 
1367
-TX509_CERT_FILE_CTX \
 
1368
-TX509_CINF \
 
1369
-TX509_CRL \
 
1370
-TX509_CRL_INFO \
 
1371
-TX509_EXTENSION \
 
1372
-TX509_HASH_DIR_CTX \
 
1373
-TX509_INFO \
 
1374
-TX509_LOOKUP \
 
1375
-TX509_LOOKUP_METHOD \
 
1376
-TX509_NAME \
 
1377
-TX509_NAME_ENTRY \
 
1378
-TX509_OBJECT \
 
1379
-TX509_OBJECTS \
 
1380
-TX509_PKEY \
 
1381
-TX509_PUBKEY \
 
1382
-TX509_REQ \
 
1383
-TX509_REQ_INFO \
 
1384
-TX509_REVOKED \
 
1385
-TX509_SIG \
 
1386
-TX509_STORE \
 
1387
-TX509_STORE_CTX \
 
1388
-TX509_TRUST \
 
1389
-TX509_VAL \
 
1390
-TXLogContRecord \
 
1391
-TXLogCtlData \
 
1392
-TXLogCtlInsert \
 
1393
-TXLogCtlWrite \
 
1394
-TXLogLongPageHeader \
 
1395
-TXLogLongPageHeaderData \
 
1396
-TXLogPageHeader \
 
1397
-TXLogPageHeaderData \
 
1398
-TXLogRecData \
 
1399
-TXLogRecPtr \
 
1400
-TXLogRecord \
 
1401
-TXLogRelCacheEntry \
 
1402
-TXLogRelDesc \
 
1403
-TXLogwrtResult \
 
1404
-TXLogwrtRqst \
 
1405
-TXPV \
 
1406
-TXPVAV \
 
1407
-TXPVBM \
 
1408
-TXPVCV \
 
1409
-TXPVFM \
 
1410
-TXPVGV \
 
1411
-TXPVHV \
 
1412
-TXPVIO \
 
1413
-TXPVIV \
 
1414
-TXPVLV \
 
1415
-TXPVMG \
 
1416
-TXPVNV \
 
1417
-TXPVUV \
 
1418
-TXRV \
 
1419
-TXactCallback \
 
1420
-TXactCallbackItem \
 
1421
-TXactEvent \
 
1422
-TXidStatus \
 
1423
-TYYSTYPE \
 
1424
-TYY_BUFFER_STATE \
 
1425
-TYY_CHAR \
 
1426
-T_LIB_VERSION_TYPE \
 
1427
-T_RuneEntry \
 
1428
-T_RuneLocale \
 
1429
-T_RuneRange \
 
1430
-T_SPI_connection \
 
1431
-T_SPI_plan \
 
1432
-T_ossl_old_des_cblock \
 
1433
-T_ossl_old_des_key_schedule \
 
1434
-Taclitem \
 
1435
-Tadjust_inherited_attrs_context \
 
1436
-Talc_extra \
 
1437
-Talloc_func \
 
1438
-Tam_extra \
 
1439
-Tanyarray \
 
1440
-Tassoc_list \
 
1441
-Tatc_extra \
 
1442
-Tattribute_used_context \
 
1443
-TbackslashResult \
 
1444
-Tbio_info_cb \
 
1445
-Tbitmapword \
 
1446
-Tbits16 \
 
1447
-Tbits32 \
 
1448
-Tbits8 \
 
1449
-Tbool \
 
1450
-Tbt_incomplete_split \
 
1451
-Tbytea \
 
1452
-Tcached_re_str \
 
1453
-Tcaddr_t \
 
1454
-Tcc_t \
 
1455
-Tcelt \
 
1456
-Tchar \
 
1457
-Tcharf \
 
1458
-TcheckExprHasAggs_context \
 
1459
-Tcheck_parameter_resolution_context \
 
1460
-Tcheck_ungrouped_columns_context \
 
1461
-Tchr \
 
1462
-Tclock_t \
 
1463
-Tclockid_t \
 
1464
-Tcodes_t \
 
1465
-Tcolor \
 
1466
-Tcomment_t \
 
1467
-Tconst_DES_cblock \
 
1468
-Tcontain_var_reference_context \
 
1469
-Tcrc64 \
 
1470
-Tcv_flags_t \
 
1471
-Tdaddr_t \
 
1472
-Tdate \
 
1473
-Tdatetkn \
 
1474
-Tdecimal \
 
1475
-Tdeparse_context \
 
1476
-Tdeparse_namespace \
 
1477
-Tdev_t \
 
1478
-Tdiv_t \
 
1479
-Tdouble \
 
1480
-TevalPlanQual \
 
1481
-Teval_const_expressions_context \
 
1482
-TexecRowMark \
 
1483
-Texecution_state \
 
1484
-Texpectation \
 
1485
-Tf_smgr \
 
1486
-Tfd_mask \
 
1487
-Tfd_set \
 
1488
-Tfilter_t \
 
1489
-Tfinalize_primnode_context \
 
1490
-Tfind_expr_references_context \
 
1491
-Tfind_minimum_var_level_context \
 
1492
-Tfixpt_t \
 
1493
-Tflatten_join_alias_vars_context \
 
1494
-Tfloat \
 
1495
-Tfloat32 \
 
1496
-Tfloat32data \
 
1497
-Tfloat4 \
 
1498
-Tfloat64 \
 
1499
-Tfloat64data \
 
1500
-Tfloat8 \
 
1501
-Tfp_except \
 
1502
-Tfp_rnd \
 
1503
-Tfpclass_t \
 
1504
-Tfpos_t \
 
1505
-Tfree_func \
 
1506
-Tfsec_t \
 
1507
-Tfunc_ptr \
 
1508
-Tgenerate_series_fctx \
 
1509
-Tgid_t \
 
1510
-TgzFile \
 
1511
-Thashnode \
 
1512
-ThbaPort \
 
1513
-Thelp_handler \
 
1514
-Tin_addr_t \
 
1515
-Tin_port_t \
 
1516
-Tinet \
 
1517
-Tinet_struct \
 
1518
-Tino_t \
 
1519
-Tint \
 
1520
-Tint16 \
 
1521
-Tint16_t \
 
1522
-Tint16m_t \
 
1523
-Tint2 \
 
1524
-Tint2vector \
 
1525
-Tint32 \
 
1526
-Tint32_t \
 
1527
-Tint32m_t \
 
1528
-Tint4 \
 
1529
-Tint64 \
 
1530
-Tint64_t \
 
1531
-Tint64m_t \
 
1532
-Tint8 \
 
1533
-Tint8_t \
 
1534
-Tint8m_t \
 
1535
-Tinterval \
 
1536
-Tintf \
 
1537
-TitemIdSort \
 
1538
-TitemIdSortData \
 
1539
-Tjmp_buf \
 
1540
-Tjoin_references_context \
 
1541
-Tkey_t \
 
1542
-TlclContext \
 
1543
-TlclTocEntry \
 
1544
-Tldiv_t \
 
1545
-Tline_t \
 
1546
-Tmacaddr \
 
1547
-Tmb2wchar_with_len_converter \
 
1548
-Tmbdisplaylen_converter \
 
1549
-Tmblen_converter \
 
1550
-TmixedStruct \
 
1551
-Tmode_t \
 
1552
-Tnlink_t \
 
1553
-Tnls_uint32 \
 
1554
-Tnumeric \
 
1555
-Toff_t \
 
1556
-Toidvector \
 
1557
-Top_tr_array \
 
1558
-Topcode \
 
1559
-Topindex \
 
1560
-ToptType \
 
1561
-Tpcolor \
 
1562
-Tpem_password_cb \
 
1563
-TpgParameterStatus \
 
1564
-Tpg_conv_map \
 
1565
-Tpg_enc \
 
1566
-Tpg_enc2name \
 
1567
-Tpg_encname \
 
1568
-Tpg_local_to_utf \
 
1569
-Tpg_time_t \
 
1570
-Tpg_utf_to_local \
 
1571
-Tpg_wchar \
 
1572
-Tpg_wchar_tbl \
 
1573
-Tpgpid_t \
 
1574
-Tpgsql_thing_t \
 
1575
-Tpgthreadlock_t \
 
1576
-Tpid_t \
 
1577
-Tplperl_proc_desc \
 
1578
-Tplpgsql_HashEnt \
 
1579
-Tplpgsql_yysigned_char \
 
1580
-Tpltcl_proc_desc \
 
1581
-Tpltcl_query_desc \
 
1582
-Tpqbool \
 
1583
-Tpqsigfunc \
 
1584
-TprintQueryOpt \
 
1585
-TprintTableOpt \
 
1586
-TpromptStatus_t \
 
1587
-Tpthread_attr_t \
 
1588
-Tpthread_cond_t \
 
1589
-Tpthread_condattr_t \
 
1590
-Tpthread_key_t \
 
1591
-Tpthread_mutex_t \
 
1592
-Tpthread_mutexattr_t \
 
1593
-Tpthread_once_t \
 
1594
-Tpthread_t \
 
1595
-Tptrdiff_t \
 
1596
-Tpull_var_clause_context \
 
1597
-Tpull_varnos_context \
 
1598
-Tpvcontents \
 
1599
-Tq128_t \
 
1600
-Tqaddr_t \
 
1601
-Tquad_t \
 
1602
-TrangeTableEntry_used_context \
 
1603
-Treduce_outer_joins_state \
 
1604
-Tregcomp_t \
 
1605
-Tregex_t \
 
1606
-Tregexec_t \
 
1607
-Tregexp \
 
1608
-Tregister_t \
 
1609
-Tregmatch_t \
 
1610
-Tregnode \
 
1611
-Tregoff_t \
 
1612
-Tregproc \
 
1613
-Treplace_vars_with_subplan_refs_context \
 
1614
-Trewrite_event \
 
1615
-Trm_detail_t \
 
1616
-Trune_t \
 
1617
-Trunops_proc_t \
 
1618
-Tsa_family_t \
 
1619
-Tsegsz_t \
 
1620
-Tsequence_magic \
 
1621
-Tsig_atomic_t \
 
1622
-Tsig_t \
 
1623
-Tsighandler_cxt \
 
1624
-Tsigjmp_buf \
 
1625
-Tsignedbitmapword \
 
1626
-Tsigset_t \
 
1627
-Tsize_t \
 
1628
-Tslock_t \
 
1629
-Tsmgrid \
 
1630
-Tsocklen_t \
 
1631
-Tspeed_t \
 
1632
-TsqlparseInfo \
 
1633
-TsqlparseState \
 
1634
-Tssize_t \
 
1635
-Tssl_crock_st \
 
1636
-Tstack_t \
 
1637
-Tstrconst \
 
1638
-Tsubstitute_actual_parameters_context \
 
1639
-Tsvindex \
 
1640
-Tsvtype \
 
1641
-Tswblk_t \
 
1642
-Ttcflag_t \
 
1643
-Ttcp_seq \
 
1644
-TteReqs \
 
1645
-Ttext \
 
1646
-Ttime_t \
 
1647
-Ttimestamp \
 
1648
-Tts_db_fctx \
 
1649
-TuInt \
 
1650
-TuIntf \
 
1651
-TuLong \
 
1652
-TuLongf \
 
1653
-Tu_char \
 
1654
-Tu_int \
 
1655
-Tu_int16_t \
 
1656
-Tu_int16m_t \
 
1657
-Tu_int32_t \
 
1658
-Tu_int32m_t \
 
1659
-Tu_int64_t \
 
1660
-Tu_int64m_t \
 
1661
-Tu_int8_t \
 
1662
-Tu_int8m_t \
 
1663
-Tu_long \
 
1664
-Tu_quad_t \
 
1665
-Tu_short \
 
1666
-Tuchr \
 
1667
-Tuid_t \
 
1668
-Tuint \
 
1669
-Tuint16 \
 
1670
-Tuint32 \
 
1671
-Tuint64 \
 
1672
-Tuint8 \
 
1673
-Tunknown \
 
1674
-Tushort \
 
1675
-Tva_list \
 
1676
-Tvarattrib \
 
1677
-Tvm_offset_t \
 
1678
-Tvm_size_t \
 
1679
-Tvoid \
 
1680
-Tvoidp \
 
1681
-Tvoidpf \
 
1682
-Twchar_t \
 
1683
-Twctype_t \
 
1684
-Twint_t \
 
1685
-Txl_btree_delete \
 
1686
-Txl_btree_delete_page \
 
1687
-Txl_btree_insert \
 
1688
-Txl_btree_metadata \
 
1689
-Txl_btree_newmeta \
 
1690
-Txl_btree_newroot \
 
1691
-Txl_btree_split \
 
1692
-Txl_btreetid \
 
1693
-Txl_heap_clean \
 
1694
-Txl_heap_delete \
 
1695
-Txl_heap_header \
 
1696
-Txl_heap_insert \
 
1697
-Txl_heap_newpage \
 
1698
-Txl_heap_update \
 
1699
-Txl_heaptid \
 
1700
-Txl_seq_rec \
 
1701
-Txl_smgr_create \
 
1702
-Txl_smgr_truncate \
 
1703
-Txl_xact_abort \
 
1704
-Txl_xact_commit \
 
1705
-Tyy_size_t \
 
1706
-Tyy_state_type \
 
1707
-Tyysigned_char \
 
1708
-Tz_stream \
 
1709
-Tz_streamp \
 
1710
/tmp/$$a >/tmp/$$ 2>&1
 
1711
        if [ "$?" -ne 0 -o -s /tmp/$$ ]
 
1712
        then    echo
 
1713
                echo "$FILE"
 
1714
                cat /tmp/$$
 
1715
        fi
 
1716
        cat /tmp/$$a |
 
1717
# restore DATA/CATALOG lines
 
1718
        sed 's;^/\*\(DATA(.*\)\*/$;\1;' |
 
1719
        sed 's;^/\*\(CATALOG(.*\)\*/$;\1;' |
 
1720
# remove tabs and retab with four spaces
 
1721
        detab -t8 -qc |
 
1722
        entab -t4 -qc |
 
1723
        sed 's;^/\* Open extern \"C\" \*/$;{;' |
 
1724
        sed 's;^/\* Close extern \"C\" \*/$;};' |
 
1725
        sed 's;/\*---X_X;/* ---;g' |
 
1726
# workaround indent bug
 
1727
        sed 's;^static[         ][      ]*;static ;g' |
 
1728
        sed 's;^}       [       ]*;}    ;' |
 
1729
# pull in #endif comments
 
1730
        sed 's;^#endif[         ][      ]*/\*;#endif   /*;' |
 
1731
# work around #else indenting next line if #ifdef defines variables at top
 
1732
# work around misindenting of function with no variables defined
 
1733
        awk '
 
1734
        {
 
1735
                if ($0 ~ "^[    ]*int[  ]*pgindent_func_no_var_fix;")
 
1736
                {
 
1737
                        if (getline && $0 != "")
 
1738
                                print $0;
 
1739
                }
 
1740
                else    print $0;
 
1741
        }' |
 
1742
# add space after comments that start on tab stops
 
1743
        sed 's;\([^     ]\)\(/\*.*\*/\)$;\1     \2;' |
 
1744
# move trailing * in function return type
 
1745
        sed 's;^\([A-Za-z_][^   ]*\)[   ][      ]*\*$;\1 *;' |
 
1746
# remove un-needed braces around single statements
 
1747
# Do not use because it uglifies PG_TRY/PG_CATCH blocks and probably
 
1748
# isn't needed for general use.
 
1749
#       awk '
 
1750
#       {
 
1751
#                       line3 = $0;  
 
1752
#                       if (skips > 0)
 
1753
#                               skips--;
 
1754
#                       if (line1 ~ "           *{$" &&
 
1755
#                           line2 ~ "           *[^;{}]*;$" &&
 
1756
#                           line3 ~ "           *}$")
 
1757
#                       {
 
1758
#                               print line2;
 
1759
#                               line2 = "";
 
1760
#                               line3 = "";
 
1761
#                               skips = 3;
 
1762
#                       }
 
1763
#                       else
 
1764
#                               if (skips == 0 && NR >= 3)
 
1765
#                                       print line1;
 
1766
#                       line1 = line2;
 
1767
#                       line2 = line3;
 
1768
#               }
 
1769
#               END {
 
1770
#                       if (NR >= 2 && skips <= 1)
 
1771
#                               print line1;
 
1772
#                       if (NR >= 1 && skips <= 2)
 
1773
#                               print line2;
 
1774
#               }' |
 
1775
# remove blank line between opening brace and block comment
 
1776
        awk '
 
1777
        {
 
1778
                        line3 = $0;  
 
1779
                        if (skips > 0)
 
1780
                                skips--;
 
1781
                        if (line1 ~ "   *{$" &&
 
1782
                            line2 ~ "^$" &&
 
1783
                            line3 ~ "           */\\*$")
 
1784
                        {
 
1785
                                print line1;
 
1786
                                print line3;
 
1787
                                line2 = "";
 
1788
                                line3 = "";
 
1789
                                skips = 3;
 
1790
                        }
 
1791
                        else
 
1792
                                if (skips == 0 && NR >= 3)
 
1793
                                        print line1;
 
1794
                        line1 = line2;
 
1795
                        line2 = line3;
 
1796
                }
 
1797
                END {
 
1798
                        if (NR >= 2 && skips <= 1)
 
1799
                                print line1;
 
1800
                        if (NR >= 1 && skips <= 2)
 
1801
                                print line2;
 
1802
                }' |
 
1803
# remove trailing blank lines, helps with adding blank before trailing #endif
 
1804
        awk '   BEGIN   {blank_lines = 0;}
 
1805
                {
 
1806
                        line1 = $0;
 
1807
                        if (line1 ~ /^$/)
 
1808
                                blank_lines++;
 
1809
                        else
 
1810
                        {
 
1811
                                for (; blank_lines > 0; blank_lines--)
 
1812
                                        printf "\n";
 
1813
                                print line1;
 
1814
                        }
 
1815
                }' |
 
1816
# remove blank line before #endif
 
1817
        awk '   BEGIN   {line1 = ""; line2 = ""; skips = 0}
 
1818
                {
 
1819
                        line2 = $0;
 
1820
                        if (skips > 0)
 
1821
                                skips--;
 
1822
                        if (line1 ~ "^$" &&
 
1823
                            line2 ~ "^#endif")
 
1824
                        {
 
1825
                                print line2;
 
1826
                                line2 = "";
 
1827
                                skips = 2;
 
1828
                        }
 
1829
                        else
 
1830
                                if (skips == 0 && NR >= 2)
 
1831
                                        print line1;
 
1832
                        line1 = line2;
 
1833
                }
 
1834
                END {
 
1835
                        if (NR >= 1 && skips <= 1)
 
1836
                                print line1;
 
1837
                }' |
 
1838
# add blank line before #endif if it is the last line in the file
 
1839
        awk '   BEGIN   {line1 = ""; line2 = ""}
 
1840
                {
 
1841
                        line2 = $0;
 
1842
                        if (NR >= 2)
 
1843
                                print line1;
 
1844
                        line1 = line2;
 
1845
                }
 
1846
                END {
 
1847
                        if (NR >= 1 && line2 ~ "^#endif")
 
1848
                                printf "\n";
 
1849
                        print line1;
 
1850
                }' |
 
1851
#  Move prototype names to the same line as return type.  Useful for ctags. 
 
1852
#  Indent should do this, but it does not.  It formats prototypes just
 
1853
#  like real functions.
 
1854
        awk '   BEGIN   {paren_level = 0}  
 
1855
        {
 
1856
                if ($0 ~ /^[a-zA-Z_][a-zA-Z_0-9]*[^\(]*$/)
 
1857
                {
 
1858
                        saved_len = 0;
 
1859
                        saved_lines[++saved_len] = $0;
 
1860
                        if ((getline saved_lines[++saved_len]) == 0)
 
1861
                                print saved_lines[1];
 
1862
                        else
 
1863
                        if (saved_lines[saved_len] !~ /^[a-zA-Z_][a-zA-Z_0-9]*\(/ ||
 
1864
                            saved_lines[saved_len] ~  /^[a-zA-Z_][a-zA-Z_0-9]*\(.*\)$/ ||
 
1865
                            saved_lines[saved_len] ~  /^[a-zA-Z_][a-zA-Z_0-9]*\(.*\);$/)
 
1866
                        {
 
1867
                                print saved_lines[1];
 
1868
                                print saved_lines[2];
 
1869
                        }
 
1870
                        else
 
1871
                        {
 
1872
                                while (1)
 
1873
                                {
 
1874
                                        if ((getline saved_lines[++saved_len]) == 0)
 
1875
                                                break;
 
1876
                                        if (saved_lines[saved_len] ~ /^[^       ]/ ||
 
1877
                                            saved_lines[saved_len] !~ /,$/)
 
1878
                                                break;
 
1879
                                }
 
1880
                                for (i=1; i <= saved_len; i++)
 
1881
                                {
 
1882
                                        if (i == 1 && saved_lines[saved_len] ~ /\);$/)
 
1883
                                        {
 
1884
                                                printf "%s", saved_lines[i];
 
1885
                                                if (substr(saved_lines[i], length(saved_lines[i]),1) != "*")
 
1886
                                                        printf " ";
 
1887
                                        }
 
1888
                                        else    print saved_lines[i];
 
1889
                                }
 
1890
                        }
 
1891
                }
 
1892
                else    print $0;
 
1893
        }' |
 
1894
        cat >/tmp/$$ && cat /tmp/$$ >"$FILE"
 
1895
done
 
1896
 
 
1897
# The 'for' loop makes these backup files useless so delete them
 
1898
rm -f *a.BAK