From ba0b03de2e8ef517010f77709eac6de20371d0f3 Mon Sep 17 00:00:00 2001 From: Marc G. Fournier Date: Sat, 13 Sep 1997 16:27:13 +0000 Subject: Let's hope this fixes the "bug" that was introduced --- src/tools/pgindent.dir/README | 29 -- src/tools/pgindent.dir/indent.bsd.patch | 23 - src/tools/pgindent.dir/pgindent | 804 -------------------------------- src/tools/pgindent/README | 29 ++ src/tools/pgindent/indent.bsd.patch | 23 + src/tools/pgindent/pgindent | 804 ++++++++++++++++++++++++++++++++ 6 files changed, 856 insertions(+), 856 deletions(-) delete mode 100644 src/tools/pgindent.dir/README delete mode 100644 src/tools/pgindent.dir/indent.bsd.patch delete mode 100644 src/tools/pgindent.dir/pgindent create mode 100644 src/tools/pgindent/README create mode 100644 src/tools/pgindent/indent.bsd.patch create mode 100755 src/tools/pgindent/pgindent (limited to 'src/tools') diff --git a/src/tools/pgindent.dir/README b/src/tools/pgindent.dir/README deleted file mode 100644 index 6bf0700289..0000000000 --- a/src/tools/pgindent.dir/README +++ /dev/null @@ -1,29 +0,0 @@ -This can format all PostgreSQL *.c and *.h files, excluding libpq++, -*.y, and *.l files. - -On 09/06/1997, from the top directory, I ran: - - find . -name '*.[ch]' -type f -print | grep -v '++' | xargs -n100 pgindent - -The stock BSD indent has two bugs. First, a comment after the word 'else' -causes the rest of the file to be ignored. Second, it silently ignores -typedefs after getting the first 100. - -Both problems are worked-around in this script. We also include a patch -for the second bug in: - - /src/tools/pgindent/indent.bsd.patch - -Even with the workaround, installation of the patch produces better -output. - -GNU indent, version 1.9.1, has several bugs, and is not recommended. -These bugs become pretty major when you are doing >200k lines of code. -If you don't believe me, take a directory and make a copy. Run pgindent -on the copy using GNU indent, and do a diff -r. You will see what I -mean. GNU indent does some things better, but mangles too. - -We get the list of typedef's included in pgindent by running: - - /src/tools/find_typedef - diff --git a/src/tools/pgindent.dir/indent.bsd.patch b/src/tools/pgindent.dir/indent.bsd.patch deleted file mode 100644 index ba5d4756f4..0000000000 --- a/src/tools/pgindent.dir/indent.bsd.patch +++ /dev/null @@ -1,23 +0,0 @@ - -This increases the number of typedef's understood by BSD indent from 100 -to 1000. - -*** ./lexi.c.orig Mon Sep 8 17:55:47 1997 ---- ./lexi.c Mon Sep 8 17:02:10 1997 -*************** -*** 58,64 **** - int rwcode; - }; - -! struct templ specials[100] = - { - "switch", 1, - "case", 2, ---- 58,64 ---- - int rwcode; - }; - -! struct templ specials[1000] = - { - "switch", 1, - "case", 2, diff --git a/src/tools/pgindent.dir/pgindent b/src/tools/pgindent.dir/pgindent deleted file mode 100644 index edf13cbcc5..0000000000 --- a/src/tools/pgindent.dir/pgindent +++ /dev/null @@ -1,804 +0,0 @@ -#!/bin/sh - -trap "rm -f /tmp/$$ /tmp/$$a" 0 1 2 3 15 -entab /dev/null -if [ "$?" -ne 0 ] -then echo "Go to the src/tools/entab directory and do a 'make' and 'make install'." >&2 - echo "This will put the 'entab' command in your path." >&2 - echo "Then run $0 again." - exit 1 -fi -indent -st -npro /dev/null 2>&1 -if [ "$?" -ne 0 ] -then echo "You do not appear to have 'indent' installed on your system." >&2 - exit 1 -fi -indent -version -npro /dev/null 2>&1 -if [ "$?" -eq 0 ] -then echo "You appear to have GNU indent rather than BSD indent." >&2 - echo "See the pgindent/README file for a description of its problems." >&2 - EXTRA_OPTS="-ncdb -bli0 -npcs -cli4" -else echo "Hope you installed /src/tools/pgindent/indent.bsd.patch." >&2 - EXTRA_OPTS="-bbb -cli1" -fi - -for FILE -do - cat $FILE | - sed 's;/\* *---;/*---X_X;g' | - sed 's;\([} ]\)else[ ]*\(/\*.*\)$;\1else\ -\2;g' | # workaround for indent bug - detab -t4 -qc | - sed 's;^DATA(.*$;/*&*/;' >/tmp/$$a # protect backslashes in DATA() - -# We get the list of typedef's from /src/tools/find_typedef - indent -bad -bap -bc -bl -d0 -cdb -nce -nfc1 -di12 -i4 -l75 \ - -lp -nip -npro $EXTRA_OPTS \ --TA_Const \ --TA_Expr \ --TA_Indices \ --TAbsoluteTime \ --TAcl \ --TAclId \ --TAclIdType \ --TAclItem \ --TAclMode \ --TAddAttrStmt \ --TAddr \ --TAgg \ --TAggFuncInfo \ --TAggInfo \ --TAggState \ --TAggreg \ --TAllocElem \ --TAllocElemData \ --TAllocMode \ --TAllocPointer \ --TAllocSet \ --TAllocSetData \ --TAnyInvalidation \ --TAppend \ --TAppendState \ --TAppendStmt \ --TArchType \ --TArchiveMode \ --TArray \ --TArrayRef \ --TArrayType \ --TAttr \ --TAttrDefault \ --TAttrNumber \ --TAttributeSize \ --TAttributeTupleForm \ --TBOX \ --TBTItem \ --TBTItemData \ --TBTMetaPageData \ --TBTPageOpaque \ --TBTPageOpaqueData \ --TBTPageState \ --TBTPriQueue \ --TBTPriQueueElem \ --TBTScanList \ --TBTScanListData \ --TBTScanOpaque \ --TBTScanOpaqueData \ --TBTSortKey \ --TBTSpool \ --TBTStack \ --TBTStackData \ --TBTTapeBlock \ --TBUCKET_INDEX \ --TBackend \ --TBackendId \ --TBackendTag \ --TBindingEnt \ --TBitArray \ --TBitIndex \ --TBlock \ --TBlockId \ --TBlockIdData \ --TBlockNumber \ --TBoolPtr \ --TBucket \ --TBufFlags \ --TBuffer \ --TBufferBlock \ --TBufferDesc \ --TBufferHdr \ --TBufferLock \ --TBufferTag \ --TCHUNK_INFO \ --TCIRCLE \ --TCInfo \ --TCPFunction \ --TCPPFunction \ --TCandidateList \ --TCash \ --TCatCTup \ --TCatCache \ --TCatalogInvalidationData \ --TChangeACLStmt \ --TChar16 \ --TChoose \ --TChromosome \ --TCity \ --TClosePortalStmt \ --TClusterStmt \ --TCmdType \ --TColumnDef \ --TCommandDest \ --TCommandId \ --TCommonScanState \ --TCommonState \ --TConnStatusType \ --TConst \ --TConstrCheck \ --TConstrType \ --TConstraintDef \ --TCopyStmt \ --TCost \ --TCreateSeqStmt \ --TCreateStmt \ --TCreateTrigStmt \ --TCreatedbStmt \ --TCursorStmt \ --TDateADT \ --TDateTime \ --TDatum \ --TDatumPtr \ --TDefElem \ --TDefineStmt \ --TDeleteStmt \ --TDestroyStmt \ --TDestroydbStmt \ --TDlelem \ --TDllist \ --TDropTrigStmt \ --TDynamicFileList \ --TELEMENT \ --TEState \ --TEdge \ --TExcContext \ --TExcData \ --TExcDetail \ --TExcFrame \ --TExcId \ --TExcMessage \ --TExcProc \ --TException \ --TExecStatus \ --TExecStatusType \ --TExistential \ --TExitStatus \ --TExplainState \ --TExplainStmt \ --TExpr \ --TExprContext \ --TExtendStmt \ --TFILE \ --TFUNMAP \ --TFetchStmt \ --TFile \ --TFileName \ --TFixedItem \ --TFixedItemData \ --TFixedStack \ --TFixedStackData \ --TFjoin \ --TFmgrCall \ --TFmgrValues \ --TFormData_pg_aggregate \ --TFormData_pg_am \ --TFormData_pg_amop \ --TFormData_pg_amproc \ --TFormData_pg_attrdef \ --TFormData_pg_attribute \ --TFormData_pg_class \ --TFormData_pg_database \ --TFormData_pg_group \ --TFormData_pg_index \ --TFormData_pg_inherits \ --TFormData_pg_ipl \ --TFormData_pg_language \ --TFormData_pg_listener \ --TFormData_pg_log \ --TFormData_pg_opclass \ --TFormData_pg_operator \ --TFormData_pg_proc \ --TFormData_pg_relcheck \ --TFormData_pg_rewrite \ --TFormData_pg_sequence \ --TFormData_pg_statistic \ --TFormData_pg_time \ --TFormData_pg_trigger \ --TFormData_pg_user \ --TFormData_pg_variable \ --TFormData_pg_version \ --TForm_pg_aggregate \ --TForm_pg_am \ --TForm_pg_amop \ --TForm_pg_amproc \ --TForm_pg_attrdef \ --TForm_pg_class \ --TForm_pg_database \ --TForm_pg_group \ --TForm_pg_ipl \ --TForm_pg_language \ --TForm_pg_log \ --TForm_pg_opclass \ --TForm_pg_proc \ --TForm_pg_relcheck \ --TForm_pg_rewrite \ --TForm_pg_statistic \ --TForm_pg_time \ --TForm_pg_trigger \ --TForm_pg_user \ --TForm_pg_variable \ --TFrontEnd \ --TFunc \ --TFuncCall \ --TFuncIndexInfo \ --TFuncIndexInfoPtr \ --TFuncInfo \ --TFunction \ --TFunctionCache \ --TFunctionCachePtr \ --TGISTENTRY \ --TGISTPageOpaque \ --TGISTPageOpaqueData \ --TGISTSTACK \ --TGISTSTATE \ --TGISTScanList \ --TGISTScanListData \ --TGISTScanOpaque \ --TGISTScanOpaqueData \ --TGIST_SPLITVEC \ --TGene \ --TGlobalMemory \ --TGroup \ --TGroupBuffer \ --TGroupClause \ --TGroupState \ --THASHACTION \ --THASHCTL \ --THHDR \ --THISTORY_STATE \ --THIST_ENTRY \ --THInfo \ --THTAB \ --THash \ --THashBucket \ --THashBucketData \ --THashItem \ --THashItemData \ --THashJoin \ --THashJoinState \ --THashJoinTable \ --THashMetaPage \ --THashMetaPageData \ --THashPageOpaque \ --THashPageOpaqueData \ --THashPath \ --THashScanList \ --THashScanListData \ --THashScanOpaque \ --THashScanOpaqueData \ --THashState \ --THashTableData \ --THashtFunc \ --THeapAccessStatistics \ --THeapAccessStatisticsData \ --THeapMemoryBlock \ --THeapMemoryBlockData \ --THeapScanDesc \ --THeapScanDescData \ --THeapTuple \ --THeapTupleData \ --TINTRANGE \ --TIPCKey \ --TIdList \ --TIdent \ --TIdxInfoRetval \ --TIndDesc \ --TIndInfo \ --TIndex \ --TIndexAttributeBitMap \ --TIndexAttributeBitMapData \ --TIndexElem \ --TIndexInfo \ --TIndexList \ --TIndexPath \ --TIndexScan \ --TIndexScanDesc \ --TIndexScanDescData \ --TIndexScanDescPtr \ --TIndexScanState \ --TIndexStmt \ --TIndexStrategy \ --TIndexStrategyData \ --TIndexTuple \ --TIndexTupleData \ --TIndexTupleForm \ --TInhInfo \ --TInhPaths \ --TInheritsTupleForm \ --TInsertIndexResult \ --TInsertIndexResultData \ --TIntArray \ --TInt_yy_size_t \ --TInt_yy_state_type \ --TInternalTimeQual \ --TInvalidationEntry \ --TInvalidationEntryData \ --TInvalidationMessage \ --TInvalidationMessageData \ --TInvalidationUserData \ --TIpcMemoryId \ --TIpcMemoryKey \ --TIpcSemaphoreId \ --TIpcSemaphoreKey \ --TItem \ --TItemId \ --TItemIdData \ --TItemIdFlags \ --TItemLength \ --TItemOffset \ --TItemPointer \ --TItemPointerData \ --TIter \ --TJInfo \ --TJoin \ --TJoinKey \ --TJoinMethod \ --TJoinPath \ --TJoinState \ --TJunkFilter \ --TKEYMAP_ENTRY \ --TKEYMAP_ENTRY_ARRAY \ --TKeymap \ --TLINE \ --TLOCK \ --TLOCKCTL \ --TLOCKT \ --TLOCKTAB \ --TLOCKTAG \ --TLOCK_LEVEL \ --TLOCK_TYPE \ --TLRelId \ --TLSEG \ --TLargeObjectDesc \ --TLeftistContext \ --TLeftistContextData \ --TLibCCopyLength \ --TList \ --TListenStmt \ --TLoadStmt \ --TLocalInvalid \ --TLocationIndex \ --TLockInfo \ --TLockInfoData \ --TLockTableId \ --TLogRelationContents \ --TLogRelationContentsData \ --TLookupEnt \ --TMASK \ --TMInfo \ --TMarkData \ --TMaterial \ --TMaterialState \ --TMdfdVec \ --TMemoryContext \ --TMemoryContextMethods \ --TMergeJoin \ --TMergeJoinState \ --TMergeOrder \ --TMergePath \ --TMoveStmt \ --TMsgType \ --TName \ --TNameData \ --TNestLoop \ --TNestLoopState \ --TNode \ --TNodeTag \ --TNotifyStmt \ --TOffset \ --TOffsetNumber \ --TOid \ --TOidInt2 \ --TOidInt2Data \ --TOidInt4 \ --TOidInt4Data \ --TOidName \ --TOidNameData \ --TOpType \ --TOpaque \ --TOpaqueData \ --TOper \ --TOperator \ --TOperatorTupleForm \ --TOprInfo \ --TOrderKey \ --TOrderType \ --TOrderedElem \ --TOrderedElemData \ --TOrderedSet \ --TOrderedSetData \ --TOverflowPageAddress \ --TOverflowTuple \ --TOverflowTupleData \ --TPATH \ --TPGconn \ --TPGlobjfuncs \ --TPGnotify \ --TPGresAttDesc \ --TPGresAttValue \ --TPGresult \ --TPOLYGON \ --TPQArgBlock \ --TPQNotifyList \ --TPQconninfoOption \ --TPQprintOpt \ --TPROC \ --TPROC_HDR \ --TPROC_QUEUE \ --TPacketBuf \ --TPacketLen \ --TPage \ --TPageHeader \ --TPageHeaderData \ --TPageManagerMode \ --TPageOffset \ --TParam \ --TParamListInfo \ --TParamListInfoData \ --TParamNo \ --TParamString \ --TParseState \ --TPath \ --TPathOrder \ --TPlan \ --TPoint \ --TPointer \ --TPool \ --TPort \ --TPortal \ --TPortalBlock \ --TPortalBlockData \ --TPortalBuffer \ --TPortalD \ --TPortalEntry \ --TPortalHashEnt \ --TPortalHeapMemory \ --TPortalMemoryContext \ --TPortalVariableMemory \ --TPredInfo \ --TPrivateMem \ --TProcState \ --TProcedureStmt \ --TProcessingMode \ --TProjectionInfo \ --TPsortstate \ --TPsqlSettings \ --TPurgeStmt \ --TQuery \ --TQueryDesc \ --TQueryTreeList \ --TREAD_ROUTINE \ --TRTSTACK \ --TRTSTATE \ --TRTScanList \ --TRTScanListData \ --TRTreePageOpaque \ --TRTreePageOpaqueData \ --TRTreeScanOpaque \ --TRTreeScanOpaqueData \ --TRangeTblEntry \ --TRangeVar \ --TRecipeStmt \ --TRegProcedure \ --TRel \ --TRelExpr \ --TRelIdCacheEnt \ --TRelNameCacheEnt \ --TRelation \ --TRelationBuildDescInfo \ --TRelationData \ --TRelationInfo \ --TRelationInvalidationData \ --TRelationList \ --TRelationPtr \ --TRelativeAddr \ --TRelativeTime \ --TRelid \ --TRemoveAggrStmt \ --TRemoveFuncStmt \ --TRemoveOperStmt \ --TRemoveStmt \ --TRenameStmt \ --TReplaceStmt \ --TResTarget \ --TResdom \ --TResult \ --TResultState \ --TRetrieveIndexResult \ --TRetrieveIndexResultData \ --TRetrieveStmt \ --TRewriteInfo \ --TRewriteRule \ --TRuleLock \ --TRuleStmt \ --TSEGMENT \ --TSEG_OFFSET \ --TSEMA \ --TSHMEM_OFFSET \ --TSHM_QUEUE \ --TSISeg \ --TSISegEntry \ --TSISegOffsets \ --TSLock \ --TSPINLOCK \ --TSPITupleTable \ --TSPLITVEC \ --TScan \ --TScanDirection \ --TScanFunc \ --TScanKey \ --TScanKeyData \ --TScanKeyword \ --TSeqScan \ --TSeqTable \ --TSeqTableData \ --TSequenceTupleForm \ --TSharedInvalid \ --TSharedInvalidData \ --TSize \ --TSort \ --TSortClause \ --TSortGroupBy \ --TSortState \ --TSplitNumber \ --TStartupInfo \ --TStrategyEvaluation \ --TStrategyEvaluationData \ --TStrategyExpression \ --TStrategyExpressionData \ --TStrategyMap \ --TStrategyMapData \ --TStrategyNumber \ --TStrategyOperator \ --TStrategyOperatorData \ --TStrategyTerm \ --TStrategyTermData \ --TStrategyTransformMap \ --TStrategyTransformMapData \ --TStream \ --TStreamPtr \ --TStringInfo \ --TStringInfoData \ --TSubSelect \ --TSuperQE \ --TSystemPortAddress \ --TTUPLE \ --TTXTRANGE \ --TTableID \ --TTableInfo \ --TTargetEntry \ --TTee \ --TTeeState \ --TTemp \ --TTempRelList \ --TTimeADT \ --TTimeInterval \ --TTimeIntervalData \ --TTimeQual \ --TTimeQualData \ --TTimeQualMode \ --TTimeQualSpace \ --TTimeRange \ --TTimeRelationContents \ --TTimeRelationContentsData \ --TTimeSpan \ --TTransactionId \ --TTransactionState \ --TTransactionStateData \ --TTransactionStmt \ --TTrigger \ --TTriggerData \ --TTriggerDesc \ --TTriggerEvent \ --TTupleBlock \ --TTupleConstr \ --TTupleDesc \ --TTupleTable \ --TTupleTableData \ --TTupleTableSlot \ --TType \ --TTypeBlock \ --TTypeInfo \ --TTypeName \ --TTypeTupleForm \ --TTypeTupleFormData \ --TUNDO_LIST \ --TUnionFlag \ --TUnique \ --TUniqueState \ --TVAttList \ --TVAttListData \ --TVFunction \ --TVPageDescr \ --TVPageDescrData \ --TVPageList \ --TVPageListData \ --TVRelList \ --TVRelListData \ --TVRelStats \ --TVacAttrStats \ --TVacuumStmt \ --TValue \ --TVar \ --TVariableRelationContents \ --TVariableRelationContentsData \ --TVariableResetStmt \ --TVariableSetStmt \ --TVariableShowStmt \ --TVersionStmt \ --TVersionTupleForm \ --TVfd \ --TViewStmt \ --TXIDLookupEnt \ --TXIDTAG \ --TXidStatus \ --TYYSTYPE \ --TYY_BUFFER_STATE \ --TYY_CHAR \ --T_LockId_ \ --T_RuneEntry \ --T_RuneLocale \ --T_RuneRange \ --T_SPI_connection \ --T_SPI_plan \ --Taclitem \ --Tbits16 \ --Tbits32 \ --Tbits8 \ --Tbool \ --Tbool16 \ --Tbool32 \ --Tbool8 \ --Tbytea \ --Tcaddr_t \ --Tcat_t \ --Tcc_t \ --Tchar \ --Tchar16 \ --Tchar8 \ --TcharPP \ --Tclock_t \ --Tclockid_t \ --Tcset \ --Tdaddr_t \ --Tdatetkn \ --Tdev_t \ --Tdhalloc_ptr \ --Tdiv_t \ --Tdouble \ --Texecution_state \ --Tf_smgr \ --Tfd_mask \ --Tfd_set \ --Tfixpt_t \ --Tfloat \ --Tfloat32 \ --Tfloat32data \ --Tfloat4 \ --Tfloat64 \ --Tfloat64data \ --Tfloat8 \ --Tfpos_t \ --Tfunc_ptr \ --Tgid_t \ --Thashnode \ --Tino_t \ --Tint \ --Tint16 \ --Tint16_t \ --Tint16m_t \ --Tint2 \ --Tint28 \ --Tint32 \ --Tint32_t \ --Tint32m_t \ --Tint4 \ --Tint64_t \ --Tint64m_t \ --Tint8 \ --Tint8_t \ --Tint8m_t \ --TintP \ --Tjmp_buf \ --Tkey_t \ --Tldiv_t \ --Tmode_t \ --Tnlink_t \ --Toff_t \ --Toid8 \ --Tpg_pwd \ --Tpid_t \ --Tpqbool \ --Tpqsigfunc \ --Tptrdiff_t \ --Tqaddr_t \ --Tquad_t \ --Tregex_t \ --Tregister_t \ --Tregmatch_t \ --Tregoff_t \ --Tregproc \ --Trune_t \ --Tsegsz_t \ --Tsequence_magic \ --Tsig_atomic_t \ --Tsig_func \ --Tsig_t \ --Tsigjmp_buf \ --Tsigset_t \ --Tsize_t \ --Tslock_t \ --Tsmgrid \ --Tsop \ --Tsopno \ --Tspeed_t \ --Tssize_t \ --Tswblk_t \ --Ttcflag_t \ --Ttcp_seq \ --Ttext \ --Ttime_t \ --Tu_char \ --Tu_int \ --Tu_int16_t \ --Tu_int16m_t \ --Tu_int32_t \ --Tu_int32m_t \ --Tu_int64_t \ --Tu_int64m_t \ --Tu_int8_t \ --Tu_int8m_t \ --Tu_long \ --Tu_quad_t \ --Tu_short \ --Tuch \ --Tuid_t \ --Tuint \ --Tuint16 \ --Tuint32 \ --Tuint8 \ --Tushort \ --Tva_list \ --Tvm_offset_t \ --Tvm_size_t \ --Tvoid \ --Twchar_t \ --Tword16 \ --Tword32 \ --Tword8 \ --Tyy_size_t \ --Tyy_state_type \ -/tmp/$$a >/tmp/$$ 2>&1 - if [ "$?" -ne 0 -o -s /tmp/$$ ] - then echo "$FILE" - cat /tmp/$$ - fi - cat /tmp/$$a | - sed 's;^/\*\(DATA(.*\)\*/$;\1;' | - sed 's;/\*---X_X;/* ---;g' | - sed 's;^static[ ][ ]*;static ;g' | # workaround indent bug - detab -t8 -qc | - entab -t4 -qc >/tmp/$$ && cat /tmp/$$ >$FILE -done - -# The 'for' loop makes these backup files useless -# so delete them -rm -f *a.BAK diff --git a/src/tools/pgindent/README b/src/tools/pgindent/README new file mode 100644 index 0000000000..6bf0700289 --- /dev/null +++ b/src/tools/pgindent/README @@ -0,0 +1,29 @@ +This can format all PostgreSQL *.c and *.h files, excluding libpq++, +*.y, and *.l files. + +On 09/06/1997, from the top directory, I ran: + + find . -name '*.[ch]' -type f -print | grep -v '++' | xargs -n100 pgindent + +The stock BSD indent has two bugs. First, a comment after the word 'else' +causes the rest of the file to be ignored. Second, it silently ignores +typedefs after getting the first 100. + +Both problems are worked-around in this script. We also include a patch +for the second bug in: + + /src/tools/pgindent/indent.bsd.patch + +Even with the workaround, installation of the patch produces better +output. + +GNU indent, version 1.9.1, has several bugs, and is not recommended. +These bugs become pretty major when you are doing >200k lines of code. +If you don't believe me, take a directory and make a copy. Run pgindent +on the copy using GNU indent, and do a diff -r. You will see what I +mean. GNU indent does some things better, but mangles too. + +We get the list of typedef's included in pgindent by running: + + /src/tools/find_typedef + diff --git a/src/tools/pgindent/indent.bsd.patch b/src/tools/pgindent/indent.bsd.patch new file mode 100644 index 0000000000..ba5d4756f4 --- /dev/null +++ b/src/tools/pgindent/indent.bsd.patch @@ -0,0 +1,23 @@ + +This increases the number of typedef's understood by BSD indent from 100 +to 1000. + +*** ./lexi.c.orig Mon Sep 8 17:55:47 1997 +--- ./lexi.c Mon Sep 8 17:02:10 1997 +*************** +*** 58,64 **** + int rwcode; + }; + +! struct templ specials[100] = + { + "switch", 1, + "case", 2, +--- 58,64 ---- + int rwcode; + }; + +! struct templ specials[1000] = + { + "switch", 1, + "case", 2, diff --git a/src/tools/pgindent/pgindent b/src/tools/pgindent/pgindent new file mode 100755 index 0000000000..edf13cbcc5 --- /dev/null +++ b/src/tools/pgindent/pgindent @@ -0,0 +1,804 @@ +#!/bin/sh + +trap "rm -f /tmp/$$ /tmp/$$a" 0 1 2 3 15 +entab /dev/null +if [ "$?" -ne 0 ] +then echo "Go to the src/tools/entab directory and do a 'make' and 'make install'." >&2 + echo "This will put the 'entab' command in your path." >&2 + echo "Then run $0 again." + exit 1 +fi +indent -st -npro /dev/null 2>&1 +if [ "$?" -ne 0 ] +then echo "You do not appear to have 'indent' installed on your system." >&2 + exit 1 +fi +indent -version -npro /dev/null 2>&1 +if [ "$?" -eq 0 ] +then echo "You appear to have GNU indent rather than BSD indent." >&2 + echo "See the pgindent/README file for a description of its problems." >&2 + EXTRA_OPTS="-ncdb -bli0 -npcs -cli4" +else echo "Hope you installed /src/tools/pgindent/indent.bsd.patch." >&2 + EXTRA_OPTS="-bbb -cli1" +fi + +for FILE +do + cat $FILE | + sed 's;/\* *---;/*---X_X;g' | + sed 's;\([} ]\)else[ ]*\(/\*.*\)$;\1else\ +\2;g' | # workaround for indent bug + detab -t4 -qc | + sed 's;^DATA(.*$;/*&*/;' >/tmp/$$a # protect backslashes in DATA() + +# We get the list of typedef's from /src/tools/find_typedef + indent -bad -bap -bc -bl -d0 -cdb -nce -nfc1 -di12 -i4 -l75 \ + -lp -nip -npro $EXTRA_OPTS \ +-TA_Const \ +-TA_Expr \ +-TA_Indices \ +-TAbsoluteTime \ +-TAcl \ +-TAclId \ +-TAclIdType \ +-TAclItem \ +-TAclMode \ +-TAddAttrStmt \ +-TAddr \ +-TAgg \ +-TAggFuncInfo \ +-TAggInfo \ +-TAggState \ +-TAggreg \ +-TAllocElem \ +-TAllocElemData \ +-TAllocMode \ +-TAllocPointer \ +-TAllocSet \ +-TAllocSetData \ +-TAnyInvalidation \ +-TAppend \ +-TAppendState \ +-TAppendStmt \ +-TArchType \ +-TArchiveMode \ +-TArray \ +-TArrayRef \ +-TArrayType \ +-TAttr \ +-TAttrDefault \ +-TAttrNumber \ +-TAttributeSize \ +-TAttributeTupleForm \ +-TBOX \ +-TBTItem \ +-TBTItemData \ +-TBTMetaPageData \ +-TBTPageOpaque \ +-TBTPageOpaqueData \ +-TBTPageState \ +-TBTPriQueue \ +-TBTPriQueueElem \ +-TBTScanList \ +-TBTScanListData \ +-TBTScanOpaque \ +-TBTScanOpaqueData \ +-TBTSortKey \ +-TBTSpool \ +-TBTStack \ +-TBTStackData \ +-TBTTapeBlock \ +-TBUCKET_INDEX \ +-TBackend \ +-TBackendId \ +-TBackendTag \ +-TBindingEnt \ +-TBitArray \ +-TBitIndex \ +-TBlock \ +-TBlockId \ +-TBlockIdData \ +-TBlockNumber \ +-TBoolPtr \ +-TBucket \ +-TBufFlags \ +-TBuffer \ +-TBufferBlock \ +-TBufferDesc \ +-TBufferHdr \ +-TBufferLock \ +-TBufferTag \ +-TCHUNK_INFO \ +-TCIRCLE \ +-TCInfo \ +-TCPFunction \ +-TCPPFunction \ +-TCandidateList \ +-TCash \ +-TCatCTup \ +-TCatCache \ +-TCatalogInvalidationData \ +-TChangeACLStmt \ +-TChar16 \ +-TChoose \ +-TChromosome \ +-TCity \ +-TClosePortalStmt \ +-TClusterStmt \ +-TCmdType \ +-TColumnDef \ +-TCommandDest \ +-TCommandId \ +-TCommonScanState \ +-TCommonState \ +-TConnStatusType \ +-TConst \ +-TConstrCheck \ +-TConstrType \ +-TConstraintDef \ +-TCopyStmt \ +-TCost \ +-TCreateSeqStmt \ +-TCreateStmt \ +-TCreateTrigStmt \ +-TCreatedbStmt \ +-TCursorStmt \ +-TDateADT \ +-TDateTime \ +-TDatum \ +-TDatumPtr \ +-TDefElem \ +-TDefineStmt \ +-TDeleteStmt \ +-TDestroyStmt \ +-TDestroydbStmt \ +-TDlelem \ +-TDllist \ +-TDropTrigStmt \ +-TDynamicFileList \ +-TELEMENT \ +-TEState \ +-TEdge \ +-TExcContext \ +-TExcData \ +-TExcDetail \ +-TExcFrame \ +-TExcId \ +-TExcMessage \ +-TExcProc \ +-TException \ +-TExecStatus \ +-TExecStatusType \ +-TExistential \ +-TExitStatus \ +-TExplainState \ +-TExplainStmt \ +-TExpr \ +-TExprContext \ +-TExtendStmt \ +-TFILE \ +-TFUNMAP \ +-TFetchStmt \ +-TFile \ +-TFileName \ +-TFixedItem \ +-TFixedItemData \ +-TFixedStack \ +-TFixedStackData \ +-TFjoin \ +-TFmgrCall \ +-TFmgrValues \ +-TFormData_pg_aggregate \ +-TFormData_pg_am \ +-TFormData_pg_amop \ +-TFormData_pg_amproc \ +-TFormData_pg_attrdef \ +-TFormData_pg_attribute \ +-TFormData_pg_class \ +-TFormData_pg_database \ +-TFormData_pg_group \ +-TFormData_pg_index \ +-TFormData_pg_inherits \ +-TFormData_pg_ipl \ +-TFormData_pg_language \ +-TFormData_pg_listener \ +-TFormData_pg_log \ +-TFormData_pg_opclass \ +-TFormData_pg_operator \ +-TFormData_pg_proc \ +-TFormData_pg_relcheck \ +-TFormData_pg_rewrite \ +-TFormData_pg_sequence \ +-TFormData_pg_statistic \ +-TFormData_pg_time \ +-TFormData_pg_trigger \ +-TFormData_pg_user \ +-TFormData_pg_variable \ +-TFormData_pg_version \ +-TForm_pg_aggregate \ +-TForm_pg_am \ +-TForm_pg_amop \ +-TForm_pg_amproc \ +-TForm_pg_attrdef \ +-TForm_pg_class \ +-TForm_pg_database \ +-TForm_pg_group \ +-TForm_pg_ipl \ +-TForm_pg_language \ +-TForm_pg_log \ +-TForm_pg_opclass \ +-TForm_pg_proc \ +-TForm_pg_relcheck \ +-TForm_pg_rewrite \ +-TForm_pg_statistic \ +-TForm_pg_time \ +-TForm_pg_trigger \ +-TForm_pg_user \ +-TForm_pg_variable \ +-TFrontEnd \ +-TFunc \ +-TFuncCall \ +-TFuncIndexInfo \ +-TFuncIndexInfoPtr \ +-TFuncInfo \ +-TFunction \ +-TFunctionCache \ +-TFunctionCachePtr \ +-TGISTENTRY \ +-TGISTPageOpaque \ +-TGISTPageOpaqueData \ +-TGISTSTACK \ +-TGISTSTATE \ +-TGISTScanList \ +-TGISTScanListData \ +-TGISTScanOpaque \ +-TGISTScanOpaqueData \ +-TGIST_SPLITVEC \ +-TGene \ +-TGlobalMemory \ +-TGroup \ +-TGroupBuffer \ +-TGroupClause \ +-TGroupState \ +-THASHACTION \ +-THASHCTL \ +-THHDR \ +-THISTORY_STATE \ +-THIST_ENTRY \ +-THInfo \ +-THTAB \ +-THash \ +-THashBucket \ +-THashBucketData \ +-THashItem \ +-THashItemData \ +-THashJoin \ +-THashJoinState \ +-THashJoinTable \ +-THashMetaPage \ +-THashMetaPageData \ +-THashPageOpaque \ +-THashPageOpaqueData \ +-THashPath \ +-THashScanList \ +-THashScanListData \ +-THashScanOpaque \ +-THashScanOpaqueData \ +-THashState \ +-THashTableData \ +-THashtFunc \ +-THeapAccessStatistics \ +-THeapAccessStatisticsData \ +-THeapMemoryBlock \ +-THeapMemoryBlockData \ +-THeapScanDesc \ +-THeapScanDescData \ +-THeapTuple \ +-THeapTupleData \ +-TINTRANGE \ +-TIPCKey \ +-TIdList \ +-TIdent \ +-TIdxInfoRetval \ +-TIndDesc \ +-TIndInfo \ +-TIndex \ +-TIndexAttributeBitMap \ +-TIndexAttributeBitMapData \ +-TIndexElem \ +-TIndexInfo \ +-TIndexList \ +-TIndexPath \ +-TIndexScan \ +-TIndexScanDesc \ +-TIndexScanDescData \ +-TIndexScanDescPtr \ +-TIndexScanState \ +-TIndexStmt \ +-TIndexStrategy \ +-TIndexStrategyData \ +-TIndexTuple \ +-TIndexTupleData \ +-TIndexTupleForm \ +-TInhInfo \ +-TInhPaths \ +-TInheritsTupleForm \ +-TInsertIndexResult \ +-TInsertIndexResultData \ +-TIntArray \ +-TInt_yy_size_t \ +-TInt_yy_state_type \ +-TInternalTimeQual \ +-TInvalidationEntry \ +-TInvalidationEntryData \ +-TInvalidationMessage \ +-TInvalidationMessageData \ +-TInvalidationUserData \ +-TIpcMemoryId \ +-TIpcMemoryKey \ +-TIpcSemaphoreId \ +-TIpcSemaphoreKey \ +-TItem \ +-TItemId \ +-TItemIdData \ +-TItemIdFlags \ +-TItemLength \ +-TItemOffset \ +-TItemPointer \ +-TItemPointerData \ +-TIter \ +-TJInfo \ +-TJoin \ +-TJoinKey \ +-TJoinMethod \ +-TJoinPath \ +-TJoinState \ +-TJunkFilter \ +-TKEYMAP_ENTRY \ +-TKEYMAP_ENTRY_ARRAY \ +-TKeymap \ +-TLINE \ +-TLOCK \ +-TLOCKCTL \ +-TLOCKT \ +-TLOCKTAB \ +-TLOCKTAG \ +-TLOCK_LEVEL \ +-TLOCK_TYPE \ +-TLRelId \ +-TLSEG \ +-TLargeObjectDesc \ +-TLeftistContext \ +-TLeftistContextData \ +-TLibCCopyLength \ +-TList \ +-TListenStmt \ +-TLoadStmt \ +-TLocalInvalid \ +-TLocationIndex \ +-TLockInfo \ +-TLockInfoData \ +-TLockTableId \ +-TLogRelationContents \ +-TLogRelationContentsData \ +-TLookupEnt \ +-TMASK \ +-TMInfo \ +-TMarkData \ +-TMaterial \ +-TMaterialState \ +-TMdfdVec \ +-TMemoryContext \ +-TMemoryContextMethods \ +-TMergeJoin \ +-TMergeJoinState \ +-TMergeOrder \ +-TMergePath \ +-TMoveStmt \ +-TMsgType \ +-TName \ +-TNameData \ +-TNestLoop \ +-TNestLoopState \ +-TNode \ +-TNodeTag \ +-TNotifyStmt \ +-TOffset \ +-TOffsetNumber \ +-TOid \ +-TOidInt2 \ +-TOidInt2Data \ +-TOidInt4 \ +-TOidInt4Data \ +-TOidName \ +-TOidNameData \ +-TOpType \ +-TOpaque \ +-TOpaqueData \ +-TOper \ +-TOperator \ +-TOperatorTupleForm \ +-TOprInfo \ +-TOrderKey \ +-TOrderType \ +-TOrderedElem \ +-TOrderedElemData \ +-TOrderedSet \ +-TOrderedSetData \ +-TOverflowPageAddress \ +-TOverflowTuple \ +-TOverflowTupleData \ +-TPATH \ +-TPGconn \ +-TPGlobjfuncs \ +-TPGnotify \ +-TPGresAttDesc \ +-TPGresAttValue \ +-TPGresult \ +-TPOLYGON \ +-TPQArgBlock \ +-TPQNotifyList \ +-TPQconninfoOption \ +-TPQprintOpt \ +-TPROC \ +-TPROC_HDR \ +-TPROC_QUEUE \ +-TPacketBuf \ +-TPacketLen \ +-TPage \ +-TPageHeader \ +-TPageHeaderData \ +-TPageManagerMode \ +-TPageOffset \ +-TParam \ +-TParamListInfo \ +-TParamListInfoData \ +-TParamNo \ +-TParamString \ +-TParseState \ +-TPath \ +-TPathOrder \ +-TPlan \ +-TPoint \ +-TPointer \ +-TPool \ +-TPort \ +-TPortal \ +-TPortalBlock \ +-TPortalBlockData \ +-TPortalBuffer \ +-TPortalD \ +-TPortalEntry \ +-TPortalHashEnt \ +-TPortalHeapMemory \ +-TPortalMemoryContext \ +-TPortalVariableMemory \ +-TPredInfo \ +-TPrivateMem \ +-TProcState \ +-TProcedureStmt \ +-TProcessingMode \ +-TProjectionInfo \ +-TPsortstate \ +-TPsqlSettings \ +-TPurgeStmt \ +-TQuery \ +-TQueryDesc \ +-TQueryTreeList \ +-TREAD_ROUTINE \ +-TRTSTACK \ +-TRTSTATE \ +-TRTScanList \ +-TRTScanListData \ +-TRTreePageOpaque \ +-TRTreePageOpaqueData \ +-TRTreeScanOpaque \ +-TRTreeScanOpaqueData \ +-TRangeTblEntry \ +-TRangeVar \ +-TRecipeStmt \ +-TRegProcedure \ +-TRel \ +-TRelExpr \ +-TRelIdCacheEnt \ +-TRelNameCacheEnt \ +-TRelation \ +-TRelationBuildDescInfo \ +-TRelationData \ +-TRelationInfo \ +-TRelationInvalidationData \ +-TRelationList \ +-TRelationPtr \ +-TRelativeAddr \ +-TRelativeTime \ +-TRelid \ +-TRemoveAggrStmt \ +-TRemoveFuncStmt \ +-TRemoveOperStmt \ +-TRemoveStmt \ +-TRenameStmt \ +-TReplaceStmt \ +-TResTarget \ +-TResdom \ +-TResult \ +-TResultState \ +-TRetrieveIndexResult \ +-TRetrieveIndexResultData \ +-TRetrieveStmt \ +-TRewriteInfo \ +-TRewriteRule \ +-TRuleLock \ +-TRuleStmt \ +-TSEGMENT \ +-TSEG_OFFSET \ +-TSEMA \ +-TSHMEM_OFFSET \ +-TSHM_QUEUE \ +-TSISeg \ +-TSISegEntry \ +-TSISegOffsets \ +-TSLock \ +-TSPINLOCK \ +-TSPITupleTable \ +-TSPLITVEC \ +-TScan \ +-TScanDirection \ +-TScanFunc \ +-TScanKey \ +-TScanKeyData \ +-TScanKeyword \ +-TSeqScan \ +-TSeqTable \ +-TSeqTableData \ +-TSequenceTupleForm \ +-TSharedInvalid \ +-TSharedInvalidData \ +-TSize \ +-TSort \ +-TSortClause \ +-TSortGroupBy \ +-TSortState \ +-TSplitNumber \ +-TStartupInfo \ +-TStrategyEvaluation \ +-TStrategyEvaluationData \ +-TStrategyExpression \ +-TStrategyExpressionData \ +-TStrategyMap \ +-TStrategyMapData \ +-TStrategyNumber \ +-TStrategyOperator \ +-TStrategyOperatorData \ +-TStrategyTerm \ +-TStrategyTermData \ +-TStrategyTransformMap \ +-TStrategyTransformMapData \ +-TStream \ +-TStreamPtr \ +-TStringInfo \ +-TStringInfoData \ +-TSubSelect \ +-TSuperQE \ +-TSystemPortAddress \ +-TTUPLE \ +-TTXTRANGE \ +-TTableID \ +-TTableInfo \ +-TTargetEntry \ +-TTee \ +-TTeeState \ +-TTemp \ +-TTempRelList \ +-TTimeADT \ +-TTimeInterval \ +-TTimeIntervalData \ +-TTimeQual \ +-TTimeQualData \ +-TTimeQualMode \ +-TTimeQualSpace \ +-TTimeRange \ +-TTimeRelationContents \ +-TTimeRelationContentsData \ +-TTimeSpan \ +-TTransactionId \ +-TTransactionState \ +-TTransactionStateData \ +-TTransactionStmt \ +-TTrigger \ +-TTriggerData \ +-TTriggerDesc \ +-TTriggerEvent \ +-TTupleBlock \ +-TTupleConstr \ +-TTupleDesc \ +-TTupleTable \ +-TTupleTableData \ +-TTupleTableSlot \ +-TType \ +-TTypeBlock \ +-TTypeInfo \ +-TTypeName \ +-TTypeTupleForm \ +-TTypeTupleFormData \ +-TUNDO_LIST \ +-TUnionFlag \ +-TUnique \ +-TUniqueState \ +-TVAttList \ +-TVAttListData \ +-TVFunction \ +-TVPageDescr \ +-TVPageDescrData \ +-TVPageList \ +-TVPageListData \ +-TVRelList \ +-TVRelListData \ +-TVRelStats \ +-TVacAttrStats \ +-TVacuumStmt \ +-TValue \ +-TVar \ +-TVariableRelationContents \ +-TVariableRelationContentsData \ +-TVariableResetStmt \ +-TVariableSetStmt \ +-TVariableShowStmt \ +-TVersionStmt \ +-TVersionTupleForm \ +-TVfd \ +-TViewStmt \ +-TXIDLookupEnt \ +-TXIDTAG \ +-TXidStatus \ +-TYYSTYPE \ +-TYY_BUFFER_STATE \ +-TYY_CHAR \ +-T_LockId_ \ +-T_RuneEntry \ +-T_RuneLocale \ +-T_RuneRange \ +-T_SPI_connection \ +-T_SPI_plan \ +-Taclitem \ +-Tbits16 \ +-Tbits32 \ +-Tbits8 \ +-Tbool \ +-Tbool16 \ +-Tbool32 \ +-Tbool8 \ +-Tbytea \ +-Tcaddr_t \ +-Tcat_t \ +-Tcc_t \ +-Tchar \ +-Tchar16 \ +-Tchar8 \ +-TcharPP \ +-Tclock_t \ +-Tclockid_t \ +-Tcset \ +-Tdaddr_t \ +-Tdatetkn \ +-Tdev_t \ +-Tdhalloc_ptr \ +-Tdiv_t \ +-Tdouble \ +-Texecution_state \ +-Tf_smgr \ +-Tfd_mask \ +-Tfd_set \ +-Tfixpt_t \ +-Tfloat \ +-Tfloat32 \ +-Tfloat32data \ +-Tfloat4 \ +-Tfloat64 \ +-Tfloat64data \ +-Tfloat8 \ +-Tfpos_t \ +-Tfunc_ptr \ +-Tgid_t \ +-Thashnode \ +-Tino_t \ +-Tint \ +-Tint16 \ +-Tint16_t \ +-Tint16m_t \ +-Tint2 \ +-Tint28 \ +-Tint32 \ +-Tint32_t \ +-Tint32m_t \ +-Tint4 \ +-Tint64_t \ +-Tint64m_t \ +-Tint8 \ +-Tint8_t \ +-Tint8m_t \ +-TintP \ +-Tjmp_buf \ +-Tkey_t \ +-Tldiv_t \ +-Tmode_t \ +-Tnlink_t \ +-Toff_t \ +-Toid8 \ +-Tpg_pwd \ +-Tpid_t \ +-Tpqbool \ +-Tpqsigfunc \ +-Tptrdiff_t \ +-Tqaddr_t \ +-Tquad_t \ +-Tregex_t \ +-Tregister_t \ +-Tregmatch_t \ +-Tregoff_t \ +-Tregproc \ +-Trune_t \ +-Tsegsz_t \ +-Tsequence_magic \ +-Tsig_atomic_t \ +-Tsig_func \ +-Tsig_t \ +-Tsigjmp_buf \ +-Tsigset_t \ +-Tsize_t \ +-Tslock_t \ +-Tsmgrid \ +-Tsop \ +-Tsopno \ +-Tspeed_t \ +-Tssize_t \ +-Tswblk_t \ +-Ttcflag_t \ +-Ttcp_seq \ +-Ttext \ +-Ttime_t \ +-Tu_char \ +-Tu_int \ +-Tu_int16_t \ +-Tu_int16m_t \ +-Tu_int32_t \ +-Tu_int32m_t \ +-Tu_int64_t \ +-Tu_int64m_t \ +-Tu_int8_t \ +-Tu_int8m_t \ +-Tu_long \ +-Tu_quad_t \ +-Tu_short \ +-Tuch \ +-Tuid_t \ +-Tuint \ +-Tuint16 \ +-Tuint32 \ +-Tuint8 \ +-Tushort \ +-Tva_list \ +-Tvm_offset_t \ +-Tvm_size_t \ +-Tvoid \ +-Twchar_t \ +-Tword16 \ +-Tword32 \ +-Tword8 \ +-Tyy_size_t \ +-Tyy_state_type \ +/tmp/$$a >/tmp/$$ 2>&1 + if [ "$?" -ne 0 -o -s /tmp/$$ ] + then echo "$FILE" + cat /tmp/$$ + fi + cat /tmp/$$a | + sed 's;^/\*\(DATA(.*\)\*/$;\1;' | + sed 's;/\*---X_X;/* ---;g' | + sed 's;^static[ ][ ]*;static ;g' | # workaround indent bug + detab -t8 -qc | + entab -t4 -qc >/tmp/$$ && cat /tmp/$$ >$FILE +done + +# The 'for' loop makes these backup files useless +# so delete them +rm -f *a.BAK -- cgit v1.2.3