ChangeLog-2013 419 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398
  1. 2013-12-08 James Youngman <jay@gnu.org>
  2. Bug #35753: check the success/failure of material I/O operations.
  3. * lib/listfile.c (list_file): Check the result of fprintf to
  4. determine if there was an I/O error on output. Return false (bool
  5. instead of void) if so.
  6. (print_name_without_quoting): Likewise.
  7. (print_name_with_quoting): Likewise.
  8. (print_name): Propagate the result of print_name_without_quoting
  9. or print_name_with_quoting (and make all three functions return bool).
  10. * find/pred.c (is_ok): Check the result of fprintf to
  11. determine if there was an I/O error on output. Exit fatally if
  12. there was a problem (since we cannot expect the user to say "yes"
  13. or "no" to a prompt they will not have seen).
  14. * xargs/xargs.c (print_args): Check the result of fprintf and
  15. fflush to determine if there was an I/O error on output. Exit
  16. fatally for the same reason as above if there is a problem.
  17. * NEWS: Mention this bugfix (now that it is fully fixed).
  18. Fix some signed/unsigned problems.
  19. * find/util.c (show_valid_debug_options): change type of array
  20. subscript to size_t to avoid signed/unsigned problems.
  21. (set_stat_placeholders): Silence unuseful compiler warning about
  22. unused parameter.
  23. * find/ftsfind.c (show_outstanding_execdirs): change type of array
  24. subscript to size_t to avoid signed/unsizned problems.
  25. Fix format specifier in safe_read error message.
  26. * xargs/xargs.c (xargs_do_exec): print size_t values with %zu, not
  27. %d (since size_t is not and never can be the same type as int).
  28. Bug #35753: detect failure of the atexit library function.
  29. * find/find.c (main): Issue a fatal error message if atexit fails.
  30. * xargs/xargs.c (main): Likewise.
  31. * find/ftsfind.c (main): Likewise.
  32. * locate/code.c (main): Likewise.
  33. * locate/frcode.c (main): Likewise.
  34. * locate/locate.c (dolocate): Likewise.
  35. * locate/bigram.c (main): Likewise; also include <errno.h>.
  36. 2013-10-27 James Youngman <jay@gnu.org>
  37. * THANKS: Add Eric S. Raymond.
  38. 2013-10-27 Eric S. Raymond <esr@thyrsus.com>
  39. Add bracket missing from synopsis in locate manpage.
  40. * locate/locate.1 (SYNOPSIS): Add missing bracket.
  41. 2013-10-26 James Youngman <jay@gnu.org>
  42. Clearly explain the result of -exec/-execdir ... +
  43. * doc/find.texi (Single File): Explain that "-exec command ;"
  44. returns true of the command exited with a status of 0.
  45. (Multiple Files): Explain that "-execdir command +" always returns
  46. true. Likewise for "-exec command +".
  47. * find/find.1: similar changes.
  48. 2013-09-24 James Youngman <jay@gnu.org>
  49. Fix bug #40094: minor inconsistencies in xargs option descriptions.
  50. * xargs/xargs.1: Update the description of -e option to emphasize
  51. that the argument must follow the option letter immediately (in
  52. other words, that it may not appear in the next program argument).
  53. Likewise for the the -i and -l (lower-case L) options.
  54. * xargs/xargs.c (usage): Minor consistency improvements to help
  55. text.
  56. Update Vietnamese, Czech and Dutch translations.
  57. * po/nl.po: Update Dutch translation.
  58. * po/cs.po: Update Czech translation.
  59. * po/vi.po: Update Vietnamese translation.
  60. 2013-09-23 James Youngman <jay@gnu.org>
  61. Fix bug #39162: -printf reads beyond arguments terminated by \
  62. * find/print.c (insert_fprintf): If a \ is found at the end of a
  63. format string, issue a warning (and render it as-is).
  64. * NEWS: Mention this bugfix.
  65. Update version number to 4.5.13-git.
  66. * configure.ac: Update version number to 4.5.13-git.
  67. * NEWS: Likewise.
  68. Updated Estonian, Polish, Ukrainian translations.
  69. * po/et.po: Updated the Estonian translation from the Translation
  70. Project.
  71. * po/pl.po: Updated the Polish translation.
  72. * po/uk.po: Updated the Ukrainian translation.
  73. * NEWS: Mention these updates.
  74. 2013-09-22 James Youngman <jay@gnu.org>
  75. Release findutils-4.5.12.
  76. * configure.ac (AC_INIT): Change version number to 4.5.12.
  77. * NEWS: Change version number of most recent release to 4.5.12.
  78. Issue an error message when fts_read fails. Fixes bug #39324.
  79. * find/ftsfind.c (find): when fts_read fails, issue an error
  80. message, set the exit status to zero and stop. Previously the
  81. program would just stop (i.e. it failed to distinguish "done" from
  82. "failed").
  83. * find/find.1 (-exec): explain that on failure, some pending
  84. command launches may not happen. The Texinfo documentation
  85. already pointed this out, so that didn't need to be changed.
  86. * NEWS: Mention this bugfix.
  87. Add a bug number for bug #40088.
  88. * NEWS: Add a bug number for bug #40088: potential buffer overflow
  89. in -execdir and -okdir. Re-order the bugs listed to be
  90. decreasing numerically by ID.
  91. 2013-09-21 James Youngman <jay@gnu.org>
  92. find: state that -execdir command is run locally to the matched file.
  93. * doc/find.texi (Single File): Correct the description of what the
  94. current directory will be when the command specified by -execdir
  95. gets run. This fixes a documentation but reported by Eric
  96. Hanchrow.
  97. * NEWS: Mention this fix.
  98. 2013-09-21 Bernhard Voelker <mail@bernhard-voelker.de>
  99. xargs: wait for process before prompting in interactive mode (-p)
  100. * xargs/xargs.c (xargs_do_exec): Move the code for waiting for
  101. forked processes up, so that the child process terminates before
  102. we prompt for the next command.
  103. * NEWS: Mention the fix.
  104. 2013-09-21 Dmitry V. Levin <ldv@altlinux.org>
  105. find: fix potential buffer overflow in -execdir and -okdir.
  106. * lib/buildcmd.c (bc_push_arg): Take prefix length into account
  107. to avoid state->argbuf overflow.
  108. * NEWS: Mention this fix.
  109. 2013-09-21 James Youngman <jay@gnu.org>
  110. Make sv-34976-execdir-fd-leak.sh test more POSIX-compliant.
  111. * find/testsuite/sv-34976-execdir-fd-leak.sh: Avoid using seq;
  112. instead, use pre-generated lists of test file names. Also avoid
  113. using file descriptors 0, 1, 2 in the test.
  114. Fix typo "sturct".
  115. * find/exec.c (impl_pred_exec): Typo fix: struct/struct.
  116. * ChangeLog (2007-03-28): Likewise.
  117. 2013-09-20 Bernhard Voelker <mail@bernhard-voelker.de>
  118. find: fix fd leak with --execdir option (bug#34976)
  119. * find/exec.c (impl_pred_exec): Free the working directory if find
  120. executes the command in the local dir, i.e. if it has been saved
  121. by record_exec_dir(). Re-indent code.
  122. * find/testsuite/sv-34976-execdir-fd-leak.sh: Add test.
  123. * find/testsuite/Makefile.am (test_shell_progs): Mention the test.
  124. * NEWS: Mention the fix.
  125. 2013-09-20 James Youngman <jay@gnu.org>
  126. Updated Greek translation.
  127. * po/el.po: Updated Greek translation from the Translation
  128. Project.
  129. 2013-09-20 Bernhard Voelker <mail@bernhard-voelker.de>
  130. xargs: Fix integer overflow in implicit conversion in do_exec.
  131. * xargs/xargs.c (xargs_do_exec): Change type of r from int to
  132. size_t, since that is the type that safe_read actually returns.
  133. 2013-09-20 James Youngman <jay@gnu.org>
  134. Add Bernhard Voelker to AUTHORS.
  135. * AUTHORS: Add Bernhard Voelker.
  136. * configure.ac: Check for prefixed versions of ranlib, too.
  137. 2013-09-20 Benedikt Morbach <benedikt.morbach@googlemail.com> (tiny change)
  138. Check for both prefixed and unprefixed versions of "ar".
  139. * configure.ac: Look for '${host}-ar' as set by AC_CANONICAL_HOST
  140. before looking for the unprefixed 'ar'. This is useful when
  141. cross-compiling when all your binutils are prefixed.
  142. 2013-09-20 James Youngman <jay@gnu.org>
  143. Fix compilation error where struct dirent lacks a d_ino member.
  144. * find/find.c (NOT_AN_INODE_NUMBER): Add missing identifier which
  145. (when missing) caused a compilation error on system where struct
  146. dirent lacks a d_ino member.
  147. Be consistent about what we call the places the search starts.
  148. * find/find.1: Consistently describe the paths at which the search
  149. begins as "satrting points".
  150. Refer to the info manual in a clearer and more explicit way.
  151. * find/find.1 (SEE ALSO): Explain how to invoke info to read the
  152. Texinfo manual.
  153. * locate/locate.1 (SEE ALSO): Likewise.
  154. * locate/updatedb.1 (SEE ALSO): Likewise.
  155. * xargs/xargs.1 (SEE ALSO): Likewise.
  156. 2013-06-02 James Youngman <jay@gnu.org>
  157. Add unlinkat moduile.
  158. * import-gnulib.config (modules): Add unlinkat module, following
  159. bug report from Martin von Gagern.
  160. 2013-04-22 Paul Eggert <eggert@cs.ucla.edu>
  161. More removal of support for -perm +MODE.
  162. * find/parser.c (parse_perm): Remove no-longer-needed local var
  163. and associated code. Reported by Eric Blake in
  164. <https://savannah.gnu.org/bugs/?38474#comment9>.
  165. 2013-04-21 Paul Eggert <eggert@cs.ucla.edu>
  166. Remove support for obsolete -perm +MODE syntax.
  167. Also, do not reject -perm /MODE merely because of POSIXLY_CORRECT.
  168. Problem reported in <https://savannah.gnu.org/bugs/?38474>.
  169. * NEWS:
  170. * doc/find.texi (Mode Bits): Document this.
  171. (Environment Variables): POSIXLY_CORRECT does not affect -perm.
  172. * find/parser.c (parse_help): Mention /MODE, not +MODE.
  173. (non_posix_mode): Remove.
  174. (parse_perm): Remove support for -perm +MODE.
  175. Do not reject -perm /MODE merely because POSIXLY_CORRECT is set;
  176. POSIXLY_CORRECT is not supposed to be for pedantic checking.
  177. * find/find.1 (-perm): describe this change.
  178. (HISTORY): update the existing statement about the deprecation of
  179. +MODE to explain that support has now been removed.
  180. 2013-04-22 James Youngman <jay@gnu.org>
  181. Fix documentation typo.
  182. * doc/find.texi (Mode Bits): Fix typo "it set" -> "is set".
  183. 2013-04-20 Paul Eggert <eggert@cs.ucla.edu>
  184. doc: fix typos uncovered by texinfo 5.0
  185. * doc/find-maint.texi: Fix typos that cause 'make' to fail
  186. if texinfo 5.0 is installed.
  187. 2013-04-22 James Youngman <jay@gnu.org>
  188. Enable assertions in locate.
  189. * locate/locate.c: Don't #define NDEBUG.
  190. 2013-04-21 James Youngman <jay@gnu.org>
  191. * find/find.1 (-size): explain the rounding-up semantics more
  192. clearly.
  193. Add example for find -printf.
  194. * doc/find.texi (Print File Information): Add an example for "find
  195. -printf" suggested by Karl Berry.
  196. 2011-12-31 Karl Berry <karl@gnu.org>
  197. Further documentation improvements.
  198. * doc/find.texi: use @code for environment variable names, and
  199. other improvements.
  200. 2009-08-03 Peter Breitenlohner <peb@mppmu.mpg.de>
  201. * locate/locate.c: Simplify handling of slocate databases.
  202. Fix the bug assuming second path extends the first one.
  203. * locate/testsuite/locate.gnu/slocate.{exp,xo}: New testcase
  204. for slocate databse, exposing this bug.
  205. * locate/testsuite/Makefile.am: Add new test case.
  206. 2009-08-03 Peter Breitenlohner <peb@mppmu.mpg.de>
  207. * locate/locate.c: Enable assertions and fix the off-by-one
  208. bugs that prevented this.
  209. 2009-08-03 Peter Breitenlohner <peb@mppmu.mpg.de>
  210. * doc/find.texi: Remove duplicate paragraph and fix a typo.
  211. 2013-03-31 James Youngman <jay@gnu.org>
  212. Don't use reserved identifiers in macro names; fix other code smells.
  213. * build-aux/src-sniff.py (checkers): Check for #define directives
  214. which use a macro name which is reserved.
  215. (MakefileRegexChecker): New class which performs regex checks on
  216. makefiles; this ensures that we don't check Makefile.in if we're
  217. going to check Makefile.am anyway.
  218. * lib/unused-result.h: Don't use a reserved identifier in the
  219. macro name defined as the #include guard.
  220. * locate/locatedb.h: Likewise.
  221. * Makefile.am (findutils-check-smells): Don't check gnulib code.
  222. * import-gnulib.sh (hack_gnulib_tool_output): Move the 'do' of a
  223. for loop onto the line following the 'for' (instead of the same
  224. line).
  225. 2013-03-29 James Youngman <jay@gnu.org>
  226. Document that -0/-d turns off logical end-of-file processing.
  227. * doc/find.texi (xargs options): Explain that the logical end of
  228. file marker string set with -E is not special if -d or -0 was
  229. specified.
  230. * xargs/xargs.c (usage): Mention this in the --help output.
  231. (read_string): Correct the function header comment to point out
  232. that there is no logical end-of-file processing for this case.
  233. Also point out that the delimiter may not always be NUL.
  234. This documentation update fixes Savannah bug #36652.
  235. (main): Emit a warning message if -0/-d is specified and -E was
  236. also used.
  237. * xargs/testsuite/xargs.gnu/E_-0.exp: Don't compare stderr output,
  238. since for this case xargs now emits a warning message.
  239. * NEWS: Mention this change.
  240. 2013-03-29 James Youngman <jay@gnu.org>
  241. Updated the Galician translation.
  242. * gl.po: Updated Galician translation.
  243. 2013-03-26 James Youngman <jay@gnu.org>
  244. Updated a number of translations.
  245. * cs.po: Updated Czech translation.
  246. * et.po: Updated Estonian translation.
  247. * fi.po: Updated Finnish translation.
  248. * fr.po: Updated French translation.
  249. * nl.po: Updated Dutch translation.
  250. * pl.po: Updated Polish translation.
  251. * ru.po: Updated Russian translation.
  252. * uk.po: Updated Ukrainian translation.
  253. * vi.po: Updated Vietnamese translation.
  254. * zh_CN.po: Updated Chinese (simplified) translation.
  255. 2013-03-26 Kamil Dudka <kdudka@redhat.com>
  256. Fix compile-time warnings.
  257. * find/defs.h (struct predicate): Add a missing const modifier.
  258. * find/find.c (wd_sanity_check): Suppress a warning in #else branch.
  259. (process_dir): Remove an unused variables and statements.
  260. * find/pred.c (pred_context): Use const modifier in the prototype.
  261. * lib/buildcmd.{c,h} (bc_args_exceed_testing_limit): Remove a const
  262. modifier causing unnecessary warnings.
  263. * xargs/xargs.c (main): Add explicit type-casts.
  264. 2013-03-24 James Youngman <jay@gnu.org>
  265. Expand on warning about xargs -P and stdout, including in Info.
  266. * xargs/xargs.1: Expand on the warning about sharing stdout for
  267. "xargs -P".
  268. * doc/find.texi (Controlling Parallelism): Add a suitable warning
  269. about sharing resources here, too.
  270. * NEWS: Mention that all relevant documentation was updated with
  271. this warning.
  272. 2013-03-24 Bernhard Voelker <mail@bernhard-voelker.de>
  273. Improve error message for find -type X (X = an unknown file type).
  274. * find/parser.c (insert_type): Give a more comprehensible error
  275. message when the type letter following -type or -xtype corresponds
  276. to a type of file which was unknown on the system which compiled
  277. the find binary.
  278. * NEWS: Mention this improvement.
  279. xargs: split usage text to help translators, and clarify it.
  280. * xargs/xargs.c (usage): Define HTL macro to print one help text
  281. line (or entry). Split the option descriptions up by using the
  282. above macro. Refine the messages to adapt to the common way:
  283. change the start of each option's description to lower case, do
  284. not use periods at the end, use semicolons where needed, indent
  285. secondary lines, several other minor improvements.
  286. * NEWS: Mention this improvement.
  287. * xargs/xargs.1: Add note for -P suggesting the use of a locking
  288. system to avoid corrupted stdout.
  289. 2013-03-24 James Youngman <jay@gnu.org>
  290. Fix Savannah bug #38583: errno-buffer read failed in xargs_do_exec
  291. * import-gnulib.config (modules): Import the safe-read module.
  292. * xargs/xargs.c (xargs_do_exec): Use safe_read so that the read
  293. system-call is retried if we handle a signal (for example
  294. SIGUSR[12]) while we are trying to read the errno vlaue from the
  295. child process.
  296. Fix misleading message from import-gnulib.sh; allow .git symlink.
  297. * import-gnulib.sh (check_old_gnulib_dir_layout): Really apply the
  298. bugfix by Kamil Dudka which eliminates a misleading message of
  299. import-gnulib.sh on a fresh repository obtained by 'git clone
  300. --recursive', by requiring gnulib/.git to exist but not requiring
  301. it to be a directory.
  302. Bugfix to "make clean": do not delete header files.
  303. * lib/Makefile.am (coverage-clean): Remove output files left
  304. behind by gcc -fprofile-arcs -ftest-coverage by using $(RM) with a
  305. glob pattern rather than a $(libfindtools_a_SOURCES.c=.gcno)
  306. Makefile substitution, because the latter caused us to delete
  307. header files entirely (their names do not end in .c). This had
  308. meant that it was impossible to compile findutils after "make
  309. clean". Bug report by David Gilbert.
  310. * find/Makefile.am (coverage-clean): Likewise.
  311. * xargs/Makefile.am (coverage-clean): Likewise.
  312. * locate/Makefile.am (coverage-clean): Likewise.
  313. * Makefile.am (coverage-clean): Likewise, but also do this in the
  314. subdirectories whose Makefile.am files are generated by
  315. gnulib-tool.
  316. Move on from 4.5.11, to 4.5.12-git
  317. * NEWS: Add a new section for 4.5.12-git. Mention the bugfix to
  318. find/testsuite/sv-bug-32043.sh.
  319. * configure.ac: Update the version number.
  320. Fix Bash-ism [[ ... ]].
  321. * find/testsuite/sv-bug-32043.sh: Change [[ ... ]] to [ ... ]
  322. because the first pattern is a Bash-ism. Bug reported by David
  323. Gilbert.
  324. 2013-02-03 Kamil Dudka <kdudka@redhat.com>
  325. Avoid using 'INCLUDES =' in automake templates.
  326. * find/Makefile.am: Use AM_CPPFLAGS instead of deprecated INCLUDES.
  327. * lib/Makefile.am: Likewise.
  328. * locate/Makefile.am: Likewise.
  329. * xargs/Makefile.am: Likewise.
  330. Eliminate a misleading message of import-gnulib.sh on a fresh
  331. repository obtained by 'git clone --recursive'.
  332. * import-gnulib.sh (check_old_gnulib_dir_layout): Do not require
  333. ./gnulib/.git to be a directory.
  334. 2013-02-03 James Youngman <jay@gnu.org>
  335. Fix Savannah bug #38239, missing variable initialisation in locate
  336. * locate/locate.c (cleanup_quote_opts): New atexit function, frees
  337. quote_opts which otherwise would leak.
  338. (dolocate): Eliminate the redundant boolean variable
  339. they_chose_db, whose true/false-ness followed the not-NULL-ness of
  340. locate_path. Rename locate_path to user_selected_locate_path to
  341. make this explicit.
  342. (dolocate): When we get to the bottom of the loop, don't try to
  343. check for a further element in user_selected_locate_path if it is
  344. NULL (that is, $LOCATE_PATH was unset and the -d option was not
  345. used).
  346. * po/findutils.pot: Updated template file from the Translation
  347. Project
  348. 2013-02-02 James Youngman <jay@gnu.org>
  349. Release findutils-4.5.11.
  350. * NEWS: update version number from 4.5.11-git to 4.5.11.
  351. * configure.ac (AC_INIT): Likewise.
  352. Reduce needless calls to complete_pending_execdirs.
  353. * find/exec.c (impl_pred_exec): Once pushing an argument for
  354. -exec{,dir} ... +, Only set state.execdirs_outstanding if
  355. there were previously no todo items on ths command line.
  356. This avoids spurious calls to complete_pending_execdirs().
  357. 2012-12-19 James Youngman <jay@gnu.org>
  358. Make the manual section ordering and menu item ordering consistent.
  359. * doc/find.texi (Top): Re-order menu items to be consistent with
  360. ordering of sections ('Reference' is moved).
  361. (Print File Information): Add missing menu item 'Formatting Flags'
  362. and remove that menu item from inside 'Format Directives'.
  363. (Formatting Flags): Hence this is a subsection, not a
  364. subsubsection.
  365. 2012-12-15 Stefano Lattarini <stefano.lattarini@gmail.com> (trivial change)
  366. build: remove redundant AC_SUBST of var INCLUDES
  367. * configure.ac: don't call AC_SUBST(INCLUDES).
  368. 2012-12-15 Bernhard Voelker <mail@bernhard-voelker.de> (trivial change)
  369. * locate/updatedb.sh (PRUNEFS): Avoid 9P, cifs and nfs4
  370. filesystems by default.
  371. 2012-12-15 James Youngman <jay@gnu.org>
  372. Tweak updatedb.sh to make diffs easier to read.
  373. * locate/updatedb.sh (PRUNEFS): List the default items in
  374. alphabetical order to make diffs easier to read.
  375. (PRUNEPATHS): likewise.
  376. Re-generate doc/regexprops.texi.
  377. * doc/regexprops.texi: re-generate to describe the changes to
  378. gnulib for the regular expression types "awk" (to add character
  379. class support), "gnu-awk" (to add range support) and "posix-awk"
  380. (also to add range suport).
  381. * NEWS: Describe this change.
  382. 2012-11-17 Dmitry V. Levin <ldv@altlinux.org>
  383. find: use FTS_VERBATIM
  384. * gnulib: update to latest, to get FTS_VERBATIM support.
  385. * find/ftsfind.c (ftsoptions): Set the FTS_VERBATIM bit. This
  386. Patch was contributed on 2012-11-18, but was applied with the
  387. above regexprops change)
  388. 2012-12-14 James Youngman <jay@gnu.org>
  389. Fix bug #37926 (wrong result for oldfind -inum)
  390. * find/find.c (D_INO): Define D_INO as a convenience accessor for
  391. the inode number in struct dirent; use 0 if there is no d_ino
  392. member in struct dirent.
  393. (main): Pass the inode number of the top-level directory to
  394. process_top_path.
  395. (at_top): Add argument inum, the inode number of the file we are
  396. looking at. Pass this to the action function.
  397. (do_process_top_dir): Pass the inode number to process_path.
  398. (do_process_predicate): Take (but ignore) the inode number
  399. argument.
  400. (process_path): Add argument inum, the inode number of the file we are
  401. looking at. Populate statbuf.st_ino with this value. This avoids
  402. a stat call in pred_inum if the stat information would not
  403. otherwise be used.
  404. (process_dir): Pass the inode number to process_path.
  405. * import-gnulib.config (modules): Add d-ino.
  406. * NEWS: Mention this bugfix.
  407. 2012-11-17 James Youngman <jay@gnu.org>
  408. Update the Vietnamese, Ukranian and Croatian translations.
  409. * po/vi.po, po/uk.po, po/hr.po: Update the translation files from
  410. the translation project.
  411. 2012-09-18 Jim Meyering <meyering@redhat.com>
  412. find: fix two time-formatting leaks (bug #37356)
  413. * find/print.c (do_time_format): Call xmalloc for static "buf" only
  414. the first time.
  415. When reallocating buf, be sure to update its buf_size.
  416. Also free "altbuf".
  417. Reported by Nemo Maelstrom Thorx in http://bugs.debian.org/687358
  418. via Andreas Metzler in https://savannah.gnu.org/bugs/?37356
  419. find: minor tweaks
  420. * find/print.c (do_time_format): Use memcpy in place of sprintf.
  421. When calling x2nrealloc, use "sizeof *buf" as the element size,
  422. rather than "2u".
  423. build: avoid import-gnulib.sh failure
  424. * import-gnulib.config (extra_files): Remove build-aux/missing,
  425. since that file has been removed from gnulib.
  426. build: stop using now-obsolete macro, AM_C_PROTOTYPES
  427. * configure.ac: Don't use obsolete AM_C_PROTOTYPES.
  428. 2011-12-30 Karl Berry <karl@gnu.org>
  429. Documentation improvements (UK spelling, use of @code).
  430. * find.texi (@copying): add 2011, period outside quotes.
  431. (thoughout): use UK spelling and " -- " convention.
  432. (section names): use @code where needed.
  433. 2011-09-11 Jim Meyering <meyering@redhat.com>
  434. Fix a typo in find.texi.
  435. * doc/find.texi (Error Messages From find): Fix typo s/an/a/.
  436. 2011-08-20 James Youngman <jay@gnu.org>
  437. Describe recent memory savings on very large directories.
  438. * NEWS: Describe the recent changes which reduce the amount of
  439. heap memory used in processing directories containing very many
  440. entries.
  441. Remove no-longer-used files savedir.[ch].
  442. * lib/savedirinfo.c: delete unused file.
  443. * lib/savedirinfo.h: delete unused file.
  444. * lib/Makefile.am (libfind_a_SOURCES): Remove savedirinfo.c.
  445. (EXTRA_DIST): Remove savedirinfo.h.
  446. Reduce memory consumption of oldfind on large directories.
  447. * find/find.c (process_dir): Reduce memory consumption for large
  448. directories. Don't save the whole directory content with
  449. xsavedir, instead just loop over the results of readdir. This
  450. means that oldfind will consume one file descriptor per directory
  451. level.
  452. * find/testsuite/sv-34079.sh: verify that the memory consumption
  453. of oldfind is reasonable on large directories.
  454. Reduce memory consumption of fts.
  455. * gnulib: update to latest, mainly to include a bugfix (gnulib
  456. commit 47cb657eca1abf2c26c32c8ce03def994a3ee37c) which limits the
  457. memory consumed by fts.
  458. * find/testsuite/sv-34079.sh: New test, verifying that memory
  459. consumption in ftsfind does not grow indefinitely as the size of
  460. directories increases.
  461. * find/testsuite/Makefile.am (test_shell_progs): Added sv-34079.sh.
  462. 2011-06-29 James Youngman <jay@gnu.org>
  463. Fix some constness warnings when dealing with -printf formats.
  464. * find/parser.c (collect_arg_nonconst): Rename collect_arg to
  465. collect_arg_nonconst and change the collected argument from const
  466. char* to char*.
  467. (collect_arg): Call collect_arg_nonconst to do the real work.
  468. (parse_printf): Call collect_arg_nonconst instead of collect_arg.
  469. Change `format' from const char* to char*.
  470. (parse_fprintf): Likewise.
  471. * find/print.h: Change 'format' from const char* to char*, since
  472. actually we edit it in place.
  473. * find/print.c (parse_octal_escape): Instead of updating a const
  474. char* pointer to indicate how many characters from the input we
  475. consumed, update a size_t value.
  476. (insert_fprintf): Change function definition to match updated
  477. prototype. Eliminate fmt_inpos. Introduce a `readpos' offset
  478. variable which takes the previous role of fmt_inpos.
  479. 2011-06-28 James Youngman <jay@gnu.org>
  480. Refactor insert_fprintf to minimise calls to make_segment.
  481. * find/print.c (get_format_flags_length): Factor out of
  482. insert_fprintf; computes the length of the format flags for a
  483. format specifier (that is everything after the % but before the
  484. format control character).
  485. (get_format_specifer_length): Also factored out of insert_fprintf;
  486. returns the number of format control characters (e.g. 2 for %A@)
  487. or 0 for error.
  488. (insert_fprintf): Keep fmt_editpos and fmt_inpos more closely in
  489. step, instead of initialising fmt_inpos only when we need it (the
  490. idea eventually will be to make fmt_inpos the loop control
  491. variable). Call get_format_specifer_length and
  492. get_format_flags_length when needed. Reduce the number of
  493. different calls to make_segment. We now have one for each KIND_
  494. value plus one for the error case.
  495. 2011-06-27 James Youngman <jay@gnu.org>
  496. Factor some of the code out of insert_fprintf.
  497. * find/print.c (insert_fprintf): Factor out the handling of
  498. eascape codes into new functions parse_escape_char,
  499. parse_octal_escape.
  500. 2011-06-25 James Youngman <jay@gnu.org>
  501. Separate out the handling of \c.
  502. * find/print.c (insert_fprintf): Deal with \c as a special case.
  503. Remove some redundant continue statements.
  504. * find/print.c (insert_fprintf): Remove a pair of redundant
  505. 'continue' statements.
  506. Simplify -fprintf %%; handle %% like a regular format specifier.
  507. * find/print.c (make_segment): Handle foo%% by simply generating a
  508. format string of foo%% (that is, let vfprintf handle the escaped
  509. %).
  510. (insert_fprintf): Handle %% as KIND_FORMAT instead of KIND_PLAIN.
  511. (do_fprintf): Handle %%.
  512. Clarify variable naming in insert_fprintf.
  513. * find/print.c (insert_fprintf): Rename some variables for greater
  514. clarity:
  515. format is now segstart, since it points to the start of the part
  516. of the format string we're next going to pass to make_segment.
  517. scan2 is now fmt_inpos (which is a const char*) and is the
  518. scanning position beyond segstart which we're reading to locate
  519. the end of this segment.
  520. scan is now fmt_editpos and is the scanning position at which we
  521. are modifying the format string (for example to change \n in the
  522. format to the value of the '\n' character).
  523. 2011-06-19 James Youngman <jay@gnu.org>
  524. Test find -printf %i.
  525. * find/testsuite/test_inode.sh: New test, for find -printf %i.
  526. * find/testsuite/Makefile.am (test_shell_progs): Add test_inode.sh.
  527. Extract common test code into a sourced file.
  528. * find/testsuite/binary_locations.sh: New file, extracting common
  529. code from the test scripts.
  530. * find/testsuite/test_escape_c.sh: Source binary_locations.sh.
  531. * find/testsuite/test_escapechars.sh: Source binary_locations.sh.
  532. * find/testsuite/Makefile.am (EXTRA_DIST): Distribute
  533. binary_locations.sh.
  534. 2011-06-18 James Youngman <jay@gnu.org>
  535. Fix some compiler warnings in xargs.
  536. * xargs/xargs.c: Remove definition of the unused macro VOID.
  537. Include error.h instead of declaring error (incorrectly).
  538. Change the type of lineno from int to size_t.
  539. (get_char_oct_or_hex_escape): Don't point endp unnecessarily at p,
  540. because they have different constness. There's no need for this,
  541. just initialise it to NULL.
  542. (main): Make input_file const. Make the default arglist
  543. non-const, to avoid a constness warning.
  544. (main): Pass the option name as the argument to error's %s format,
  545. as opposed to the whole struct (this was a bug, but since the name
  546. member was the first in the struct, there were probably no
  547. symptoms).
  548. (main): read_args returns an int, but the only negative value it
  549. can return is -1. Once we know that didn't happen, assign the
  550. value to a size_t variable to avoid signed/unsigned warnings
  551. elsewhere.
  552. (xargs_do_exec): Manually inhibit some unused-parameters warnings.
  553. (print_args): Use size_t as the type of a loop variable.
  554. (wait_for_proc): Since procs_executing is an unsigned long, use a
  555. %lu format specifier to print it.
  556. (increment_proc_max): Inhibit an unused-parameter warning (the
  557. signal number).
  558. (decrement_proc_max): Likewise.
  559. * lib/buildcmd.h (struct buildcmd_control): Make member
  560. replace_pat const. Change the type of lines_per_exec to unsigned
  561. long.
  562. 2011-06-20 James Youngman <jay@gnu.org>
  563. Use a consistent include order in header files too.
  564. * lib/printquoted.h: Use the preferred header-file inclusion order
  565. here too.
  566. Use a consistent order for header-file inclusion.
  567. * find/exec.c: Include config.h, then system headers followed by
  568. gnulib headers and last, find-specific headers.
  569. * find/find.c: Likewise.
  570. * find/finddata.c: Likewise.
  571. * find/fstype.c: Likewise.
  572. * find/ftsfind.c: Likewise.
  573. * find/parser.c: Likewise.
  574. * find/pred.c: Likewise.
  575. * find/tree.c: Likewise.
  576. * find/util.c: Likewise.
  577. * lib/buildcmd.c: Likewise.
  578. * lib/dircallback.c: Likewise.
  579. * lib/extendbuf.c: Likewise.
  580. * lib/fdleak.c: Likewise.
  581. * lib/findutils-version.c: Likewise.
  582. * lib/listfile.c: Likewise.
  583. * lib/printquoted.c: Likewise.
  584. * lib/qmark.c: Likewise.
  585. * lib/regexprops.c: Likewise.
  586. * lib/regextype.c: Likewise.
  587. * lib/safe-atoi.c: Likewise.
  588. * lib/savedirinfo.c: Likewise.
  589. * lib/splitstring.c: Likewise.
  590. * lib/test_splitstring.c: Likewise.
  591. * lib/waitpid.c: Likewise.
  592. * locate/bigram.c: Likewise.
  593. * locate/code.c: Likewise.
  594. * locate/frcode.c: Likewise.
  595. * locate/locate.c: Likewise.
  596. * locate/word_io.c: Likewise.
  597. * xargs/xargs.c: Likewise.
  598. Take gnulib-tool's advice about which header files to include.
  599. * locate/locate.c: Include <regex.h> instead of "regex.h".
  600. Include "fnmatch.h" instead of <fnmatch.h> (because we use
  601. fnmatch-gnu). Include "gettext.h".
  602. * lib/regexprops.c: Include <regex.h> instead of "regex.h".
  603. * find/tree.c: Include "gettext.h". Include "fnmatch.h" instead
  604. of <fnmatch.h> (because we use fnmatch-gnu).
  605. * find/parser.c: Include "gettext.h" and <regex.h>. Include
  606. "fnmatch.h" instead of <fnmatch.h> (because we use fnmatch-gnu).
  607. * find/pred.c: Likewise.
  608. * find/exec.c: Include "gettext.h".
  609. * find/find.c: Likewise.
  610. * find/fstype.c: Likewise.
  611. * find/ftsfind.c: Likewise.
  612. * find/print.c: Likewise.
  613. * lib/buildcmd.c: Likewise.
  614. * lib/fdleak.c: Likewise.
  615. * lib/findutils-version.c: Likewise.
  616. * lib/regextype.c: Likewise.
  617. * lib/safe-atoi.c: Likewise.
  618. * find/util.c: Likewise.
  619. * locate/bigram.c: Likewise.
  620. * locate/code.c: Likewise.
  621. * locate/frcode.c: Likewise.
  622. * locate/word_io.c: Likewise.
  623. * xargs/xargs.c: Likewise.
  624. * find/Makefile.am: Add a comment explaining why gnulib-tool
  625. advised us to use each library.
  626. 2011-06-19 James Youngman <jay@gnu.org>
  627. Update gnulib.
  628. * gnulib: update to latest version.
  629. 2011-06-18 James Youngman <jay@gnu.org>
  630. Remove test-coverage output files for "make clean".
  631. * find/Makefile.am (CLEANFILES): Clean the .gcda and .gcdo files
  632. which are produced by running programs that were compile with gcc
  633. -fprofile-arcs -ftest-coverage.
  634. * lib/Makefile.am (CLEANFILES): Likewise.
  635. * locate/Makefile.am (CLEANFILES): Likewise.
  636. * xargs/Makefile.am (CLEANFILES): Likewise.
  637. Move the printing code into print.c.
  638. * find/print.c (scan_for_digit_differences): Move to this file
  639. from pred.c.
  640. (do_time_format): Move to this file from pred.c.
  641. (format_date): Likewise.
  642. (weekdays): Likewise.
  643. (months): Likewise.
  644. (ctime_format): Likewise.
  645. (file_sparseness): Likewise.
  646. (checked_fprintf): Likewise.
  647. (checked_print_quoted): Likewise.
  648. (checked_fwrite): Likewise.
  649. (checked_fflush): Likewise.
  650. (HANDLE_TYPE): Likewise.
  651. (do_fprintf): Likewise.
  652. (pred_fprintf): Likewise.
  653. * find/pred.c: Don't include human.h, filemode.h, verify.h or
  654. xalloc.h, we don't need them. Don't define MAX. Don't declare
  655. ctime_format or format_date. Each of the functions moved into
  656. print.c were moved out of this file.
  657. Reserve format specifiers %(, %{ and %[ for future use.
  658. * find/print.c (insert_fprintf): Reject %(, %{ and %[.
  659. (make_segment): Remove code which previously supposedly rejected
  660. these format specifiers, but in fact did nothing. Replace with
  661. an assertion to document the fact that we do not expect to see
  662. these format characters in make_segment.
  663. * find/testsuite/find.gnu/printf-reserved.exp: New test case, for
  664. %(, %{ and %[, which are all rejected.
  665. * find/testsuite/Makefile.am (EXTRA_DIST_EXP): Add
  666. find.gnu/printf-reserved.exp.
  667. * doc/find.texi (Reserved and Unknown Directives): Document this.
  668. * find/find.1: Document this.
  669. * NEWS: Mention this change.
  670. Additional test cases for printf field width, precision and sign.
  671. * find/testsuite/find.gnu/printf.exp: Add test cases for left and
  672. right string alignment (%-10p), string truncation (%10.6p),
  673. explicit signs (%+d), left and right alignment (%10p, %-10p),
  674. zero-filling on decimal fields.
  675. * find/testsuite/find.gnu/printf.xo: Add expected outputs for the
  676. new tests.
  677. Add a test for find -printf ... %%.
  678. * find/testsuite/find.gnu/printf.exp: Also test %%.
  679. * find/testsuite/find.gnu/printf.xo: Add expected output for the
  680. %% test case.
  681. Add a test for "find -printf \c".
  682. * find/testsuite/Makefile.am (test_shell_progs): Add
  683. test_escape_c.sh.
  684. * find/testsuite/test_escape_c.sh: New test for "find -printf
  685. \c".
  686. Remove an unnecessary argument from insert_fprintf.
  687. * find/print.c (insert_fprintf): Eliminate the 'func' argument,
  688. since it is always pref_fprintf.
  689. * find/print.h: Adjust the prototype accordingly.
  690. * find/parser.c (parse_fprintf): Don't pass the func argument to
  691. insert_fprintf.
  692. (parse_printf): Likewise.
  693. Add new test for octal and letter escapes in -printf format.
  694. * find/testsuite/test_escapechars.golden: Expected output file.
  695. * find/testsuite/Makefile.am (EXTRA_DIST_GOLDEN): New variable;
  696. distribute test_escapechars.golden.
  697. * find/testsuite/test_escapechars.sh: New test.
  698. * find/testsuite/Makefile.am (test_shell_progs): New variable,
  699. where we keep the list of shell script tests. Move existing
  700. examples from TESTS and add test_escapechars.sh.
  701. * find/testsuite/Makefile.am (TESTS): Refer to test_shell_progs.
  702. * cfg.mk: allow trailing blanks and space-tab sequences in
  703. find/testsuite/test_escapechars.golden.
  704. 2011-06-17 James Youngman <jay@gnu.org>
  705. Split find's printf-related code into a new file.
  706. * find/print.h: New file. Declare insert_fprintf and
  707. make_segment.
  708. * find/print.c: New file. Move definitions of insert_fprintf and
  709. make_segment to here.
  710. * find/parser.c: Include "parser.h". Move declarations of
  711. insert_fprintf and make_segment into that file; move the
  712. definitions into parser.c.
  713. * find/Makefile.am (libfindtools_a_SOURCES): Add print.c.
  714. (EXTRA_DIST): Add print.h.
  715. * po/POTFILES.in: Add find/print.c.
  716. 2011-06-15 James Youngman <jay@gnu.org>
  717. Fix compiler warnings in lib/regextype.c and find/parser.c.
  718. * lib/regextype.c (tagRegexTypeMap): make the name field const.
  719. * find/parser.c (parse_version): instead of counting features, use
  720. a boolean variable, nofeatures. This avoids compiler warnings
  721. about overflow.
  722. Adopt the use of the manywarnings module.
  723. * import-gnulib.config (modules): Add manywarnings.
  724. * configure.ac: Invoke gl_MANYWARN_ALL_GCC and
  725. gl_MANYWARN_COMPLEMENT.
  726. * configure.ac: Turn on the compiler warnings only if
  727. --enable-compiler-warnings was specified to configure.
  728. 2011-06-14 James Youngman <jay@gnu.org>
  729. Avoid pointer/integer comparison on value returned by strchr.
  730. * find/parser.c (parse_newerXY): Compare the result of strchr
  731. against NULL rather than 0.
  732. Fix further compiler warnings.
  733. * find/ftsfind.c (show_outstanding_execdirs): Now that
  734. execp->state.cmd_argc is a size_t, we can't print it with %d. So
  735. print it with PRIuMAX (and include <inttypes.h> to define that).
  736. * find/tree.c (prec_name): change return type to const char*.
  737. (type_name): Likewise.
  738. * find/exec.c (impl_pred_exec): use a separate variable (buf) to
  739. point the memory allocated/freed with malloc/free, so that the
  740. existing variable target can then be const (and so we can assign
  741. pathname to it without a compiler warning).
  742. Eliminate some compiler warnings.
  743. * find/find.c: Remove definition of SAFE_CHDIR, which we don't
  744. use.
  745. * find/defs.h: Remove redundant declaration of launch.
  746. * find/parser.c (parse_false): Cast unused arguments to void.
  747. (parse_print0): Likewise.
  748. (pred_context): Likewise.
  749. (parse_newerXY): Add some parens for slightly greater clarity.
  750. (make_segment): Avoid switch-missing-default-case warning by
  751. turning it into an if statement.
  752. (check_path_safety): Remove unused argument.
  753. (insert_exec_ok): Don't pass the unwanted argument to
  754. check_path_safety.
  755. (get_relative_timestamp): silence compiler warning by adding a
  756. case for the remaining enumeration value rather than using
  757. default.
  758. * find/pred.c (months): the strings can be const char*, rather
  759. than just char*.
  760. (ctime_format): change TIME_BUF_LEN to an integer constant to
  761. avoid signed/unsigned comparison.
  762. (blank_rtrim): Change to new-style function definition(!) and
  763. remove unnecessary parentheses around a return value.
  764. * lib/buildcmd.c: Omit redundant declaration of environ.
  765. * find/tree.c (get_expr): Make static.
  766. (cost_assoc): make the name field const.
  767. (prec_assoc): make the prec_name field const.
  768. (op_assoc): make the type_name field const.
  769. (type_name): turn into an ANSI function definition(!).
  770. (prec_name): Likewise! Also remove spurious parentheses around
  771. return value.
  772. (prec_name): Remove spurious parentheses around return value.
  773. * lib/buildcmd.h (buildcmd_state): change types of several fields
  774. to size_t: cmd_argc, cmd_argv_alloc, largest_successful_arg_count,
  775. smallest_failed_arg_count.
  776. (buildcmd_control): change types of several fields
  777. to size_t: max_arg_count, initial_argc, lines_per_exec,
  778. args_per_exec.
  779. Assume SIGCHLD and O_NOFOLLOW are defined by gnulib.
  780. * find/find.c: Since gnulib defines O_NOFOLLOW, don't check to see
  781. if the macro is defined. Check instead to see if it is 0.
  782. (safely_chdir_nofollow): Point this out.
  783. (safely_chdir): Check O_NOFOLLOW for zeroness.
  784. * find/exec.c: Don't #define SIGCHLD.
  785. * xargs/xargs.c: Likewise.
  786. 2011-06-14 James Youngman <jay@gnu.org>
  787. Fix coredump bug introduced in the previous change.
  788. * locate/locate.c (dolocate): Remove declaration of e, which was
  789. replaced by the variable db_name. Change the last two uses of 'e'
  790. to use 'db_name'. This bugfix prevents possible coredumps when
  791. issuing error messages about reads from the locate database (or
  792. warnings about byte order for old databases). This bug had been
  793. introduced in the previous change.
  794. 2011-06-13 James Youngman <jay@gnu.org>
  795. Split strings into fields nondestructively.
  796. * lib/splitstring.c: New file; defines splitstring(), which will
  797. non-destructively locate character-separated fields in a string.
  798. * lib/splitstring.h: New file; declares splitstring.
  799. * lib/test_splitstring.c: New file; unit test for splitstring.c.
  800. * lib/nextelem.c: Delete (obsoleted by splitstring.c).
  801. * lib/nextelem.h: Delete (obsoleted by splitstring.h).
  802. * lib/Makefile.am (libfind_a_SOURCES): Add splitstring.c,
  803. splitstring.c. Remove nextelem.c, nextelem.h.
  804. (check_PROGRAMS): Add test_splitstring.
  805. (TESTS): Add test_splitstring.
  806. (test_splitstring_SOURCES): Sources for the
  807. test_splitstring unit test.
  808. * locate/locate.c: Include splitstring.h rather than nextelem.h.
  809. (dolocate): Use splitstring rather than next_element. In places
  810. where we need a nul-terminated string, use strndup() to create it.
  811. Convert some space-tab sequences to regular spacing.
  812. * find/parser.c: Include splitstring.h rather than nextelem.h.
  813. (check_path_safety): Use splitstring rather than next_element.
  814. * import-gnulib.config (modules): Depend on the module strndup.
  815. * cfg.mk: Exempt lib/test_splitstring.c from calling
  816. bindtextdomain or set_program_name.
  817. 2011-06-13 James Youngman <jay@gnu.org>
  818. Fix compilation failure in bigram.c by including <locale.h>.
  819. * locate/bigram.c: Include <locale.h>.
  820. 2011-06-12 James Youngman <jay@gnu.org>
  821. Split exec-related code into a new file, exec.c
  822. * find/exec.c: New file.
  823. (initialise_wd_for_exec): Move out of pred.c
  824. (record_exec_dir): Likewise.
  825. (impl_pred_exec): Likewise.
  826. (prep_child_for_exec): Likewise.
  827. (launch): Likewise.
  828. * find/pred.c: These functions are moved out of this file.
  829. * find/defs.h: impl_pred_exec is no longer static in pred.c, so
  830. add an external declaration for it. Move the declaration of
  831. launch to here also.
  832. * find/Makefile.am (libfindtools_a_SOURCES): Add exec.c.
  833. * po/POTFILES.in: Add find/exec.c.
  834. Eliminate .x-sc_prohibit_empty_lines_at_EOF and .x-sc_bindtextdomain
  835. * cfg.mk: Move definition of which files we should not check to
  836. exclude_file_name_regexp--sc_prohibit_empty_lines_at_EOF, instead
  837. of .x-sc_prohibit_empty_lines_at_EOF.
  838. Move contents of .x-sc_bindtextdomain into
  839. exclude_file_name_regexp--sc_bindtextdomain.
  840. .x-sc_prohibit_empty_lines_at_EOF: Delete.
  841. .x-sc_bindtextdomain: Delete.
  842. Enable sc_makefile_at_at_check; fix problems it identifies.
  843. * lib/Makefile.am: Use $(FINDLIBOBJS) instead of @FINDLIBOBJS@.
  844. * find/Makefile.am (LDADD): Use $(FINDLIBS) instead of @FINDLIBS@.
  845. * locate/Makefile.am (updatedb): Use $(VERSION) and
  846. $(PACKAGE_NAME) instead of @VERSION@ and @PACKAGE_NAME@.
  847. * cfg.mk: remove sc_makefile_at_at_check from local-checks-to-skip
  848. 2011-06-12 James Youngman <jay@gnu.org>
  849. Improve src-sniff.py.
  850. * build-aux/src-sniff.py: Mention that many of these checks would
  851. be better as gnulib syntax checks (since there are more flexible
  852. ways to disable these).
  853. (RegexChecker.__init__): Don't pass a spurious second "self"
  854. argument.
  855. (RegexChecker.Check): Provide a more intelligible message when
  856. complaining about use atof/scanf.
  857. (RegexChecker.Check): Enable the check for HAVE_FCNTL_H.
  858. (RegexChecker.Check): When checking for trailing whitespace, don't
  859. complain about trailing newlines(!)
  860. (RegexChecker.Check): Indicate what the out-of-date address is
  861. when we find one.
  862. 2011-06-11 James Youngman <jay@gnu.org>
  863. Enable the sc_trailing_blank check.
  864. * cfg.mk: Enable sc_trailing_blank check.
  865. (exclude_file_name_regexp--sc_trailing_blank): Exclude
  866. xargs test inputs and outputs. Exclude the COPYING file. Exclude
  867. a find test output. Exclude the .po files.
  868. * xargs/xargs.c: Remove trailing blanks.
  869. * xargs/testsuite/config/unix.exp: Likewise.
  870. * find/testsuite/find.posix/bracket-depth.exp: Likewise.
  871. * find/testsuite/find.posix/files-not-expressions1.exp: Likewise.
  872. * find/testsuite/find.posix/files-not-expressions2.exp: Likewise.
  873. * find/testsuite/find.posix/files-not-expressions3.exp: Likewise.
  874. * find/testsuite/find.posix/nameslash.exp: Likewise.
  875. * find/testsuite/find.posix/perm-vanilla.exp: Likewise.
  876. * find/testsuite/find.posix/sizes.exp: Likewise.
  877. * find/testsuite/find.posix/sv-bug-25359.exp: Likewise.
  878. * find/testsuite/find.posix/typesize.exp: Likewise.
  879. * find/testsuite/find.gnu/access.exp: Likewise.
  880. * find/testsuite/find.gnu/deletedir.exp: Likewise.
  881. * find/testsuite/find.gnu/deletefile.exp: Likewise.
  882. * find/testsuite/find.gnu/exec-one-rtn-fail.exp: Likewise.
  883. * find/testsuite/find.gnu/execdir-hier.exp: Likewise.
  884. * find/testsuite/find.gnu/execdir-pwd.exp: Likewise.
  885. * find/testsuite/find.gnu/execdir-root-only.exp: Likewise.
  886. * find/testsuite/find.gnu/follow-arg-parent-symlink.exp: Likewise.
  887. * find/testsuite/find.gnu/ilname.exp: Likewise.
  888. * find/testsuite/find.gnu/lname.exp: Likewise.
  889. * find/testsuite/find.gnu/perm-slash.exp: Likewise.
  890. * find/testsuite/find.gnu/posix-h.exp: Likewise.
  891. * find/testsuite/find.gnu/sv-bug-17782.exp: Likewise.
  892. * find/testsuite/find.gnu/sv-bug-24169.exp: Likewise.
  893. * find/testsuite/find.gnu/used-invarg.exp: Likewise.
  894. * find/testsuite/find.gnu/used-missing.exp: Likewise.
  895. * find/testsuite/excuses.txt: Likewise.
  896. * locate/testsuite/config/unix.exp: Likewise.
  897. * locate/testsuite/locate.gnu/bigendian.exp: Likewise.
  898. * locate/testsuite/locate.gnu/bigprefix1.exp: Likewise.
  899. * locate/testsuite/locate.gnu/exists2.exp: Likewise.
  900. * locate/testsuite/locate.gnu/exists3.exp: Likewise.
  901. * locate/testsuite/locate.gnu/littleendian.exp: Likewise.
  902. * locate/testsuite/locate.gnu/notexists2.exp: Likewise.
  903. * locate/testsuite/locate.gnu/notexists3.exp: Likewise.
  904. * locate/testsuite/locate.gnu/sv-bug-14535.exp: Likewise.
  905. * xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.exp: Likewise.
  906. * xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.exp: Likewise.
  907. * xargs/testsuite/xargs.posix/rc-125.exp: Likewise.
  908. * xargs/testsuite/xargs.posix/sv-bug-18714.exp: Likewise.
  909. * xargs/testsuite/xargs.posix/sv-bug-18714b.exp: Likewise.
  910. * po/Makevars (EXTRA_LOCALE_CATEGORIES): Likewise.
  911. * xargs/xargs.1 (SEE ALSO): Likewise.
  912. Enable the sc_space_tab check
  913. * cfg.mk: Enable the sc_space_tab check. Exclude various xargs
  914. test inputs and outputs from the check. Remove some obsolete
  915. comments.
  916. * locate/Makefile.am (dblocation.texi): Remove space-tab sequences.
  917. Enable the sc_texinfo_acronym check
  918. * cfg.mk: Enable the sc_texinfo_acronym check. Exempt
  919. doc/perm.text, which isn't ours anyway.
  920. * doc/find.texi (Deleting Files): Say just POSIX rather than
  921. @acronym{POSIX}, simply because this is the convention in GNU
  922. documentation. The motivation is that it's hard to do so
  923. consistently (because, for example, you can't use @acronym in a
  924. node name).
  925. Enable syntax check sc_obsolete_symbols.
  926. (exclude_file_name_regexp--sc_obsolete_symbols): Don't check
  927. build-aux/src-sniff.py.
  928. Enable more syntax checks, eliminate useless C preprocessor parentheses
  929. * find/defs.h: Eliminate useless parentheses in #if.
  930. * find/find.c (safely_chdir): Likewise.
  931. * find/pred.c: Likewise.
  932. * lib/buildcmd.c: Likewise.
  933. * lib/fdleak.c: Likewise
  934. * xargs/xargs.c: Likewise.
  935. * find/parser.c: Likewise.
  936. (ISDIGIT): Simplify, and avoid undefining isascii.
  937. * cfg.mk (local-checks-to-skip): Remove sc_prohibit_cvs_keyword,
  938. since the test produces no hits anyway. Explain why we avoid
  939. sc_two_space_separator_in_usage. Enable the sc_useless_cpp_parens
  940. check.
  941. Use stat-size macros in pred.c also.
  942. * find/pred.c: Include stat-size. Eliminate definitions of
  943. DEV_BSIZE, ST_BLKSIZE, ST_NBLOCKS, ST_NBLOCKSIZE macros which are
  944. now in stat-size.h (yes, this is the second set of these macros
  945. we've removed).
  946. (file_sparseness): Use ST_NBLOCKS and ST_NBLOCKSIZE.
  947. * cfg.mk (local-checks-to-skip): Don't skip
  948. sc_prohibit_stat_st_blocks, because now we no loner access the
  949. st_blocks field of struct stat, directly.
  950. * lib/listfile.c (file_blocksize): Eliminate this function, it's
  951. no longer needed.
  952. * lib/listfile.h: Don't declare file_blocksize.
  953. Adopt the new gnulib module stat-size.
  954. * lib/listfile.c: Include "stat-size.h". Delete the DEV_BSIZE,
  955. ST_BLKSIZE, ST_NBLOCKS, ST_NBLOCKSIZE macros which are now in
  956. stat-size.h.
  957. * gnulib: Update to latest.
  958. * import-gnulib.config (modules): Add stat-size.
  959. 2011-06-05 James Youngman <jay@gnu.org>
  960. Don't include sys/param.h where we don't need it.
  961. * xargs/xargs.c: Don't include sys/param.h, we don't use it.
  962. Don't include "stdio-safer.h" where it is not used.
  963. * find/parser.c: Don't include stdio-safer.h, it's not used.
  964. * lib/findutils-version.c: Likewise.
  965. Don't include <stddef.h> where it is not used.
  966. * lib/dircallback.c: Don't include <stddef.h>, it's not used.
  967. * lib/extendbuf.c: Likewise.
  968. * lib/qmark.c: Likewise.
  969. * lib/savedirinfo.c: Likewise.
  970. Fixes for empty-lines-at-EOF syntax check.
  971. * .x-sc_bindtextdomain: Add newline at EOF.
  972. * locate/Makefile.am: Remove empty trailing line at EOF.
  973. * find/testsuite/sv-bug-32043.sh: Likewise.
  974. * .x-sc_prohibit_empty_lines_at_EOF: Don't apply this check to
  975. m4/order-good.bin m4/order-bad.bin
  976. locate/testsuite/locate.gnu/locateddb.old.x86.xi
  977. locate/testsuite/locate.gnu/locateddb.old.powerpc.xi.
  978. Avoid some false positives for the sc_prohibit_doubled_word check.
  979. * .x-sc_prohibit_doubled_word: don't perform this check on
  980. xargs/testsuite/xargs.sysv/iquotes.xo or ChangeLog.
  981. Don't check .po files for doubled English words (because they're
  982. not in English).
  983. * find/tree.c: Modify some text to avoid saying "AND and",
  984. which one of the syntax checks doesn't like.
  985. (opt_expr): Likewise.
  986. (consider_arm_swap): Likewise.
  987. * README: Likewise.
  988. Include dirent.h uncontintionally (since gnulib provides it).
  989. * find/pred.c: Include <dirent.h> unconditionally; gnulib provides
  990. it.
  991. * lib/savedirinfo.c: Likewise.
  992. Silence some false positives for sc_prohibit_always_true_header_tests.
  993. * .x-sc_prohibit_always_true_header_tests: New file; exclude
  994. build-aux/src-sniff.py from C inclusion tests, because it itself
  995. contains examples of string the syntac checkers don't like
  996. (because it's also a syntax checker).
  997. ChangeLog: also exclude this because it frequently contains the
  998. specifics of items added/removed, including examples of text which
  999. are this syntax check looks for.
  1000. Prefer "cannot" to "can not".
  1001. * locate/locatedb.5: Change "can not" to "cannot".
  1002. * locate/updatedb.1: Likewise.
  1003. Update xargs error message.
  1004. * doc/find.texi (Error Messages From xargs): the message "can not
  1005. fit single argument within argument list size limit" is now
  1006. "argument list too long".
  1007. 2011-06-04 James Youngman <jay@gnu.org>
  1008. Use the gnulib byteswap and uname modules.
  1009. * import-gnulib.config (modules): Add byteswap and uname.
  1010. * locate/word_io.c: Include byteswap.h. Don't #define bswap_32.
  1011. * find/util.c: sys/utsname.h no longer needs include guards since
  1012. gnulib always provides it.
  1013. * configure.ac: Don't check for sys/utsname.
  1014. gnulib already defines O_CLOEXEC.
  1015. * lib/fdleak.c: gnulib's fcntl.h always defines O_CLOEXEC, so
  1016. don't define it here.
  1017. Add internationalisation support to bigram but not regexprops.
  1018. * locate/bigram.c: Use libintl.h.
  1019. (main): Call bindtextdomain.
  1020. * .x-sc_bindtextdomain: Exempt lib/regexprops.c from needing to
  1021. use bindtextdomain. The output of regexprops is intended to be
  1022. determined entirely by the properties of the GNU regex
  1023. implementation.
  1024. Update gnulib.
  1025. * gnulib: update to current head.
  1026. Update the copyright year in C source files.
  1027. * find/defs.h: Update copyright year.
  1028. * find/find.c: Update copyright year.
  1029. * find/finddata.c: Update copyright year.
  1030. * find/ftsfind.c: Update copyright year.
  1031. * find/parser.c: Update copyright year.
  1032. * find/pred.c: Update copyright year.
  1033. * find/sharefile.c: Update copyright year.
  1034. * find/sharefile.h: Update copyright year.
  1035. * find/tree.c: Update copyright year.
  1036. * find/util.c: Update copyright year.
  1037. * lib/buildcmd.c: Update copyright year.
  1038. * lib/buildcmd.h: Update copyright year.
  1039. * lib/dircallback.c: Update copyright year.
  1040. * lib/dircallback.h: Update copyright year.
  1041. * lib/extendbuf.c: Update copyright year.
  1042. * lib/extendbuf.h: Update copyright year.
  1043. * lib/fdleak.c: Update copyright year.
  1044. * lib/fdleak.h: Update copyright year.
  1045. * lib/findutils-version.c: Update copyright year.
  1046. * lib/findutils-version.h: Update copyright year.
  1047. * lib/forcefindlib.c: Update copyright year.
  1048. * lib/listfile.c: Update copyright year.
  1049. * lib/listfile.h: Update copyright year.
  1050. * lib/nextelem.c: Update copyright year.
  1051. * lib/nextelem.h: Update copyright year.
  1052. * lib/printquoted.c: Update copyright year.
  1053. * lib/printquoted.h: Update copyright year.
  1054. * lib/qmark.c: Update copyright year.
  1055. * lib/regexprops.c: Update copyright year.
  1056. (copying): Update copyright year in the output file, too.
  1057. * lib/regextype.c: Update copyright year.
  1058. * lib/regextype.h: Update copyright year.
  1059. * lib/safe-atoi.c: Update copyright year.
  1060. * lib/safe-atoi.h: Update copyright year.
  1061. * lib/savedirinfo.c: Update copyright year.
  1062. * lib/savedirinfo.h: Update copyright year.
  1063. * lib/unused-result.h: Update copyright year.
  1064. * lib/waitpid.c: Update copyright year.
  1065. * locate/bigram.c: Update copyright year.
  1066. * locate/code.c: Update copyright year.
  1067. * locate/frcode.c: Update copyright year.
  1068. * locate/locate.c: Update copyright year.
  1069. * locate/locatedb.h: Update copyright year.
  1070. * locate/word_io.c: Update copyright year.
  1071. * xargs/xargs.c: Update copyright year.
  1072. More copyright year updates.
  1073. * build-aux/check-testfiles.sh: Update copyright year.
  1074. * m4/noreturn.m4: Update copyright year.
  1075. * po/POTFILES.in: Update copyright year.
  1076. Update the copyright year in test/documentation files, updatedb.
  1077. * build-aux/src-sniff.py: Update copyright year.
  1078. * doc/find-maint.texi: Update copyright year.
  1079. * doc/regexprops.texi: Update copyright year.
  1080. * find/testsuite/config/unix.exp: Update copyright year.
  1081. * locate/testsuite/config/unix.exp: Update copyright year.
  1082. * xargs/testsuite/config/unix.exp: Update copyright year.
  1083. * locate/updatedb.sh: Update copyright year.
  1084. 2011-06-03 James Youngman <jay@gnu.org>
  1085. Warn about lack of birth time information only when it's true.
  1086. * find/pred.c (pred_newerXY): Issue a warning about the inability
  1087. to get the birth time of a file, only if we actually failed to
  1088. obtain the birth time of the file. This is a bugfix; there was a
  1089. misplaced semicolon after an if condition, so the immediately
  1090. succeeding block qould be executed unconditionally.
  1091. Compiler warning fixes in find/pred.c.
  1092. * find/pred.c (mode_to_filetype): return const char*.
  1093. (impl_pred_exec): Make target and prefix variables const.
  1094. (impl_pred_exec): Separate 'target' variable (which sometimes
  1095. points to a string literal) from a separate 'buf' variable (which,
  1096. if set, is always the value returned by base_name, which needs to
  1097. be freed.
  1098. (checked_fwrite): Store the result of fwrite in a size_t (i.e. the
  1099. same type the function returns).
  1100. Eliminate some compiler warnings in parser.c
  1101. * find/parser.c: Don't define the macros STRINGIFY and
  1102. PARSE_ACTION_NP.
  1103. (optionh_getfilecon): Make this function static
  1104. since it is not used elsewhere.
  1105. (optionl_getfilecon): Likewise.
  1106. (optionp_getfilecon): Likewise.
  1107. (found_parser): Likewise.
  1108. Avoid code redundancy in lib/buildcmd.c.
  1109. * lib/buildcmd.c (bc_get_arg_max): Recheck val only if we might
  1110. have changed it (i.e. when ARG_MAX is defined).
  1111. Eliminate some compiler warnings in find/parser.c.
  1112. * find/defs.h (struct parser_table): Make parser_name field const.
  1113. * find/parser.c: Remove redundant declaration of parse_print.
  1114. (insert_path_check): Change name of parameter pred_name to avoid
  1115. shadowing the function of that name.
  1116. (find_parser): Make search_name parameter const.
  1117. Fix a compiler warning in lib/buildcmd.c
  1118. * lib/buildcmd.c: special_terminating_arg should be const.
  1119. Fix compiler warnings in lib/fdleak.c
  1120. * lib/fdleak.c (visit_open_fds): Rename loop variable from i to j
  1121. to avoid shadowing.
  1122. (get_proc_max_fd): Fix definition (it's a void function, not a
  1123. traditional pre-ANSI function definition).
  1124. Fix several small compiler warnings.
  1125. * lib/dircallback.c: Include dircallback.h.
  1126. * lib/dircallback.h: Correct declaration of run_in_dir.
  1127. * lib/listfile.c (file_blocksize): Use the otherwise-unused parameter.
  1128. * find/defs.h: Remove redundant declaration of variable options.
  1129. Fix some compiler warnings in findutils-version.c.
  1130. * lib/findutils-version.c: include findutils-version.h. Make
  1131. version_string const. Don't #define N_, since we don't use it.
  1132. Don't display a separate gnulib version.
  1133. * lib/findutils-version.c (display_findutils_version): Don't
  1134. display gnulib_version because it's no longer defined (because
  1135. there is no gnulib version separate from the findutils version,
  1136. now that gnulib is a submodule).
  1137. * import-gnulib.config: remove gnulib_version and destdir, they
  1138. are not needed any more.
  1139. * lib/Makefile.am (EXTRA_DIST): Don't distribute gnulib-version.h
  1140. or gnulib-version.c.
  1141. (BUILT_SOURCES): delete, there are no longer any built sources.
  1142. * lib/gnulib-version.h: Remove.
  1143. * locate/code.c: Don't include gnulib-version.h
  1144. * xargs/xargs.c: Don't include gnulib-version.h
  1145. 2011-06-01 James Youngman <jay@gnu.org>
  1146. Take the last matching entry in /etc/mtab, not the first.
  1147. * find/fstype.c (file_system_type_uncached): Instead of taking the
  1148. first match, take the last match. This deals better with mtab
  1149. implementations in which there can be duplicate entries, for
  1150. example Linux-based systems in which /etc/mtab is a symlink to
  1151. /proc/mounts) can have duplicate entries in the file system list.
  1152. This happens most frequently for /.
  1153. * NEWS: Mention this change.
  1154. 2011-06-02 James Youngman <jay@gnu.org>
  1155. Remove unnecessary header checks and include guards.
  1156. * configure.ac (AC_CHECK_HEADERS): Remove checks for header files
  1157. that gnulib either assumes are always present, or provides
  1158. itself. These include errno.h fcntl.h inttypes.h limits.h
  1159. locale.h stddef.h stdint.h stdlib.h string.h sys/types.h
  1160. unistd.h.
  1161. * lib/buildcmd.c: Remove include guard for limits.h.
  1162. * find/fstype.c: Remove include guard for sys/types.h.
  1163. * lib/savedirinfo.c: Likewise.
  1164. * find/find.c: Remove include guard for locale.h.
  1165. * find/ftsfind.c: Likewise.
  1166. 2011-06-01 James Youngman <jay@gnu.org>
  1167. Better error handling for the result of set_fstype_devno.
  1168. * find/fstype.c (file_system_type_uncached): If set_fstype_devno
  1169. fails for an entry (that is, the device number stays at -1) don't
  1170. consider it a match.
  1171. (get_mounted_filesystems): Don't call set_fstype_devno since we
  1172. don't need to check the device number.
  1173. (get_mounted_devices): If set_fstype_devno fails for a file
  1174. system, don't return it.
  1175. 2011-05-31 James Youngman <jay@gnu.org>
  1176. import-gnulib.sh now stops if it sees the old directory layout.
  1177. * import-gnulib.sh (check_old_gnulib_dir_layout): Check the
  1178. ./gnulib-git, ./gnulib/ and ./gl/ subdirectories to figure out if
  1179. we are using a current version of import-gnulib.sh with an old
  1180. directory layout. If so, print an explanation of the problem and
  1181. return false.
  1182. (main): stop if check_old_gnulib_dir_layout didn't like the
  1183. directory layout.
  1184. Minor fixes in import-gnulib.sh.
  1185. * import-gnulib.sh (fixmsg): Fix punctuation in the commands given
  1186. for installing the changelog driver.
  1187. (usage): Explain what the -a option does.
  1188. (run_gnulib_tool): delete broken symlinks in the output directory,
  1189. not the gnulib source.
  1190. (check_merge_driver): fix the path to the ChangeLog merge driver
  1191. source.
  1192. 2011-05-30 James Youngman <jay@gnu.org>
  1193. Manage gnulib as a git submodule.
  1194. * .gitmodules: New file; manage gnulib as a submodule. For future
  1195. compatibility with the "bootstrap" script, keep the gnulib
  1196. submodule in the gnulib directory (instead of the gnulib-git
  1197. directory as before). This means we need to find a new directory
  1198. for the output of gnulib-tool; we will use "gl" for that.
  1199. * import-gnulib.sh (do_checkout): Replace with do_submodule.
  1200. (do_submodule): initialise and configure the gnulib module.
  1201. (main): call do_submodule instead of do_checkout. Don't call
  1202. move_cvsdir, it's obsolete.
  1203. (move_cvsdir): delete
  1204. (run_gnulib_tool): change gnulib to ${gldest} (and set that variable).
  1205. (hack_gnulib_tool_output): generate gl/Makefile.am, not
  1206. gnulib/Makefile.am.
  1207. (refresh_output_files): Rename gnulib to gl.
  1208. (update_version_file): Check the state of the submodule.
  1209. * Makefile.am (SUBDIRS): Rename gnulib to gl.
  1210. (ACLOCAL_AMFLAGS): Likewise.
  1211. * lib/Makefile.am (INCLUDES): Likewise.
  1212. (LDADD): Likewise.
  1213. (findutils-check-smells): Rename gnulib-git to gnulib.
  1214. * find/Makefile.am (INCLUDES): Change gnulib to gl.
  1215. (LDADD): Likewise.
  1216. * xargs/Makefile.am (INCLUDES): Change gnulib to gl.
  1217. (LDADD): Likewise.
  1218. * locate/Makefile.am (INCLUDES): Rename gnulib to gl.
  1219. (LDADD): Likewise.
  1220. * .gitignore: Rename gnulib to gl.
  1221. * configure.ac (AC_CONFIG_MACRO_DIR): Change to gl/m4.
  1222. (AC_CONFIG_FILES): use gl/Makefile and gl/lib/Makefile instead of
  1223. gnulib/Makefile and gnulib/lib/Makefile.
  1224. * find/fstype.c: Include gnulib include files as "foo.h", not
  1225. "../gnulib/lib/foo.h", because the relative path is not needed and
  1226. in any case has changed.
  1227. 2011-05-29 James Youngman <jay@gnu.org>
  1228. Savannah bug #31424: Revert Interix-specific change.
  1229. Gnulib will use suacomp for solving this problem, so findutils
  1230. will not need a workaround here.
  1231. * lib/arg-max.h: Delete this file.
  1232. * lib/Makefile.am (libfind_a_SOURCES): Remove arg-max.h.
  1233. * lib/buildcmd.c: Don't include arg-max.h.
  1234. * xargs/xargs.c: Likewise.
  1235. 2011-05-24 James Youngman <jay@gnu.org>
  1236. Fix Savannah bug #33384.
  1237. * locate/updatedb.sh: Don't reset $PATH, because the hard-coded
  1238. value we were using isn't guaranteed to contain all the utilities
  1239. (for example rm, chmod and so on) we would like to use.
  1240. * NEWS: Mention this bugfix.
  1241. 2011-05-22 James Youngman <jay@gnu.org>
  1242. Don't assume that "echo" lives in /bin.
  1243. * xargs/xargs.c (main): Change default_cmd from "/bin/echo" (which
  1244. may not be present on some POSIX systems) to "echo" (which must
  1245. exist somewhere on $PATH on any POSIX system).
  1246. * doc/find.texi (Multiple Files): document this.
  1247. * NEWS: Describe this change.
  1248. * xargs/testsuite/xargs.sysv/empty_def-t.xe: Change /bin/echo to
  1249. echo.
  1250. * xargs/testsuite/xargs.gnu/n2-s26-x-0.exp: Change -s26 to -s21 to
  1251. keep the expected test result the same. Rename the test to
  1252. reflect the updated arguments.
  1253. * xargs/testsuite/xargs.gnu/n2-s26-x-0.xo: Rename to
  1254. n2-s21-x-0.xo.
  1255. * xargs/testsuite/xargs.gnu/n2-s26-0.exp: Rename to n2-s21-0.exp,
  1256. update -s argument.
  1257. * xargs/testsuite/xargs.posix/s30.exp: Rename to s25.exp, update -s.
  1258. * xargs/testsuite/xargs.posix/s30.xo: Rename to s25.xo.
  1259. * xargs/testsuite/xargs.gnu/s30-0.exp: Rename to s25-0.exp, update
  1260. -s argument.
  1261. * xargs/testsuite/xargs.gnu/s30-0.xo: Rename to s25-0.xo.
  1262. * xargs/testsuite/xargs.sysv/s30-t.exp: Rename to s25-t.exp,
  1263. update -s.
  1264. * xargs/testsuite/xargs.sysv/s30-t.xo: Rename to s25-t.xo.
  1265. * xargs/testsuite/xargs.sysv/s30-t.xe: Rename to s25-t.xe, change
  1266. /bin/echo to just echo.
  1267. * xargs/testsuite/xargs.posix/s47.exp: Rename to s42.exp, update -s.
  1268. * xargs/testsuite/xargs.posix/s47.xo: Rename to s42.xo.
  1269. * xargs/testsuite/xargs.gnu/n3-s36-0.exp: Rename to n3-s31-0.exp,
  1270. update -s.
  1271. * xargs/testsuite/xargs.gnu/n3-s36-0.xo: Rename to n3-s31-0.xo.
  1272. * xargs/testsuite/xargs.gnu/s20-0.exp: Rename to s15-0.exp, update
  1273. -s.
  1274. * xargs/testsuite/xargs.gnu/s20-0.xo: Rename to s15-0.xo.
  1275. * xargs/testsuite/xargs.posix/n2-s26.exp: Rename to n2-s21.exp,
  1276. update -s.
  1277. * xargs/testsuite/xargs.posix/n2-s26.xo: Rename to n2-s21.xo.
  1278. * xargs/testsuite/xargs.gnu/s19-0.exp: Rename to s14-0.exp, update
  1279. -s.
  1280. * xargs/testsuite/xargs.gnu/s19-0.xo: Rename to s14-0.xo.
  1281. * xargs/testsuite/xargs.gnu/s19_2-0.exp: Rename to s14_2-0.exp,
  1282. update -s.
  1283. * xargs/testsuite/xargs.gnu/s19_2-0.xo: Rename to s14_2-0.xo.
  1284. * xargs/testsuite/xargs.posix/n3-s36.exp: Rename to n3-s31.exp,
  1285. update -s.
  1286. * xargs/testsuite/xargs.posix/n3-s36.xo: Rename to n3-s31.xo.
  1287. * xargs/testsuite/xargs.posix/s19.exp: Rename to s14.exp, update
  1288. -s.
  1289. * xargs/testsuite/xargs.posix/s19.xo: Rename to s14.xo.
  1290. * xargs/testsuite/xargs.posix/s19_2.exp: Rename to s14_2.exp,
  1291. update -s.
  1292. * xargs/testsuite/xargs.posix/s19_2.xo: Rename to s14_2.xo.
  1293. * xargs/testsuite/xargs.posix/s20.exp: Rename to s15.exp,
  1294. update -s.
  1295. * xargs/testsuite/xargs.posix/s20.xo: Rename to s15.xo.
  1296. * xargs/testsuite/Makefile.am (EXTRA_DIST_XO): Update names.
  1297. (EXTRA_DIST_EXP): Likewise.
  1298. 2011-05-17 James Youngman <jay@gnu.org>
  1299. Document ftsfind/oldfind and configure options.
  1300. * doc/find.texi (Configuration): New section documenting the
  1301. important configuration options that can be passed to configure,
  1302. including --without-fts.
  1303. * find/find.1 (BINARIES): New section explaining why two binaries
  1304. are installed.
  1305. * find/oldfind.1: New manual page explaining how 'oldfind' is
  1306. different to 'find'.
  1307. * find/ftsfind.1: New manual page explaining how 'ftsfind' is
  1308. different to 'find'.
  1309. * find/Makefile.am (man_MANS): As well as find.1, install one of
  1310. ftsfind.1 or oldfind.1, depending on whether --without-fts was
  1311. specified to configure.
  1312. * NEWS: Mention this change.
  1313. 2011-05-15 James Youngman <jay@gnu.org>
  1314. Add lib/fdleak.c to translatable files.
  1315. * po/POTFILES.in: Add lib/fdleak.c.
  1316. Fix Savannah bug #18227 (-ls doesn't print device major/minor).
  1317. * lib/listfile.c (list_file): check HAVE_STRUCT_STAT_ST_RDEV
  1318. instead of HAVE_ST_RDEV, fixing this bug. HAVE_ST_RDEV was
  1319. defined by the obsolete Autoconf macro AC_STRUCT_ST_RDEV, but
  1320. findutils hasn't actually called AC_STRUCT_ST_RDEV since Apr 5
  1321. 2000.
  1322. * NEWS: Mention this bugfix.
  1323. #29698: Correct and clarify documentation of xargs -d option
  1324. * xargs/xargs.1: Update documentation for -d option to more
  1325. clearly distinguish the treatment of backslashes in the input and
  1326. the treatment of backslashes in the argument to -d.
  1327. * NEWS: Mention this bugfix.
  1328. Implement xargs --process-slot-var.
  1329. * xargs/xargs.c (set_slot_var): New function; sets an environment
  1330. variable to the index of the entry in pids[] that represents the
  1331. relevant child process. This can be used in rudimentary load
  1332. distribution systems.
  1333. (slot_var_name): the name of the variable to use (selected by
  1334. --process-slot-var).
  1335. (enum LongOptionIdentifier): Unique identifiers for long options
  1336. with no short option equivalent (--process-slot-var is the first).
  1337. (longopts): Add --process-slot-var.
  1338. (add_proc): return the index within pids[] that we selected.
  1339. (main): Pass &option_index to getopt_long (option_index is a new
  1340. variable) in order to identify which long option was passed.
  1341. Handle --process-slot-var.
  1342. (prep_child_for_exec): Call set_slot_var.
  1343. (usage): Mention --process-slot-var.
  1344. * doc/find.texi (xargs options): Document --process-slot-var.
  1345. * xargs/xargs.1: Likewise.
  1346. * NEWS: Mention this change and that it was Savannah bug #29512.
  1347. Describe xargs options in alphabetical order.
  1348. * xargs/xargs.1: Re-order the options to place them in
  1349. alphabetical order. Put --help and --version at the end.
  1350. * xargs/xargs.c (usage): Describe the options in alphabeitcal
  1351. order.
  1352. * NEWS: Mention this change.
  1353. Fix bug #14386: updatedb relies on mktemp, which is not portable.
  1354. * locate/updatedb.sh (make_tempdir): new function, works around
  1355. the possible absence of mktemp. We now create the file list and
  1356. the bigrams file in a temporary directory. Also add some quoting
  1357. for a few shell variables. Update the copyright years.
  1358. * locate/testsuite/locate.gnu/oldformat.exp: Add a test case which
  1359. uses the old database format, in order to exercise our mktemp
  1360. replacement.
  1361. * locate/testsuite/Makefile.am (EXTRA_DIST_EXP): Ship this new
  1362. file.
  1363. * locate/testsuite/locate.gnu/oldformat.xo: The expected output
  1364. for the new test.
  1365. * locate/testsuite/Makefile.am (EXTRA_DIST_XO): Ship this new
  1366. file.
  1367. * NEWS: Mention this bugfix.
  1368. 2011-05-14 James Youngman <jay@gnu.org>
  1369. Fix bug #32043 (fnmatch should treat unquoted [ literally).
  1370. * import-gnulib.config (gnulib_version): Update gnulib to the
  1371. version which includes the fnmatch fix (a backport of glibc bug
  1372. #12378). This fixes our bug too.
  1373. * find/testsuite/sv-bug-32043.sh: New (non-DejaGnu) test script.
  1374. Tests Savannah bug #32043 (POSIX requires that an unquoted [
  1375. should be matched literally).
  1376. * find/testsuite/Makefile.am (TESTS): Add sv-bug-32043.sh.
  1377. (EXTRA_DIST): Distribute sv-bug-32043.sh.
  1378. * NEWS: Mention this bugfix.
  1379. 2011-05-11 James Youngman <jay@gnu.org>
  1380. Move on from 4.5.10, to 4.5.11-git.
  1381. * NEWS, configure.ac: update version number.
  1382. Prepare for release of findutils-4.5.10.
  1383. * NEWS: Update version number to 4.5.10 to prepare for that
  1384. release. Add a release date (2011-05-11).
  1385. * configure.ac: Also update version number.
  1386. * po/*.po, po/findutils.pot: make dist changes these.
  1387. Savannah bug #30608 (Automagic dependency on selinux) is fixed.
  1388. * NEWS: Mention that Savannah bug #30608 (Automagic dependency on
  1389. selinux) is fixed. The gnulib update on 2011-04-02 will have
  1390. included gnulib change 83e52ee5a420f8b552745a72e5869001b0f6da60
  1391. which fixes this problem. The configure script now provides a
  1392. --without-selinux option.
  1393. Update Estonian translation.
  1394. * po/et.po: Update from the Translation Project.
  1395. 2010-05-24 Kamil Dudka <kdudka@redhat.com>
  1396. Fix Savannah bug #29949, -execdir does not change working directory.
  1397. * find/pred.c (record_exec_dir): Do not throw the execdir when not
  1398. working in the cumulative mode.
  1399. * find/testsuite/find.gnu/execdir-multiple.exp: Add a test-case for
  1400. the bug #29949.
  1401. * NEWS: Mention this bugfix.
  1402. 2011-04-02 James Youngman <jay@gnu.org>
  1403. Change "can not" to "cannot".
  1404. * lib/buildcmd.c (bc_push_arg): "can not" -> "cannot" in message.
  1405. * find/tree.c: Likewise in a comment.
  1406. Update Danish translation.
  1407. * po/da.po: Likewise.
  1408. Update Slovenian, German, Estonian, French, Japanese translations.
  1409. * po/sl.po: Updated from the Translation Project.
  1410. * po/de.po: Likewise.
  1411. * po/et.po: Likewise.
  1412. * po/fr.po: Likewise.
  1413. * po/ja.po: Likewise.
  1414. Update to the current version of gnulib.
  1415. * import-gnulib.config (gnulib_version): Update to the current
  1416. version of gnulib.
  1417. * configure.ac: Update to gettext 0.18.1.
  1418. * po/Rules-quot: Update this file from gettext.
  1419. Use parse-datetime instead of the obsolete module getdate.
  1420. * import-gnulib.config (modules): Import the gnulib module
  1421. parse-datetime instead of the obsolete module getdate.
  1422. * find/parser.c: Include parse-datetime.h instead of getdate.h.
  1423. * doc/find.texi: Include parse-datetime.texi instead of
  1424. getdate.texi.
  1425. * doc/Makefile.am (find_TEXINFOS): Use parse-datetime.texi instead
  1426. of getdate.texi.
  1427. 2010-10-23 James Youngman <jay@gnu.org>
  1428. Savannah bug #31424: Work around Interix bug in _SC_ARG_MAX,
  1429. in which execve will fail with ENOMEM if we use a command line
  1430. somewhere between ARG_MAX and _SC_ARG_MAX.
  1431. * lib/arg-max.h: New file: undefine _SC_ARG_MAX if we cannot rely
  1432. on the value that sysconf produces.
  1433. * lib/Makefile.am (libfind_a_SOURCES): Add arg-max.h.
  1434. * lib/buildcmd.c: #include arg-max.h.
  1435. * xargs/xargs.c: Likewise.
  1436. 2010-10-21 James Youngman <jay@gnu.org>
  1437. Fix Savannah bug #31359: FAIL: test-strstr on alpha.
  1438. * import-gnulib.config (gnulib_version): Update the version of
  1439. gnulib.
  1440. * NEWS: Mention this bugfix.
  1441. 2010-10-11 James Youngman <jay@gnu.org>
  1442. * doc/find.texi (Further Reading on Security): Give some
  1443. references to further reading on security.
  1444. * NEWS: Mention this change.
  1445. 2010-08-16 James Youngman <jay@gnu.org>
  1446. Fix Savannah bug #30777.
  1447. * find/parser.c (insert_exec_ok): Fail if {} appears in an
  1448. argument between -exec ... \+ but it's not the whole argument
  1449. (that is, reject "FOO{}"). Previously the FOO prefix was accepted
  1450. but ignored, which is probably POSIX-incompliant and certainly
  1451. surprising.
  1452. * find/testsuite/find.posix/sv-bug-30777.exp: New test case for
  1453. Savannah bug #30777.
  1454. * find/testsuite/Makefile.am (EXTRA_DIST_EXP): Add
  1455. find.posix/sv-bug-30777.exp.
  1456. 2010-08-15 James Youngman <jay@gnu.org>
  1457. Fix Savannah bug #30180, wrong error message for -size b300
  1458. * find/parser.c (parse_size): Don't print a suffix in the error
  1459. message if no suffix was specified.
  1460. * NEWS: Mention this change.
  1461. * po/da.po: Update Danish translation.
  1462. 2010-05-11 John Gilmore <gnu@xargs.toad.com>
  1463. Fix bug arising when we receive SIGUSR2.
  1464. * xargs/xargs.c (xargs_do_exec): Don't assume that proc_max won't
  1465. decrease while we are waiting for a process to exit. This happens
  1466. if we receive SIGUSR2.
  1467. 2010-05-09 James Youngman <jay@gnu.org>
  1468. * xargs/xargs.1: Refer to signal(7) rather than signal(2).
  1469. 2010-05-08 John Gilmore <gnu@xargs.toad.com>
  1470. Control xargs parallelism with SIGUSR1/SIGUSR2.
  1471. * xargs/xargs.c: Increase parallelism in mid-run with SIGUSR1;
  1472. decrease it with SIGUSR2.
  1473. * doc/find.texi, xargs/xargs.1, NEWS: Document SIGUSR1/2.
  1474. 2010-05-09 Sergei Golovan <sgolovan@gmail.com> (tiny change)
  1475. Fix Savannah bug #29828, test suite deadlock on FreeBSD.
  1476. * find/testsuite/find.gnu/sv-bug-24169.exp: Read find output until
  1477. eof before calling wait, in order to avoid a deadlock on FreeBSD.
  1478. 2010-05-08 Andreas Metzler <gnu@downhill.at.eu.org>
  1479. Fix a typo. Use "\-" in nroff, rather than a naked "-".
  1480. * find/parser.c (check_option_combinations): Fix typo
  1481. "atomatically".
  1482. * find/find.1 (-name): protect nroff hyphens with backslashes.
  1483. * locate/locatedb.5: Likewise.
  1484. 2010-05-07 James Youngman <jay@gnu.org>
  1485. * AUTHORS: Add Kamil Dudka.
  1486. 2010-05-07 Kamil Dudka <kdudka@redhat.com>
  1487. * lib/dircallback.c (run_in_dir): Make sure that if the callback
  1488. doesn't get run, the return value is nonzero. Make sure that if
  1489. the directory save/restore fails, we don't overwrite errno with a
  1490. random value (and hence report some unrelated and nonexistent
  1491. error, instead of the real problem). Restore the previous current
  1492. directory.
  1493. 2010-05-04 James Youngman <jay@gnu.org>
  1494. Bugfix: make sure make distdir works in VPATH directly after configure
  1495. * locate/Makefile.am (EXTRA_DIST): Add dblocation.texi.
  1496. (dblocation.texi): Always rebuild, but don't replace the existing
  1497. version if the content would not change.
  1498. 2010-04-30 James Youngman <jay@gnu.org>
  1499. Update Finnish and Italian translations.
  1500. * po/fi.po: Updated Finnish translation.
  1501. * po/it.po: Updated Italian translation.
  1502. * NEWS: Mention these updates.
  1503. Move on from 4.5.9.
  1504. * NEWS: Bump the version number from 4.5.9 to 4.5.10-git.
  1505. * configure.ac: Likewise.
  1506. 2010-04-29 James Youngman <jay@gnu.org>
  1507. Prepare for the release of findutils version 4.5.9.
  1508. * NEWS: Change the version number to 4.5.9.
  1509. * configure.ac: Likewise.
  1510. Preserve locate/dblocation.texi during 'make clean'.
  1511. * locate/Makefile.am (DISTCLEANFILES): Clean dblocation.texi for
  1512. 'make distclean', but not 'make clean'.
  1513. 2010-04-18 James Youngman <jay@gnu.org>
  1514. Remove redundant declarations.
  1515. * locate/frcode.c: Don't declare xmalloc, include xalloc.h instead.
  1516. * locate/code.c: Don't declare program_name, we already included
  1517. progname.h.
  1518. Remove support for compilers lacking prototypes.
  1519. * find/defs.h: Don't define or use the PARAMS macro.
  1520. * xargs/xargs.c: Likewise.
  1521. * locate/locatedb.h: Likewise.
  1522. * locate/frcode.c: Likewise.
  1523. * lib/buildcmd.c: Likewise.
  1524. * find/tree.c: Likewise.
  1525. * find/pred.c: Likewise.
  1526. * find/parser.c: Likewise.
  1527. * find/fstype.c: Likewise.
  1528. * find/find.c: Likewise.
  1529. 2010-04-21 James Youngman <jay@gnu.org>
  1530. Update Chinese (simplified) translation.
  1531. * po/zh_CN.po: Updated from the Translation Project.
  1532. * NEWS: Mention this change.
  1533. 2010-04-18 James Youngman <jay@gnu.org>
  1534. Fix Savannah bug #29593: Make import-gnulib.sh work under a POSIX shell.
  1535. * import-gnulib.sh: Remove bash-specific '[[...]]' tests; instead
  1536. use '[...]'.
  1537. * NEWS: Mention this bugfix.
  1538. 2010-04-17 James Youngman <jay@gnu.org>
  1539. Remove obsolete module strpbrk.
  1540. * import-gnulib.config (modules): Remove strpbrk.
  1541. * locate/Makefile.am (locate_TEXINFOS): Add dblocation.texi.
  1542. 2010-04-13 James Youngman <jay@gnu.org>
  1543. Correct some test file names.
  1544. * find/testsuite/Makefile.am (EXTRA_DIST_EXP):
  1545. find.gnu/sv-bug-25359-execdir.exp should in fact be
  1546. find.gnu/sv-bug-27563-execdir.exp and
  1547. find.posix/sv-bug-25359-exec.exp should be
  1548. find.posix/sv-bug-27563-exec.exp.
  1549. * .x-sc_prohibit_test_minus_ao: Condense the file (since the
  1550. entries are regular expressions anyway).
  1551. * .x-sc_prohibit_empty_lines_at_EOF: New file; exceptions for the
  1552. sc_prohibit_empty_lines_at_EOF syntax check.
  1553. 2010-04-11 James Youngman <jay@gnu.org>
  1554. Make sure we don't open a file on a standard fd (that is, 0/1/2).
  1555. * lib/fdleak.c: Include fcntl--.h to turn calls to open into calls
  1556. to open_safer.
  1557. * find/find.c: Likewise.
  1558. After-the-fact change to NEWS for 4.5.8: fixed bug 27974.
  1559. * NEWS: Mention that release 4.5.8 also fixed bug #27974 (Use
  1560. gnulib's xreadlinkat support), though the NEWS file in that
  1561. release omitted to say so.
  1562. Fix Savannah bug #29511: fails to build on kfreebsd-*
  1563. * lib/fdleak.c (get_max_fd): Don't use RLIM_SAVED_MAX or
  1564. RLIM_SAVED_CUR. Not only are they non-portable, they aren't
  1565. useful.
  1566. * NEWS: Mention this bugfix.
  1567. Remove some unused or dead code.
  1568. * find/util.c (hook_fstatat): This has been disabled and unused
  1569. for a long time, delete it.
  1570. * find/find.c (process_dir): Remove some unused debug code.
  1571. * find/tree.c (predlist_insert): Remove some dead code.
  1572. * lib/fdleak.c (complain_about_leaky_fds): Remove some unused
  1573. debug code.
  1574. Add a test case for Savannah bug 27563 (-L breaks -execdir).
  1575. * find/testsuite/Makefile.am (EXTRA_DIST_EXP): Add
  1576. find.gnu/sv-bug-27563-execdir.exp and
  1577. find.posix/sv-bug-27563-exec.exp.
  1578. (EXTRA_DIST_XO): Add find.gnu/sv-bug-27563-execdir.xo and
  1579. find.posix/sv-bug-27563-exec.xo.
  1580. * find/testsuite/find.gnu/sv-bug-27563-execdir.exp: New test.
  1581. * find/testsuite/find.posix/sv-bug-27563-exec.exp: New test.
  1582. * find/testsuite/find.gnu/sv-bug-27563-execdir.xo: Expected output.
  1583. * find/testsuite/find.posix/sv-bug-27563-exec.xo: Expected output.
  1584. Fix Savannah bug #27563, -L breaks -execdir.
  1585. * find/pred.c (initialise_wd_for_exec): New function, factoring
  1586. out part of the body of record_exec_dir.
  1587. (record_exec_dir): If state.rel_pathname contains a /, extract the
  1588. directory part and initialise execp->wd_for_exec to point at that
  1589. directory.
  1590. (impl_pred_exec): Rename new_impl_pred_exec to impl_pred_exec.
  1591. Drop the prefix and pfxlen parameters. Compute the base name of
  1592. the target and pass that to the bc_push_arg function instead of
  1593. state.rel_pathname. Deal with state.rel_pathname being an
  1594. absolute path (e.g. find / -execdir...). Introduce a new
  1595. variable, result, allowing us to free the buffer used for the base
  1596. name in the return path.
  1597. (pred_exec): Don't pass the prefix and the prefix length any more.
  1598. (pred_execdir): Likewise.
  1599. (pred_ok): Likewise.
  1600. (pred_okdir): Likewise.
  1601. 2010-04-10 James Youngman <jay@gnu.org>
  1602. Fix Savannah bug #19593, -execdir .... {} + has suboptimal performance
  1603. * find/ftsfind.c (consider_visiting): Don't call
  1604. complete_pending_execdirs for every file we visit.
  1605. (find): Instead, call complete_pending_execdirs every time we
  1606. see a file which isn't at the same nesting level as the previous
  1607. file we saw. This is an improvement but not optimal (since
  1608. descending into a subdirectory will cause us to issue an exec
  1609. before we've finished with the current directory).
  1610. * NEWS: Mention this change.
  1611. Exec predicates now store which directory they want to run in.
  1612. * lib/dircallback.c (run_in_dirfd): New name for old run_in_dir
  1613. function.
  1614. (run_in_dir): Like the old function of the same name, but now
  1615. takes an argument const struct saved_cwd *.
  1616. * lib/dircallback.h: Update declarations of run_in_dirfd and
  1617. run_in_dir.
  1618. * find/util.c: Include dircallback.h, xalloc.h, save-cwd.h.
  1619. (do_complete_pending_execdirs): Remove dir_fd parameter, since the
  1620. per-predicate data structures now indicate what directory they
  1621. need to be run in. Instead of calling bc_do_exec directly, use a
  1622. callback 'exec_cb' that uses run_in_dir (which now takes a
  1623. saved_cwd* parameter instead of a file descriptor).
  1624. (do_exec): Called by do_complete_pending_execdirs, and simply uses
  1625. run_in_dir to call exec_cb, restoring the working directory
  1626. afterward.
  1627. (record_initial_cwd): New function, initialises the global
  1628. variable initial_wd.
  1629. (cleanup_initial_cwd): New function, cleans up the global variable
  1630. initial_wd.
  1631. (cleanup): Call cleanup_initial_cwd.
  1632. (get_start_dirfd): Remove.
  1633. (is_exec_in_local_dir): New function; true for predicates -execdir
  1634. and -okdir.
  1635. * find/pred.c: Include cloexec.h and save-cwd.h.
  1636. (record_exec_dir): New function, sets the value of
  1637. execp->wd_for_exec if needed.
  1638. (new_impl_pred_exec): Remove the obsolete dir_fd parameter. Call
  1639. record_exec_dir.
  1640. (pred_exec): Don't pass the dir_fd parameter.
  1641. (pred_execdir): Likewise.
  1642. (pred_ok): Likewise.
  1643. (pred_okdir): Likewise.
  1644. (can_access): Call run_in_dirfd rather than run_in_dir (the
  1645. function was renamed).
  1646. (prep_child_for_exec): Remove dir_fd parameter; don't fchdir to
  1647. that. Call restore_cwd instead (passing a saved_cwd* parameter
  1648. which replaced dir_fd).
  1649. (launch): Remove references to execp->use_current_dir.
  1650. (launch): Change references to execp->dir_fd to execp->wd_for_exec.
  1651. * find/parser.c: Correct indentiation of declaration of
  1652. insert_exec_ok and remove the obsolete dir_fd parameter.
  1653. (parse_exec): Don't pass the dir_fd parameter to insert_exec_ok.
  1654. (parse_execdir): Likewise.
  1655. (parse_ok): Likewise.
  1656. (parse_okdir): Likewise.
  1657. (insert_exec_ok): Remove obsolete dir_fd paramter. Initialise
  1658. execp->wd_for_exec, either to NULL (for -*dir) or to the
  1659. initial_wd.
  1660. * find/ftsfind.c: Remove get_current_dirfd. Remove
  1661. complete_execdirs_cb.
  1662. (consider_visiting): Call complete_pending_execdirs directly.
  1663. (main): Call record_initial_cwd to record the initial working
  1664. directory, early on. Don't initialise starting_dir or
  1665. starting_desc, they have been removed.
  1666. * find/finddata.c: Include save-cwd.h. Remove starting_dir and
  1667. starting_desc. Add new global variable initial_wd. It is a struct
  1668. saved_wd* and represents find's initial working directory.
  1669. * find/find.c: Include save-cwd.h.
  1670. (main): Call record_initial_cwd in order to initialise the
  1671. global variable initial_wd Don't set starting_desc and
  1672. starting_dir, since those variables have been removed.
  1673. (safely_chdir): Don't pass an fd to complete_pending_execdirs.
  1674. (chdir_back): Remove the safety check (since we are using fchdir
  1675. and in any case no longer have all the data that the existing
  1676. wd_sanity_check function wants).
  1677. (do_process_top_dir): Don't pass an fd to
  1678. complete_pending_execdirs.
  1679. (process_dir): Likewise.
  1680. * find/defs.h (struct exec_val): Remove use_current_dir and
  1681. dir_fd. Replace with wd_for_exec, which is a struct saved_wd*.
  1682. (get_start_dirfd): Remove prototype.
  1683. (get_current_dirfd): Remove prototype.
  1684. (complete_pending_execdirs): No longer takes dir_fd parameter.
  1685. (record_initial_cwd): Add prototype.
  1686. (is_exec_in_local_dir): Add prototype.
  1687. (options): Declare.
  1688. (initial_wd): Add declaration. It is a struct saved_wd* and
  1689. represents find's initial working directory.
  1690. (starting_dir): Remove declaration of global variable.
  1691. (starting_desc): Remove declaration of global variable.
  1692. * import-gnulib.config (modules): Import module save-cwd.
  1693. 2010-04-10 James Youngman <jay@gnu.org>
  1694. Add a test which checks $CWD for find -execdir {} +/;
  1695. * find/testsuite/find.gnu/execdir-multiple.exp: New test; verifies
  1696. that for -execdir +, all the execs occur with the correct working
  1697. directory.
  1698. * find/testsuite/find.gnu/execdir-multiple.xo: Expected output for
  1699. this test.
  1700. * find/testsuite/Makefile.am (EXTRA_DIST_EXP): Add the new test.
  1701. (EXTRA_DIST_XO): Add the expected output file.
  1702. * find/testsuite/config/unix.exp (mkdir): Create proc "mkdir"
  1703. which creates a directory.
  1704. * find/testsuite/find.gnu/execdir-pwd1.exp: New test.
  1705. * find/testsuite/Makefile.am (EXTRA_DIST_EXP): Add
  1706. execdir-pwd1.exp.
  1707. 2010-04-11 James Youngman <jay@gnu.org>
  1708. Fix syntax checks problems for check sc_unmarked_diagnostics.
  1709. * find/tree.c (get_pred_cost): Clarify an error message and mark
  1710. it for translation.
  1711. Fix false positives for syntax check sc_prohibit_test_minus_ao.
  1712. * .x-sc_prohibit_test_minus_ao: Add all the DejaGnu scripts to the
  1713. list of exceptions to the 'test C1 -a C2' syntax check, since they
  1714. are not actually shell scripts.
  1715. Remove trailing blank lines.
  1716. * .x-sc_prohibit_empty_lines_at_EOF: Add list of exceptions to the
  1717. no-blank-lines-at-EOF syntax check.
  1718. * doc/regexprops.texi: Remove empty lines at the end of the file.
  1719. * find/finddata.c: Likewise.
  1720. * find/fstype.c: Likewise.
  1721. * find/testsuite/excuses.txt: Likewise.
  1722. * find/testsuite/find.gnu/access.exp: Likewise.
  1723. * find/testsuite/find.gnu/exec-one-rtn-fail.exp: Likewise.
  1724. * find/testsuite/find.gnu/posix-perminvalid.exp: Likewise.
  1725. * find/testsuite/find.gnu/samefile-missing.exp: Likewise.
  1726. * find/testsuite/find.gnu/samefile-p-brokenlink.exp: Likewise.
  1727. * find/testsuite/find.gnu/sv-bug-17490.exp: Likewise.
  1728. * find/testsuite/find.gnu/sv-bug-18222.exp: Likewise.
  1729. * find/testsuite/find.posix/bracket-depth.exp: Likewise.
  1730. * find/testsuite/find.posix/empty-parens.exp: Likewise.
  1731. * find/testsuite/find.posix/files-not-expressions1.exp: Likewise.
  1732. * find/testsuite/find.posix/files-not-expressions2.exp: Likewise.
  1733. * find/testsuite/find.posix/files-not-expressions3.exp: Likewise.
  1734. * find/testsuite/find.posix/group-empty.exp: Likewise.
  1735. * find/testsuite/find.posix/user-empty.exp: Likewise.
  1736. * find/testsuite/find.posix/user-missing.exp: Likewise.
  1737. * lib/extendbuf.c: Likewise.
  1738. * lib/fdleak.c: Likewise.
  1739. * lib/fdleak.h: Likewise.
  1740. * lib/findutils-version.h: Likewise.
  1741. * lib/gnulib-version.h: Likewise.
  1742. * lib/printquoted.c: Likewise.
  1743. * lib/regextype.c: Likewise.
  1744. * lib/safe-atoi.c: Likewise.
  1745. * locate/testsuite/config/unix.exp: Likewise.
  1746. * locate/testsuite/locate.gnu/exists1.exp: Likewise.
  1747. * locate/testsuite/locate.gnu/exists2.exp: Likewise.
  1748. * locate/testsuite/locate.gnu/exists3.exp: Likewise.
  1749. * locate/testsuite/locate.gnu/ignore_case1.exp: Likewise.
  1750. * locate/testsuite/locate.gnu/ignore_case2.exp: Likewise.
  1751. * locate/testsuite/locate.gnu/ignore_case3.exp: Likewise.
  1752. * locate/testsuite/locate.gnu/notexists1.exp: Likewise.
  1753. * locate/testsuite/locate.gnu/notexists2.exp: Likewise.
  1754. * locate/testsuite/locate.gnu/notexists3.exp: Likewise.
  1755. * locate/testsuite/locate.gnu/sv-bug-14535.exp: Likewise.
  1756. * m4/Makefile.am: Likewise.
  1757. * m4/nullsort.m4: Likewise.
  1758. * xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.exp: Likewise.
  1759. * xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.exp: Likewise.
  1760. After-the-fact change to NEWS for 4.5.8: fixed bug 27221.
  1761. * NEWS: Mention that release 4.5.8 also fixed bug #27221
  1762. (symlink_loop check broken by FTS_CWDFD), though the NEWS file in
  1763. that release omitted to say so.
  1764. After-the-fact change to NEWS for 4.5.8: fixed bug 27974.
  1765. * NEWS: Mention that release 4.5.8 also fixed bug #27974 (Use
  1766. gnulib's xreadlinkat support), though the NEWS file in that
  1767. release omitted to say so.
  1768. 2010-04-10 James Youngman <jay@gnu.org>
  1769. * import-gnulib.config (gnulib_version): Update to current gnulib
  1770. head.
  1771. 2010-04-09 James Youngman <jay@gnu.org>
  1772. * find/parser.c (parse_samefile): Use open_cloexec to open the
  1773. reference file, so that we don't leak a file descriptor.
  1774. 2010-04-09 Roberto Reale <rreale@iol.it> (tiny change)
  1775. * find/parser.c (parse_samefile): Since collect_arg_stat_info
  1776. increments *arg_ptr, argv[*arg_ptr] is often NULL. Use filename
  1777. instead, as that's the variable in which we store the name of our
  1778. file. The purpose of the fd was only to attempt to keep the inode
  1779. number stable on systems that don't really have inode numbers, so
  1780. this change should have no functional effect on POSIX systems.
  1781. 2010-04-08 James Youngman <jay@gnu.org>
  1782. Adopt the use of the gnulib module readlink.
  1783. * import-gnulib.config (modules): Add readlink.
  1784. Adopt the use of the gnulib module isblank.
  1785. (modules): Add isblank.
  1786. Adopt the use of the gnulib module faccessat.
  1787. * import-gnulib.config (modules): Add faccessat.
  1788. * find/pred.c (struct access_check_args): Delete.
  1789. (access_callback): Delete.
  1790. (can_access): Delete.
  1791. (pred_executable): Use faccessat.
  1792. (pred_readable): Likewise.
  1793. (pred_writable): Likewise.
  1794. Adopt (explicitly) the use of the gnulib module dirent-safer.
  1795. * import-gnulib.config (modules): Add dirent-safer; we were
  1796. previously transitively importing this module, but we are now
  1797. importing it directly.
  1798. * lib/savedirinfo.c: Include opendir-safer.h.
  1799. (xsavedir): Call opendir_safer instead of opendir.
  1800. Adopt the use of the gnulib module d-type.
  1801. * import-gnulib.config (modules): Import the d-type module.
  1802. * configure.ac: Remove old struct dirent.d_type detection logic
  1803. (since we now use the gnulib macro from the d-type module for
  1804. this).
  1805. * find/parser.c (parse_version): Use HAVE_STRUCT_DIRENT_D_TYPE
  1806. (since the d-ino module still defines it) but remove references to
  1807. the macro USE_STRUCT_DIRENT_D_TYPE, since it's not defined and not
  1808. needed.
  1809. * lib/savedirinfo.c: Use HAVE_STRUCT_DIRENT_D_TYPE but ignore
  1810. USE_STRUCT_DIRENT_D_TYPE.
  1811. (xsavedir): Unconditionally initialise
  1812. internal[result->size].type_info so that we don't have untested
  1813. code (HAVE_STRUCT_DIRENT_D_TYPE is defined on my system).
  1814. Move on from 4.5.8.
  1815. * configure.ac: Bump the version number to 4.5.9-git.
  1816. * NEWS: Likewise.
  1817. 2010-04-07 James Youngman <jay@gnu.org>
  1818. Prepare to release findutils-4.5.8.
  1819. * configure.ac: Update version number in AC_INIT.
  1820. * NEWS: Update version number and release date.
  1821. Depend on gnulib modules appropriate to features we already use.
  1822. * import-gnulib.config (modules): Add c-casestr, errno, fdopendir,
  1823. fflush, getdelim, gettimeofday, locale, modf, perror, snprintf,
  1824. stat, stdarg, stddef, stdio, stdlib, string, strpbrk, sys_time,
  1825. sys_wait.
  1826. Also add comments about other modules we may also want to use
  1827. which would require other code changes (for example dirent-safer).
  1828. * find/Makefile.am (LDADD): Add $(LIB_EACCESS) $(LIB_SELINUX)
  1829. $(MODF_LIBM) which are needed by gnulib modules we now depend on.
  1830. More stat/xstat cleanup.
  1831. * find/parser.c (estimate_fstype_success_rate): Change the name of
  1832. the variable "dir" to "the_root_dir" to emphasise that it doesn't
  1833. matter that we're calling stat rather than options.xstat.
  1834. * find/ftsfind.c (symlink_loop): Call options.xstat instead of
  1835. stat/lstat, because options.xstat takes account of
  1836. state.cwd_dir_fd.
  1837. Fix Savannah bug 29460, -printf %Y fails in $CWD-dependent way
  1838. * find/pred.c (do_fprintf): Use optionl_stat and optionp_stat
  1839. instead of stat and lstat, because the first two functions are
  1840. aware of state.cwd_dir_fd.
  1841. * find/testsuite/find.gnu/printf-nonlocal-symlink.exp: A new test
  1842. case for this bug.
  1843. * find/testsuite/find.gnu/printf-nonlocal-symlink.xo: Expected
  1844. output for this test.
  1845. * find/testsuite/Makefile.am (EXTRA_DIST_EXP): Add the new test
  1846. case.
  1847. (EXTRA_DIST_XO): Add the expected-output file.
  1848. * NEWS: Mention this fix.
  1849. * lib/strspn.c: Delete this unused file.
  1850. Update the maintenance manual.
  1851. * doc/find-maint.texi: Update the maintenance manual to take into
  1852. account the fact that we uniformly use git rather than CVS. Point
  1853. out the new version tag format. Mention "make coverage".
  1854. README-CVS is now called README-hacking. Update the URL for the
  1855. Translation Project.
  1856. Eliminate some obsolete code.
  1857. * locate/locate.c (search_one_database): Remove obsolete code
  1858. (alternative size for procdata.pathsize).
  1859. * lib/buildcmd.c (get_line_max): Remove obsolete function.
  1860. Remove obsolete code from savedirinfo.c.
  1861. * lib/savedirinfo.c (new_savedirinfo): Rename new_savedirinfo to
  1862. savedirinfo.
  1863. (old_savedirinfo): Remove obsolete function body.
  1864. Support extendbuf buffers larger than SIZE_MAX/2.
  1865. * lib/extendbuf.c (xextendbuf): New function; extends the buffer,
  1866. but calls xalloc_die on failure. On the the other hand, extendbuf
  1867. returns NULL on failure.
  1868. (decide_size): If wanted>SIZE_MAX/2, return wanted. This means
  1869. that for very large buffers, performance on repeated extension
  1870. degrades from linear to quadratic (instead of just failing at that
  1871. point, as before).
  1872. * lib/savedirinfo.c (xsavedir): Use xextendbuf rather than
  1873. extendbuf, now that there is a difference in semantics.
  1874. * find/fstype.c (get_mounted_filesystems): If extendbuf returns
  1875. NULL, fail (by returning NULL ourselves).
  1876. (get_mounted_devices): Likewise.
  1877. * po/vi.po: Update Vietnamese translation.
  1878. * NEWS: Mention this change.
  1879. 2010-04-05 James Youngman <jay@gnu.org>
  1880. Use set_program_name in regexprops.
  1881. * lib/regexprops.c: Include "progname.h". Update function
  1882. defintions to have a newline before the function name (to comply
  1883. with the GNU coding standard). Use set_program_name.
  1884. 2010-04-06 James Youngman <jay@gnu.org>
  1885. Fix several merge errors.
  1886. * find/defs.h (struct state): Correct type of
  1887. already_issued_stat_error_msg from boolean to bool.
  1888. * find/util.c (report_file_err): Likewise with parameter
  1889. is_target_file.
  1890. * find/pred.c: Include "areadlink.h".
  1891. (do_fprintf): nonfatal_file_error should be
  1892. nonfatal_target_file_error.
  1893. (match_lname): Likewise.
  1894. Update some translations.
  1895. * po/cs.po: Update Czech translation.
  1896. * po/nl.po: Update Dutch translation.
  1897. * po/pl.po: Update Polish translation.
  1898. * po/ru.po: Update Russian translation.
  1899. * import-gnulib.config (modules): Use the getopt-gnu module from
  1900. gnulib rather than the (obsolete) getopt module.
  1901. Remove form-feeds.
  1902. * find/find.c: Remove form-feed characters.
  1903. * find/ftsfind.c: Likewise.
  1904. * find/parser.c: Likewise.
  1905. * find/pred.c: Likewise.
  1906. * find/tree.c: Likewise.
  1907. * find/util.c: Likewise.
  1908. * locate/locate.c: Likewise.
  1909. * xargs/xargs.c: Likewise.
  1910. 2010-04-05 James Youngman <jay@gnu.org>
  1911. Use bool instead of the previous typedef boolean.
  1912. * find/defs.h: Don't create typedef "boolean"; use the standard
  1913. type bool. Update other declarations accordingly.
  1914. * find/find.c: Update declarations and function definitions to use
  1915. bool.
  1916. * find/ftsfind.c: Likewise.
  1917. * find/parser.c: Likewise.
  1918. * find/pred.c: Likewise.
  1919. * find/tree.c: Likewise.
  1920. * find/util.c: Likewise.
  1921. * locate/locate.c: Likewise.
  1922. * xargs/xargs.c: Likewise.
  1923. Make use of gnulib's areadlinkat.
  1924. * lib/listfile.c: #include "areadlink.h" but not "dircallback.h",
  1925. since we no longer need to use get_link_name_at.
  1926. Don't include xalloc.h, since we don't need it.
  1927. (get_link_name_at): Delete.
  1928. (get_link_name_cb): Delete.
  1929. (get_link_name): Delete.
  1930. * lib/listfile.h: Remove declaration of get_link_name_at.
  1931. * find/pred.c (match_lname): Use areadlinkat instead of
  1932. get_link_name_at.
  1933. Use bool instead of the previous typedef boolean.
  1934. * find/defs.h: Don't create typedef "boolean"; use the standard
  1935. type bool. Update other declarations accordingly.
  1936. * find/find.c: Update declarations and function definitions to use
  1937. bool.
  1938. * find/ftsfind.c: Likewise.
  1939. * find/parser.c: Likewise.
  1940. * find/pred.c: Likewise.
  1941. * find/tree.c: Likewise.
  1942. * find/util.c: Likewise.
  1943. * locate/locate.c: Likewise.
  1944. * xargs/xargs.c: Likewise.
  1945. Don't issue an error message twice for the same target file.
  1946. * find/defs.h (struct state): New member,
  1947. already_issued_stat_error_msg, used to de-duplicate error
  1948. messages. If it is true, we already issued an error message for
  1949. the current target file.
  1950. Declare fatal_target_file_error, fatal_nontarget_file_error,
  1951. nonfatal_target_file_error, nonfatal_nontarget_file_error.
  1952. Between them, they replace fatal_file_error and
  1953. nonfatal_file_error. The *target_file_error versions are
  1954. de-duplicated and the nontarget_file_error_versions are not.
  1955. * find/util.c (nonfatal_nontarget_file_error): Implement.
  1956. (fatal_nontarget_file_error): Implement.
  1957. (nonfatal_target_file_error): Implement.
  1958. (fatal_target_file_error): Implement.
  1959. (fatal_file_error): Remove.
  1960. (nonfatal_file_error): Remove.
  1961. (error_severity): Define error_severity (moved from ftsfind.c)
  1962. (get_statinfo): Call nonfatal_target_file_error in order to avoid
  1963. a duplicate message. ALso call error_severity after a different
  1964. call to error to preserve the constraint that we exit with a
  1965. nonzero status if we issue a diagnostic.
  1966. (cleanup): Call nonfatal_nontarget_file_error instead of
  1967. nonfatal_file_error.
  1968. * find/tree.c (build_expression_tree): Initialise
  1969. state.already_issued_stat_error_msg.
  1970. * find/find.c (main): Initialise state.already_issued_stat_error_msg.
  1971. (wd_sanity_check): Call fatal_target_file_error instead of
  1972. fatal_file_error.
  1973. (chdir_back): Call fatal_nontarget_file_error instead of
  1974. fatal_file_error.
  1975. (process_path): Initialise state.already_issued_stat_error_msg.
  1976. * find/ftsfind.c (consider_visiting): Call
  1977. nonfatal_target_file_error instead of calling error directly.
  1978. (find): Call error_severity to ensure exit status is nonzero after
  1979. a call to error.
  1980. (main): Initialise state.already_issued_stat_error_msg.
  1981. (error_severity): Move to util.c.
  1982. * find/parser.c (collect_arg_stat_info): Call
  1983. fatal_target_file_error instead of fatal_file_error.
  1984. (parse_newerXY): Likewise.
  1985. (parse_samefile): Likewise.
  1986. (parse_samefile): Likewise.
  1987. (open_output_file): Call fatal_nontarget_file_error instead of
  1988. fatal_file_error.
  1989. * find/pred.c (checked_fprintf): Likewise.
  1990. (checked_print_quoted): Likewise.
  1991. (checked_fwrite): Likewise.
  1992. (checked_fflush): Likewise.
  1993. * find/sharefile.c (entry_free): Likewise.
  1994. 2010-04-04 Martin von Gagern <Martin.vGagern@gmx.net>
  1995. Fix Savannah bug #27213: avoid failed assertions for
  1996. non-executable directories.
  1997. (consider_visiting): Continue (after issuing an error message)
  1998. even if ent->fts_info == FTS_NS.
  1999. * find/util.c (get_statinfo): If we cannot stat the file, issue a
  2000. diagnostic, but continue anyway.
  2001. * find/ftsfind.c (consider_visiting): Don't assert-fail if
  2002. ent->fts_info == FTS_NSOK. Don't assert-fail if state.type is
  2003. nonzero.
  2004. 2010-04-04 James Youngman <jay@gnu.org>
  2005. Fix Savannah bug #29435: fd_is_cloexec does not work on Fedora
  2006. buildhosts.
  2007. Fix open_cloexec on hosts which ignore O_CLOEXEC (i.e. old kernels).
  2008. * lib/fdleak.c (o_cloexec_works): New function, detects whether
  2009. the open flag O_CLOEXEC has any effect.
  2010. (open_cloexec): Call o_cloexec_works, just once, to find out
  2011. whether O_CLOEXEC is effective. If not, set the close-on-exec
  2012. flag on fds by calling set_cloexec_flag.
  2013. * NEWS: Mention this bugfix.
  2014. Use bool instead of the previous typedef boolean.
  2015. * find/defs.h: Don't create typedef "boolean"; use the standard
  2016. type bool. Update other declarations accordingly.
  2017. * find/find.c: Update declarations and function definitions to use
  2018. bool.
  2019. * find/ftsfind.c: Likewise.
  2020. * find/parser.c: Likewise.
  2021. * find/pred.c: Likewise.
  2022. * find/tree.c: Likewise.
  2023. * find/util.c: Likewise.
  2024. * locate/locate.c: Likewise.
  2025. * xargs/xargs.c: Likewise.
  2026. 2010-04-05 Jim Meyering <meyering@redhat.com>
  2027. frcode: avoid link failure due to multiple program_name definition
  2028. * locate/frcode.c: Include "progname.h".
  2029. (program_name): Remove two declarations.
  2030. Now the definition comes from gnulib.
  2031. 2010-04-04 James Youngman <jay@gnu.org>
  2032. Don't return int to represent a boolean value.
  2033. * find/defs.h: fd_leak_check_is_enabled should return boolean, not
  2034. int. Likewise following_links and digest_mode.
  2035. * lib/buildcmd.h: Likewise for bc_args_exceed_testing_limit.
  2036. Also #include <stdbool.h>.
  2037. * find/util.c (fd_leak_check_is_enabled): Now returns boolean.
  2038. * find/util.c (following_links): Likewise.
  2039. * find/util.c (digest_mode): Likewise.
  2040. * lib/buildcmd.c (bc_args_exceed_testing_limit): Likewise.
  2041. * find/find.c (get_current_dirfd): Indent definition correctly.
  2042. * find/util.c (get_start_dirfd): Likewise.
  2043. Fix Savannah bug #29435: fd_is_cloexec does not work on Fedora
  2044. buildhosts.
  2045. Fix open_cloexec on hosts which ignore O_CLOEXEC (i.e. old kernels).
  2046. * lib/fdleak.c (o_cloexec_works): New function, detects whether
  2047. the open flag O_CLOEXEC has any effect.
  2048. (open_cloexec): Call o_cloexec_works, just once, to find out
  2049. whether O_CLOEXEC is effective. If not, set the close-on-exec
  2050. flag on fds by calling set_cloexec_flag.
  2051. * NEWS: Mention this bugfix.
  2052. 2010-04-03 James Youngman <jay@gnu.org>
  2053. Move on from 4.5.7.
  2054. * configure.ac: Update version number again, to 4.5.8-git.
  2055. * NEWS: Likewise.
  2056. Prepare for release of findutils-4.5.7.
  2057. * configure.ac: Update version number.
  2058. * NEWS: Mention the translation changes. Update version number.
  2059. Accelerate find/testsuite/find.posix/exec-nogaps.exp.
  2060. * find/testsuite/config/unix.exp (optimisation_levels_to_test):
  2061. New function, decides which optimisation levels we shuld run find
  2062. at for the current test. Set $OPTIMISATION_LEVELS to control
  2063. this.
  2064. (find_start): Call optimisation_levels_to_test to determine which
  2065. optimisation levels to run find at.
  2066. * find/testsuite/find.posix/exec-nogaps.exp: Run the test only at
  2067. -O3 (but for both oldfind and ftsfind).
  2068. Correct the format of copyright statements, and add 2010.
  2069. * lib/fdleak.h: Correct the format of the copyright statement.
  2070. * po/vi.po: Likewise.
  2071. * lib/safe-atoi.h: Likewise.
  2072. * locate/locate.c: Likewise.
  2073. * po/ca.po: Likewise.
  2074. * po/gl.po: Likewise.
  2075. * po/fi.po: Likewise.
  2076. * po/it.po: Likewise.
  2077. * po/findutils.pot: Fill in the boilerplate in the header.
  2078. Update copyright years.
  2079. * find/defs.h: Update copyright years.
  2080. * find/finddata.c: Likewise.
  2081. * find/sharefile.h: Likewise.
  2082. * lib/buildcmd.h: Likewise.
  2083. * lib/dircallback.h: Likewise.
  2084. * lib/extendbuf.h: Likewise.
  2085. * lib/findutils-version.h: Likewise.
  2086. * lib/gnulib-version.h: Likewise.
  2087. * lib/listfile.h: Likewise.
  2088. * lib/nextelem.c: Likewise.
  2089. * lib/nextelem.h: Likewise.
  2090. * lib/printquoted.h: Likewise.
  2091. * lib/regextype.h: Likewise.
  2092. * lib/savedirinfo.h: Likewise.
  2093. * lib/strspn.c: Likewise.
  2094. * lib/waitpid.c: Likewise.
  2095. * locate/locatedb.h: Likewise.
  2096. * m4/mkinstalldirs.m4: Likewise.
  2097. * m4/noreturn.m4: Likewise.
  2098. * build-aux/check-testfiles.sh: Likewise.
  2099. * build-aux/src-sniff.py: Likewise.
  2100. * import-gnulib.sh: Likewise.
  2101. * locate/testsuite/config/unix.exp: Likewise.
  2102. * locate/updatedb.sh: Likewise.
  2103. * xargs/testsuite/config/unix.exp: Likewise.
  2104. Add the update-copyright gnulib module.
  2105. * import-gnulib.config (maintainer_modules): Separate out the
  2106. modules primarily useful for maintainer activities. Add
  2107. 'update-copyright' to this.
  2108. * build-aux/.cvsignore: Ignore update-copyright, since it's
  2109. installed by gnulib.
  2110. * build-aux/.gitignore: Likewise.
  2111. Ignore generated files for the convenience of non-VPATH users.
  2112. * lib/.gitignore: Ignore object and archive files.
  2113. * find/.gitignore: Likewise.
  2114. * locate/.gitignore: Ignore object files.
  2115. 2010-04-02 James Youngman <jay@gnu.org>
  2116. Check for accidental modifications to the wrong section of the
  2117. NEWS file.
  2118. * cfg.mk (local-checks-to-skip): Remove sc_immutable_news.
  2119. (old_NEWS_hash): add existing hash (from "make update-NEWS-hash").
  2120. * cfg.mk: Append the names of checks to skip to
  2121. local-checks-to-skip rather than inventing 7 new variables.
  2122. Don't include quote.h/quotearg.h where it is not used.
  2123. * find/find.c: Don't include "quote.h", it's not used.
  2124. * find/ftsfind.c: Likewise.
  2125. * find/parser.c: Likewise.
  2126. * locate/locate.c: Likewise.
  2127. * locate/word_io.c: Likewise.
  2128. * cfg.mk (skip_dunno): Enable check sc_prohibit_quote_without_use.
  2129. * find/find.c: Don't include "quotearg.h", it's not used.
  2130. * lib/fdleak.c: Likewise.
  2131. Use set_program_name() to remember the programs' names.
  2132. * cfg.mk *skip(defer): Enable sc_program_name. Remove the
  2133. now-unused variable skip_defer.
  2134. * find/ftsfind.c: Include "program_name.h".
  2135. (main): Call set_program_name.
  2136. * find/find.c: Include "program_name.h".
  2137. (main): Call set_program_name.
  2138. * locate/locate.c: Include "program_name.h".
  2139. (dolocate): Call set_program_name.
  2140. Remove global variable program_name.
  2141. * locate/bigram.c: Include "program_name.h".
  2142. Remove global variable "program_name".
  2143. (main): Call set_program_name.
  2144. * locate/frcode.c: Include "program_name.h".
  2145. (main): Call set_program_name.
  2146. * xargs/xargs.c (main): Call set_program_name.
  2147. Include "program_name.h".
  2148. Remove global variable program_name.
  2149. * find/finddata.c: Remove global variable program_name.
  2150. * find/defs.h: No longer need declaration of program_name.
  2151. * find/util.c: Include "program_name.h".
  2152. Use named constants for xargs exit codes.
  2153. * xargs/xargs.c (child_error): Use EXIT_SUCCESS instead of 0.
  2154. (enum XargsStatusValues): introduce named constants for the
  2155. various things that cause speicific exit codes.
  2156. (enum ClientStatusValues): Also introduce named constants for the
  2157. child's exit status.
  2158. (get_char_oct_or_hex_escape): Use EXIT_FAILURE instead of 1.
  2159. (get_input_delimiter): Likewise.
  2160. (main): Likewise.
  2161. (read_line): Likewise.
  2162. (read_string): Likewise.
  2163. (print_args): Likewise.
  2164. (xargs_do_exec): Likewise.
  2165. (wait_for_proc): Likewise.
  2166. (wait_for_proc): Use enum XargsStatusValues for exit codes.
  2167. (parse_num): Use EXIT_FAILURE instead of 1.
  2168. Avoid using magic numbers as exit statuses.
  2169. * cfg.mk (skip_defer): Enable sc_prohibit_magic_number_exit.
  2170. * doc/find-maint.texi (Security): Avoid error (1, ...) in the
  2171. example patch.
  2172. * find/find.c (main): Use exit status EXIT_FAILURE instead of 1.
  2173. (wd_sanity_check): Likewise.
  2174. (safely_chdir_lstat): Likewise.
  2175. (process_dir): Likewise.
  2176. * find/fstype.c (must_read_fs_list): Likewise.
  2177. * find/ftsfind.c (main): Likewise.
  2178. (main): Likewise.
  2179. * find/parser.c (check_option_combinations): Use exit status
  2180. EXIT_FAILURE instead of 1.
  2181. (parse_group): Likewise.
  2182. (parse_help): Use exit status EXIT_SUCCESS instead of 0.
  2183. (parse_version): Likewise.
  2184. (fnmatch_sanitycheck): Use exit status EXIT_FAILURE instead of 1.
  2185. (insert_depthspec): Likewise.
  2186. (parse_newerXY): Likewise.
  2187. (non_posix_mode): Likewise.
  2188. (parse_perm): Likewise.
  2189. (insert_regex): Likewise.
  2190. (parse_size): Likewise.
  2191. (parse_show_control_chars): Likewise.
  2192. (parse_used): Likewise.
  2193. (parse_user): Likewise.
  2194. (parse_context): Likewise.
  2195. (insert_type): Likewise.
  2196. (insert_fprintf): Likewise.
  2197. (make_segment): Likewise.
  2198. (check_path_safety): Likewise.
  2199. (new_insert_exec_ok): Likewise.
  2200. (get_relative_timestamp): Likewise.
  2201. (parse_time): Likewise.
  2202. * find/tree.c (get_expr): Use exit status EXIT_FAILURE instead of 1.
  2203. (scan_rest): Likewise.
  2204. (get_pred_cost): Likewise.
  2205. (get_pred_cost): Likewise.
  2206. (build_expression_tree): Likewise.
  2207. (get_new_pred_chk_op): Likewise.
  2208. * find/pred.c (launch): Use exit status EXIT_FAILURE instead of 1.
  2209. * find/util.c (process_debug_options): Use exit status
  2210. EXIT_SUCCESS instead of 0.
  2211. (process_optimisation_option): Use exit status EXIT_FAILURE
  2212. instead of 1.
  2213. (set_option_defaults): Likewise.
  2214. * lib/buildcmd.c (exceeds): Likewise.
  2215. (bc_do_exec): Likewise.
  2216. (bc_push_arg): Likewise.
  2217. * lib/nextelem.c: Remove test code.
  2218. * lib/safe-atoi.c (safe_atoi): Use exit status EXIT_FAILURE
  2219. instead of 1.
  2220. * lib/regextype.c (get_regex_type): Use exit status EXIT_FAILURE
  2221. instead of 1. Include <stdlib.h>, for EXIT_FAILURE.
  2222. * locate/locate.c (set_max_db_age): Use exit status EXIT_FAILURE
  2223. instead of 1.
  2224. (set_max_db_age): Likewise.
  2225. (toolong): Likewise.
  2226. (visit_locate02_format): Likewise.
  2227. (search_one_database): Likewise.
  2228. (drop_privs): Likewise.
  2229. * locate/frcode.c (get_seclevel): Use exit status EXIT_FAILURE
  2230. instead of 1.
  2231. (outerr): Likewise.
  2232. (main): Likewise.
  2233. * locate/code.c (inerr): Use exit status EXIT_FAILURE instead of
  2234. 1.
  2235. (outerr): Likewise.
  2236. * locate/word_io.c (getword): Use exit status EXIT_FAILURE instead of 1.
  2237. Avoid sc_prohibit_stat_st_blocks check, since it is broken.
  2238. * cfg.mk (skip_broken_checks): Skip sc_prohibit_stat_st_blocks.
  2239. Enable syntax checker sc_the_the, detecting doubled 'the'.
  2240. * cfg.mk (false_positives): Enable syntax checker sc_the_the
  2241. * build-aux/src-sniff.py (checkers): Avoid false positive with
  2242. sc_the_the.
  2243. Avoid false positives for sc_prohibit_atoi_atof.
  2244. * find/util.c (set_option_defaults): Avoid false positive with
  2245. sc_prohibit_atoi_atof.
  2246. (check_nofollow): Likewise.
  2247. Avoid sscanf.
  2248. * lib/fdleak.c (get_proc_max_fd): Use safe_atoi to do string to
  2249. int conversion, instead of sscanf. Skip '.' and '..'.
  2250. * cfg.mk (skip_defer): Enable the sc_prohibit_atoi_atof check.
  2251. * po/POTFILES.in: Remove source files we don't maintain any more.
  2252. Also remove files which exist but have no translated messages
  2253. (dircallback.c, listfile.c).
  2254. * lib/listfile.c: Don't include libintl, since there are no
  2255. translated messages in this file.
  2256. * lib/dircallback.c: Likewise.
  2257. Move safe_atoi out into a separate module.
  2258. * find/parser.c: Include "safe-atoi.h". Remove the body of safe_atoi.
  2259. (parse_group): pass options.err_quoting_style to safe_atoi.
  2260. (insert_depthspec): Likewise.
  2261. (parse_user): Likewise.
  2262. * lib/safe-atoi.h: New file.
  2263. * lib/safe-atoi.c: New file. Add parameter for quoting style (to
  2264. avoid an external reference to the "options"struct).
  2265. * lib/Makefile.am (libfind_a_SOURCES): Add safe-atoi.c and
  2266. safe-atoi.h.
  2267. Avoid false positives for the sc_prohibit_test_minus_ao syntax check.
  2268. * doc/find.texi (Updating A Timestamp File): Work around a syntax
  2269. check designed to prevent the use of "test X -a Y".
  2270. * find/find.1: Likewise.
  2271. * find/ftsfind.c: We don't use anything from xalloc.h, so don't
  2272. #include it.
  2273. Eliminate some unused function result warnings.
  2274. * lib/unused-result.h: New file, defines function attribute macro
  2275. __attribute_warn_unused_result__.
  2276. * lib/Makefile.am (EXTRA_DIST): Add unused-result.h.
  2277. * find/ftsfind.c (find): Issue a diagnostic if fts_close fails,
  2278. change return type to bool and return false for this case. Add
  2279. __warn_unused_result__ attribute.
  2280. (process_all_startpoints): Likewise (except no need for second
  2281. diagnostic).
  2282. (main): If process_all_startpoints failed, don't do the cleanup
  2283. operations because we don't know what subdirectory we're in.
  2284. * find/util.c (fd_leak_check_is_enabled): Avoid implicit
  2285. pointer-to-int conversion.
  2286. * lib/buildcmd.c: #include <stdlib.h> for declaration of free.
  2287. Avoid false positives for the sc_prohibit_test_minus_ao syntax check.
  2288. * doc/find.texi (Updating A Timestamp File): Work around a syntax
  2289. check designed to prevent the use of "test X -a Y".
  2290. * find/find.1: Likewise.
  2291. * find/ftsfind.c: We don't use anything from xalloc.h, so don't
  2292. #include it.
  2293. Eliminate some unused function result warnings.
  2294. * lib/unused-result.h: New file, defines function attribute macro
  2295. __attribute_warn_unused_result__.
  2296. * lib/Makefile.am (EXTRA_DIST): Add unused-result.h.
  2297. * find/ftsfind.c (find): Issue a diagnostic if fts_close fails,
  2298. change return type to bool and return false for this case. Add
  2299. __warn_unused_result__ attribute.
  2300. (process_all_startpoints): Likewise (except no need for second
  2301. diagnostic).
  2302. (main): If process_all_startpoints failed, don't do the cleanup
  2303. operations because we don't know what subdirectory we're in.
  2304. * find/util.c (fd_leak_check_is_enabled): Avoid implicit
  2305. pointer-to-int conversion.
  2306. * lib/buildcmd.c: #include <stdlib.h> for declaration of free.
  2307. Fix some space-followed-by-tab sequences.
  2308. * NEWS: Change space-tab sequences to just spaces.
  2309. * build-aux/check-testfiles.sh (main): Likewise
  2310. * build-aux/src-sniff.py (checkers): Likewise.
  2311. * find/Makefile.am: Likewise.
  2312. * find/testsuite/find.posix/sv-bug-25359.exp: Likewise.
  2313. * import-gnulib.sh (check_merge_driver): Likewise.
  2314. * m4/withfts.m4 (FIND_WITH_FTS): Likewise.
  2315. * cfg.mk (false_positives): Explain why we can't enable the
  2316. sc_space_tab check (xargs .xo test files).
  2317. * cfg.mk: Explain that we cannot enable the sc_texinfo_acronym
  2318. syntax check right now, since the perm.texi file uses
  2319. @acronym{GNU} but we try to keep that in sync. with coreutils.
  2320. Mark error messages for translation.
  2321. * find/parser.c (safe_atoi): Likewise.
  2322. * find/pred.c (pred_context): Likewise.
  2323. (do_fprintf): Likewise.
  2324. * xargs/xargs.c (xargs_do_exec): Translate error message.
  2325. (xargs_do_exec): Likewise.
  2326. * lib/buildcmd.c (exceeds): Likewise.
  2327. Add customisation of the behaviour of "make syntax-check".
  2328. * cfg.mk: New file; configuration file for the maintainer-makefile
  2329. provided by gnulib.
  2330. * import-gnulib.config (modules): Add maintainer-makefile.
  2331. Various coding standard fixes.
  2332. * m4/withfts.m4: Quote the first argument of AC_DEFINE.
  2333. * lib/regextype.c: Don't use HAVE_CONFIG_H.
  2334. * doc/find-maint.texi: Remove RCS keywords (they were in an
  2335. example security vulnerability announcement).
  2336. Don't define S_IS*; include <sys/stat.h> instead.
  2337. * lib/modetype.h: Remove (all it does is define S_IS*).
  2338. * lib/Makefile.am (EXTRA_DIST): Remove modetype.h.
  2339. * lib/listfile.c: Don't define S_IS* macros.
  2340. * find/pred.c: Don't include "modetype.h".
  2341. * find/parser.c: Likewise.
  2342. * find/ftsfind.c: Likewise.
  2343. * find/fstype.c: Likewise.
  2344. * find/find.c: Likewise.
  2345. * m4/withfts.m4: Quote the first argument of AC_DEFINE.
  2346. Coding standard fix: "Warning" should be "WARNING".
  2347. * find/find.c (dirchange_is_fatal): Change "Warning" to "WARNING".
  2348. * find/ftsfind.c (consider_visiting): Likewise.
  2349. * find/pred.c (pred_newerXY): Likewise.
  2350. * find/util.c (get_statinfo): Likewise.
  2351. (hook_fstatat): Likewise.
  2352. * locate/word_io.c (decode_value): Likewise.
  2353. * xargs/xargs.c (main): Change "Warning" to "warning".
  2354. (read_line): Change "Warning" to "WARNING".
  2355. (wait_for_proc): Likewise.
  2356. Remove useless if conditionals before calls to 'free'.
  2357. * lib/nextelem.c (next_element): Remove useless if-before-free.
  2358. * lib/buildcmd.c (bc_do_exec): Likewise.
  2359. * find/find.c (process_dir): Likewise.
  2360. * import-gnulib.sh (usage): Defeat the simple GPL version check
  2361. of maint.mk, since it's trying to identify GPL2 licenses. Since
  2362. the 'rehack' script converts v2 licenses into v3, we get a false
  2363. positive for v2. So, amusingly, we use the same hack that
  2364. maint.mk uses to avoid a false positive on itself: spurious
  2365. quotes.
  2366. Switch from GNU Free Documentation License 1.2 to 1.3.
  2367. * NEWS: Update GFDL version.
  2368. * README-hacking: Likewise.
  2369. * doc/find-maint.texi: Likewise.
  2370. * lib/regexprops.c: Likewise (though the license being changed is
  2371. the license for the output).
  2372. * NEWS: Update copyright years.
  2373. 2010-04-01 James Youngman <jay@gnu.org>
  2374. Change error (1, ...) to error (EXIT_FAILURE, ...).
  2375. * find/find.c: Change error (1, ...) to error (EXIT_FAILURE, ...).
  2376. * find/fstype.c: Likewise.
  2377. * find/ftsfind.c: Likewise.
  2378. * find/parser.c: Likewise.
  2379. * find/pred.c: Likewise.
  2380. * find/tree.c: Likewise.
  2381. * find/util.c: Likewise.
  2382. * locate/code.c: Likewise.
  2383. * locate/frcode.c: Likewise.
  2384. * locate/locate.c: Likewise.
  2385. * locate/word_io.c: Likewise.
  2386. * xargs/xargs.c: Likewise.
  2387. * lib/buildcmd.c: Likewise. Also include <stdlib.h>.
  2388. * lib/regextype.c: Likewise (both).
  2389. Assume C89 (or C99) C headers. Assume working <ctype.h>.
  2390. * xargs/xargs.c: Unconditionally include <ctype.h>. Assume
  2391. isblank(c) is defined. Assume memcpy() has a prototype in
  2392. <string.h>.
  2393. * import-gnulib.config (modules): Import gnulib's ctype module.
  2394. Optimise -fstype NOTUSED to -false at -O2.
  2395. * find/parser.c: Include mountlist.h.
  2396. (insert_false): New function, inserts a -false predicate.
  2397. (parse_false): Use insert_false.
  2398. (is_used_fs_type): New function, determines if any mounted
  2399. filesystem is of the named type.
  2400. (parse_fstype): At optimisation level 2 and above, -fstpe FOO
  2401. is converted to -false if no mounted filesytem is of type FOO.
  2402. * find/find.1: Document this optimisation.
  2403. * doc/find.texi (Optimisation Options): Likewise.
  2404. * NEWS: Mention this change.
  2405. Updated copyright years to add 2010.
  2406. * find/find.c: Add 2010.
  2407. * find/fstype.c: Add 2010.
  2408. * find/ftsfind.c: Add 2010.
  2409. * find/parser.c: Add 2010.
  2410. * find/pred.c: Add 2010.
  2411. * find/sharefile.c: Add 2010.
  2412. * find/testsuite/config/unix.exp: Add 2010.
  2413. * find/tree.c: Add 2010.
  2414. * find/util.c: Add 2010.
  2415. * locate/bigram.c: Add 2010.
  2416. * locate/frcode.c: Add 2010.
  2417. * xargs/xargs.c: Add 2010.
  2418. Coding style fixes: space after function names.
  2419. * lib/buildcmd.c: Insert a space between function name and open
  2420. parenthesis.
  2421. * lib/dircallback.c: Likewise.
  2422. * lib/extendbuf.c: Likewise.
  2423. * lib/fdleak.c: Likewise.
  2424. * lib/findutils-version.c: Likewise.
  2425. * lib/forcefindlib.c: Likewise.
  2426. * lib/listfile.c: Likewise.
  2427. * lib/printquoted.c: Likewise.
  2428. * lib/qmark.c: Likewise.
  2429. * lib/regexprops.c: Likewise.
  2430. * lib/regextype.c: Likewise.
  2431. * lib/savedirinfo.c: Likewise.
  2432. * locate/code.c: Likewise.
  2433. * locate/frcode.c: Likewise.
  2434. * locate/locate.c: Likewise.
  2435. * locate/word_io.c: Likewise.
  2436. 2010-03-31 James Youngman <jay@gnu.org>
  2437. Coding style fixes: space after function names.
  2438. * find/util.c: Insert a space between function name and open
  2439. parenthesis.
  2440. * find/ftsfind.c: Likewise.
  2441. * find/fstype.c: Likewise.
  2442. * find/util.c: Likewise.
  2443. * find/tree.c: Likewise.
  2444. * find/sharefile.c: Likewise.
  2445. * find/pred.c: Likewise.
  2446. * find/parser.c: Likewise.
  2447. * xargs/xargs.c: Likewise.
  2448. Move version number on to 4.5.7-git, so that we can make test
  2449. releases.
  2450. * configure.ac: Update version number.
  2451. * NEWS: Likewise.
  2452. * Makefile.am (AUTOMAKE_OPTIONS): Return to "gnits" rules.
  2453. Mention additional bugfixes.
  2454. * NEWS: Mention that Savannah bug #29089 was also fixed in
  2455. 4.5.6b.
  2456. Prepare for release of findutils-4.5.6b
  2457. This release is identical to 4.5.6 apart from the version number
  2458. and the fact that it was generated by automake version 1.11.1 in
  2459. order to avoid issues with CVE-2009-4029.
  2460. * configure.ac: Update version number.
  2461. * NEWS: Update version number. Mention that Savannah bug #29089
  2462. was also fixed in 4.5.6b.
  2463. * Makefile.am: switch to 'gnu' option ('gnits' forbids the 'b'
  2464. suffix).
  2465. 2010-03-30 James Youngman <jay@gnu.org>
  2466. Prepare for release of findutils-4.5.6
  2467. * configure.ac: Update version number.
  2468. * NEWS: Update version number.
  2469. Support O_CREAT in open_cloexec.
  2470. * lib/fdleak.c: Include <stdarg.h> and "cloexec.h".
  2471. (open_cloexec): Support O_CREAT. Use O_CLOEXEC if it is available.
  2472. (O_CLOEXEC): #define to 0 if not already #defined.
  2473. * lib/fdleak.h: Update prototype of open_cloexec to allow mode to
  2474. be passed.
  2475. * import-gnulib.config (modules): Import modules open (for
  2476. PROMOTED_MODE_T) and stdbool (for 'true').
  2477. Tolerate the absence of getrusage.
  2478. * configure.ac: Check for <sys/resource.h> and the getrusage
  2479. function.
  2480. * lib/fdleak.c: Don't #include <sys/resource.h> if we don't have it.
  2481. (get_max_fd): If neither /proc/self/fd not getrusage is available,
  2482. return _POSIX_OPEN_MAX.
  2483. Detect leaks in file descriptors 0, 1, 2.
  2484. * lib/fdleak.c: (remember_non_cloexec_fds): Also check for leaks
  2485. in file descriptors 0, 1, 2, just in case the caller closed them.
  2486. (find_first_leaked_fd): Likewise.
  2487. 2009-08-16 James Youngman <jay@gnu.org>
  2488. Bugfixes to the handling of %Z in the Red Hat SELinux patch.
  2489. * find/pred.c (do_fprintf): If getfilecon fails, print the
  2490. relevant segment anyway, with the file context expanding to an
  2491. empty string.
  2492. * find/parser.c (make_segment): For %Z, set the cost to
  2493. NeedsAccessInfo.
  2494. 2009-08-11 Kamil Dudka <kdudka@redhat.com>
  2495. find: add SELinux support
  2496. * find/defs.h: Add SELinux related definitions.
  2497. * find/tree.c: Add -context predicate to lookup.
  2498. * find/pred.c: Handle %Z printf directive.
  2499. * find/parser.c: Parse -context predicate and %Z printf directive.
  2500. * find/find.1: Mention -context predicate and %Z printf directive.
  2501. * doc/find.texi: Mention -context predicate and %Z printf directive.
  2502. * find/Makefile.am: Add SELinux libraries.
  2503. * import-gnulib.config: Require module selinux-at and the corresponding
  2504. version of gnulib.
  2505. 2010-03-29 James Youngman <jay@gnu.org>
  2506. Fix file descriptor leaks. This fixes Savannah bug bug #27375.
  2507. * find/util.c (fd_leak_check_is_enabled): New function; returns
  2508. nonzero if the environment variable GNU_FINDUTILS_FD_LEAK_CHECK is
  2509. enabled. Setting this variable enables the file descriptor leak
  2510. checker.
  2511. * find/defs.h: Declare fd_leak_check_is_enabled.
  2512. * import-gnulib.config (gnulib_version): Update to more recent
  2513. version of gnulib. Import the cloexec module too.
  2514. * lib/fdleak.c: New file; a module for detecting file descriptor
  2515. leaks. Also define an open_cloexec() function.
  2516. * lib/fdleak.h: Declare the global functions defined in fdleak.c.
  2517. * lib/Makefile.am (libfind_a_SOURCES): Add fdleak.c.
  2518. * find/find.c (main): Call remember_non_cloexec_fds in order to
  2519. detect file descriptor leaks.
  2520. (main): set FD_CLOEXEC on starting_desc.
  2521. (safely_chdir_lstat): Likewise for dotfd.
  2522. (safely_chdir_nofollow): Likewise for fd.
  2523. * find/ftsfind.c (inside_dir): set FD_CLOEXEC on curr_fd.
  2524. (main): Call remember_non_cloexec_fds in order to detect file
  2525. descriptor leaks.
  2526. (main): set FD_CLOEXEC on starting_desc.
  2527. * find/pred.c (launch): before we exec the child, call
  2528. complain_about_leaky_fds in order to complain about non-FD_CLOEXEC
  2529. file descriptors that weren't open when the program was run.
  2530. * find/sharefile.c (sharefile_fopen): Set FD_CLOEXEC on the files
  2531. we open.
  2532. * import-gnulib.sh (run_gnulib_tool): Pass the --local-dir option
  2533. in order to apply any required patches (none needed right now).
  2534. * find/testsuite/config/unix.exp: Set environment variable
  2535. $GNU_FINDUTILS_FD_LEAK_CHECK to enable the file descriptor leak
  2536. check for all tests.
  2537. * find/testsuite/find.gnu/no-fdleak-test.exp: New test; runs find
  2538. with the fd leak detector turned off, in order to make sure there
  2539. are no (e.g.) crashing bugs when that happens.
  2540. * find/testsuite/find.gnu/no-fdleak-test.xo: Expected output for
  2541. the new test.
  2542. * find/testsuite/Makefile.am (EXTRA_DIST_EXP): Add no-fdleak-test.exp
  2543. (EXTRA_DIST_XO): Add no-fdleak-test.xo.
  2544. * NEWS: Mention these changes.
  2545. 2010-03-30 James Youngman <jay@gnu.org>
  2546. Add missing exec-nogaps.{exp,xo}.
  2547. * find/testsuite/Makefile.am (EXTRA_DIST_XO): Add exec-nogaps.xo.
  2548. (EXTRA_DIST_EXP): Add exec-nogaps.exp.
  2549. 2010-02-25 James Youngman <jay@gnu.org>
  2550. Explain the problems with "-name a/b" and "-path foo/".
  2551. * find/find.1 (-iname): We already refer to -name, so duplicate
  2552. less text.
  2553. (-name): Explain that -name a/b will never match anything.
  2554. * doc/find.texi (Base Name Patterns): Explain that -name a/b will
  2555. never match anything.
  2556. (Full Name Patterns): Fix typo.
  2557. 2010-02-22 James Youngman <jay@gnu.org>
  2558. * xargs/xargs.1: Simplify the wording in the description of "xargs
  2559. -i".
  2560. 2010-02-21 James Youngman <jay@gnu.org>
  2561. Update #include directives for the openat module, to comply with
  2562. recent POSIX-compliance changes.
  2563. * find/find.c: Don't include <openat.h>.
  2564. * find./ftsfind.c: Likewise.
  2565. * find/pred.c: Likewise; include <unistd.h>.
  2566. * find/util.c: Don't include <openat.h>; include <sys/stat.h>.
  2567. * import-gnulib.config (gnulib_version): Update to current version
  2568. of gnulib.
  2569. * build-aux/.cvsignore: Ignore new files built by gnulib.
  2570. * build-aux/.gitignore: Likewise.
  2571. 2010-02-20 James Youngman <jay@gnu.org>
  2572. Fix Savannah bug #27846: assertion failure in xargs.c on AIX.
  2573. * xargs/xargs.c (smaller_of): New function, returns the smaller of
  2574. its two size_t arguments.
  2575. (main): Instead of asserting that the value of bc_ctl.arg_max is
  2576. smaller than some value, simply adjust the value if necessary.
  2577. * NEWS: Mention this change.
  2578. Fix Savannah bug#28872, Mistake in "Problems with -exec and filenames"
  2579. * doc/find.texi (Problems with -exec and filenames): Add missing
  2580. $0 argument in example for sh -c 'something "$@" sh ...
  2581. * NEWS: Mention this change.
  2582. Fix Savannah bug# 28824: "-ctime x" yields "missing argument to
  2583. `-ctime'".
  2584. * find/parser.c (parse_fls): If the argument is invalid, reverse
  2585. the change that collect_arg() made to *arg_ptr (that is, don't
  2586. consume the argument).
  2587. (parse_fprint0): Likewise.
  2588. (parse_gid): Likewise.
  2589. (parse_group): Likewise.
  2590. (parse_inum): Likewise.
  2591. (parse_links): Likewise.
  2592. (do_parse_xmin): Likewise.
  2593. (parse_name): Likewise.
  2594. (parse_printf): Likewise.
  2595. (parse_uid): Likewise.
  2596. (parse_used): Likewise.
  2597. (parse_time): Likewise.
  2598. * NEWS: mention this change.
  2599. 2009-12-04 James Youngman <jay@gnu.org>
  2600. Fix Savannah bug #26868: compilation error in pred.c on Solaris
  2601. x86_64.
  2602. * import-gnulib.config (modules): Include gnulib's math module, to
  2603. avoid a compilation error for "-HUGE_VAL" on Solaris x86_64.
  2604. * NEWS: Mention this change.
  2605. 2009-11-29 James Youngman <jay@gnu.org>
  2606. * find/testsuite/find.posix/exec-nogaps.exp: New test for find
  2607. -exec ... {} ; and find -exec ... {} +, both of which simply
  2608. ensure that all exec arguments are processed exactly once each.
  2609. * find/testsuite/find.posix/exec-nogaps.xo: Expected output file
  2610. for the test in exec-nogaps.exp.
  2611. Fix Savannah bug#27328, segfault if the initial exec for "find
  2612. -exec" fails. Also Savennah bug #27975: Infinite loop
  2613. for -exec [..] {} +.
  2614. * lib/buildcmd.h (struct buildcmd_state): Introduce
  2615. largest_successful_arg_count and smallest_failed_arg_count in
  2616. order to avoid an assumption that we understand how the operatingn
  2617. system interprets ARG_MAX and the assumption that the compile-time
  2618. ARG_MAX value (or the equivalent from sysconf()) is avtually
  2619. correct.
  2620. (struct buildcmd_control): Change the calling convention of the
  2621. exec callback to allow us to pass the argument list separately.
  2622. (bc_args_exceed_testing_limit): declare this new function.
  2623. * lib/buildcmd.c (bc_args_complete): New function, NULL-terminates
  2624. the argv list. We use this instead of passing NULL to
  2625. bc_push_arg().
  2626. (update_limit): New function. Decides how many arguments to
  2627. pass to the invoked command on the next attempt.
  2628. (copy_args): Build an argument list containing all the initial
  2629. arguments plus some of the other args (the number to be used is
  2630. decided by update_limit).
  2631. (bc_do_exec): Avoid special-casing the first call to exec. Use
  2632. update_limit to decide how many arguments to pass and copy_args to
  2633. build the argument list. The new form of the loop should fix
  2634. Savannah bug #27328.
  2635. (bc_push_arg): Drop support for passing NULL as an argument (to
  2636. terminate the arg list we just pass in a special argument instead).
  2637. (bc_args_exceed_testing_limit): New function, returns nonzero if
  2638. the argument list exceeds a testing limit (used for failure
  2639. injection by tests).
  2640. (exceeds): New support function, implementing part of
  2641. bc_args_exceed_testing_limit.
  2642. (bc_init_state): Initialise largest_successful_arg_count and
  2643. smallest_failed_arg_count.
  2644. * find/defs.h (struct exec_val): New member last_child_status.
  2645. This stores the status of the most recently completed child.
  2646. * find/pred.c (new_impl_pred_exec): Use last_child_status.
  2647. (launch): Use the new calling convention for the exec callback.
  2648. Set last_child_status. Call bc_args_exceed_testing_limit() to do
  2649. failure injection for unit tests.
  2650. * find/util.c (do_complete_pending_execdirs): Call bc_do_exec
  2651. rather than calling launch directly in order to allow for breaking
  2652. the argument list up if it's too long.
  2653. * xargs/xargs.c (xargs_do_exec): Update to use the new caling
  2654. convention for the exec callback.
  2655. * NEWS: Mention these fixes.
  2656. 2009-11-09 Jim Meyering <meyering@redhat.com>
  2657. Adjust two xargs diagnostics.
  2658. * xargs/xargs.c (print_args): Give a better diagnostic when
  2659. failing to open /dev/tty.
  2660. (xargs_do_exec): Mark a diagnostic for translation.
  2661. 2009-11-08 James Youngman <jay@gnu.org>
  2662. Localise some previously non-localised strings.
  2663. * find/find.c (init_mounted_dev_list): Pass translatable string
  2664. gettext.
  2665. (safely_chdir_lstat): Likewise.
  2666. * find/fstype.c (must_read_fs_list): Likewise.
  2667. * find/parser.c (safe_atoi): Likewise.
  2668. Updated a number of translation messages.
  2669. * po/it.po: Updated Italian translation.
  2670. * po/fi.po: Updated Finnish translation.
  2671. * po/vi.po: Updated Vietnamese translation.
  2672. * po/hu.po: Updated Hungarian translation.
  2673. * po/de.po: Updated German translation.
  2674. * po/ru.po: Updated Russian translation.
  2675. 2009-08-16 James Youngman <jay@gnu.org>
  2676. * lib/check-regexprops.sh: Portability fixes for FreeBSD (mktemp
  2677. requires an argument, dialect differences in sed regexes).
  2678. Bugfixes to the handling of %Z in the Red Hat SELinux patch.
  2679. * find/pred.c (do_fprintf): If getfilecon fails, print the
  2680. relevant segment anyway, with the file context expanding to an
  2681. empty string.
  2682. * find/parser.c (make_segment): For %Z, set the cost to
  2683. NeedsAccessInfo.
  2684. 2009-08-15 James Youngman <jay@gnu.org>
  2685. * import-gnulib.config (gnulib_version): Update to the current
  2686. version of gnulib.
  2687. 2009-07-18 James Youngman <jay@gnu.org>
  2688. Fix up some problems introduced in a manual conflict resolution.
  2689. * find/parser.c (insert_path_check): Add missing third argument to
  2690. insert_primary_withpred.
  2691. (parse_iwholename): Remove redundant extra definition.
  2692. (parse_ipath): Likewise.
  2693. 2009-07-14 James Youngman <jay@gnu.org>
  2694. Fix Savannah bug #27017: find -D opt / -fstype ext3 -print , -quit
  2695. coredumps.
  2696. * find/tree.c (set_new_parent): Initialise struct
  2697. predicate->arg_text to NULL (instead of leaving it uninitialised).
  2698. (get_new_pred_noarg): Likewise.
  2699. (get_new_pred): Initialise predicate->arg_text to
  2700. "ThisShouldBeSetToSomethingElse" to make it easier to notice
  2701. bugs.
  2702. (get_new_pred_chk_op): Use get_new_pred_noarg.
  2703. (print_predicate): Use an if statement instead of
  2704. two ternary operators.
  2705. * find/util.c (insert_primary_withpred): Accept new argument, arg,
  2706. being the argument (if any) of this predicate. Pass it to
  2707. get_new_pred_chk_op.
  2708. (insert_primary): Likewise (pass arg to insert_primary_withpred).
  2709. (insert_primary_noarg): New function; calls insert_primary with
  2710. arg=NULL.
  2711. * find/parser.c (collect_arg_stat_info): Add an output parameter;
  2712. the filename from which we collected the stat information.
  2713. (parse_closeparen, parse_delete, parse_and, parse_or,
  2714. parse_comma): Use get_new_pred_noarg.
  2715. (parse_cnewer, parse_newer, parse_anewer): Use new
  2716. collect_arg_stat_info and insert_primary interface.
  2717. (parse_print, parse_prune, parse_nouser, parse_empty): Use
  2718. insert_primary_noarg.
  2719. (parse_accesscheck, parse_false): Use insert_primary_noarg.
  2720. (parse_used, parse_iname, parse_fprint, insert_fprint,
  2721. parse_fstype, parse_ilname): Use new collect_arg and
  2722. insert_primary interfaces.
  2723. (parse_ipath, parse_lname, do_parse_xmin, parse_name, parse_path,
  2724. parse_perm, parse_size, parse_user, parse_time): Use new
  2725. collect_arg and insert_primary_withpred interface.
  2726. (parse_negate, parse_openparen): Use new get_new_pred_chk_op interface.
  2727. (parse_newerXY, parse_nogroup): Use new insert_primary interface.
  2728. (insert_regex, parse_samefile): Use new insert_primary_withpred
  2729. interface.
  2730. (insert_type, insert_fprintf, new_insert_exec_ok, insert_num): Use
  2731. new insert_primary_withpred interface.
  2732. * find/defs.h (struct predicate.arg_text): make const.
  2733. Add declarations for new function get_new_pred_noarg and
  2734. insert_primary_noarg. Add 'arg' parameter to get_new_pred_chk_op
  2735. and insert_primary_withpred.
  2736. * NEWS: Mention the bugfix.
  2737. 2009-07-12 James Youngman <jay@gnu.org>
  2738. Savannah bug #23920: warn about -path arguments ending in /.
  2739. * find/parser.c (insert_path_check): new function; abstracts the
  2740. common functionality of parse_path, parse_ipath, parse_wholename,
  2741. parse_iwholename. Also check for a trailing slash and warn about
  2742. it (unless $POSIXLY_CORRECT is set). Don't warn if the pattern
  2743. also happens to be a start_point, because those could be matched.
  2744. (parse_path, parse_ipath, parse_wholename, parse_iwholename): Use
  2745. insert_path_check.
  2746. * find/tree.c (is_start_point): new function; returns true if the
  2747. indidated string matches a start point.
  2748. (num_start_points, start_points): new variables, storing the
  2749. starting points listed on the command line.
  2750. (build_expression_tree): Set num_start_points and start_points.
  2751. * find/defs.h: Declare is_start_point.
  2752. * doc/find.texi (Full Name Patterns): Explain that candidate names
  2753. for -path, -regex etc. will never end in a slash, so "-path /tmp/"
  2754. will never match anything.
  2755. * find/find.1: Likewise.
  2756. Fix Savannah bug #26327: xargs man page is vague about the number
  2757. of times command is executed.
  2758. * xargs/xargs.1 (DESCRIPTION): Explain more clearly that the
  2759. command will be executed many times. Indicate that -L can also be
  2760. useful with -P.
  2761. * NEWS: Mention this change.
  2762. 2009-07-11 James Youngman <jay@gnu.org>
  2763. * NEWS: Set the version to 4.5.6-git, so that we can make test
  2764. releases.
  2765. 2009-06-11 James Youngman <jay@gnu.org>
  2766. Make import-gnulib.sh faster in the common case where neither
  2767. import-gnulib.config nor gnulib itself changed.
  2768. * import-gnulib.sh (gnulib_changed): New variable.
  2769. (do_checkout): set gnulib_changed=true if the gnulib code didn't
  2770. already correspond to our configured version. Don't use a large
  2771. subshell, because we need to set $gnulib_changed and don't want
  2772. the value to be discarded.
  2773. (main): Run gnulib-tool if gnulib was not at the correct version
  2774. or the import-gnulib.config file has changed.
  2775. 2009-07-10 Reuben Thomas <rrt@sc3d.org>
  2776. Fix quotation punctuation in find manual page, fixing bug #19120.
  2777. * find/find.1: Use ` instead of ' at the start of quoted text. Use
  2778. \(aq instead of ' or \' in commands to get a literal straight quote.
  2779. Use ` and ' instead of `` and '' (for consistency).
  2780. * NEWS: mention this change.
  2781. 2009-07-10 James Youngman <jay@gnu.org>
  2782. * import-gnulib.config (gnulib_version): Update to the current version
  2783. of gnulib.
  2784. Fix Savannah bug #24873, Duplicate fprint option corrupts output
  2785. by opening each output file only once.
  2786. * find/sharefile.c: New file; keeps a mapping from dev/inode to
  2787. FILE*, allowing us to determine when the file we just opened is
  2788. the same as something else we already opened.
  2789. * import-gnulib.config (modules): Import the hash module, used by
  2790. sharefile.c.
  2791. * find/sharefile.h: Function declarations for same.
  2792. * find/find.c (main): Call sharefile_init().
  2793. * find/ftsfind.c (main): Likewise.
  2794. * find/parser.c (open_output_file): Call sharfile_fopen to open an
  2795. output file, instead of fopen_safer.
  2796. * find/util.c (cleanup): Close any shared output files that are
  2797. open. Also fflush stdout.
  2798. (undangle_file_pointers): Set the relevant FILE* pointers to
  2799. NULL.
  2800. (flush_and_close_output_files): Remove (since sharefile_destroy
  2801. has the desired effect).
  2802. * find/Makefile.am (libfindtools_a_SOURCES): Add sharefile.c.
  2803. (EXTRA_DIST): Add sharefile.h.
  2804. * find/defs.h: #include sharefile.h.
  2805. (struct state): Add member shared_files, holding a handle to the
  2806. shared-file hash table implemented in sharefile.[ch].
  2807. * find/testsuite/find.gnu/fprintf-samefile.exp: New test,
  2808. exercising -fprintf (though it is not able to detect bug #24873).
  2809. * find/testsuite/Makefile.am (EXTRA_DIST_EXP): Add
  2810. find.gnu/fprintf-samefile.exp.
  2811. * NEWS: Mention the bugfix.
  2812. 2009-07-07 James Youngman <jay@gnu.org>
  2813. * NEWS: Indicate that -wholename is no longer preferred over -ipath.
  2814. 2009-07-06 James Youngman <jay@gnu.org>
  2815. Prepare for release of findutils version 4.5.5.
  2816. * configure.ac: Set version number to 4.5.5.
  2817. * NEWS: Likewise.
  2818. 2009-07-06 Andreas Metzler <gnu@downhill.at.eu.org>
  2819. * doc/find.texi: Various typo fixes.
  2820. 2009-07-05 James Youngman <jay@gnu.org>
  2821. Fix typo in -execdir documentation.
  2822. * doc/find.texi (Single File): Typo correction; we're describing
  2823. -execdir, not -exec.
  2824. * NEWS: Mention the bugfix.
  2825. 2009-05-12 James Youngman <jay@gnu.org>
  2826. #26537: find -prune now makes sure it has valid stat() information.
  2827. * NEWS: Added Savannah bug number for Colin's bugfix.
  2828. 2009-05-07 Colin Watson <cjwatson@ubuntu.com>
  2829. * find/parser.c (parse_prune): -prune needs stat information if
  2830. -depth is not in use.
  2831. * find/pred.c (pred_prune): Assert that stat information is
  2832. available if needed.
  2833. * find/testsuite/find.posix/prune-stat.exp: New test.
  2834. * find/testsuite/find.posix/prune-stat.xo: New test.
  2835. * find/testsuite/Makefile.am (EXTRA_DIST_EXP, EXTRA_DIST_XO): Added
  2836. prune-stat.exp, prune-stat.xo.
  2837. * NEWS: Mention this bugfix.
  2838. 2009-07-05 James Youngman <jay@gnu.org>
  2839. * lib/check-regexprops.sh: New test. Run regexprops as a check,
  2840. and compare its output against the contents of doc/regexprops.texi.
  2841. * lib/Makefile.am: Run check-regexprops.sh for 'make check'.
  2842. * doc/Makefile.am: don't clean regexprops.texi, and don't generate
  2843. it automatically.
  2844. * doc/regexprops.texi: add into source control.
  2845. * doc/.gitignore: don't ignore regexprops.texi
  2846. 2009-07-04 James Youngman <jay@gnu.org>
  2847. * configure.ac (AC_CONFIG_FILES): order the entries alphabetically
  2848. and remove duplicates. Put po/Makefile.in before
  2849. po/Makefile, since the former is required in order to
  2850. config.status to generate the latter.
  2851. 2009-07-04 gettextize <bug-gnu-gettext@gnu.org>
  2852. * configure.ac (AC_CONFIG_FILES): Add po/Makefile.in.
  2853. (AM_GNU_GETTEXT_VERSION): Bump to 0.17.
  2854. 2009-05-12 Eric Blake <ebb9@byu.net>
  2855. xargs: fix compilation on cygwin
  2856. * xargs/xargs.c (main): Check that ARG_MAX is defined.
  2857. xargs: avoid compiler warning
  2858. * xargs/xargs.c (get_char_oct_or_hex_escape): Pass correct type to
  2859. ctype macro.
  2860. 2009-05-04 James Youngman <jay@gnu.org>
  2861. * find/util.c (get_info): Don't fall off the end of the function
  2862. without returning a value.
  2863. 2009-04-25 James Youngman <jay@gnu.org>
  2864. * AUTHORS: Add Andreas Metzler.
  2865. 2009-04-25 Andreas Metzler <gnu@downhill.at.eu.org> (tiny change)
  2866. Correct a typo "diagnositcs".
  2867. * doc/find.texi (Environment Variables): Correct a typo.
  2868. 2009-04-24 A. Costa <agcosta@gis.net> (tiny change)
  2869. Correct a typo "diagnositcs".
  2870. * find/find.1 (POSIXLY_CORRECT): Correct a typo.
  2871. 2009-04-24 James Youngman <jay@gnu.org>
  2872. * find/ftsfind.c (consider_visiting): Print a message for "-D
  2873. search" both on entry to the function and at the point where we
  2874. have decided not to ignore this file.
  2875. 2009-04-12 James Youngman <jay@gnu.org>
  2876. * NEWS: Mention the fix for bug #22708 in the correct section.
  2877. Avoid mixing declarations and statements.
  2878. * lib/buildcmd.c (bc_do_exec): Declare variables at the top of the
  2879. relevant block, in order to avoid mixing declarations and
  2880. statements.
  2881. * xargs/xargs.c (main): Likewise.
  2882. 2009-04-12 Leslie Polzer <leslie.polzer@gmx.net>
  2883. Merge Leslie Polzer's ARG_MAX enhancements to xargs which were
  2884. produced as part of the Google Summer of Code 2007.
  2885. These changes fix Savannah bug #22708.
  2886. * find/pred.c (launch): The struct buildcmd_control* argument is
  2887. no longer const.
  2888. * find/defs.h: Likewise
  2889. * lib/buildcmd.c (bc_do_insert): The struct buildcmd_control*
  2890. argument is no longer const.
  2891. (bc_push_arg): Likewise.
  2892. (cb_exec_noop): Likewise.
  2893. (get_stringv_len): New function; measures the length of
  2894. a NULL-terminated argv sequence.
  2895. (bc_do_exec): Rename from do_exec, and make global. Modify the
  2896. function to react to exec failing with E2BIG by trying again
  2897. with fewer arguments.
  2898. * xargs/xargs.1: Mention that xargs automatically adopts to the
  2899. situation where exec fails with E2BIG.
  2900. * xargs/xargs.c: (parent): New variable, the PID of the parent
  2901. process.
  2902. (main): initialise the variable 'parent'. Don't fail immediately
  2903. due to lack of space when the environment is large. Call
  2904. xargs_do_exec via bc_do_exec.
  2905. (xargs_do_exec): The struct buildcmd_control* argument is no
  2906. longer const. When exec fails in the child, communicate the
  2907. errno value back to the parent through a pipe which is
  2908. close-on-exec; this allows us to accurately determine the cause of
  2909. the failure and also to distinguish exec failures from all
  2910. possible exit codes in the child.
  2911. (wait_for_proc): If the utility cannot be found or cannot be run,
  2912. we now find out about this by reading an errno value from the
  2913. pipe, so this means that exit codes 126 and 127 in the child no
  2914. longer have a special interpretation.
  2915. * NEWS: mention these changes.
  2916. 2009-04-13 James Youngman <jay@gnu.org>
  2917. * import-gnulib.config (gnulib_version): Update to current head
  2918. version.
  2919. 2009-04-13 Andreas Metzler <gnu@downhill.at.eu.org>
  2920. Fix Savannah bug# 26092: find.1 still marks -iwholename as preferred
  2921. * find/find.1 (-iwholename): Indicate that this option is no
  2922. longer preferred over -ipath.
  2923. 2009-03-07 James Youngman <jay@gnu.org>
  2924. Update the code to better reflect the semantics of digest_mode().
  2925. * find/defs.h: Pass the file mode to digest_mode() by reference
  2926. (as a pointer) rather than by value to make it unnecessary for the
  2927. caller to know that the value passed should become dead.
  2928. * find/util.c (digest_mode): Change the implementation.
  2929. * find/find.c (process_path): Update caller.
  2930. * find/ftsfind.c (consider_visiting): Update caller.
  2931. 2009-03-10 James Youngman <jay@gnu.org>
  2932. Remove "lib/wait.h", since gnulib provides <sys/wait.h>.
  2933. * lib/Makefile.am (EXTRA_DIST): Remove wait.h, since gnulib
  2934. provides it.
  2935. * lib/wait.h: Not needed.
  2936. * find/pred.c: Include <sys/wait.h> instead of "wait.h".
  2937. * lib/waitpid.c: Likewise.
  2938. * xargs/xargs.c: Likewise.
  2939. Remove unnecessary include guards.
  2940. * lib/dircallback.c: gnulib provides <locale.h>, so no need for
  2941. include guards.
  2942. * locate/locate.c: Likewise.
  2943. * lib/listfile.c: Likewise.
  2944. * lib/savedirinfo.c: Likewise with <sys/stat.h>
  2945. * find/defs.h: gnulib provides <inttypes.h>, so no need for
  2946. include guards.
  2947. * lib/nextelem.c: Likewise with <string.h> and <stdlib.h>.
  2948. * locate/bigram.c: Likewise.
  2949. * locate/frcode.c: Likewise.
  2950. * lib/buildcmd.c: Likewise with <locale.h> and <wchar.h>
  2951. * xargs/xargs.c: Likewise with <locale.h>, <wchar.h> and <stdlib.h>
  2952. * import-gnulib.config (modules): Import the mbrtowc and whchar
  2953. modules.
  2954. * lib/qmark.c (multibyte_qmark_chars): Don't surround with
  2955. HAVE_MBRTOWC, since we now have a replacement for mbrtowc.
  2956. Likewise, don't protect inclusion of <string.h> with
  2957. HAVE_STRING_H. Likewise with <wchar.h>.
  2958. (multibyte_qmark_chars): Rename to qmark_chars.
  2959. (qmark_chars): Remove old version (since it is replaced by the
  2960. function that used to be multibyte_qmark_chars).
  2961. * lib/printquoted.c: Don't include <wchar.h>, we don't need it.
  2962. Prepare for release of findutils-4.5.4.
  2963. * configure.ac (AC_INIT): Set version number to 4.5.4.
  2964. * NEWS: Likewise.
  2965. Remove obsolete regex.c copy fixup.
  2966. * Makefile.am (jy-regex-fix) Delete.
  2967. (dist-hook): Remove jy-regex-fix.
  2968. Update to version 0.17 of GNU gettext.
  2969. * configure.ac: Update to version 0.17 of gettext.
  2970. * import-gnulib.sh (refresh_output_files): Run autopoint too.
  2971. * ABOUT-NLS: Remove the file from source control, since gettext
  2972. produces it.
  2973. * .gitignore: Ignore ABOUT-NLS.
  2974. * po/Makefile.in.in: Likewise.
  2975. * po/.gitignore: Ignore po/Makefile.in.in.
  2976. Correct the changelog-driver argument list.
  2977. * import-gnulib.sh (check_merge_driver): Add the missing arguments
  2978. to the changelog driver. Change the name of the merge driver from
  2979. cl-merge to merge-changelog, for consistency with gnulib,
  2980. coreutils, autoconf, libtool, and m4.
  2981. 2009-03-08 James Youngman <jay@gnu.org>
  2982. Switch to using a merge driver for the ChangeLog file.
  2983. * import-gnulib.sh (check_merge_driver): New function; verifies
  2984. that we have a merge driver installed for the ChangeLog file (if
  2985. we're on the master or release branch, the check is skipped).
  2986. Also check that the .gitattributes file exists.
  2987. * README-hacking: Point out that using a merge driver for
  2988. ChangeLog is a good idea.
  2989. * .gitattributes: New file
  2990. Optimise away calls to stat if all we need is the inode number.
  2991. This fixes Savannah bug #24342.
  2992. * find/util.c (get_info): call get_statinfo if need_inum and we
  2993. don't already have the inode number.
  2994. (apply_predicate): Call get_info if need_inum.
  2995. * find/defs.h (enum EvaluationCost): Add NeedsInodeNumber.
  2996. (struct predicate): Add need_inum.
  2997. * find/tree.c (get_new_pred): Default need_inum to false.
  2998. (get_new_pred_chk_op): Likewise.
  2999. * find/ftsfind.c (consider_visiting): Copy the value of st_ino
  3000. into statbuf.st_ino.
  3001. * find/parser.c (parse_inum): Set need_inum=true.
  3002. (parse_samefile): Set need_inum=false, but add a comment
  3003. indicating that there is an optimisation opportunity.
  3004. (make_segment): For -printf %i, set NeedsInodeNumber rather than
  3005. NeedsStat.
  3006. * find/pred.c (pred_inum): assert that the inode number is known
  3007. (i.e. non-zero).
  3008. (print_optlist): Print "[need inum]" when need_inum is true.
  3009. * find/tree.c (opt_expr): Also reorder expressions if the right
  3010. hand expression is -inum (that is, consider that test to be no
  3011. more expensive than -type).
  3012. (set_new_parent): Default need_inum to false.
  3013. (costlookup): Set pred_inum=NeedsInodeNumber.
  3014. (get_pred_cost): need_inum implies a data cost of
  3015. NeedsInodeNumber.
  3016. (cost_table): Add NeedsInodeNumber.
  3017. (print_tree): Handle need_inum.
  3018. For -samefile, skip stat if inode numbers differ.
  3019. * find/pred.c (pred_samefile): Skip stat if the inode numbers are
  3020. different.
  3021. Enable -Wall compiler warnings and fix them.
  3022. * configure.ac: Turn on -Wall warnings.
  3023. * find/find.c (process_dir): Print unsigned values of unspecified
  3024. width as uintmax_t.
  3025. * xargs/xargs.c: Include <inttypes.h> and <stdint.h>, but without
  3026. the include guards (since we assume an ISO C platform anyway).
  3027. * import-gnulib.config (modules): Add modules inttypes and stdint.
  3028. 2009-03-07 James Youngman <jay@gnu.org>
  3029. Remove unused Debian files; the Debian package doesn't use them.
  3030. * debian.rules: Delete.
  3031. * debian/README.debian: Delete.
  3032. * debian/TODO: Delete.
  3033. * debian/changelog: Delete.
  3034. * debian/conffiles: Delete.
  3035. * debian/control: Delete.
  3036. * debian/copyright: Delete.
  3037. * debian/cron.find: Delete.
  3038. * debian/doc-base: Delete.
  3039. * debian/postinst: Delete.
  3040. * debian/preinst: Delete.
  3041. * debian/prerm: Delete.
  3042. * debian/rules: Delete.
  3043. * debian/substvars: Delete.
  3044. * debian/updatedb.conf: Delete.
  3045. * debian/.cvsignore: Delete.
  3046. * debian/.gitignore: Delete.
  3047. 2009-03-06 James Youngman <jay@gnu.org>
  3048. Change suffix for non-release versions from -CVS to -git.
  3049. * configure.ac(AC_INIT): Change the suffix used to indicate that
  3050. the version number doesn't correspond to a source release from
  3051. -CVS to -git.
  3052. * NEWS: Likewise.
  3053. Delete the INSTALL file; rely on Autoconf providing it.
  3054. * INSTALL: Delete; this file can be copied/generated by Autoconf,
  3055. so do that rather than keeping it under source control.
  3056. * .gitignore: Ignore INSTALL.
  3057. Updated translation po files from translationproject.org.
  3058. * po/bg.po: Updated Bulgarian translation.
  3059. * po/de.po: Updated German translation.
  3060. * po/ga.po: Updated Irish translation.
  3061. * po/hu.po: Updated Hungarian translation.
  3062. * po/lt.po: Updated Lithuanian translation.
  3063. * po/nl.po: Updated Dutch translation.
  3064. * po/pl.po: Updated Polish translation.
  3065. * po/sl.po: Updated Slovenian translation.
  3066. * po/sv.po: Updated Swedish translation.
  3067. * po/tr.po: Updated Turkish translation.
  3068. * po/uk.po: Updated Ukrainian translation.
  3069. * po/vi.po: Updated Vietnamese translation.
  3070. * NEWS: Mention these updates.
  3071. 2009-03-05 James Youngman <jay@gnu.org>
  3072. Fix Savannah bug #25764, duplicate entry for proc in PRUNEFS.
  3073. * locate/updatedb.sh (PRUNEFS): Remove duplicate entry for proc.
  3074. * locate/Makefile.am (updatedb): add dependency on Makefile, and
  3075. add a comment explaining why updatedb is generated by make, not
  3076. configure.
  3077. * NEWS: Mention this bugfix.
  3078. Provide more detailed help on how to work with the git sources.
  3079. * README-CVS: Rename to README-hacking.
  3080. * README-hacking: Add more specific information about using topic
  3081. branches, test cases, documentation, coding standards and how to
  3082. submit patches. Much of this is adapted from the files
  3083. README-hacking and HACKING in the coreutils source tree.
  3084. * Makefile.am: Generate tool-versions.txt, which is a list of the
  3085. --version outputs of the tools that the maintainer used to build a
  3086. release.
  3087. * NEWS: Mention these improvements.
  3088. 2009-03-04 James Youngman <jay@gnu.org>
  3089. Upgrade to gnulib version 86a37c05846ff3772afd1300f135866dd1d271c6.
  3090. * import-gnulib.config(gnulib_version): Update.
  3091. * xargs/Makefile.am: Add $(LIB_CLOSE) to $(LDADD), as suggested by
  3092. gnulib's unistd module.
  3093. * locate/Makefile.am: Likewise.
  3094. * find/Makefile.am: Likewise.
  3095. Removed trailing white space.
  3096. * Makefile.am: Removed trailing white space.
  3097. * NEWS, build-aux/check-testfiles.sh, build-aux/src-sniff.py,
  3098. doc/Makefile.am, doc/find-maint.texi, doc/find.texi, find/Makefile.am,
  3099. find/defs.h, find/find.1, find/find.c, find/finddata.c, find/fstype.c,
  3100. find/ftsfind.c, find/parser.c, find/pred.c, find/tree.c, find/util.c,
  3101. import-gnulib.sh, lib/Makefile.am, lib/buildcmd.c, lib/buildcmd.h,
  3102. lib/dircallback.c, lib/dircallback.h, lib/extendbuf.c,
  3103. lib/extendbuf.h, lib/findutils-version.c, lib/findutils-version.h,
  3104. lib/forcefindlib.c, lib/gnulib-version.h, lib/listfile.c,
  3105. lib/modetype.h, lib/nextelem.c, lib/nextelem.h, lib/printquoted.c,
  3106. lib/printquoted.h, lib/qmark.c, lib/regexprops.c, lib/regextype.c,
  3107. lib/savedirinfo.c, lib/savedirinfo.h, lib/strspn.c, lib/wait.h,
  3108. lib/waitpid.c, locate/bigram.c, locate/code.c, locate/locate.1,
  3109. locate/locate.c, locate/locatedb.5, locate/locatedb.h,
  3110. locate/updatedb.1, locate/updatedb.sh, locate/word_io.c,
  3111. m4/findlib.m4, m4/nullsort.m4, m4/withfts.m4, xargs/xargs.1:
  3112. Likewise.
  3113. * m4/nullsort.m4: Removed occurrences of space followed by tab.
  3114. Enabled GCC warnings for declarations after statements.
  3115. * import-gnulib.config: Import the gnulib module 'warnings'
  3116. * configure.ac: Add GCC warning -Wdeclaration-after-statement.
  3117. * Makefile.am: Add AM_CFLAGS and set it to $(WARN_CFLAGS).
  3118. * find/Makefile.am, doc/Makefile.am, lib/Makefile.am: Likewise.
  3119. * locate/Makefile.am, xargs/Makefile.am: Likewise.
  3120. 2009-03-03 James Youngman <jay@gnu.org>
  3121. Fix Savannah bug #25359, more efficiently (suggestion by Nick Fortino).
  3122. * find/ftsfind.c (consider_visiting): revert the previous change
  3123. which discarded type information, and instead simply ensure that
  3124. state.curdepth holds the correct value before digest_mode() is
  3125. called.
  3126. (find): revert the previous change.
  3127. (visit): we no longer need to set state.curdepth here, since it
  3128. will have been set already in consider_visiting().
  3129. 2009-03-02 James Youngman <jay@gnu.org>
  3130. Fix Savannah bug #25359.
  3131. * find/ftsfind.c (consider_visiting): discard mode information
  3132. from fts when the -H option is in effect and the current file is a
  3133. symbolic link.
  3134. (find): don't decode the mode information that find is trying to
  3135. pass to us in that case, since we don't want to use it.
  3136. * find.posix/sv-bug-25359.exp: new test for this bug.
  3137. * find.posix/sv-bug-25359.xo: expected output for the test.
  3138. * NEWS: Mention this bugfix.
  3139. 2009-02-21 James Youngman <jay@gnu.org>
  3140. Updated the email address for Eric B. Decker.
  3141. * ChangeLog: Updated Eric's address
  3142. * find/find.c: Likewise
  3143. * find/ftsfind.c: Likewise
  3144. 2009-02-21 Jim Meyering <meyering@redhat.com>
  3145. find: take advantage of new gnulib/fts leaf-optimization
  3146. * find/ftsfind.c (ftsoptions): Set the FTS_CWDFD bit.
  3147. This is required in order to take advantage of fts' leaf-optimization.
  3148. * find/ftsfind.c (consider_visiting): Allow state.type to be 0
  3149. when fts_info is FTS_NSOK;
  3150. This allows find to process an fts entry for which fts_read returns
  3151. FTS_NSOK (no stat) but for which find requires only type info.
  3152. This happens on file systems that lack dirent.dtype information.
  3153. Currently, only reiserfs is handled this way. Until the recent
  3154. gnulib/fts change, [97d5b66] "fts: arrange not to stat non-directories
  3155. in more cases" this change was not necessary, because fts would always
  3156. stat non-dir entries on a file system with no dirent.dtype information.
  3157. However, combined with the gnulib change, this change lets find
  3158. avoid many per-non-directory stat-like syscalls (i.e. fstatat)
  3159. in some very common cases, like "find . -print" on reiserfs --
  3160. which can be a huge performance savings.
  3161. find: avoid warning about unused local
  3162. * find/pred.c (scan_for_digit_differences): Remove declaration of
  3163. unused local, "ok". (second time, really applying that patch).
  3164. 2009-02-21 James Youngman <jay@gnu.org>
  3165. Update gnulib version.
  3166. * import-gnulib.config (gnulib_version): Update from
  3167. d4b129b8e5f8a8d1198020fd6fc79310d305936c to
  3168. df70a4bf4a1e84171918db09b639ae1a14c2a9b2. This pulls in the
  3169. following relevant changes:
  3170. fts: correct internal computation of nlinks (optimization-related)
  3171. fts: move a function definition "up" (no semantic change)
  3172. fts: arrange not to stat non-directories in more cases
  3173. fts: add #if guards so that the fts_lgpl module still builds
  3174. fts: avoid used-uninitialized error due to recent change
  3175. regex: avoid compilation failure with upcoming gcc-4.4
  3176. regex: fix glibc bug 697
  3177. regex: fix glibc bug 9697
  3178. Other changes may also be relevant; for details please check gnulib/ChangeLog.
  3179. Improvements to import-gnulib.config, import-gnulib.sh.
  3180. * import-gnulib.config (gpl3_update_files): No longer need to
  3181. update the licenses of build-aux/mdate-sh, build-aux/texinfo.tex
  3182. or build-aux/ylwrap as they are already GPLv3+.
  3183. (modules): Use the strdup-posix module instead of strdup, and stop
  3184. using the obsolete modules memcmp and memset, since we now assume
  3185. those functions will already be present on the host system.
  3186. * import-gnulib.sh (rehack): Be more verbose about which files
  3187. actually needed a license edit and which did not.
  3188. Follow gnulib-tool's Makefile.am edit suggestions.
  3189. * find/Makefile.am (LDADD): Use $(LIBINTL) instead of @INTLLIBS@
  3190. and use $(LIB_CLOCK_GETTIME) instead of @LIB_CLOCK_GETTIME@.
  3191. * lib/Makefile.am: Likewise.
  3192. * locate/Makefile.am: Likewise.
  3193. * xargs/Makefile.am: Likewise.
  3194. * import-gnulib.sh (hack_gnulib_tool_output): Add
  3195. m4/gnulib-cache.m4 to EXTRA_DIST in gnulib/Makefile.am, as
  3196. gnulib-tool suggests.
  3197. 2009-02-21 Jim Meyering <meyering@redhat.com>
  3198. find: avoid warning about unused local, remove unnecessary include.
  3199. * find/pred.c (scan_for_digit_differences): Remove declaration of
  3200. unused local, "ok".
  3201. (do_time_format): Remove decl of "done"; replace sole use with a
  3202. constant, "true". Initialize "i" and "n".
  3203. * lib/dircallback.c: Don't include unistd.h. Not needed.
  3204. 1987-02-22 Eric B. Decker <cire@soe.ucsc.edu>
  3205. * defs.h: added definition of BLKSIZE for size
  3206. 1987-02-21 Eric B. Decker <cire@soe.ucsc.edu>
  3207. * find.c: added global convert_glob
  3208. 1987-02-21 Eric B. Decker <cire@soe.ucsc.edu>
  3209. * find.c: added error checking for no paths. better error
  3210. message if illegal ordering.
  3211. 1987-02-22 Eric B. Decker <cire@soe.ucsc.edu>
  3212. * find.c: changed where we are setting perm_mask to -1. need
  3213. to make sure that this happens before every apply_predicate.
  3214. 1987-02-19 Eric B. Decker <cire@soe.ucsc.edu>
  3215. * parser.c: minor bug in -fulldays predicate parser. It
  3216. should have set the flag full_days to true.
  3217. 1987-02-20 Eric B. Decker <cire@soe.ucsc.edu>
  3218. * parser.c: added ok guts. consolidated exec and ok to using
  3219. insert_exec_ok
  3220. 1987-02-21 Eric B. Decker <cire@soe.ucsc.edu>
  3221. * parser.c: added predicate newer
  3222. 1987-02-21 Eric B. Decker <cire@soe.ucsc.edu>
  3223. * parser.c: added guts to name. uses a conversion from
  3224. globbing to regexp format. uses regex and regcmp to actually
  3225. to the comparison.
  3226. 1987-02-21 Eric B. Decker <cire@soe.ucsc.edu>
  3227. * parser.c: reworked name so the regexpr pattern includes $ at
  3228. the end to force globbing to work correctly. End of the
  3229. pattern refers to the end of the filename.
  3230. 1987-02-21 Eric B. Decker <cire@soe.ucsc.edu>
  3231. * parser.c: added -fre, -fullregex predicate to turn off
  3232. globbing conversion
  3233. 1987-02-22 Eric B. Decker <cire@soe.ucsc.edu>
  3234. * parser.c: added guts of perm and permmask. added getoct
  3235. routine for perm and permmask
  3236. 1987-02-22 Eric B. Decker <cire@soe.ucsc.edu>
  3237. * parser.c: added guts to parse_size
  3238. 1987-02-19 Eric B. Decker <cire@soe.ucsc.edu>
  3239. * pred.c: finished exec.
  3240. 1987-02-20 Eric B. Decker <cire@soe.ucsc.edu>
  3241. * pred.c: added guts to pred_ok
  3242. 1987-02-21 Eric B. Decker <cire@soe.ucsc.edu>
  3243. * pred.c: added predicate newer
  3244. 1987-02-21 Eric B. Decker <cire@soe.ucsc.edu>
  3245. * pred.c: added guts to name. useds regex and regcmp to do
  3246. regular expression handling.
  3247. 1987-02-21 Eric B. Decker <cire@soe.ucsc.edu>
  3248. * pred.c: made pred_name only look at the last component of
  3249. the path.
  3250. 1987-02-22 Eric B. Decker <cire@soe.ucsc.edu>
  3251. * pred.c: added guts to perm and permmask.
  3252. 1987-02-22 Eric B. Decker <cire@soe.ucsc.edu>
  3253. * pred.c: added guts to pred_size
  3254. 1990-03-21 David J. MacKenzie <djm@gnu.org>
  3255. * xargs.c: Indent. Comment and rename some global variables.
  3256. (main): Use getopt to parse options. Open new global var
  3257. `tty_stream' to /dev/tty if querying requested.
  3258. (print_args): Read response from tty_stream, not stdin.
  3259. (xmalloc): New function.
  3260. Global: Use xmalloc instead of malloc.
  3261. (usage): Revise message.
  3262. 1990-03-25 David J. MacKenzie <djm@gnu.org>
  3263. * find.c (main): Don't take basename of argv[0].
  3264. * util.c (xmalloc): New function.
  3265. * find.c, parser.c, utils.c: Use xmalloc instead of malloc.
  3266. * pred.c: Remove emulation of regex for BSD and use GNU
  3267. library version in regcmp.c instead.
  3268. * parser.c: Remove emulation of regcmp for BSD and use GNU
  3269. library version in regcmp.c instead.
  3270. * Makefile: Link with regex.o and regcmp.o.
  3271. Add a DISTFILES macro and dist target.
  3272. * Indent source code. Move RCS logs to this file.
  3273. 1990-03-27 David J. MacKenzie <djm@gnu.org>
  3274. * defs.h: Change some #defines to enums.
  3275. 1990-05-13 David J. MacKenzie <djm@gnu.org>
  3276. * Replace fprintf, simple_error, and mem_error with error and
  3277. usage.
  3278. * Fix string header includes for USG.
  3279. 1990-05-14 David J. MacKenzie <djm@gnu.org>
  3280. * find.c: Add variable `stay_on_filesystem' for -xdev.
  3281. (process_path): Take an arg determining whether this call is
  3282. the root of a tree. Use lstat instead of stat. If
  3283. stay_on_filesystem, don't process a dir on a different
  3284. filesystem.
  3285. * parser.c (parse_newer): Use lstat instead of stat. Is this right?
  3286. (parse_xdev): Set stay_on_filesystem.
  3287. * parser.c: Add dummy parse_nogroup, parse_nouser,
  3288. parse_prune, and parse_xdev; to be written later.
  3289. * pred.c: Add dummy pred_nogroup, pred_nouser, pred_prune.
  3290. * find.c: Support System V directory library/headers.
  3291. * find.c (process_path): Don't continue with a file that stat
  3292. fails on.
  3293. * defs.h, parser.c, pred.c: Change 'u_long' and 'u_short' to
  3294. 'unsigned long' and 'unsigned short'.
  3295. * find.c, defs.h: Remove 'convert_glob' variable.
  3296. * parser.c (parse_fullregex): Function removed.
  3297. (parse_name): Remove regular expression code.
  3298. (parse_type): Recognize sockets.
  3299. Add code to check for missing arguments to many parse_* functions.
  3300. * pred.c (pred_name): Use glob_match instead of regex.
  3301. 1990-05-16 David J. MacKenzie <djm@gnu.org>
  3302. * parser.c (parse_nogroup, parse_nouser): Implement.
  3303. * pred.c (pred_nogroup, pred_nouser): Implement.
  3304. 1990-05-17 David J. MacKenzie <djm@gnu.org>
  3305. * parser.c (get_oct): Don't consider an empty string a valid number.
  3306. * parser.c (parse_perm): If arg starts with '-', set flag bit
  3307. for special comparison (POSIX).
  3308. * pred.c (pred_perm): If flag bit set, compare s[ug]id &
  3309. sticky bits as well, and return true if the given perms are
  3310. set, ignoring other bits.
  3311. * find.c: New global var `exit_status'. Use it. (POSIX)
  3312. * parser.c: Set `exit_status' if lstat on -newer file fails.
  3313. * fastfind.c: New file.
  3314. * find.c (main): Call fastfind if given only 1 arg.
  3315. * util.c (usage): Update message.
  3316. * lib/{Makefile,updatedb.sh,bigram.c,code.c}: New files.
  3317. * Makefile: Add 'all' and 'install' targets.
  3318. 1990-05-18 David J. MacKenzie <djm@gnu.org>
  3319. * modechange.c, modechange.h: New files.
  3320. * parser.c (parse_perm): Use mode_compile and mode_adjust to
  3321. parse arg, to allow symbolic mode for POSIX.
  3322. 1990-05-20 David J. MacKenzie <djm@gnu.org>
  3323. * pred.c (pred_prune): Set new global var `stop_at_current_level'.
  3324. * find.c (process_path): Test and reset it.
  3325. 1990-05-21 David J. MacKenzie <djm@gnu.org>
  3326. * lib/updatedb.sh: Put BINDIR in PATH.
  3327. * fstype.c: Do nothing if MNTENT_MISSING is defined.
  3328. * fstype.c: New file.
  3329. * parser.c (parse_fstype): New function.
  3330. * pred.c (pred_fstype): New function.
  3331. * parser.c (parse_newer): Failure to stat -newer file is a
  3332. fatal error.
  3333. * pred.c (pred_ok): Flush output before reading. Use getchar
  3334. instead of scanf.
  3335. * pred.c (pred_prune): Return false if -depth given.
  3336. * find.c: Apply the predicates to the dir when -depth and
  3337. -prune are given.
  3338. 1990-05-31 David J. MacKenzie <djm@gnu.org>
  3339. * parser.c (parse_regex): New function.
  3340. * pred.c (pred_regex): New function.
  3341. * fstype.c (read_mtab): If mtab entry has a "dev=" option
  3342. (like in SunOS 4.1), use it, so there is no need to stat the
  3343. special file later on.
  3344. (xatoi, strstr): New functions.
  3345. 1990-06-07 David J. MacKenzie <djm@gnu.org>
  3346. * Makefile, find.c: Use DIRENT to control whether <dirent.h>
  3347. is used.
  3348. 1990-06-09 David J. MacKenzie <djm@gnu.org>
  3349. * parser.c (parse_permmask): Allow symbolic mode masks.
  3350. (parse_perm): Free 'struct change' when done with it.
  3351. (get_oct): Function removed.
  3352. * find.c (process_path): Allow arbitrarily-long filenames.
  3353. More efficient string copying. Initialize perm_mask to 07777
  3354. instead of -1.
  3355. 1990-06-14 David J. MacKenzie <djm@gnu.org>
  3356. * savedir.c: New file; now find won't run out of file
  3357. descriptors in deep trees.
  3358. * find.c (process_path): Use savedir.
  3359. 1990-06-15 David J. MacKenzie <djm@gnu.org>
  3360. * fstype.c: If MOUNTED isn't defined but MNT_MNTTAB is, use it
  3361. instead. True for HP/UX, at least.
  3362. 1990-06-17 David J. MacKenzie <djm@gnu.org>
  3363. * listfile.c: New file.
  3364. * parser.c (parse_ls): New function.
  3365. * pred.c (pred_ls): New function.
  3366. * find.c (main): Remove interface to fastfind, to prevent
  3367. conflict with POSIX syntax.
  3368. * util.c (usage): Remove fastfind syntax from message.
  3369. * fastfind.c (main): New function.
  3370. * Makefile: Make fastfind a separate program.
  3371. * find.c (main): Print correct message if a predicate arg is
  3372. missing.
  3373. * parser.c (insert_exec_ok): Make args that start with a ';' but
  3374. contain other characters not terminate the command.
  3375. 1990-06-18 David J. MacKenzie <djm@gnu.org>
  3376. * parser.c [STRSPN_MISSING] (strspn): New function.
  3377. 1990-06-19 David J. MacKenzie <djm@gnu.org>
  3378. * lib/updatedb.sh: Prune entries that match PRUNEREGEX.
  3379. Split up finding files from computing bigrams.
  3380. Use redirection instead of nonportable grep -s to detect sort
  3381. failure. Optionally search network filesystems as well as
  3382. local ones.
  3383. * pred.c (pred_regex): Match against full pathname instead of
  3384. just last element.
  3385. * util.c (basename): Return "/", not "", if given "/".
  3386. * find.c (process_path): Fix error in handling "/" directory.
  3387. 1990-06-22 David J. MacKenzie <djm@gnu.org>
  3388. * Version 1.0.
  3389. 1990-06-24 David J. MacKenzie <djm@gnu.org>
  3390. * Version 1.1.
  3391. * Makefile [DISTFILES]: Add COPYING.
  3392. 1990-06-25 David J. MacKenzie <djm@gnu.org>
  3393. * fastfind.c (fastfind): Initialize count to 0.
  3394. * lib/updatedb.sh: Only do regex comparison on directories,
  3395. for speed.
  3396. * listfile.c (list_file): Truncate user and group name to 8 chars.
  3397. 1990-06-28 David J. MacKenzie <djm@gnu.org>
  3398. * parser.c (parse_regex): Set fastmap and translate before
  3399. compiling regex.
  3400. 1990-07-02 David J. MacKenzie <djm@gnu.org>
  3401. * pred.c: Don't check for invalid comparison types in numeric
  3402. predicate functions.
  3403. 1990-07-03 David J. MacKenzie <djm@gnu.org>
  3404. * parser.c (strspn): Stop when end of string reached.
  3405. * Version 1.2.
  3406. * Move version number from Makefile to new file version.c.
  3407. * parser.c: Recognize new -version predicate.
  3408. * find.c (main): If no predicates that produce output are
  3409. given, default to -print if the entire expression is true, not
  3410. just the last part of an alternation.
  3411. * Print the names of predicates with invalid arguments.
  3412. 1990-07-04 David J. MacKenzie <djm@gnu.org>
  3413. * find.c (main): Only enclose expressions that produce no side
  3414. effects within `( ... )'.
  3415. 1990-07-15 David J. MacKenzie <djm@gnu.org>
  3416. * parser.c (parse_and): New function, for compatibility.
  3417. 1990-07-16 David J. MacKenzie <djm@gnu.org>
  3418. * defs.h: Don't declare fprintf and printf, in case they have
  3419. prototypes in stdio.h (important for functions that use stdarg).
  3420. 1990-07-25 David J. MacKenzie <djm@gnu.org>
  3421. * listfile.c (getuser, getgroup): Make uid and gid unsigned
  3422. short, not int.
  3423. 1990-08-04 David J. MacKenzie <djm@gnu.org>
  3424. * parser.c (parse_perm), pred.c (pred_perm): Always compare
  3425. bits 07777.
  3426. * locate.c, Makefile: Rename 'fastfind' program to 'locate',
  3427. following comment in POSIX.2 draft 10 rationale for find.
  3428. 1990-08-12 David J. MacKenzie <djm@gnu.org>
  3429. * xargs.c (main): Tell getopt to not permute.
  3430. 1990-08-26 Jim Kingdon <kingdon@pogo.ai.mit.edu>
  3431. * Makefile (TAGS): New target.
  3432. 1990-09-12 David J. MacKenzie <djm@gnu.org>
  3433. * parser.c: Add -not as synonym for !.
  3434. 1990-09-20 David J. MacKenzie <djm@gnu.org>
  3435. * parser.c (parse_maxdepth): New function.
  3436. * find.c (process_path): If -maxdepth was given, don't go
  3437. more than that many levels deep.
  3438. * defs.h: Declare maxdepth.
  3439. 1990-09-21 David J. MacKenzie <djm@gnu.org>
  3440. * find.c (process_path): Take DEPTH as an arg instead of ROOT,
  3441. and change callers.
  3442. 1990-11-01 David J. MacKenzie <djm@gnu.org>
  3443. * Reorganize into subdirectories and add xargs. Rewrite Makefiles.
  3444. * find.c (process_path, main): Allow a maxdepth of 0, meaning
  3445. only process command line args.
  3446. * parser.c, pred.c: Add -print0 predicate.
  3447. * xargs.c: Add -0 option and long options. Move standard
  3448. library functions into separate files. Use error instead of
  3449. fatal and fprintf/perror. Use POSIX macros for examining exit
  3450. status from wait.
  3451. (read_string): New function.
  3452. 1990-11-02 David J. MacKenzie <djm@gnu.org>
  3453. * xargs.c: Exit with status 127 if running commmand fails, as
  3454. required by POSIX.
  3455. * fstype.c: Support -fstype for Ultrix (-DFS_GETMNT).
  3456. Sun/BSD code is now -DFS_MNTENT.
  3457. 1990-11-03 David J. MacKenzie <djm@gnu.org>
  3458. * xargs.c (do_exec): Child process exits with status 255, not
  3459. 127, if command can't be run.
  3460. 1990-11-05 David J. MacKenzie <djm@gnu.org>
  3461. * find.c (process_path): For -xdev, process filesystem
  3462. mountpoints (but don't descend them), instead of skipping them
  3463. entirely.
  3464. * find.c, parser.c, defs.h: Add -follow predicate.
  3465. * xargs.c: Change ifdefs to support STDC POSIX systems.
  3466. 1990-11-08 David J. MacKenzie <djm@gnu.org>
  3467. * parser.c, pred.c, listfile.c: If not _POSIX_SOURCE, declare
  3468. getpwuid and getgrgid. Use them.
  3469. * listfile.c: If not _POSIX_SOURCE, define S_ISDIR and
  3470. S_ISBLK. Use them.
  3471. * find.c: Use S_ISDIR instead of S_IFDIR, and define if not
  3472. _POSIX_SOURCE.
  3473. * Makefile: Define AR and RANLIB and pass to child makes.
  3474. lib/Makefile: Use them.
  3475. * xargs.c (WIFSIGNALED): Redefine so it works.
  3476. 1990-11-12 David J. MacKenzie <djm@gnu.org>
  3477. * pred.c (pred_fstype): Free old fs type.
  3478. * fstype.c, pred.c (pred_fstype), parser.c (parse_fstype):
  3479. Reread the file system type info. every time a filesystem
  3480. mount point is crossed, to allow for automounting.
  3481. * xstrdup.c: New file from fileutils.
  3482. * find.c (process_path): Rename root_dev to current_dev and
  3483. make it global, for -fstype.
  3484. * wait.h: New file taken from xargs.c.
  3485. * xargs.c: Make limits.h vs. sys/param.h conditional on
  3486. LIMITS_MISSING instead of USG, to accommodate SVR2.
  3487. 1990-11-15 David J. MacKenzie <djm@gnu.org>
  3488. * xmalloc.c: New file from fileutils.
  3489. * fstype.c (fstype_to_string): Add case for MFS.
  3490. (filesystem_type): Take a pathname as a second arg.
  3491. [FS_STATFS] return "unknown" instead of exiting if statfs
  3492. fails because of ENOENT.
  3493. * pred.c (pred_fstype): Pass the pathname. Set current_dev.
  3494. * find.c (process_path): Make root_dev local again.
  3495. 1990-11-16 David J. MacKenzie <djm@gnu.org>
  3496. * modetype.h: New file.
  3497. parser.c, pred.c: Use it.
  3498. 1990-11-20 David J. MacKenzie <djm@gnu.org>
  3499. * Version 2.0.
  3500. * fstype.c [FS_USG_STATFS]: New code.
  3501. [FS_STATFS]: For symlinks, statfs the directory the link is in
  3502. instead of the link.
  3503. * Various files: Conditionalize some declarations on
  3504. STDC_HEADERS or _POSIX_SOURCE.
  3505. 1990-12-03 David J. MacKenzie <djm@gnu.org>
  3506. * find.c, fstype.c, parser.c, pred.c, util.c: Flush stdout before
  3507. writing to stderr, in case they have been redirected to the
  3508. same file descriptor.
  3509. * pred.c (launch): Use POSIX wait macros from wait.h.
  3510. * xargs.c (print_xargs): Read from tty_stream, not stdin.
  3511. 1990-12-15 David J. MacKenzie <djm@gnu.org>
  3512. * listfile.c: Define major and minor if not defined (as in POSIX).
  3513. 1990-12-15 David J. MacKenzie <djm@gnu.org>
  3514. * find.c (main), util.c (usage): Make directory args optional,
  3515. defaulting to ".".
  3516. 1990-12-20 David J. MacKenzie <djm@gnu.org>
  3517. * fstype.c (filesystem_type) [FS_MNTENT]: Allow for optional
  3518. "0x" at front of "dev=" mount option, which amd puts there but
  3519. Sun automounter doesn't.
  3520. 1990-12-21 David J. MacKenzie <djm@gnu.org>
  3521. * defs.h, parser.c: Remove unused field from `struct exec_t'.
  3522. * xargs.c: Add +no-run-if-empty option to cause the command to
  3523. not be run if the input is empty.
  3524. * defs.h (struct exec_t): Change the array of offsets into an
  3525. array of `struct path_arg'.
  3526. * parser.c (insert_exec_ok): Fill in new fields, to allow "{}"
  3527. to be substituted (multiple times) anywhere in an arg to -exec
  3528. or -ok.
  3529. * pred.c (pred_exec): Add code to substitute "{}" within args.
  3530. (pred_ok): After prompting, just run pred_exec.
  3531. 1990-12-26 David J. MacKenzie <djm@gnu.org>
  3532. * locate.c, bigram.c, code.c: Attempt to get max. path length
  3533. on more kinds of systems, incl. POSIX.
  3534. * pred.c, listfile.c, xargs.c: Get some decls from unistd.h,
  3535. if available.
  3536. * find.c, defs.h: Make `cur_day_start' a time_t, not long.
  3537. 1991-01-01 David J. MacKenzie <djm@gnu.org>
  3538. * Version 2.1.
  3539. 1991-01-10 David J. MacKenzie <djm@gnu.org>
  3540. * wait.h: Include sys/types.h to get pid_t.
  3541. * xargs.c [USG && !STDC_HEADERS]: Only include memory.h if not
  3542. _POSIX_SOURCE.
  3543. 1991-01-12 David J. MacKenzie <djm@gnu.org>
  3544. * defs.h, find.c, parser.c, pred.c: Remove -permmask option.
  3545. 1991-01-18 David J. MacKenzie <djm@gnu.org>
  3546. * bigram.c, code.c, locate.c: Use LIMITS_MISSING, not
  3547. _POSIX_SOURCE, to decide whether to include limits.h.
  3548. * parser.c, pred.c, listfile.c: Use POSIX, not _POSIX_SOURCE,
  3549. to decide whether to declare getpwuid and getgrgid.
  3550. * xargs.c: Use POSIX, not _POSIX_SOURCE, to determine whether
  3551. to include memory.h.
  3552. 1991-03-15 David J. MacKenzie <djm@gnu.org>
  3553. * xargs.c (main): Always run the command if some args are left over.
  3554. Rename some variables.
  3555. 1991-04-05 David J. MacKenzie <djm@gnu.org>
  3556. * Version 2.2.
  3557. 1991-07-19 David J. MacKenzie <djm@gnu.org>
  3558. * pred.c, locate.c: Use fnmatch instead of glob_match.
  3559. * fnmatch.c, fnmatch.h: New files.
  3560. * Many files: Use string.h if STDC_HEADERS, as well as if USG.
  3561. * locate.c, code.c, bigram.c: Possibly use pathconf to get
  3562. PATH_MAX. Use malloc to allocate path arrays.
  3563. * xargs.c: Possibly use sysconf to get ARG_MAX.
  3564. (env_size): Make definition unconditional.
  3565. (main): Do arg_max adjustment that can't be done with
  3566. preprocessor now that ARG_MAX might be a function call.
  3567. (do_exec): Exit with status 126 or 127 after failed exec, for
  3568. POSIX.2 draft 11.1.
  3569. * xargs.c, pred.c, listfile.c: Use POSIX, not UNISTD_MISSING.
  3570. * wait.h: Use POSIX, not WAIT_MACROS_MISSING.
  3571. * COPYING: Use version 2. Update all files.
  3572. * Replace Makefile and lib/Makefile with Makefile.in,
  3573. lib/Makefile.in and configure. Update README.
  3574. 1991-07-20 David J. MacKenzie <djm@gnu.org>
  3575. * configure: Filter /etc and /usr/etc from path.
  3576. * xargs.c (wait_for_proc): Fix handling of child exit status.
  3577. (main): Exit with a nonzero status if any child did.
  3578. * pred.c (launch): Flush stdout and stderr before forking.
  3579. * fstype.c (filesystem_type) [FS_MNTENT]: Skip entries of
  3580. type "ignore".
  3581. 1991-08-07 David J. MacKenzie <djm@gnu.org>
  3582. * configure, Makefile.in's: Support +srcdir option via VPATH.
  3583. Clean up clean targets.
  3584. 1991-08-08 David J. MacKenzie <djm@gnu.org>
  3585. * parser.c, pred.c [CACHE_IDS]: Optional code to turn uid and
  3586. gid lookups into table lookups.
  3587. 1991-08-09 David J. MacKenzie <djm@gnu.org>
  3588. * xargs.c (read_line): Use isblank, to support POSIX locales.
  3589. * fstype [FS_STATVFS]: New code for SVR4, from slootman@dri.nl
  3590. (Paul Slootman).
  3591. * configure: Figure out when to use it.
  3592. * configure: Check for st_blocks in struct stat.
  3593. * listfile.c (ST_NBLOCKS): New macro.
  3594. (list_file): Print file's block count.
  3595. Use S_ISLNK instead of S_IFLNK.
  3596. * fileblocks.c: New file, from fileutils.
  3597. 1991-08-14 David J. MacKenzie <djm@gnu.org>
  3598. * parser.c (parse_size), pred.c (pred_size), defs.h (struct
  3599. size_t): Allow `k' to follow number to measure size in Kbytes.
  3600. * parser.c (parse_size, get_num, insert_num), defs.h (struct
  3601. size_t): Use enum comparison_type instead of short.
  3602. 1991-08-15 David J. MacKenzie <djm@gnu.org>
  3603. * modetype.h: Define POSIX.1 stat stuff if missing.
  3604. * pred.c, parser.c, find.c, fstype.c: Don't define it.
  3605. * updatedb.sh: Use a variable substitution method like configure's.
  3606. * Makefile.in: Add datadir variable to separate programs from
  3607. data file.
  3608. * parser.c, pred.c: Rename -fulldays to -daystart.
  3609. * defs.h, find.c, parser.c, pred.c: Add many new predicates
  3610. from Jay Plett (jay@princeton.edu).
  3611. 1991-08-21 David J. MacKenzie <djm@gnu.org>
  3612. * Version 3.1.
  3613. * parser.c (parse_fprintf), pred.c (pred_fprintf): Add %k
  3614. conversion to print 1K blocks.
  3615. * listfile.c: Print counts of 1K blocks, for consistency with
  3616. new fileutils release. Bad timing, there.
  3617. * Version 3.0.
  3618. * pred.c [VOID_CLOSEDIR]: Fake a return value for closedir,
  3619. which returns void on some systems, like Sequents.
  3620. * configure: Check sys/dir.h for 'void closedir'.
  3621. 1991-08-22 David J. MacKenzie <djm@gnu.org>
  3622. * pred.c (pred_fprintf, pred_lname) [_AIX]: Allocate PATH_MAX
  3623. byte for link object since st_size is wrong.
  3624. * listfile.c (list_file): Don't convert blocks to kilobytes if
  3625. env. var POSIX_ME_HARDER is defined.
  3626. * fstype.c [FS_AIX_STATFS]: New case.
  3627. * configure: Make sure the sys/mount.h is the 4.4BSD version
  3628. with grep instead of just testing whether it exists.
  3629. * listfile.c (list_file): Add 1 to number of 512-byte blocks
  3630. before dividing to get 1K blocks (so we round up, not down).
  3631. 1991-08-23 David J. MacKenzie <djm@gnu.org>
  3632. * pred.c (pred_fprintf): Round block number up to get K.
  3633. 1991-08-26 David J. MacKenzie <djm@gnu.org>
  3634. * bigram.c, code.c: Fix handling of PATH_MAX.
  3635. Check for anomalous input line lengths.
  3636. From Bruce Evans.
  3637. 1991-08-28 David J. MacKenzie <djm@gnu.org>
  3638. * Version 3.2.
  3639. 1991-09-05 Jim Meyering <meyering@churchy.gnu.ai.mit.edu>
  3640. * parser.c (insert_fprintf): Add `\\' escape and fixed `%%'
  3641. interpretation.
  3642. * pred.c (pred_fprintf): fixed off-by-one indexing problem
  3643. when handling [gGuU] printf formats.
  3644. 1991-09-05 David J. MacKenzie <djm@gnu.org>
  3645. * bigram.c, code.c (main): Make path_max int, not unsigned.
  3646. * locate.c (main): Check for pathconf failure.
  3647. 1991-09-13 David J. MacKenzie <djm@gnu.org>
  3648. * xargs.c [POSIX]: Always use sysconf to get ARG_MAX.
  3649. 1991-10-05 Jim Meyering <meyering@churchy.gnu.ai.mit.edu>
  3650. * parser.c (parse_perm): Parse new `-perm +mode' notation.
  3651. * pred.c (pred_perm): Interpret same.
  3652. 1991-10-17 David J. MacKenzie <djm@gnu.org>
  3653. * xargs.c: Don't determine memory.h based on POSIX, which
  3654. doesn't mention it.
  3655. 1993-03-23 David J. MacKenzie (djm@gnu.org>
  3656. * defs.h, parser.c, pred.c: Rename some types that conflict
  3657. with reserved POSIX.1 namespace (ended in _t).
  3658. 1993-03-29 David J. MacKenzie (djm@gnu.org>.
  3659. * parser.c (make_segment, insert_fprintf), pred.c
  3660. (pred_fprintf): Add '%F' to print filesystem type.
  3661. * parser.c (parse_fprintf): Check if second arg is missing.
  3662. 1993-03-31 David J. MacKenzie (djm@gnu.org>text; nuke cp.
  3663. 1993-03-31 Jim Meyering (meyering@comco.com)
  3664. * parser.c: Define isascii macro to be 1 also if STDC_HEADERS.
  3665. * xargs.c: Ditto.
  3666. 1993-08-01 David J. MacKenzie (djm@gnu.org>.
  3667. (filesystem_type_uncached) [AFS]: Call it if the fs type is
  3668. otherwise unknown.
  3669. * parser.c (parse_size): Recognize b and w suffixes for dd
  3670. compatibility.
  3671. * code.c (puthalfword): New function.
  3672. (main): Call it.
  3673. * locate.c (gethalfword): New function.
  3674. (locate): Call it.
  3675. From ifado!wb@germany.eu.net (Wilhelm B. Kloke).
  3676. * listfile.c: Include pathmax.h.
  3677. (get_link_name): Always allocate PATH_MAX + 1 bytes for
  3678. readlink buffers.
  3679. * pred.c (pred_fprintf, insert_lname): Call get_link_name.
  3680. * fstype.c (filesystem_type, filesystem_type_uncached),
  3681. listfile.c (list_file): Take an arg for the path to access.
  3682. * pred.c (pred_ls, pred_fstype, pred_fprintf): Pass it.
  3683. * find.c (process_dir): Renamed from scan_directory.
  3684. Changes from jrs@world.std.com (Rick Sladkey) to chdir into
  3685. subdirectories instead of using string concatenation, for speed:
  3686. * find.c (process_top_path): New function.
  3687. (main): Call it, and xgetcwd.
  3688. (process_path, scan_directory): Take new arg, the pathname
  3689. relative to ".". Use it and pass it on.
  3690. * pred.c (pred_and, pred_comma, pred_negate, pred_or,
  3691. pred_xtype, pred_fprintf, pred_empty, insert_lname):
  3692. access rel_pathname instead of pathname.
  3693. (launch): chdir to starting_dir.
  3694. * defs.h: Declare rel_pathname and starting_dir.
  3695. * find.c: Define them.
  3696. * xgetcwd.c: New file.
  3697. * updatedb.sh: Recognize -fstype NFS as well as nfs.
  3698. * locate.c (patprep): Skip trailing character classes correctly.
  3699. From luik@pharao.stgt.sub.org (Andreas Luik).
  3700. * parser.c (parse_group): Make gid a gid_t, not short or int.
  3701. (parse_nogroup): Cast gid to unsigned when using it as an array index.
  3702. (parse_user, parse_nouser): Similar changes for uid.
  3703. * defs.h: Use uid_t and gid_t.
  3704. * parser.c (parse_help): New function.
  3705. (parse_table): Add --version, -help, and --help options.
  3706. Rename struct parser_table_t to struct parser_table.
  3707. (parse_version): Exit after printing message, on
  3708. stdout not stderr.
  3709. * xargs.c, locate.c (main, usage): Add --version and --help
  3710. options.
  3711. 1994-02-13 Jim Meyering (meyering@comco.com)
  3712. * man/Makefile.in [man1ext, man5ext]: Set man5ext (not man1ext) to 5.
  3713. 1994-09-20 David MacKenzie <djm@gnu.org>
  3714. * configure.in: Update for Autoconf v2.
  3715. * find/pred.c lib/savedir.c: Use new symbols for dir header.
  3716. * locate/updatedb.sh: Add --help option.
  3717. 1994-09-21 David MacKenzie <djm@gnu.org>
  3718. * locate/locate.c (locate): Warn if database is >8 days old.
  3719. From Ian Lance Taylor.
  3720. * xargs/xargs.c (do_exec), find/pred.c (launch): Set SIGCHLD to
  3721. default. From tsi@gpu.srv.ualberta.ca (Marc Aurele La France).
  3722. * find/find.c pred.c util.c lib/listfile.c: Remove fflush(stdout)
  3723. calls before error. error does it, and doesn't trash errno.
  3724. From tsi@gpu.srv.ualberta.ca (Marc Aurele La France).
  3725. * find/fstype.c (filesystem_type_uncached): Don't trust mtab dev
  3726. number on HPUX. From Andreas Luik <luik@isa.de>.
  3727. (filesystem_type_uncached): Don't cache unknown file system
  3728. types. From casper@fwi.uva.nl (Casper Dik).
  3729. * locate/updatedb.sh: Collect results in temp file and rename it
  3730. atomically. From Andreas Luik <luik@isa.de>.
  3731. * xargs/xargs.c (parse_num): Print a long using %ld. From Jim
  3732. Meyering.
  3733. * find/defs.h find.c parser.c pred.c util.c, lib/nextelem.c:
  3734. Emulate strchr and strrchr with index and rindex, not vice versa.
  3735. Remove man directory; move man pages to the directories of the
  3736. programs they document.
  3737. * locate/frcode.c: Renamed from code.c.
  3738. * locate/frcode.c (put_short): Renamed from puthalfword.
  3739. * locate/locate.c (get_short): Renamed from gethalfword.
  3740. (last_literal_end): Renamed from patprep.
  3741. (locate): Recognize old-format databases too.
  3742. * locate/locatedb.h: Add defines for old-format databases.
  3743. * locate/bigram.c locate/code.c: Put back programs to create
  3744. old-format databases.
  3745. * locate/updatedb.sh: Take --old option to use them.
  3746. 1994-09-22 David MacKenzie <djm@gnu.org>
  3747. * locate/locate.c (last_literal_end): Dynamically allocate enough
  3748. memory for the subpattern.
  3749. 1994-09-23 David MacKenzie <djm@gnu.org>
  3750. * lib/listfile.c: Change #ifdef S_IFLNK to #ifdef S_ISLNK.
  3751. From Andreas Luik <luik@isa.de>.
  3752. 1994-09-25 David MacKenzie <djm@gnu.org>
  3753. * find/* [__STDC__]: Prototype declarations.
  3754. * locate/updatedb.sh: Account for renaming code and frcode.
  3755. * find/find.c (process_path): Store dev and ino of directories in
  3756. current branch to avoid symlink loops. From DJ Delorie
  3757. <dj@ctron.com>.
  3758. (process_dir): If following symlinks, don't cd to ..; instead,
  3759. cd to the starting directory and then to the parent directory.
  3760. (main) [HAVE_FCHDIR]: Save the dev, ino of the starting directory.
  3761. (process_top_path) [HAVE_FCHDIR]: Use it.
  3762. * find/pred.c (launch) [HAVE_FCHDIR]: Likewise.
  3763. * defs.h [HAVE_FCHDIR]: Declare starting_desc instead of starting_dir.
  3764. * configure.in: Check for dev_t, ino_t, fchdir, fcntl.h.
  3765. 1994-09-26 David MacKenzie <djm@gnu.org>
  3766. * configure.in: Add AC_CONFIG_HEADER.
  3767. * find/*.c locate/*.c xargs/*.c: Include config.h.
  3768. * locate/updatedb.sh: Add --version; --old -> --old-format.
  3769. 1994-09-27 Kaveh R. Ghazi (ghazi@noc.rutgers.edu)
  3770. * configure.in: Add AC_HEADER_STAT.
  3771. * lib/listfile.c, lib/modetype.h: Add STAT_MACROS_BROKEN.
  3772. * find/pred.c: Move the inclusion of defs.h ahead of the first
  3773. test of _POSIX_VERSION.
  3774. * lib/xgetcwd.c: Remove _POSIX_VERSION, rely only on HAVE_GETCWD.
  3775. 1994-09-29 David J. MacKenzie (djm@gnu.org>
  3776. * find/fstype.c (fstype_to_string): Add more cases. Use
  3777. INITMOUNTNAMES if defined.
  3778. * find/defs.h: Change boolean typedef from char to int.
  3779. * configure.in: Check for mktime.
  3780. 1994-10-01 David MacKenzie <djm@gnu.org>
  3781. * find/pred.c (launch): Use pid_t.
  3782. * xargs/xargs.c (EOF_STR): Define and use.
  3783. [__STDC__]: Declare xrealloc and xmalloc using void *.
  3784. * find/defs.h: Likewise.
  3785. * find/defs.h: Only declare stpcpy if !HAVE_STPCPY.
  3786. * xargs/xargs.c: Replace most global variables with structure
  3787. pointers passed as arguments. Use pid_t.
  3788. * lib/wait.h: Include sys/wait.h if HAVE_SYS_WAIT_H.
  3789. * configure.in: Call AC_TYPE_MODE_T and AC_HEADER_SYS_WAIT.
  3790. * xargs/xargs.c: Improve paging performance and memory
  3791. fragmentation by building command arguments in a pre-allocated
  3792. buffer and re-implementing the child pid list as an expandable
  3793. array. From tsi@gpu.srv.ualberta.ca (Marc Aurele La France).
  3794. 1994-10-04 David MacKenzie <djm@gnu.org>
  3795. * locate/updatedb.sh Makefile.in: Add substitutions to get
  3796. the transformed program names.
  3797. * xargs/xargs.c: Put back the global variables for now.
  3798. Rename some variables. Increase default args_per_exec.
  3799. Use boolean where applicable.
  3800. (main): Reduce default arg_max by 2048 for POSIX.2.
  3801. (read_string): Don't check EOF string.
  3802. (read_line, read_string): Take initial args size into account.
  3803. 1994-10-05 David MacKenzie <djm@gnu.org>
  3804. * xargs/xargs.c (main, read_line, read_string, do_exec): Pass
  3805. along the lengths of the args.
  3806. (main): Calculate length of replace_pat.
  3807. (push_arg, do_insert): Use those lengths instead of calculating
  3808. them.
  3809. 1994-10-12 David J. MacKenzie (djm@gnu.org>
  3810. * find/parser.c: Add -mount as an alias for -xdev.
  3811. From Klaus.Steinberger@physik.uni-muenchen.de (Klaus Steinberger).
  3812. * lib/modechange.c: Make umask_value unsigned short.
  3813. * xargs/xargs.c: Use symbolic constants in longopts.
  3814. From Chapman Flack.
  3815. 1994-10-18 David J. MacKenzie <djm@gnu.org>
  3816. * find/defs.h parser.c pred.c tree.c util.c: Globally change
  3817. "victim" to "primary".
  3818. * find/parser.c (insert_fprintf): For 'c' format, don't lose the
  3819. need_stat information. From Chapman Flack.
  3820. * doc/find.texi perm.texi: New files.
  3821. * configure.in: Configure the doc directory.
  3822. * find/pred.c (pred_regex): Check that the regex matched the whole
  3823. file name.
  3824. 1994-10-25 David J. MacKenzie <djm@gnu.org>
  3825. * find/pred.c (pred_fprintf): Flush output after \c. From Chapman
  3826. Flack.
  3827. * find/parser.c (insert_fprintf): Warn about unrecognized \ and %
  3828. sequences.
  3829. 1994-11-02 David J. MacKenzie <djm@gnu.org>
  3830. * The big 4 0.
  3831. * lib/listfile.c find/defs.h (list_file): Take a stream arg.
  3832. * find/pred.c (pred_ls): pass it.
  3833. * find/parser.c pred.c defs.h (parse_fls, pred_fls): New functions.
  3834. 1994-11-03 David J. MacKenzie <djm@gnu.org>
  3835. * Version 4.1.
  3836. * locate/Makefile.am: Move updatedb from LIBSCRIPTS to SCRIPTS.
  3837. * Makefile.am (distname): Change distribution name from find to
  3838. findutils.
  3839. * testsuite/config/unix.exp: Don't abuse xfail; simulate it correctly.
  3840. * locate/Makefile.am (CLEANFILES): Fix typo.
  3841. 1996-05-27 Kevin Dalley <kevind@rahul.net>
  3842. * updatedb.sh: when NETPATHS is used, only su to NETUSER if whoami
  3843. is root
  3844. 1996-04-27 Kevin Dalley <kevind@rahul.net>
  3845. * lib/getline.c (getstr): verify that nchars_avail is *really*
  3846. greater than 0; set *n to a large enough number, stops some core
  3847. dumping
  3848. 1996-12-28 Kevin Dalley <kevind@rahul.net>
  3849. * added PRUNEFS as variable in updatedb and --prunefs as option to
  3850. updatedb
  3851. 1997-01-11 Kevin Dalley <kevind@rahul.net>
  3852. * locate/updatedb.sh: add --localuser option to updatedb, which
  3853. allows find to be run as nobody, while allowing database file to
  3854. be created as root, change suggested by
  3855. <Bernd_Eckenfels@Wittumstrasse13.76646Bruchsal.de>
  3856. 1997-03-03 Kevin Dalley <kevind@rahul.net>
  3857. * xargs/xargs.c: xargs fixed to prevent occasional core dumping.
  3858. 1998-02-08 Kevin Dalley <kevind@rahul.net>
  3859. * locate/locate.c: corrected get_short so that it correctly
  3860. returns negative numbers.
  3861. * remove declarations of various string functions. Removing the
  3862. declarations almost matches the GNU Coding Standards.
  3863. 1998-02-27 Kevin Dalley <kevind@rahul.net>
  3864. * locate/locate.c: add --existing option to locate, which only
  3865. prints the names of files which still exist
  3866. 1998-08-30 Kevin Dalley <kevind@rahul.net>
  3867. * lib/nextelem.c: removed declaration of strdup and free, which
  3868. meets GNU coding standards and allow compilation on sparc
  3869. * corrected explanation of -amin option which described hours
  3870. instead of minutes
  3871. 1998-09-20 Kevin Dalley <kevind@rahul.net>
  3872. * removed more function declarations to meet GNU coding standards
  3873. 1998-09-26 Kevin Dalley <kevind@rahul.net>
  3874. * lib/getline.c: fix getstr so that it correctly handles long file
  3875. paths
  3876. 1998-12-04 Kevin Dalley <kevind@rahul.net>
  3877. * lib/nextelem.c: removed declaration of strdup and free, which
  3878. meets GNU coding standards and allows compilation on more
  3879. platforms.
  3880. * find.texi: corrected explanation of -amin option which described
  3881. hours instead of minutes
  3882. 1999-01-30 Kevin Dalley <kevind@rahul.net>
  3883. * added const to declaration of basename, which should satisfy
  3884. Linux as well as Hurd (fixes bug #31325).
  3885. 1999-08-02 Kevin Dalley <kevind@rahul.net>
  3886. * AUTHORS: added file listing AUTHORS
  3887. * lib/Makefile.am: modified code for EXTRA sources
  3888. 1999-08-08 Kevin Dalley <kevin@seti.org>
  3889. * Version 4.1.1
  3890. * README-alpha: added alpha README file
  3891. * find/defs.h: move lstat declarations into defs.h
  3892. * xargs/Makefile.am, testsuite/Makefile.am, locate/Makefile.am,
  3893. lib/Makefile.am, find/Makefile.am, doc/Makefile.am, configure.in,
  3894. Makefile.am: update for automake-1.4
  3895. 1999-08-15 Kevin Dalley <Kevin Dalley <kevind@rahul.net>
  3896. * find/version.c: version string is now set by config.h
  3897. 1999-08-15 Mark Kettenis <kettenis@gnu.org>
  3898. * xargs/xargs.c (LONG_MAX): Define if necessary.
  3899. (main): If ARG_MAX is -1 (that is sysconf
  3900. (_SC_ARG_MAX) returns -1) the system does not impose a limit. In
  3901. that case, use LONG_MAX as the limit.
  3902. 1999-08-15 Kevin Dalley <Kevin Dalley <kevin@seti.org>>
  3903. * find/fstype.c (filesystem_type_uncached): a stat failure with
  3904. EACCESS will ignore this file system keep on looking. Patch
  3905. suggested by Vincent Danjean <vdanjean@ens-lyon.fr>.
  3906. 2000-01-17 Jonathan R. Ferro <jferro@corwin.ece.cmu.edu>
  3907. * find/find.c (process_path): fix problem with "-depth" which is
  3908. tested in depth.exp test.
  3909. 2000-01-17 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
  3910. * find/tree.c (opt_expr): Never rearrange the arguments of the
  3911. comma operator, since it is not commutative. Remove useless
  3912. assignment.2
  3913. 2000-01-17 Kevin Dalley <kevind@rahul.net>
  3914. * doc/find.texi (Multiple Files): placed missing xargs in examples
  3915. * find/testsuite/find.gnu/depth.exp: added find tests to test
  3916. "-depth" bug.
  3917. * doc/find.texi: include version.texi for automatic determination
  3918. of version number, update bug report email address to
  3919. bug-findutils@gnu.org.
  3920. (Combining Primaries With Operators): add indices for " ,", "()",
  3921. "-a", "-o", etc.
  3922. 2000-01-18 Kevin Dalley <kevind@rahul.net>
  3923. * Version 4.1.2
  3924. * locate/Makefile.am: remove creation of updatedb, since it is now
  3925. made by configure
  3926. * configure.in: updatedb is now created by configure.
  3927. * xargs/Makefile.am: added testsuite to xargs directory
  3928. * locate/updatedb.in: updatedb is now created by configure
  3929. * locate/frcode.c, locate/code.c, locate/bigram.c: change return
  3930. from main to int. Replace getstr with getline, where possible.
  3931. * locate/Makefile.am: place frcode, code, bigram in
  3932. libexec_PROGRAMS
  3933. * lib/xstrdup.c, lib/xmalloc.c, lib/xgetcwd.c, lib/xalloc.h,
  3934. lib/strtol.c, lib/strstr.c, lib/strftime.c, lib/strdup.c,
  3935. lib/stpcpy.c, lib/stat.c, lib/savedir.h, lib/savedir.c,
  3936. lib/regex.h, lib/regex.c, lib/realloc.c, lib/pathmax.h,
  3937. lib/modechange.h, lib/modechange.c, lib/mktime.c, lib/memset.c,
  3938. lib/memcmp.c, lib/malloc.c, lib/lstat.c, lib/idcache.c,
  3939. lib/getopt1.c, lib/getopt.c, lib/getopt.h, lib/getline.c,
  3940. lib/getline.h, lib/fnmatch.c, lib/fnmatch.h, lib/filemode.c,
  3941. lib/filemode.h, lib/fileblocks.c, lib/error.c, lib/error.h,
  3942. lib/dirname.c, lib/alloca.c: updated to newer version of file from
  3943. fileutils.
  3944. * find/version.c: version number is now automatically generated by
  3945. configure.
  3946. * find/fstype.c (filesystem_type_uncached): fixes bug described as
  3947. follows: When 'find' looks for a fstype, it parses the /etc/mtab
  3948. until it finds the good line. But, if there is, before the good
  3949. line, a line whose mountpoint is unreachable, it fails.
  3950. * doc/texinfo.tex: updated to newer version
  3951. * doc/find.texi: added version.texi, fixed a few documentation bugs.
  3952. * configure.in: new m4 features.
  3953. * Makefile.am: moved testsuite to below corresponding directories
  3954. find and xargs.
  3955. * acconfig.h: updated to match new m4 files.
  3956. * m4: added m4 directory, largely borrowed from Jim Meyering's
  3957. fileutils.
  3958. 2000-01-22 Kevin Dalley <kevind@rahul.net>
  3959. * added intl directory.
  3960. * created po directory and added existing po files from
  3961. http://www.iro.umontreal.ca/contrib/po/HTML
  3962. * Added internationalization, only with slightly out of date po
  3963. files for many locales.
  3964. 2000-01-24 Kevin Dalley <kevind@rahul.net>
  3965. * lib/xmalloc.c, lib/regex.c, lib/getopt.c: internationalization
  3966. works with current version of gettext.
  3967. * lib/getline.h : added declaration of getstr.
  3968. * lib/Makefile.am (libfind_a_SOURCES): added getline.[ch] to
  3969. standard compilation. Added internationalization.
  3970. * find/Makefile.am (INCLUDES): corrected -I options for building
  3971. in other directories.
  3972. (LDADD): changes for internationalization.
  3973. * configure.in (ALL_LINGUAS): added internationalization.
  3974. getline.c is always compiled and linked, because of getstr.
  3975. AM_GNU_GETTEXT
  3976. * Makefile.am:
  3977. (DISTCLEANFILES): added intl/libintl.h
  3978. (AUTOMAKE_OPTIONS): added gnits to AUTOMAKE_OPTIONS
  3979. (SUBDIRS): added intl and po
  3980. * acconfig.h: added internationalization values
  3981. * THANKS: added thanks file for gnits compatibility.
  3982. 2000-01-26 Kevin Dalley <kevind@rahul.net>
  3983. * po/POTFILES.in: added list of files with translatable strings.
  3984. * de.po, es.po, fr.po, it.po, ko.po, nl.po, pl.po, pt_BR.po,
  3985. ru.po, sv.po: New, slightly out of date, files imported from the
  3986. Translation Project: http://www.iro.umontreal.ca/contrib/po/HTML/,
  3987. German, Spanish, French, Italian, Korean, Dutch, Polish, Brazilian
  3988. Portuguese.
  3989. 2000-01-26 Kevin Dalley <kevind@rahul.net>
  3990. * Version 4.1.3
  3991. * acconfig.h: added internationalization.
  3992. * intl/*: copied from tar-1.13.17.
  3993. * locate/Makefile.am, locate/locate.c, locate/code.c:
  3994. internationalized file.
  3995. * locate/frcode.c, locate/bigram.c: include headers from ../lib
  3996. directory.
  3997. * xargs/Makefile.am, xargs/xargs.c: internationalized directory.
  3998. 2000-02-12 Kevin Dalley <kevind@rahul.net>
  3999. * lib/wait.h: updated address.
  4000. 2000-02-13 Kevin Dalley <kevind@rahul.net>
  4001. * configure.in: removed AC_ARG_PROGRAM, which is already in
  4002. AM_INIT_AUTOMAKE.
  4003. * locate/Makefile.am (updatedb), locate/updatedb.sh: add
  4004. transforms of find, frcode, bigram, and code back into
  4005. updatedb.sh, which were accidentally removed.
  4006. 2000-02-17 Kevin Dalley <kevind@rahul.net>
  4007. * po/it.po: new version of Italian file.
  4008. * locate/updatedb.sh (prunefs_exp): have sed statement use '*'
  4009. rather than the often unsupported '+'.
  4010. 2000-02-23 Kevin Dalley <kevind@rahul.net>
  4011. * po/ChangeLog: removed, merged with top-level ChangeLog.
  4012. * po/de.po: new version of German file.
  4013. * po/gl.po, po/et.po: new languages, Estonian and Galician.
  4014. * locate/updatedb.sh (PRUNEFS): enclose paths in quotes
  4015. 2000-02-26 Kevin Dalley <kevind@rahul.net>
  4016. * Version 4.1.4
  4017. * lib/strtoul.c: added to distribution
  4018. * configure.in: added strtoul to AC_REPLACE_FUNCS
  4019. * configure.in: added jm_CHECK_ALL_TYPE
  4020. 2000-03-11 Kevin Dalley <kevind@rahul.net>
  4021. * lib/basename.c: Add file from libit.
  4022. * lib/Makefile.am (libfind_a_SOURCES): add basename.c since it is
  4023. no longer replaceable.
  4024. * find/util.c: Remove definition of basename, which is now in
  4025. lib/basename.c (as base_name).
  4026. * find/pred.c: Use base_name, not basename.
  4027. * find/defs.h: Likewise.
  4028. * configure.in : Don't replace basename. Now we use only
  4029. base_name.
  4030. 2000-04-05 Kevin Dalley <kevind@rahul.net>
  4031. * xargs/Makefile.am: add ansi2knr
  4032. * xargs/xargs.c: add macros PARAMS rather than P_. Add
  4033. prototypes.
  4034. * po/POTFILES: new file listing all POFILES.
  4035. * m4/gl.po, m4/et.po: new files
  4036. * m4/Makefile.am.in: updated file
  4037. * m4: update directory
  4038. * locate/Makefile.am: create updatedb from updatedb.sh
  4039. * locate/updatedb.sh, locate/updatedb.in: removed file. Replaced
  4040. by updatedb.sh
  4041. * locate/frcode.c, locate/code.c, locate/bigram.c: add macros
  4042. PARAMS rather than P_. Add prototypes.
  4043. * lib/xstat.in: new file
  4044. * lib/Makefile.am: update to latest versions of library files.
  4045. * find/testsuite/Makefile.am: add CLEANFILES
  4046. * find/util.c: remove definition of basename
  4047. * find/util.c, find/tree.c, find/pred.c, find/parser.c,
  4048. find/fstype.c, find/find.c, find/defs.h: add macros PARAMS rather
  4049. than P_, for consistency, change to prototypes
  4050. * find/Makefile.am: Add prototypes and ansi2knr
  4051. * configure.in: add Galition and Estonian languages.
  4052. Miscellaneous other fixes.
  4053. 2000-04-02 Paul Eggert <eggert@twinsun.com>
  4054. Add support for large files, and port to Solaris 8 and earlier
  4055. versions.
  4056. * lib/human.c (getenv): Depend on NEED_GETENV_DECL, not
  4057. HAVE_DECL_GETENV.
  4058. * lib/strftime.c (my_strftime): Make sure we call the system
  4059. strftime, not ourselves, when invoking the underlying strftime.
  4060. * m4/check-decl.m4 (jm_CHECK_DECLS): Remove memchr, nanosleep.
  4061. * m4/jm-macros.m4 (jm_MACROS): Don't check for utime.h. Do not
  4062. require jm_BISON, jm_CHECK_TYPE_STRUCT_UTIMBUF, jm_FUNC_LCHOWN,
  4063. jm_FUNC_CHOWN, jm_FUNC_NANOSLEEP, jm_FUNC_GROUP_MEMBER,
  4064. jm_FUNC_PUTENV, jm_FUNC_GETGROUPS, AM_FUNC_GETLOADAVG,
  4065. jm_SYS_PROC_UPTIME, jm_FUNC_FTRUNCATE, jm_FUNC_UTIME. Do not
  4066. replace strcasecmp, dup2, gethostname, getusershell, stime,
  4067. strcspn, strpbrk, euidaccess, mkdir, rmdir, rpmatch, strndup,
  4068. strverscmp, memchr, memmove. Do not check for declaration of
  4069. lchown. Remove invocations of AM_FUNC_OBSTACK, AM_FUNC_STRTOD,
  4070. POW_LIBM, jm_LANGINFO_CODESET, jm_ICONV. Remove df tests.
  4071. (jm_CHECK_ALL_TYPES): Include <sys/stat.h> when checking for
  4072. struct stat.st_blksize.
  4073. * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set environment variable
  4074. in shell rather than using putenv, which isn't portable.
  4075. * COPYING, lib/alloca.c, lib/dirname.c, lib/error.c,
  4076. lib/savedir.c, lib/strstr.c, m4/check-decl.m4, m4/d-ino.m4,
  4077. m4/d-type.m4, m4/getline.m4, m4/jm-glibc-io.m4, m4/jm-macros.m4,
  4078. m4/jm-mktime.m4, m4/ls-mntd-fs.m4, m4/memcmp.m4, m4/prereq.m4,
  4079. m4/readdir.m4, m4/regex.m4, m4/strftime.m4, m4/uintmax_t.m4: Sync
  4080. to latest version from sh-utils-2.0g.
  4081. * config.guess, config.sub, lib/argmatch.c, lib/argmatch.h,
  4082. lib/human.c, lib/human.h, lib/memcpy.c, lib/quotearg.c,
  4083. lib/quotearg.h, lib/strtoull.c, lib/strtoumax.c,
  4084. lib/xstrtoumax.c, m4/c-bs-a.m4, m4/gettext.m4,
  4085. m4/largefile.m4, m4/lcmessage.m4, m4/link-follow.m4,
  4086. m4/progtest.m4, m4/strerror_r.m4, m4/timespec.m4,
  4087. m4/xstrtoumax.m4: New files, taken from sh-utils-2.0g.
  4088. * lib/ansi2knr.1, lib/ansi2knr.c, lib/basename.c, lib/getopt.h,
  4089. lib/fnmatch.c, lib/fnmatch.h, lib/modechange.c: Sync to latest
  4090. unreleased version of GNU tar (between 1.13.17 and 1.13.18).
  4091. * lib/basename.h, lib/waitpid.c: New files, taken from same
  4092. version of GNU tar.
  4093. * lib/regex.c, lib/regex.h: Sync to GNU grep 2.4.2.
  4094. * lib/posix/Makefile.am, lib/posix/regex.h: New files, taken from
  4095. GNU grep 2.4.2.
  4096. * lib/strftime.c: Sync to textutils 2.0e.
  4097. * acconfig.h, depcomp, lib/strcasecmp.c, m4/check-type.m4,
  4098. m4/const.m4, m4/decl.m4, m4/lfs.m4, m4/mktime.m4, m4/perl.m4,
  4099. m4/putenv.m4, m4/uptime.m4, m4/utimbuf.m4, m4/utime.m4,
  4100. m4/utimes.m4: Remove these files; no longer needed.
  4101. * configure.in (AC_CANONICAL_HOST, AC_SYS_LARGEFILE,
  4102. jm_AC_TYPE_UINTMAX_T): Add.
  4103. (CACHE_IDS, FSTYPE_STATVFS, FSTYPE_USG_STATFS, FSTYPE_AIX_STATFS,
  4104. FSTYPE_MNTENT, FSTYPE_STATFS, FSTYPE_GETMNT): Add comment, so that
  4105. we don't need acconfig.h.
  4106. (AC_CHECK_TYPE): Add ssize_t.
  4107. (AC_REPLACE_FUNCS): Add waitpid.
  4108. (AC_CHECK_FUNCS): Remove basename.
  4109. (AC_FUNC_MKTIME): Remove.
  4110. (LIBOBJS): Add no-ops to work around automake 1.4 bug.
  4111. (AC_OUTPUT): Add lib/posix/Makefile.
  4112. * find/defs.h: Include <config.h>, <sys/types.h>, <sys/stat.h>,
  4113. <stdio.h>, <limits.h>, <inttypes.h>. All includers changed to not
  4114. include these files, and to include "defs.h" first (since config.h
  4115. must be included first).
  4116. (CHAR_BIT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
  4117. S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, MOD_WXUSR,
  4118. MODE_R, MODE_RW, MODE_RWX, MODE_ALL): New macros.
  4119. (enum permissions_type): New enum.
  4120. (struct long_val.negative): New member.
  4121. (struct long_val.l_val): Now uintmax_t, not unsigned long.
  4122. (struct size_val.size): Likewise.
  4123. (struct perm_val): New type.
  4124. (struct predicate.perm): Now struct perm_val, not unsigned long.
  4125. (struct predicate.type): Now mode_t, not unsigned long.
  4126. (list_file): New parameters current_time, output_block_size.
  4127. All callers changed.
  4128. (savedir, basename): Remove decls.
  4129. (output_block_size, start_time): New extern vars.
  4130. * find/find.c: Include <human.h>, <savedir.h>.
  4131. (output_block_size, start_time): New vars.
  4132. (main): Initialize them. No need to check for negative st_size,
  4133. since savedir now does it for us.
  4134. * find/fstype.c: Include "dirname.h".
  4135. (xatoi): Remove.
  4136. (filesystem_type_uncached): Use xstrtoumax instead of xatoi.
  4137. * find/parser.c: Include "xstrtol.h".
  4138. (get_num_days, get_num, parse_amin, parse_cmin, parse_mmin,
  4139. parse_size, parse_used, insert_time, insert_num): Compute using
  4140. uintmax_t, not unsigned long.
  4141. (parse_amin, parse_cmin, parse_mmin, parse_used, insert_time):
  4142. Keep track of whether time was negative before converting it to an
  4143. unsigned type.
  4144. (parse_daystart): Don't assume that localtime succeeds; e.g. it
  4145. can fail with 64-bit time_t and 32-bit tm_year.
  4146. (parse_perm, insert_type): Compute using mode_t, not unsigned
  4147. long.
  4148. (insert_type): Use symbolic constants like MODE_ALL instead of
  4149. traditional ones like 07777. Set new kind member to indicate
  4150. permissions type, instead of using unportable magic numbers.
  4151. (make_segment): We will use human_readable to convert most numeric
  4152. values, so simplify the cases.
  4153. (get_num_days): Write in terms of get_num, to avoid duplicated
  4154. code.
  4155. (insert_time, insert_num): When debugging, convert large values to
  4156. uintmax_t and output with %ju.
  4157. (get_num): Use xstrtoumax to do the real work.
  4158. * find/pred.c: Include "basename.h", "human.h".
  4159. (DEV_BSIZE, ST_BLKSIZE, ST_NBLOCKSIZE): New macros, taken from
  4160. fileutils.
  4161. (ST_NBLOCKS): Replace with fileutils defn.
  4162. (MAX): New macro.
  4163. (ctime_format): New function.
  4164. (pred_fprintf, format_date): Use human_readable to output large
  4165. numbers portably.
  4166. (pred_fprintf): Use ctime_format to output ctime-style dates. Use
  4167. base_name to compute the base name of a path. With %m, output the
  4168. mode portably using traditional numbers, even if the host uses
  4169. some other numbering scheme.
  4170. (pred_iname, pred_name): basename -> base_name.
  4171. (pred_perm): Use new kind member to deduce permissions type,
  4172. instead of relying on magic numbers.
  4173. (pred_size): Compute using uintmax_t, not unsigned long. Avoid
  4174. overflow if file size is near the maximum.
  4175. (pred_type): Compute using mode_t, not unsigned long.
  4176. (launch): Use waitpid, not wait. Check for EINTR.
  4177. (format_date): Don't assume that localtime succeeds.
  4178. * find/util.c (basename): Remove; we now use base_name.
  4179. * lib/Makefile.am (SUBDIRS): New macro.
  4180. (libfind_a_SOURCES): Add argmatch.h, argmatch.c, basename.h,
  4181. basename.c, human.c, human.h, quotearg.c, quotearg.h, xstrtoumax.c.
  4182. Remove error.h, error.c, getline.c.
  4183. (EXTRA_DIST): Add mktime.c, regex.c.
  4184. * lib/listfile.c: Include "human.h".
  4185. (alloca): Declare, or include appropriate files to declare.
  4186. (DEV_BSIZE, ST_NBLKSIZE, ST_NBLOCKS, ST_NBLOCKSIZE): New macros.
  4187. (convert_blocks): Remove.
  4188. (list_file): New current_time and output_block_size args.
  4189. Revamp quite a bit, to handle large numbers correctly
  4190. and to match GNU ls behavior more closely.
  4191. * m4/Makefile.am (EXTRA_DIST): Add c-bs-a.m4, gettext.m4,
  4192. largefile.m4, lcmessage.m4, link-follow.m4, progtest.m4,
  4193. strerror_r.m4, xstrtoumax.m4. Remove check-type.m4, const.m4,
  4194. decl.m4, lfs.m4, mktime.m4, perl.m4, putenv.m4, timespec.m4,
  4195. uptime.m4, utimbuf.m4, utime.m4, utimes.m4.
  4196. * xargs/xargs.c (wait_for_proc): Retry wait if it fails with
  4197. errno == EINTR.
  4198. 2000-04-12 Kevin Dalley <kevind@rahul.net>
  4199. * doc/find.texi, doc/permi.texi: fix spellings, add LocalWords.
  4200. * lib/Makefile.am: put getline.c back into libfind_a_SOURCES,
  4201. since getstr is needed.
  4202. * Version 4.1.5
  4203. * po/POTFILES.in: updated list of files, updated po files.
  4204. 2000-05-13 Kevin Dalley <kevind@rahul.net>
  4205. * find/tree.c (opt_expr): move iname and ipath to the front of the
  4206. list of arguments.
  4207. * doc/find.texi (Directories): changed wording for "-prune".
  4208. * find/parser.c (parse_prune): set side_effects to true, to
  4209. prevent prune from being moved in opt_expr.
  4210. 2000-08-24 Kevin Dalley <kevind@rahul.net>
  4211. * doc/find.texi (Invoking xargs): changed @var{-s} to @samp{-s}.
  4212. 2000-10-09 Kevin Dalley <kevind@rahul.net>
  4213. * lib/fnmatch.c, lib/fnmatch.h: reverted to older version of
  4214. fnmatch which works with Solaris.
  4215. * locate/testsuite/config/unix.exp: dejagnu unix.exp
  4216. * xargs/testsuite/config/unix.exp: remove temporary file
  4217. * xargs/xargs.c: spelling correction
  4218. * m4/prereq.m4: updated and changed some macros
  4219. * m4/jm-macros.m4: replaced jm_FUNC_FNMATCH with
  4220. kd_FUNC_FNMATCH_CASE_REPL
  4221. * m4/timespec.m4, m4/strerror_r.m4, m4/mbstate_t.m4,
  4222. m4/largefile.m4, m4/gettext.m4, m4/fnmatchcase.m4, m4/d-type.m4,
  4223. m4/d-ino.m4, m4/c-bs-a.m4: new m4 macros.
  4224. * m4/Makefile.am: add fnmatchcase.m4 and mbstate_t.m4
  4225. * locate/testsuite/locate.gnu/ignore_case3.xo,
  4226. locate/testsuite/locate.gnu/ignore_case3.exp,
  4227. locate/testsuite/locate.gnu/ignore_case2.xo,
  4228. locate/testsuite/locate.gnu/ignore_case2.exp,
  4229. locate/testsuite/locate.gnu/ignore_case1.xo,
  4230. locate/testsuite/locate.gnu/ignore_case1.exp,
  4231. locate/testsuite/config/unix.exp: tests related to "--ignore-case"
  4232. option.
  4233. * locate/testsuite/locate.gnu: testsuite directory
  4234. * locate/testsuite/Makefile.am (Repository):
  4235. * locate/testsuite: add directory for locate testsuite
  4236. * po/findutils.pot: updated file
  4237. * po/sv.po, po/ru.po, po/pt_BR.po, po/pl.po, po/nl.po, po/ko.po,
  4238. po/it.po, po/gl.po, po/fr.po, po/et.po, po/es.po, po/de.po:
  4239. updated various po files.
  4240. * locate/updatedb.sh: export TMPDIR, which is used by child
  4241. processes.
  4242. * locate/locate.1, locate/locate.c: add "--ignore-case" option.
  4243. * locate/Makefile.am: add testsuite subdirectory
  4244. * find/testsuite/find.gnu/perm.xo,
  4245. find/testsuite/find.gnu/perm.exp,
  4246. find/testsuite/find.gnu/name-opt.xo,
  4247. find/testsuite/find.gnu/name-opt.exp: added test suites
  4248. * configure.in: add locate/testsuite/Makefile
  4249. * doc/find.info*: removed from repository
  4250. * doc/find.texi: add documentation for "-i" option.
  4251. * aclocal.m4: removed from repository, as it is generated.
  4252. * find/pred.c: fixes problem with "find -perm -0100".
  4253. * lib/lstat.c, lib/stat.c: removed from repository. These files
  4254. are generated from lib/xstat.in.
  4255. 2000-10-10 Kevin Dalley <kevind@rahul.net>
  4256. * locate/testsuite/config/unix.exp (Repository):
  4257. * po/POTFILES.in: added lib/rpmatch.c
  4258. 2000-10-10 Kevin Dalley <kevind@rahul.net>
  4259. * locate/testsuite/Makefile.am: Added missing \ at end of
  4260. EXTRA_DIST lines.
  4261. * locate/testsuite/locate.gnu/ignore_case3.xo,
  4262. locate/testsuite/locate.gnu/ignore_case3.exp,
  4263. locate/testsuite/locate.gnu/ignore_case2.exp,
  4264. locate/testsuite/locate.gnu/ignore_case1.xo,
  4265. locate/testsuite/locate.gnu/ignore_case1.exp: place locatedb
  4266. inside tmp directory, add subdir directory under tmp.
  4267. * locate/testsuite/config/unix.exp: clean up tmp after test is
  4268. finished.
  4269. 2000-10-10 Bruno Haible <haible@ilog.fr>
  4270. * lib/Makefile.am (libfind_a_SOURCES): added yesno.c
  4271. * lib/yesno.c, lib/rpmatch.c: new files.
  4272. * find/pred.c: use function yesno().
  4273. 2000-10-11 Kevin Dalley <kevind@rahul.net>
  4274. * Version 4.1.6
  4275. * locate/testsuite/config/unix.exp: set PRUNEFS to "" for the
  4276. testsuite.
  4277. 2000-10-13 Kevin Dalley <kevin@seti.org>
  4278. * depcomp, lib/depcomp: depcomp moved from lib to .
  4279. * po/sv.po, ru.po, pt_BR.po, pl.po, nl.po, ko.po, it.po, gl.po,
  4280. fr.po, findutils.pot, et.po, es.po, de.po: updated after addition
  4281. of lib/rpmatch.c
  4282. 2000-10-20 Kevin Dalley <kevin@seti.org>
  4283. * xargs/xargs.c, locate/updatedb.sh, locate/locate.c (usage),
  4284. find/parser.c (parse_help): add bug reporting address to help
  4285. 2000-10-21 Paul Eggert <eggert@twinsun.com>
  4286. If open + fchdir fails, fall back on xgetcwd + chdir.
  4287. The old code tested for this at compile-time,
  4288. but SunOS 4.1.4 fchdir can fail at run-time.
  4289. * find/defs.h (fchdir): Define to -1 if not available.
  4290. * find/defs.h (starting_dir, starting_desc):
  4291. Always declare. starting_dir now points to const.
  4292. * find/find.c (starting_dir, starting_desc): Likewise.
  4293. * find/find.c (starting_dir):
  4294. Now "." if starting_desc is nonnegative, for benefit of diagnostics.
  4295. (main, process_top_path, process_dir):
  4296. If open + fchdir fails, fall back on xgetcwd + chdir.
  4297. * find/pred.c (launch): Likewise.
  4298. 2000-10-29 Bruno Haible <haible@ilog.fr>
  4299. * locate/code.c (main), doc/find.texi: improve handling of
  4300. non-ASCII characters used old format.
  4301. 2001-01-20 Kevin Dalley <kevin@seti.org>
  4302. * doc/find.texi (Adding Tests): Place space in "#! /bin/sh".
  4303. * find/testsuite/find.gnu/prune-default-print.xo,
  4304. find/testsuite/find.gnu/prune-default-print.exp: test for "find
  4305. . -prune" which passes after changes. Also see name-opt.exp.
  4306. * find/util.c (get_new_pred):
  4307. * find/tree.c (set_new_parent):
  4308. * find/parser.c (various parse functions):
  4309. * find/find.c (main):
  4310. (default_prints): new function
  4311. * find/defs.h (struct predicate): added no_default_print
  4312. side_effects are no separated from no_default_print. predicates
  4313. which cause side effects should not be reordered (optimized).
  4314. predicates which cause printing should have printing turned off.
  4315. Printing statements also cause side effects.
  4316. 2001-04-28 Kevin Dalley <kevind@rahul.net>
  4317. * po/sv.po, ru.po, pt_BR.po, pl.po, nl.po, ko.po, it.po, gl.po,
  4318. fr.po, et.po, es.po, de.po, findutils.pot: new translations, and
  4319. new source code to translate.
  4320. * po/da.po: new Danish translation.
  4321. 2001-05-02 Kevin Dalley <kevin@seti.org>
  4322. * configure.in: Change AC_CHECK_MEMBERS to conform to new
  4323. autoconf. Add Danish.
  4324. 2001-05-20 Lionel CONS <lionel.cons@cern.ch>
  4325. * find/find.c: Fixed security holes. 1. There is a race
  4326. condition between the lstat() to detect a symbolic link and the
  4327. actual chdir(). 2. An attacker can move directories while find
  4328. is _inside_ so that chdir(..) goes out of the intended file tree.
  4329. * lib/modetype.h: support for Solaris door files is added.
  4330. * lib/filemode.c: S_ISDOOR is undef'ed if STAT_MACROS_BROKEN
  4331. * find/pred.c (pred_type): -D option (for Solaris door files) is
  4332. added.
  4333. * find/parser.c (insert_type): -D option (for Solaris door files)
  4334. is added.
  4335. * find/find.1: -D option (for Solaris door files) is documented
  4336. * doc/find.texi (Type): -D option (for Solaris door files) is
  4337. documented
  4338. 2001-05-20 Kevin Dalley <kevin@seti.org>
  4339. * Version 4.1.7
  4340. * lib/Makefile.am (EXTRA_DIST): add strcasecmp.c
  4341. * find/testsuite/Makefile.am (EXTRA_DIST): new tests:
  4342. find.gnu/name-opt.exp find.gnu/perm.exp find.gnu/perm.xo
  4343. find.gnu/prune-default-print.exp find.gnu/prune-default-print.xo
  4344. * configure.in: update to 4.1.7
  4345. * config.sub, config.guess: upgraded to recent versions of
  4346. config.sub and config.guess.
  4347. * locate/updatedb.sh: Add space to "#! /bin/sh"
  4348. * configure.in: Add id to ALL_LINGUAS
  4349. * lib/Makefile.am (EXTRA_DIST): getline.[ch] added
  4350. (libfind_a_SOURCES): getline.[ch] removed since getline.c is not
  4351. always needed.
  4352. * po/da.po, de.po, es.po, et.po, fr.po, gl.po, id.po, it.po, ko.po,
  4353. nl.po, pl.po, pt_BR.po, ru.po, sv.po: updated to reflect changes
  4354. in source code.
  4355. * po/id.po: New translation for Indonesia.
  4356. 2001-06-01 gettextize <bug-gnu-utils@gnu.org>
  4357. * Makefile.in.in: Upgrade to gettext-0.10.38.
  4358. * cat-id-tbl.c: Remove file.
  4359. * stamp-cat-id: Remove file.
  4360. 2001-06-04 Kevin Dalley <kevin@seti.org>
  4361. * locate/testsuite/Makefile.am (DIST_SUBDIRS): remove second
  4362. instance of DIST_SUBDIRS.
  4363. * locate/Makefile.am (install-data-hook): changed install target
  4364. to install-data-hook, which still installs other files.
  4365. * doc/Makefile.am (MOSTLYCLEANFILES): added find.cps, which should
  4366. probably be handled by automake.
  4367. * doc/mdate-sh: removed file in doc directory. It now exists only
  4368. in top_srcdir, but this changed required a patch to automake.
  4369. 2001-06-05 Kevin Dalley <kevin@seti.org>
  4370. * locate/updatedb.sh: replace "whoami" with "id -u" when testing
  4371. for root.
  4372. 2001-06-09 Kevin Dalley <kevin@seti.org>
  4373. * ABOUT-NLS: updated from gettext-0.10.38.
  4374. * configure.in: add tr to ALL_LINGUAS.
  4375. * doc/Makefile.am (MOSTLYCLEANFILES): add find.cps, which is
  4376. created by dvips. This should be taken care of by automake, but
  4377. the code is commented out.
  4378. * po/stamp-cat-id: * stamp-cat-id: Remove file.
  4379. * po/Makefile.in.in: * Makefile.in.in: Upgrade to gettext-0.10.38.
  4380. * po/ChangeLog: * cat-id-tbl.c: Remove file.
  4381. * po/de.po, es.po, et.po, fr.po:
  4382. * po/fr.po, et.po, es.po, de.po: updated translations to
  4383. findutils-4.1.7.
  4384. * po/tr.po: * tr.po: New Turkish translation.
  4385. 2001-06-09 Kevin Dalley <kevin@seti.org>
  4386. * intl/plural.c:
  4387. Changes the location of bison.simple after running bison on local
  4388. machine
  4389. * ChangeLog: *** empty log message ***
  4390. * Makefile.in, aclocal.m4, config.h.in, configure,
  4391. doc/Makefile.in, find/Makefile.in, find/testsuite/Makefile.in,
  4392. lib/Makefile.in, lib/posix/Makefile.in, locate/Makefile.in,
  4393. locate/testsuite/Makefile.in, m4/Makefile.in, xargs/Makefile.in,
  4394. xargs/testsuite/Makefile.in: Updates mostly from gettext-0.10.38
  4395. * ABOUT-NLS: * ABOUT-NLS: updated from gettext-0.10.38.
  4396. * configure.in: * configure.in: add tr to ALL_LINGUAS.
  4397. * intl/config.charset, intl/dcigettext.c, intl/dcngettext.c,
  4398. intl/dngettext.c, intl/libgnuintl.h, intl/localcharset.c,
  4399. intl/locale.alias, intl/ngettext.c, intl/plural.y,
  4400. intl/ref-add.sin, intl/ref-del.sin: updated from gettext-0.10.38
  4401. * intl/cat-compat.c, intl/linux-msg.sed, intl/po2tbl.sed.in,
  4402. intl/xopen-msg.sed, m4/ChangeLog: *** empty log message ***
  4403. * m4/jm-macros.m4:
  4404. * jm-macros.m4 (jm_MACROS): remove jm_ICONV, which is replaced by
  4405. AM_ICONV, which is imported from gettext-0.10.38. removed
  4406. jm_GLIBC21, which is required in AM_GNU_GETTEXT, which is
  4407. imported from gettext-0.10.38.
  4408. * po/stamp-cat-id: * stamp-cat-id: Remove file.
  4409. * po/Makefile.in.in: * Makefile.in.in: Upgrade to gettext-0.10.38.
  4410. * po/ChangeLog: * cat-id-tbl.c: Remove file.
  4411. * po/de.po, po/es.po, po/et.po, po/fr.po:
  4412. * fr.po, et.po, es.po, de.po: updated translations to
  4413. findutils-4.1.7.
  4414. * po/tr.po: * tr.po: New Turkish translation.
  4415. * m4/ChangeLog: *** empty log message ***
  4416. * intl/dgettext.c, intl/explodename.c, intl/finddomain.c,
  4417. intl/gettext.c, intl/gettext.h, intl/gettextP.h,
  4418. intl/hash-string.h, intl/intl-compat.c, intl/l10nflist.c,
  4419. intl/libgettext.h, intl/loadinfo.h, intl/loadmsgcat.c,
  4420. intl/localealias.c, intl/plural.c, intl/textdomain.c,
  4421. intl/ChangeLog, intl/Makefile.in, intl/VERSION,
  4422. intl/bindtextdom.c, intl/dcgettext.c: Updated from gettext-0.10.38
  4423. * m4/Makefile.am:
  4424. reflects addition of codeset.m4 from gettext-0.10.38, automatically
  4425. generated.
  4426. * m4/codeset.m4, m4/gettext.m4, m4/glibc21.m4, m4/iconv.m4,
  4427. m4/isc-posix.m4, m4/lcmessage.m4, m4/progtest.m4: *
  4428. progtest.m4, lcmessage.m4, isc-posix.m4, iconv.m4,
  4429. glibc21.m4, gettext.m4, codeset.m4: updated from
  4430. gettext-0.10.38.
  4431. * ChangeLog: *** empty log message ***
  4432. * THANKS: added "Gerrit P. Haase" <gerrit.haase@t-online.de>
  4433. * m4/ChangeLog, locate/testsuite/.cvsignore,
  4434. xargs/testsuite/.cvsignore, config.h.in, configure, aclocal.m4,
  4435. doc/.cvsignore: *** empty log message ***
  4436. * m4/jm-macros.m4: * jm-macros.m4 (jm_MACROS): add jm_FSTYPENAME
  4437. * doc/Makefile.in: *** empty log message ***
  4438. * doc/Makefile.am:
  4439. * doc/Makefile.am (MOSTLYCLEANFILES): add find.cps, which is
  4440. created by dvips. This should be taken care of by automake, but
  4441. the code is commented out.
  4442. 2003-05-24 James Youngman <jay@gnu.org>
  4443. * po/da.po, de.po, es.po, et.po, findutils.pot, fr.po, gl.po,
  4444. id.po, it.po, ko.po, nl.po, pl.po, pt_BR.po, ru.po, sv.po, tr.po:
  4445. also need stpcpy (e.g. for Solaris)
  4446. * po/POTFILES.in, da.po, de.po, es.po, et.po, findutils.pot, fr.po,
  4447. gl.po, id.po, it.po, ko.po, nl.po, pl.po, pt_BR.po, ru.po, sv.po,
  4448. tr.po: Updates to the i18n files to ensure that 'make dist'
  4449. succeeds
  4450. 2003-05-26 James Youngman <jay@gnu.org>
  4451. * po/pl.po, pt_BR.po, ru.po, sv.po, tr.po, da.po, de.po, es.po,
  4452. et.po, findutils.pot, fr.po, gl.po, id.po, it.po, ko.po, nl.po:
  4453. Changes to allow compilation on non-GNU systems (i.e. for the
  4454. macros that gnulib decides to #define to be effective)
  4455. 2003-06-14 James Youngman <jay@gnu.org>
  4456. * NEWS, configure.in:
  4457. Updated version number to 4.2.0-CVS [not ready for release yet]
  4458. * configure.in, doc/.cvsignore, doc/Makefile.in, find/.cvsignore, find/Makefile.am, find/Makefile.in, find/defs.h, find/find.c, find/fstype.c, find/parser.c, find/pred.c, find/testsuite/.cvsignore, find/testsuite/Makefile.in, find/testsuite/config/unix.exp, find/tree.c, find/util.c, import-gnulib.sh, intl/bindtextdom.c, intl/dcgettext.c, intl/dcigettext.c, intl/dcngettext.c, intl/dgettext.c, intl/dngettext.c, intl/explodename.c, intl/finddomain.c, intl/gettext.c, intl/intl-compat.c, intl/l10nflist.c, intl/loadmsgcat.c, intl/localcharset.c, intl/localealias.c, intl/ngettext.c, intl/plural.y, intl/textdomain.c, lib/.cvsignore
  4459. also need stpcpy (e.g. for Solaris)
  4460. * intl/dcigettext.c:
  4461. plural_lookup: don't use a variable called "index", because we may
  4462. have done "#define strchr index", in which case using a variable
  4463. called index will prevent us calling strchr(p, ch) in the same scope.
  4464. * find/defs.h, find/find.c, find/fstype.c, find/parser.c, find/pred.c, find/testsuite/config/unix.exp, find/tree.c, find/util.c, import-gnulib.sh, lib/Makefile.am, lib/listfile.c, lib/modetype.h, lib/nextelem.c, locate/bigram.c, locate/code.c, locate/frcode.c, locate/locate.c, locate/locatedb.h, locate/testsuite/config/unix.exp, locate/updatedb.sh, xargs/testsuite/config/unix.exp, xargs/xargs.c:
  4465. Updated copyright years and the address of the FSF
  4466. * aclocal.m4, config.h.in, configure:
  4467. Removed files that are generated from other files (e.g. configure)
  4468. * NEWS: Updated NEWS file for 4.1.20.
  4469. * configure.in, lib/Makefile.am, po/POTFILES.in, po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sv.po, po/tr.po:
  4470. Updates to the i18n files to ensure that 'make dist' succeeds
  4471. * lib/posix/.cvsignore, lib/posix/Makefile.am,
  4472. lib/posix/Makefile.in, lib/posix/regex.h, lib/strftime.c,
  4473. lib/strncasecmp.c, lib/strspn.c, lib/strstr.c, lib/strtol.c,
  4474. lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, lib/wait.h,
  4475. lib/waitpid.c, lib/xalloc.h, lib/xgetcwd.c, lib/xmalloc.c,
  4476. lib/xstat.in, lib/xstrdup.c, lib/xstrtol.c, lib/xstrtol.h,
  4477. lib/xstrtoul.c, lib/xstrtoul.h, lib/xstrtoumax.c, lib/yesno.c,
  4478. locate/Makefile.am, locate/Makefile.in, locate/locate.c,
  4479. locate/testsuite/Makefile.in, m4/.cvsignore, m4/ChangeLog,
  4480. m4/Makefile.am, m4/Makefile.am.in, m4/Makefile.in, m4/README,
  4481. m4/afs.m4, m4/assert.m4, m4/c-bs-a.m4, m4/check-decl.m4,
  4482. m4/codeset.m4, m4/d-ino.m4, m4/d-type.m4, m4/error.m4,
  4483. m4/fnmatch.m4, m4/fnmatchcase.m4, m4/fstypename.m4, m4/getline.m4,
  4484. m4/gettext.m4, m4/glibc.m4, m4/glibc21.m4, m4/iconv.m4,
  4485. m4/inttypes_h.m4, m4/isc-posix.m4, m4/jm-glibc-io.m4,
  4486. m4/jm-macros.m4, m4/jm-mktime.m4, m4/lcmessage.m4, m4/libintl.m4,
  4487. m4/link-follow.m4, m4/ls-mntd-fs.m4, m4/lstat-slash.m4,
  4488. m4/lstat.m4, m4/malloc.m4, m4/mbstate_t.m4, m4/memcmp.m4,
  4489. m4/prereq.m4, m4/progtest.m4, m4/readdir.m4, m4/realloc.m4,
  4490. m4/regex.m4, m4/st_dm_mode.m4, m4/st_mtim.m4, m4/stat.m4,
  4491. m4/strerror_r.m4, m4/strftime.m4, m4/timespec.m4, m4/uintmax_t.m4,
  4492. m4/ulonglong.m4, m4/xstrtoumax.m4, xargs/Makefile.am,
  4493. xargs/Makefile.in, xargs/testsuite/Makefile.in,
  4494. find/testsuite/Makefile.in, lib/.cvsignore, lib/Makefile.am,
  4495. lib/Makefile.in, lib/alloca.c, lib/ansi2knr.1, lib/ansi2knr.c,
  4496. lib/argmatch.c, lib/argmatch.h, lib/basename.c, lib/basename.h,
  4497. lib/dirname.c, lib/dirname.h, lib/error.c, lib/error.h,
  4498. lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/fnmatch.c,
  4499. lib/fnmatch.h, lib/getline.c, lib/getline.h, lib/getopt.c,
  4500. lib/getopt.h, lib/getopt1.c, lib/human.c, lib/human.h,
  4501. lib/idcache.c, lib/malloc.c, lib/memcmp.c, lib/memcpy.c,
  4502. lib/memset.c, lib/mktime.c, lib/modechange.c, lib/modechange.h,
  4503. lib/pathmax.h, lib/quotearg.c, lib/quotearg.h, lib/realloc.c,
  4504. lib/regex.c, lib/regex.h, lib/rpmatch.c, lib/savedir.c,
  4505. lib/savedir.h, lib/stpcpy.c, lib/strcasecmp.c, lib/strdup.c,
  4506. find/Makefile.am, find/Makefile.in, find/find.c, find/pred.c:
  4507. Updated to work with current version of gnulib
  4508. * import-gnulib.sh: New file.
  4509. * config.h.in, configure, configure.in, doc/Makefile.in, import-gnulib.sh:
  4510. Updated to work with current version of gnulib
  4511. * README-CVS: New file.
  4512. * Makefile.am, Makefile.in, README-CVS, aclocal.m4:
  4513. Updated to work with current version of gnulib
  4514. 2003-06-16 James Youngman <jay@gnu.org>
  4515. * ChangeLog, find/find.1, locate/locate.1, locate/locatedb.5, locate/updatedb.1, xargs/xargs.1:
  4516. Added BUGS section to manual pages. This section includes information about known bugs and how to report new bugs.
  4517. * AUTHORS: Identify the current maintainer.
  4518. * TODO: Removed the TODO items which have now been done.
  4519. * THANKS: Added Bruno Haible and Bob Proulx.
  4520. * xargs/xargs.c: xargs/xargs.c (DO_MULTIBYTE): New macro.
  4521. (mbstrstr): New function.
  4522. (do_insert): Use it instead of strstr.
  4523. * config.guess, config.sub:
  4524. Use config.guess and config.sub from automake
  4525. * find/fstype.c:
  4526. Bruno Haible: (fstype_to_string) Don't define this function if
  4527. HAVE_F_FSTYPENAME_IN_STATFS is defined.
  4528. * configure.in:
  4529. Bruno Haible: Prefer the 4.4BSD API (if present) to the 4.3BSD API,
  4530. because some 4.4BSD systems have <mntent.h> but no /etc/mtab file.
  4531. * doc/find.texi, find/find.1:
  4532. Applied patch 1498 (documenting the backslash escape sequence)
  4533. * locate/updatedb.sh: Applied (my own version of) Savannah patch 1601.
  4534. * doc/find.texi:
  4535. Applied Savannah patch #1547 (document the fact that printf
  4536. field-width specifiers are supported).
  4537. * xargs/xargs.c:
  4538. Applied Savannah patch #1499 (adds final newline to usage message).
  4539. 2003-06-18 James Youngman <jay@gnu.org>
  4540. * find/find.1:
  4541. Indicate that -fls and friends always create their output file
  4542. 2003-06-21 James Youngman <jay@gnu.org>
  4543. * doc/find.texi:
  4544. Indicate that xargs stops immediately if a command exits with status 255
  4545. * xargs/xargs.1:
  4546. Document the fact that xargs exits immediately with an error message
  4547. if the command it executes exits with a status of 255.
  4548. 2003-06-26 James Youngman <jay@gnu.org>
  4549. * import-gnulib.sh:
  4550. Remove reference to nonexistent module "basename" ("dirname" exists
  4551. and we already use that).
  4552. 2003-08-02 James Youngman <jay@gnu.org>
  4553. * find/find.1:
  4554. Explain that braces are not special when performing filename matching
  4555. with -name.
  4556. * find/find.1:
  4557. added example of the use of -exec to the EXAMPLES section
  4558. * find/fstype.c, locate/locate.c:
  4559. Savannah bug #4295 - implicit declarations of ctype.h functions
  4560. * locate/locate.c:
  4561. Savannah bug #4279 - missing newline on locate help message
  4562. * find/find.1, xargs/xargs.1:
  4563. Improved discussion of the -print0 option of find and the -0 option of xargs
  4564. 2003-08-08 James Youngman <jay@gnu.org>
  4565. * find/find.1:
  4566. Documented the fact that -printf also supports the '\0' escape code.
  4567. Added "STANDARDS CONFORMANCE" section.
  4568. 2004-01-03 James Youngman <jay@gnu.org>
  4569. * xargs/xargs.c:
  4570. Indicate that prep_child_for_exec() fixes Savannah bug #3992.
  4571. * xargs/xargs.c:
  4572. Attach the stdin of xargs' child process to /dev/null so that if it
  4573. tries to read from its stdin it doesn't consume any of the list of
  4574. files that xargs is trying to use.
  4575. * find/find.1:
  4576. Documented that the -regex option follows Gnulib's re_match()
  4577. implementation.
  4578. * NEWS, locate/locate.c: Applied Savannah patch 2108
  4579. * xargs/xargs.c: Applied Savannah patch 1500
  4580. * find/find.1, doc/find.texi:
  4581. Improved the documentation for the %k and %b format specifiers to
  4582. -printf (Savannah bug #5034). Also pointed out that this handling is
  4583. different to that used by the "b" and "k" suffixes with "-size".
  4584. * find/find.1: Improved the documentation for %k (Savannah bug #5034).
  4585. * find/find.1:
  4586. Improved the documentation for -print0 in the manpage, fixing Debian
  4587. bug 111143.
  4588. * README-CVS, find/pred.c, lib/listfile.c:
  4589. Brought up-to-date with change in gnulib's human.c - we no longer
  4590. use human_readable_inexact(), because it is no longer provided.
  4591. 2004-03-13 James Youngman <jay@gnu.org>
  4592. * ChangeLog: Updated from checkin comments.
  4593. * find/find.c:
  4594. Oops, there is no access to the predicate name table if DEBUG is
  4595. not #defined.
  4596. * find/parser.c:
  4597. Detect arithmetic overflow (poorly) in insert_time(), which diagnoses
  4598. the failure to handle large arguments to -mtime. The existing code
  4599. does careful computation and then bungs the value into a time_t, which
  4600. ruins all our careful effort. The new code is not a great
  4601. improvement. We just check the result to detect overflow, rather than
  4602. actually avoiding the overflow.
  4603. * find/find.c:
  4604. Fixed Debian bug #185202 by checking for any trailing predicates after
  4605. the top-level invocation of get_expr() has done its work.
  4606. * locate/locate.1, xargs/xargs.1:
  4607. Fixed Debian bug 175372, inappropriate 'L' suffixes on manual
  4608. page section indicators
  4609. * find/find.1:
  4610. Removed "L" suffixes from manual page section indicators, to fix
  4611. Debian bug 175372.
  4612. * debian/updatedb.conf:
  4613. Updated with list of filesystems from current Debian release. This
  4614. includes devfs, for example.
  4615. * xargs/xargs.1:
  4616. Modified documentation of "-s" option to take into account the fix for
  4617. Debian bug #176201.
  4618. * xargs/xargs.c:
  4619. Fixed Debian bug #176201, "xargs environment size limited to 20k", by
  4620. reading a patch offered by Bob Proulx and implementing something
  4621. substantially similar myself.
  4622. 2004-04-13 James Youngman <jay@gnu.org>
  4623. * doc/find.texi:
  4624. Actioned Savannah bug #8558 (find complains when it tries to recurse
  4625. into directories that it had removed).
  4626. 2004-04-24 James Youngman <jay@gnu.org>
  4627. * README-CVS: Corrected the instructions for getting gnulib via CVS.
  4628. 2004-05-03 James Youngman <jay@gnu.org>
  4629. * find/find.1:
  4630. document the various suffixes for -size and also the new
  4631. option -ignore_readdir_race
  4632. * locate/locate.c:
  4633. Fixes Savannah bug #8623 (failure to check consistency of data
  4634. read from locate database)
  4635. * locate/updatedb.sh:
  4636. Resolves Savannah bug 4380, that updatedb generates an empty
  4637. database if one of the commands fails
  4638. * NEWS: Talk about -ignore_readdir_race
  4639. * doc/find.texi:
  4640. Documented -ignore_readdir_race and -noignore_readdir_race
  4641. * find/find.c:
  4642. -ignore_readdir_race should have no effect if the reason for the
  4643. failure of stat(2) was anything other than ENOENT.
  4644. * find/defs.h, find/find.c, find/parser.c:
  4645. Fixed Savannah bug 4391 (readdir race condition leading to
  4646. spurious error messages)
  4647. 2004-08-08 James Youngman <jay@gnu.org>
  4648. * locate/updatedb.sh:
  4649. cd to / to avoid inability to examine the current directory if we're
  4650. invoked via cron (and hence in root's home directory for example).
  4651. * doc/find.texi, find/find.1:
  4652. Deprecate -path and -ipath in favour of -wholename and -iwholename
  4653. * find/parser.c:
  4654. As per RMS's suggestion, deprecate -path and -ipath in favour of
  4655. -wholename and -iwholename.
  4656. * locate/locate.c:
  4657. Fixed Savannah bug #9923, in which get_short() returns large positive
  4658. ints when it should be returning negative shorts.
  4659. * xargs/xargs.1:
  4660. Applied documentation improvements suggested by Dan Jacobson
  4661. <jidanni@jidanni.org>.
  4662. * xargs/xargs.c:
  4663. Don't check size_of_environment against arg_max since that causes the
  4664. test suite to fail.
  4665. * xargs/xargs.1, xargs/xargs.c: Better documentation for the -i option
  4666. 2004-10-02 James Youngman <jay@gnu.org>
  4667. * po/Makefile.in.in:
  4668. Search in $(top_srcdir) for mkinstalldirs, since that's where we keep it.
  4669. * NEWS: Brought up to date, organised more clearly, and tidied up.
  4670. * NEWS: brought up to date with recent changes
  4671. * locate/testsuite/config/unix.exp, locate/testsuite/locate.gnu/ignore_case1.exp, locate/testsuite/locate.gnu/ignore_case3.exp, locate/updatedb.sh:
  4672. Added new option --changecwd to updatedb so that the 'cd /' which it does can be compatible with the requirements of the test suite. Specifically, the test suite relies on being able to use relative pathnames
  4673. * find/pred.c:
  4674. Fixed usage of human_readable() in '%k' format specifier to fix a bug
  4675. reported by Dmitry V. Levin (arguments to human_readable() were
  4676. specified in the wrong order, which resulted in a floating-point
  4677. error).
  4678. 2004-10-16 James Youngman <jay@gnu.org>
  4679. * import-gnulib.sh:
  4680. Switch to requirement for GNU fnmatch because it supports FNM_CASEFOLD.
  4681. * locate/updatedb.sh:
  4682. Bug #9465: use of signal numbers for 'trap' is deprecated. Should use
  4683. names instead. See
  4684. http://www.opengroup.org/onlinepubs/009695399/utilities/trap.html,
  4685. which indicates that support for signal numbers is optional, while
  4686. support for signal names is mandatory.
  4687. * configure.in:
  4688. Indicate that this is the CVS version (once again) now that findutils
  4689. 4.2.0 has been released.
  4690. * ChangeLog, configure.in, po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sv.po, po/tr.po:
  4691. findutils 4.1.20 check-in for tagging
  4692. 2004-10-17 James Youngman <jay@gnu.org>
  4693. * configure.in:
  4694. Define intmax_t if it is not already defined - allows parser.c to compile on AIX 4.3
  4695. * configure.in:
  4696. Adjust version number to indicate that this s/w has moved on since the
  4697. 4.2.1 release.
  4698. * configure.in: preparing to release 4.2.1
  4699. * ChangeLog: updated with current changes
  4700. * README-CVS: Updated to go with newer version of gnulib.
  4701. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sv.po, po/tr.po:
  4702. preparation for release
  4703. * NEWS: Mention the changes to "trap".
  4704. * NEWS: Brought up to date.
  4705. * import-gnulib.sh:
  4706. Use xalloc-die module from gnulib, since that has now been split out
  4707. * find/parser.c:
  4708. Check fnmatch() when other predicates that rely on fnmatch() are used.
  4709. * find/parser.c: bug #10701: find needs fnmatch sanitycheck on startup
  4710. 2004-10-22 James Youngman <jay@gnu.org>
  4711. * doc/find.texi: Syntax corrections.
  4712. * doc/find.texi: Indicate that "-exec {}+" is not yet supported.
  4713. * find/find.1: Indicate that "{}+" is not yet supported.
  4714. * find/testsuite/find.gnu/name-period.xo, find/testsuite/find.gnu/name-period.exp, find/find.1, doc/find.texi:
  4715. The -name predicate must allow '*' to match '.foo' as demanded by IEEE
  4716. Std 1003.2-1992 Interpretation #126.
  4717. * find/pred.c:
  4718. Remove use of FNM_PERIOD for -name as demanded by IEEE Std 1003.2-1992
  4719. Interpretation #126
  4720. * find/parser.c: Fix for compilation (on AIX 4.3) with GCC 2.x.
  4721. * xargs/xargs.c:
  4722. Changed the erorr message issued when there is an unmatched quote to
  4723. point out that the user might have wanted to use the -0 option instead.
  4724. 2004-10-24 James Youngman <jay@gnu.org>
  4725. * ChangeLog: Prepared to release findutils-4.2.2.
  4726. * ChangeLog, NEWS, po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sv.po, po/tr.po:
  4727. Updates prior to release of 4.2.2
  4728. * NEWS: Updated with news for findutils-4.2.2.
  4729. * find/testsuite/config/unix.exp, lib/forcefindlib.c, lib/listfile.c, lib/modetype.h, lib/nextelem.c, locate/bigram.c, locate/code.c, locate/frcode.c, locate/locate.c, locate/locatedb.h, locate/testsuite/config/unix.exp, locate/updatedb.sh, xargs/testsuite/config/unix.exp, xargs/xargs.c, NEWS, find/defs.h, find/find.c, find/fstype.c, find/parser.c, find/pred.c, find/tree.c, find/util.c, import-gnulib.sh:
  4730. Corrected typo in the address of the FSF office
  4731. * lib/strspn.c: Updated FSF address.
  4732. * m4/.cvsignore: 'cvs status' should ignore Makefile.in
  4733. * m4/Makefile.am, Makefile.am, NEWS, README-CVS, configure.in, doc/texinfo.tex, find/defs.h, find/fstype.c, find/parser.c, find/pred.c, import-gnulib.sh, intl/bindtextdom.c, intl/dcgettext.c, intl/dcigettext.c, intl/dcngettext.c, intl/dgettext.c, intl/dngettext.c, intl/explodename.c, intl/finddomain.c, intl/gettext.c, intl/intl-compat.c, intl/l10nflist.c, intl/loadmsgcat.c, intl/localcharset.c, intl/localealias.c, intl/ngettext.c, intl/plural.y, intl/textdomain.c, lib/Makefile.am, lib/forcefindlib.c, lib/listfile.c, lib/nextelem.c, lib/strspn.c, lib/waitpid.c, locate/bigram.c, locate/code.c, locate/frcode.c, locate/locate.c, m4/findlib.m4, po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sv.po, po/tr.po, xargs/xargs.c:
  4734. Use gnulib-tool --import to import the gnulib code, rather than the odd way we were doing it before
  4735. * find/find.c, find/fstype.c, find/parser.c, find/pred.c, find/tree.c, find/util.c, locate/code.c, locate/locate.c, xargs/xargs.c:
  4736. Work round an apparent compiler bug in HP-UX 11.23 for
  4737. ia64
  4738. * locate/locate.c:
  4739. Work around what appears to be a C compiler bug in HP-UX 11.23 for
  4740. ia64.
  4741. * INSTALL, depcomp, install-sh, missing, mkinstalldirs:
  4742. Updated from automake
  4743. * locate/bigram.c, locate/code.c, locate/frcode.c, locate/locate.c, xargs/xargs.c, find/find.c:
  4744. Avoid use of exit() within main, to silence warnings about unreachable code
  4745. 2004-10-25 James Youngman <jay@gnu.org>
  4746. * doc/find.texi, find/find.1, find/parser.c, find/pred.c:
  4747. Support -printf %D, which prints the device number of the containing filesystem
  4748. * locate/updatedb.sh:
  4749. Avoid confusion between James Woods and James Youngman, by using the
  4750. disambiguating surname.
  4751. * find/parser.c: Use RE_ICASE instead of re->translate.
  4752. * configure.in, find/parser.c, find/pred.c, xargs/xargs.c:
  4753. No need to #define _GNU_SOURCE if we use gl_INIT.
  4754. 2004-10-30 James Youngman <jay@gnu.org>
  4755. * .cvsignore, NEWS, doc/find.texi, find/defs.h, find/find.1, find/parser.c, find/pred.c:
  4756. Implemented the -quit action
  4757. * NEWS, doc/find.texi, find/find.1, find/parser.c, find/pred.c:
  4758. Refactored time handling routines in preparation for support of absolute timestamp comparison predicates
  4759. * locate/locate.c:
  4760. Applied Savannah patch #2952 ("getline off-by-one bugfix").
  4761. * NEWS, doc/find.texi, find/defs.h, find/find.1, find/parser.c, find/pred.c:
  4762. Added -delete action (Savannah patch #3454 with additions)
  4763. * locate/locate.c:
  4764. Applied Savannah patch #2692 (allowing get_short to process negative integers).
  4765. * find/find.c:
  4766. If we are iossuing an error message because $FIND_BLOCK_SIZE is set,
  4767. ignore the setting of errno.
  4768. * find/parser.c: More fixes for pedantic compiler warnings
  4769. * NEWS, find/parser.c, find/tree.c: Eliminated some compiler warnings
  4770. * find/find.c, find/parser.c, find/pred.c:
  4771. Various fixes for compiler warninga sbout unreachable code or unused function arguments
  4772. * intl/plural.y: Silence compiler warning about unused argument.
  4773. * locate/testsuite/Makefile.am:
  4774. Subdirectory "inputs" does not exist, so remove it from DIST_SUBDIRS.
  4775. * locate/locate.c:
  4776. Corrected the explanation of why we have to use no parentheses around
  4777. the String argument to the N_ macro in its expansion.
  4778. * configure.in: Nextr release is 4.2.3.
  4779. * configure.in: IOndicate this is no longer the pristine release.
  4780. * NEWS:
  4781. Oops, comments for release 4.2.0 should have said 20480 bytes, not 2480.
  4782. * lib/listfile.c:
  4783. The -ls predicate should not truncate usernames. Fixes Savannah bug #10800.
  4784. * find/fstype.c, locate/locate.c:
  4785. Fixes for Savannah bug #3727 (Intel icc compilation errors).
  4786. 2004-10-31 James Youngman <jay@gnu.org>
  4787. * find/find.1, find/parser.c: NetBSD also supports -d.
  4788. * find/find.1, doc/find.texi:
  4789. Documented the behaviour of -daystart and -follow in more detail
  4790. * find/parser.c: Corrected the usage message.
  4791. * find/parser.c:
  4792. When deciding whether to issue a warning about options following
  4793. non-options, ignore any options whose position affects the tests
  4794. (i.e. -daystart and -follow).
  4795. * find/parser.c: -daystart is a positional option like -follow.
  4796. * find/parser.c:
  4797. Issue a warning message if an option is specified after a test or an
  4798. action (because the user might have believed that the behaviour of the
  4799. option is in some way conditional on the preceding tests).
  4800. * locate/updatedb.sh:
  4801. Oops; removed some test code that I shouldn't have checked in.
  4802. * locate/updatedb.sh:
  4803. Indicate that the old locate database format will shortly be unsupported.
  4804. * doc/find.texi:
  4805. Use @direntry instead of hard-coding START-INFO-DIR-ENTRY inside @ifinfo.
  4806. * locate/updatedb.1: Updated default location of locatedb file.
  4807. * README-alpha:
  4808. Updated to give correct FTP location and to not talk about "test"
  4809. versions of automake, which are no longer required.
  4810. * locate/updatedb.sh:
  4811. Incorporated the default list of filesystems to avoid from the Debian
  4812. package. Also added /afs and /sfs to the default pruned paths.
  4813. * configure.in: Released findutils 4.2.3
  4814. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sv.po, po/tr.po:
  4815. did make distcheck, which updates these files
  4816. * find/defs.h, find/fstype.c:
  4817. Use const qualifier in arguments to filesystem_type() to allow callers with const variables to use them
  4818. * ChangeLog: Updated.
  4819. * NEWS: Added new news.
  4820. * find/find.c:
  4821. Extra diagnositcs for the case where we have the error "%s changed
  4822. during execution of %s" - that is when we chdir back to the parent
  4823. directory only to find that it has changed.
  4824. 2004-11-01 James Youngman <jay@gnu.org>
  4825. * NEWS: Fixed "find -printf '%H\n'".
  4826. * find/find.c:
  4827. Avoid segfault if -printf %H is used where the matched file was the default, unspecified starting point, the current directory
  4828. 2004-11-06 James Youngman <jay@gnu.org>
  4829. * NEWS, doc/find.texi, locate/locate.1:
  4830. Documented --wholename and --basename and updated the NEWS file
  4831. * README-CVS:
  4832. Give the autogen commands in a form that you can usefully cut and paste into a shell
  4833. * NEWS: Options --null and --count) for locate
  4834. * lib/nextelem.c:
  4835. Don't return '.' for an empty path element, because the path we are splitting may not be intended to contain directories
  4836. * configure.in: we're working on findutils-4.2.4 now
  4837. * locate/Makefile.am: Substitute @SORT_SUPPORTS_Z@
  4838. * doc/find.texi:
  4839. Documented new locate option --null and newline handling
  4840. * locate/locate.1, locate/locate.c:
  4841. New locate options --null, --wholename, --basename, --count
  4842. * locate/frcode.c, locate/updatedb.1, locate/updatedb.sh:
  4843. correctly handle newlines in the file names
  4844. * configure.in: Determine if sort -z works
  4845. * m4/nullsort.m4, m4/order-bad.bin, m4/order-good.bin:
  4846. jy_SORTZ: a macro to determine if the system has a sort command with a working -z option
  4847. 2004-11-07 James Youngman <jay@gnu.org>
  4848. * m4/Makefile.am:
  4849. Added in the extra files we need to distribute, nullsort.m4
  4850. order-bad.bin order-good.bin
  4851. * doc/find.texi: Documented locate's --limit option
  4852. * locate/locate.1, locate/locate.c:
  4853. Implmented --limit and corrected the implementation of the -i option.
  4854. 2004-11-08 James Youngman <jay@gnu.org>
  4855. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po:
  4856. distcheck changed the po files again
  4857. * locate/Makefile.am:
  4858. Make install-data-hook honour the setting of DESTDIR so that "make
  4859. DESTDIR=/tmp/foo install" works and puts localstater in the right
  4860. place.
  4861. * configure.in: We're now working on findutils-4.2.5.
  4862. * doc/find.texi, xargs/xargs.1:
  4863. Point out that xargs -i only splits input items at newlines
  4864. * ChangeLog: Indicate that we released 4.2.4.
  4865. * ChangeLog: Updated for release 4.2.4
  4866. * NEWS, configure.in: Prepare for release of 4.2.4.
  4867. * NEWS: Brought up to date with latest changes.
  4868. * NEWS, doc/find.texi, find/defs.h, find/find.1, find/find.c, find/parser.c, po/da.po, po/de.po, po/es.po, po/findutils.pot, po/gl.po, po/id.po, po/ko.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sv.po:
  4869. Turn warning messages off by default if stdin is not a tty; allow these to be controlled explicitly by options -warn and -nowarn
  4870. * po/et.po, po/it.po: Updated translation files
  4871. * po/sk.po: New translation file
  4872. * po/fr.po, po/nl.po, po/tr.po: Updated translation files
  4873. * configure.in: Added Slovak (sk) language.
  4874. * xargs/xargs.c:
  4875. Enforcing a lower limit on the value specified by -s makes the test
  4876. suite fail. Removed that lower limit.
  4877. * locate/Makefile.am: Oops, multilocate doesn't exist yet.
  4878. * NEWS: *** empty log message ***
  4879. * doc/find.texi, locate/updatedb.1, locate/updatedb.sh:
  4880. Added option --findoptions to updatedb
  4881. * locate/Makefile.am, locate/locatedb.5, locate/updatedb.1, xargs/xargs.1:
  4882. Fixed section numbers in manpage titles and cross-references
  4883. * NEWS, doc/find.texi, xargs/xargs.1, xargs/xargs.c:
  4884. Increased the default argument length and improved POSIX compliance of the handling of out-of-range values for the -s option
  4885. 2004-11-10 James Youngman <jay@gnu.org>
  4886. * doc/find.texi, find/find.1, find/parser.c, find/pred.c:
  4887. Implemented %M and %A+ format specifiers
  4888. * doc/find.texi, find/find.1, find/parser.c, find/pred.c:
  4889. Documented the fact that only %d and %m format specifiers honour the various formatting flags
  4890. * xargs/xargs.c:
  4891. Get the right number of bytes in a Kilobyte (hint: it's not 1048; that
  4892. was a typo, honest :)
  4893. * po/pl.po: Applied Polish translations
  4894. 2004-11-11 James Youngman <jay@gnu.org>
  4895. * NEWS, doc/find.texi, find/defs.h, find/find.1, find/find.c, find/parser.c:
  4896. Implemented -H and -L options.
  4897. * find/util.c: Added in the -H and -L options on the usage message.
  4898. 2004-11-12 James Youngman <jay@gnu.org>
  4899. * NEWS, doc/find.texi, find/defs.h, find/find.1, find/find.c, find/parser.c, find/pred.c, find/testsuite/find.gnu/posix-dflt.exp, find/testsuite/find.gnu/posix-dflt.xo, find/testsuite/find.gnu/posix-h.exp, find/testsuite/find.gnu/posix-h.xo, find/testsuite/find.gnu/posix-l.exp, find/testsuite/find.gnu/posix-l.xo, find/util.c:
  4900. Implemented BSD option -P and also the correct default behaviour of find with respect to symlinks if neither -L nor -H is specified [i.e. same as -P]
  4901. 2004-11-15 James Youngman <jay@gnu.org>
  4902. * import-gnulib.sh:
  4903. Avoid test -e because not all systems are POSIX-compliant (bug
  4904. #11005). Also don't need regex module any more if we're not building
  4905. in intl.
  4906. * Makefile.am, configure.in:
  4907. These days gnulib likes to include 'libintl.h' which our very old intl/ directory lacks. For the moment, disable use of the internal intl/ directory
  4908. * doc/find.texi:
  4909. Use @ref not @xref for a reference at the beginning of a sentence.
  4910. * intl/Makefile.in:
  4911. Make sure gnulib.lib is on the #include path (Savannah bug #11002)
  4912. * locate/locate.c:
  4913. Use base_name instead of basename - fixes Savannah bug 11003.
  4914. * configure.in, find/defs.h, find/find.c, find/parser.c, find/pred.c, locate/bigram.c, locate/locate.c:
  4915. Don't need banner to emphasise the location of the call to jy_SORTZ
  4916. 2004-11-19 James Youngman <jay@gnu.org>
  4917. * configure.in: releaseing findutils-4.2.5
  4918. * find/testsuite/Makefile.am, locate/testsuite/Makefile.am, xargs/testsuite/Makefile.am:
  4919. If a directory has no Makefile.am, omit it from the parent's DIST_SUBDIRS - automake-1.9 requires this
  4920. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po:
  4921. updated by make distcheck
  4922. * ChangeLog, NEWS: Updated for release 4.2.5.
  4923. * find/find.1, doc/find.texi:
  4924. Tell the reader that format flags may not work as they expect.
  4925. * configure.in:
  4926. Use the correct name for the macro gl_AC_TYPE_LONG_LONG (not
  4927. jm_AC_TYPE_LONG_LONG).
  4928. 2004-11-21 James Youngman <jay@gnu.org>
  4929. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po:
  4930. Messages changed again
  4931. * ChangeLog, configure.in: Preparing to release 4.2.7.
  4932. * NEWS: Updated for release of 4.2.7.
  4933. * import-gnulib.sh: Also need canonicalize module.
  4934. * find/find.c:
  4935. When checking to see if a filesystem has changed state, use an
  4936. absolute pathname.
  4937. * configure.in:
  4938. No need to pause to allow James to view his handiwork, it (allegedly)
  4939. works now.
  4940. * configure.in:
  4941. Oops. Check for setlocale() to re-enable the i18n support which was
  4942. accidentally disabled in 4.2.5.
  4943. * find/find.c:
  4944. Check to see if the new directory is a transitioned mount point by
  4945. using its ABSOLUTE name, if we can figure it out.
  4946. * doc/find.texi:
  4947. Added guidance on some of the error messages. Not the most common
  4948. ones, but the ones where the user might most benefit from some handy
  4949. hints or an explanation of what is going on.
  4950. * find/pred.c:
  4951. Actually emit an error message if we fail to stat a symlink (for
  4952. reasons other than nonexistence of the link and infinite loop).
  4953. * doc/texinfo.tex: Updated texinfo.tex
  4954. * NEWS, configure.in, find/find.c, find/fstype.c:
  4955. Enable the 'Warning: filesystem XXX has recently been mounted' check on Solaris, which prevents it exiting fatally when traversing an automount mount point
  4956. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po:
  4957. messages changed again
  4958. * NEWS: Implemented xargs --arg-file.
  4959. * doc/find.texi, xargs/xargs.1, xargs/xargs.c, NEWS:
  4960. Implemented xargs --arg-file
  4961. * find/find.c:
  4962. Where a filesystem was recently (un)mounted, try togive its full name
  4963. * configure.in:
  4964. Try to avoid requesting -lsun if we don't seem to need it (e.g. on
  4965. UNICOS where it is not present and trying to link against it produces
  4966. a warning).
  4967. * find/defs.h, lib/modetype.h: Guard against multiple inclusion
  4968. * find/fstype.c:
  4969. We now need <mntent.h> even if we are not using getmntent() to figure
  4970. out the type of a filesystem, because wd_sanity_check() needs to
  4971. enumerate the system mount points.
  4972. * configure.in: Next release will be 4.2.7.
  4973. * find/fstype.c:
  4974. get_mounted_filesystems() should use getmntent() if that function is
  4975. present, rather than just if configure didn't find anything better for
  4976. filesystem_type_uncached() to use than that.
  4977. * find/parser.c:
  4978. If -delete is the only action on a file, don't assume the default
  4979. -print action too.
  4980. * ChangeLog, configure.in, po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po:
  4981. Preparation to release findutils-4.2.6.
  4982. * find/Makefile.am, xargs/Makefile.am:
  4983. Enable checking of support for --version and --help
  4984. * locate/Makefile.am:
  4985. Con't check command-line options for frcode, code or bigram
  4986. * locate/code.c: Support --version and --help.
  4987. * ChangeLog: *** empty log message ***
  4988. * find/defs.h, find/find.c, find/fstype.c, lib/Makefile.am, lib/extendbuf.c, lib/extendbuf.h, NEWS:
  4989. Avoid fatal error if automount mounts a filesystem on a directory because we chdir()ed into it
  4990. * configure.in: Next release will be 4.2.6.
  4991. * find/find.1:
  4992. Indicate that the '-' flag does work for most fields. Also provide
  4993. an example of using the comma operator to traverse the filesystem just
  4994. once but search for more than one thing.
  4995. * doc/find.texi: Indicate that the '-' flag does work for most fields.
  4996. 2004-11-24 James Youngman <jay@gnu.org>
  4997. * doc/find.texi:
  4998. Updated the discussion of th error messages for findutils-4.2.8.
  4999. * configure.in: Next version will be 4.2.9...
  5000. * find/find.c:
  5001. Don't issue a warning if we notice the mounting of a filesystem that's
  5002. likely just to be an automounter.
  5003. * doc/find.texi, find/find.1:
  5004. Explain how rounding is performed for -atime and friends.
  5005. * xargs/xargs.c:
  5006. Once we collect enough arguments (for the value specified by the -n
  5007. option) to do an exec(), do it immediaely instead of waiting for the
  5008. next one to arrive. This fixes Savannah bug #7340.
  5009. * ChangeLog, configure.in, NEWS: Prepare to release 4.2.8.
  5010. * NEWS: Updates for 4.2.8.
  5011. * configure.in: check for sys/types.h
  5012. * find/find.c:
  5013. If wd_sanity_check() discovers that the mount table has changed, remember the updated device number and inode so that we also consider these to be valid on the way back up.
  5014. * find/defs.h:
  5015. Declarations of xmalloc() and friends belong in xalloc.h, not in defs.h
  5016. * find/parser.c: avoid signed/unsigned warning, and #include xalloc.h
  5017. * find/fstype.c:
  5018. Changed to alloc get_mounted_devices() to compile on Solaris
  5019. * README-CVS:
  5020. Automake requires GNU m4, so point out that the reader needs that.
  5021. * find/defs.h, find/find.c, find/fstype.c:
  5022. When wd_sanity_check() fails, enumerate the mounted devices, rather than the mounted filesystem names
  5023. * NEWS: prepare for 4.2.8
  5024. * configure.in:
  5025. Look for some Solaris headers which are used by get_mounted_devices()
  5026. * lib/Makefile.am: don't build savedirtypes yet
  5027. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po:
  5028. updated po files
  5029. * m4/nullsort.m4:
  5030. Avoid suprious output of the test data when the tests fail.
  5031. 2004-11-26 James Youngman <jay@gnu.org>
  5032. * find/find.c: Removed some unused code.
  5033. * Makefile.am: Don't do anything in the 'intl' subdirectory
  5034. * find/find.c:
  5035. Enhanced safely_chdir() to the point where the test suite passes, and report infinite loops in the directory hierarchy
  5036. * find/defs.h:
  5037. belt and braces; ensure that SYMLINK_NEVER_DEREF has value zero
  5038. * find/find.1:
  5039. Describe our strategy for detecting and reporting infinite loops
  5040. 2004-11-27 James Youngman <jay@gnu.org>
  5041. * find/find.c:
  5042. More use of safely_chdir(). Also bugfix: -L should imply -noleaf. Be more careful about when xstat should fall back on lstat() when stat() fails.
  5043. * find/find.1: "necessary" only has one "C".
  5044. * find/find.1:
  5045. If stat() fails with ELOOP, we issue a diagnostic message.
  5046. 2004-12-03 James Youngman <jay@gnu.org>
  5047. * find/parser.c:
  5048. -xdev is an option, not a test. Fixes Savannah bug 11192.
  5049. * find/find.1, xargs/xargs.1:
  5050. Escape dashes with a backslash (for fix Savannah bug 11189).
  5051. 2004-12-05 James Youngman <jay@gnu.org>
  5052. * README, configure.in, find/defs.h, find/find.c, find/parser.c, find/pred.c, find/tree.c:
  5053. Allow debug output to be turned on or off by saying --enable-debug on the configure command line
  5054. * README:
  5055. Removed disparaging (it is now, it probably wasn't then) comment about
  5056. the production-readiness of Automake.
  5057. * README: Qualify remarks about POSIX compliance.
  5058. * NEWS, configure.in: Preparation for release 4.2.9
  5059. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po:
  5060. distcheck
  5061. * ChangeLog: Brought up to date.
  5062. * find/find.c:
  5063. Avoid duplicate error message when we cannot chdir() into a subdirectory.
  5064. * THANKS: Added recent thankees.
  5065. * NEWS:
  5066. Brought up to date with respect to the current set of fixed bugs.
  5067. * NEWS, xargs/xargs.1, xargs/xargs.c:
  5068. Implemented POSIX options -L, -I and -E
  5069. 2004-12-06 James Youngman <jay@gnu.org>
  5070. * ChangeLog: Brought up to date.
  5071. * NEWS, configure.in: releasing 4.2.10
  5072. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po:
  5073. distcheck
  5074. * ChangeLog: Updated prior to release of finsutils-4.2.10.
  5075. * import-gnulib.sh, find/fstype.c:
  5076. Use gnulib's mountlist module instead of grokking it ourselves.
  5077. * configure.in:
  5078. Removed all the out-of-date cruft for grokking getmntent().
  5079. * xargs/xargs.c:
  5080. Added the -I and -L options; also -E takes an argument which is not optional.
  5081. 2004-12-07 James Youngman <jay@gnu.org>
  5082. * find/fstype.c: Use xstat() not stat() to examine things.
  5083. * find/find.c: Explain why #ifdef EOVERFLOW.
  5084. * find/find.c: EOVERFLOW is not defined on UNICOS.
  5085. * NEWS: Corrected typo.
  5086. 2004-12-11 James Youngman <jay@gnu.org>
  5087. * find/parser.c: Readability improvement to the usage message.
  5088. * find/find.c: Oops. Fixed unmatched #endif.
  5089. * find/testsuite/find.gnu/printf.exp, find/testsuite/find.gnu/printf.xo, THANKS, configure.in, find/testsuite/Makefile.am, find/testsuite/config/unix.exp:
  5090. Fixed Savannah bug #11280
  5091. * find/find.c:
  5092. Remember to set path_length and curdepth in process_top_path().
  5093. 2004-12-12 James Youngman <jay@gnu.org>
  5094. * NEWS: Added a summary of the changes so far.
  5095. * find/tree.c: Made some of the error messages more self-explanatory
  5096. * find/pred.c: Print pointers with %p, not %x.
  5097. * find/find.c: Moved option data into struct options.
  5098. * find/find.1: clarifications
  5099. * find/testsuite/find.gnu/comma.exp:
  5100. Limit the amount of searching with maxdepth.
  5101. * doc/find.texi: clearer description of how -prune works
  5102. * ChangeLog: Removed duplicate entry.
  5103. * configure.in, find/defs.h, find/find.c, find/fstype.c, find/parser.c, find/pred.c, find/tree.c, find/util.c:
  5104. Separated ariables representing current state from variable representing option information
  5105. 2004-12-19 James Youngman <jay@gnu.org>
  5106. * doc/find.texi:
  5107. Indicate that "cd /; find tmp -wholename /tmp" will never match anything.
  5108. * doc/find.texi: Documented locate --statistics.
  5109. * locate/locate.1: Documented the --statistics option.
  5110. * locate/locate.c: Added support for the -S option.
  5111. 2004-12-23 James Youngman <jay@gnu.org>
  5112. * locate/locate.c:
  5113. Applied bugfixes from Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>.
  5114. (lc_strcpy): Zero-terminate result.
  5115. (add_visitor): Update lastinspector.
  5116. (visit_substring_match_casefold): fix off-by-one error.
  5117. (new_locate): Move visit_exists down to improve performance.
  5118. (new_locate): Don't fold case when getting stats.
  5119. 2004-12-31 James Youngman <jay@gnu.org>
  5120. * NEWS: Brought up to date with recent changes
  5121. * doc/find.texi:
  5122. Don't need to nest the "race conditions with..." sections so deeply.
  5123. * doc/find.texi: Corrected some spelling errors.
  5124. * doc/find.texi: Added new "Security Considerations" chapter.
  5125. 2005-01-02 James Youngman <jay@gnu.org>
  5126. * ChangeLog: Updated with recent changes.
  5127. * NEWS:
  5128. Bas van Gompel: two-line patch to locate.c to make locate's -i and -w
  5129. options work if -e is in use.
  5130. * THANKS: Added Bas van Gompel.
  5131. * locate/locate.c:
  5132. Bas van Gompel: (visit_exists) when testing for the existence of the
  5133. file, check the real filename [printname], not the case-converted
  5134. filename [testname]. Really these argument names are badly chosen.
  5135. * find/find.1, doc/find.texi:
  5136. Improved the documentation for -perm, with plenty of examples,
  5137. following a comment by Dan Jacobson that the comment "Symbolic modes
  5138. use mode 0 as a point of departure" is baffling and unhelpful.
  5139. * locate/locate.c:
  5140. Suggestion and patch from Bas van Gompel: (new_locate): Fix display of
  5141. negative compression ratios.
  5142. 2005-01-03 James Youngman <jay@gnu.org>
  5143. * doc/find.texi:
  5144. Oops. Had duplicated an entire section. Fortunately this was after
  5145. @bye, so there was no adverse effect.
  5146. * NEWS: locate -b.
  5147. * doc/find.texi, locate/locate.1: document locate -S
  5148. * configure.in, doc/find.texi, locate/locate.1, locate/locate.c:
  5149. Support locate -b as a synonym for locate --basename
  5150. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po:
  5151. distcheck
  5152. * find/testsuite/config/unix.exp:
  5153. Clean up (delete) find.out at at the end of the test.
  5154. * NEWS, doc/find.texi, find/defs.h, find/find.1, find/find.c, find/parser.c, find/pred.c:
  5155. Implemented the -samefile test for find
  5156. 2005-01-05 James Youngman <jay@gnu.org>
  5157. * find/parser.c:
  5158. Fixed Savannah bug 11495: fallthrough from -printf format processing
  5159. from 'n' case to 'd' case.
  5160. 2005-01-06 James Youngman <jay@gnu.org>
  5161. * xargs/testsuite/inputs/lines.xi, xargs/testsuite/xargs.posix/l2.exp, xargs/testsuite/Makefile.am:
  5162. Tests for the -L option
  5163. * xargs/testsuite/config/unix.exp: When a test fails, show the diffs
  5164. * xargs/testsuite/xargs.posix/l2.exp, xargs/testsuite/xargs.posix/l2.xo:
  5165. tests for the -l option
  5166. * xargs/testsuite/Makefile.am: Added extra test files
  5167. * xargs/testsuite/xargs.sysv/trace.exp, xargs/testsuite/xargs.sysv/trace.xe, xargs/testsuite/xargs.sysv/trace.xo:
  5168. Added tests for the -t option
  5169. * xargs/testsuite/config/unix.exp, xargs/testsuite/inputs/foobar.xi, xargs/testsuite/xargs.gnu/r.exp, xargs/testsuite/xargs.gnu/r.xo, xargs/xargs.1:
  5170. Use a blanks-only input file for cases where there is supposed to be no output
  5171. * xargs/testsuite/inputs/blank.xi: Initial version.
  5172. * xargs/xargs.1:
  5173. Corrected a typo; also indicate that it's impossible to use xargs
  5174. securely due to the race condition.
  5175. 2005-01-07 James Youngman <jay@gnu.org>
  5176. * lib/Makefile.am, lib/buildcmd.c, lib/buildcmd.h, xargs/xargs.c:
  5177. Refactored xargs to use an external library function from the new file buildcmd.c
  5178. * configure.in: no longer the same as the released 4.2.11 version
  5179. 2005-01-08 James Youngman <jay@gnu.org>
  5180. * find/find.c: Fixed typo in comment.
  5181. * find/defs.h, find/find.c, find/parser.c, find/pred.c:
  5182. We now understand but do not implement -execdir (a *BSD invention, and a very useful security enhancement) and -okdir (the obvious companion to it)
  5183. * locate/bigram.c, locate/code.c, locate/frcode.c, locate/locate.c, xargs/xargs.c:
  5184. The GNU coding standard requires a space between the function name and
  5185. its parenthesised argument list.
  5186. * find/defs.h:
  5187. Understand the -exec ... {} \+ construction (for multiple
  5188. replacement). No support yet.
  5189. * locate/locate.1:
  5190. Indicate that empty elements in the dbpath are treated as synonyms for
  5191. the default database.
  5192. * locate/locate.c:
  5193. Support empty elements in the dbpath as synonyms for the default
  5194. database. These colons can be leading, trailing or in the middle of
  5195. the string. We no longer com,plain if the user does this.
  5196. * lib/nextelem.c:
  5197. If curdir_ok is 0 and an element is empty, return "" instead of NULL
  5198. so that the caller knows to keep calling us.
  5199. * find/find.c, find/pred.c, import-gnulib.sh, locate/bigram.c, locate/code.c, locate/frcode.c, locate/locate.c, xargs/xargs.c:
  5200. Savannah bug 11517: find, xargs, locate, etc. should not hide write failures; patch from Jim Meyering
  5201. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po:
  5202. changed .pot creation date
  5203. * THANKS, AUTHORS: Take into account the FSF copyright-assignments list
  5204. * doc/find.texi:
  5205. If -quit is used, the exit value can be nonzero if errors have occurred.
  5206. * find/find.1:
  5207. Removed incorrect comment about -H, -P and -follow in HISTORY.
  5208. 2005-01-09 James Youngman <jay@gnu.org>
  5209. * find/defs.h, find/find.c, find/parser.c, find/pred.c, lib/buildcmd.c, lib/buildcmd.h, xargs/xargs.c:
  5210. Initial implementation of -exec ..{} +, but currently disabled since not yet working
  5211. 2005-01-15 James Youngman <jay@gnu.org>
  5212. * find/testsuite/find.gnu/printf.exp, find/testsuite/find.gnu/printf.xo:
  5213. Added extra tests for more printf formats; patch by Andreas Metzler
  5214. * locate/locate.c:
  5215. Ensure that the new long options have a relevang short option too.
  5216. Also bring usage message into line with the options actually
  5217. supported. Thanks to Bas van Gompel for noticing this defect.
  5218. * locate/locate.1:
  5219. Escape "-" in SYNOPSIS. Thanks to Bas van Gompel for noticing this
  5220. defect.
  5221. * ChangeLog: Fixed typos.
  5222. * doc/find.texi:
  5223. Documented -execdir, and the "+" variants of -exec and -execdir.
  5224. * find/find.1: Documented -execdir.
  5225. * xargs/xargs.c:
  5226. Updated to bring into line with bc_*() interface changes
  5227. * ChangeLog: Updated with recent changes.
  5228. * find/defs.h, find/parser.c, find/pred.c, lib/buildcmd.c, lib/buildcmd.h:
  5229. Implemented -execdir and -okdir
  5230. * find/defs.h, find/find.c, find/fstype.c, find/parser.c, find/pred.c, lib/buildcmd.c, lib/buildcmd.h, xargs/xargs.c:
  5231. First working version of -exec ...+
  5232. 2005-01-16 James Youngman <jay@gnu.org>
  5233. * find/find.c, find/pred.c:
  5234. When completing incomplete multiple execs, use 'eval_tree' not 'predicates'
  5235. * lib/buildcmd.c:
  5236. Oops, initialise state->cmd_initial_argv_chars to zero.
  5237. * find/find.1:
  5238. Document the way that -execdir and -okdir will refuse to wqork if ">"
  5239. is on $PATH. Also document -okdir in the manpage.
  5240. * find/parser.c:
  5241. -execdir and -okdir are insecure if $PATH includes the current
  5242. directory, and so they refuse to work if the user has done that.
  5243. * find/pred.c:
  5244. Oops; for -exec ... {} +, pass arguments to bc_push_arg() in the right
  5245. order. Problem spotted by Geoff Clare.
  5246. * TODO: Removed items which have now been done.
  5247. * lib/buildcmd.c: Tidied up formatting of arg list for bc_do_insert
  5248. 2005-01-17 James Youngman <jay@gnu.org>
  5249. * ChangeLog: Brought up to date with recent changes.
  5250. * NEWS: Documented the changes so far.
  5251. * find/testsuite/find.gnu/exec-many-rtn-success.xo:
  5252. Expected output for exec-many-rtn-success.exp
  5253. * find/find.1:
  5254. Indicate that -quit still ensures that pending commands are invoked
  5255. * doc/find.texi:
  5256. Indicate that -quit still causes partial command lines to be invoked,
  5257. but there are some types of fatal error which leave such commands
  5258. uninvoked.
  5259. * find/defs.h, find/find.c, find/pred.c, find/testsuite/Makefile.am, find/testsuite/config/unix.exp:
  5260. Fixed savannah bug #11625 Wrong return status for -exec ... \; when command fails; also execute any pending commands when doing -quit
  5261. * find/testsuite/find.gnu/exec-many-rtn-failure.exp, find/testsuite/find.gnu/exec-many-rtn-failure.xo, find/testsuite/find.gnu/exec-many-rtn-success.exp, find/testsuite/find.gnu/exec-one-rtn-fail.exp, find/testsuite/find.gnu/exec-one-rtn-fail.xo, find/testsuite/find.gnu/exec-one-rtn-success.exp, find/testsuite/find.gnu/exec-one-rtn-success.xo:
  5262. Various test cases for succeeding and failing forms of -exec \; and -exec {} +
  5263. * find/pred.c: "-exec ... {} +" always returns "true".
  5264. * configure.in, find/defs.h, find/find.c, find/parser.c, find/pred.c, find/tree.c, find/util.c:
  5265. Implemented d_type optimisation but not working correctly, so currently disabled
  5266. * lib/savedirinfo.h, lib/savedirinfo.c:
  5267. Initial implementation (temporarily disabled).
  5268. * lib/Makefile.am: Resolved merge conflict.
  5269. * lib/Makefile.am:
  5270. Make sure nextelem.h is included in the list of sources.
  5271. * find/parser.c, lib/nextelem.c, lib/nextelem.h, locate/locate.c:
  5272. Use prototypes for next_element() to make sure it is called correctly.
  5273. 2005-01-18 James Youngman <jay@gnu.org>
  5274. * lib/savedirinfo.h: Added on d_type_optimisation also
  5275. * lib/savedirinfo.c: Added on branch d_type_optimisation also.
  5276. * find/pred.c: Added assert that we actually know the file type by
  5277. the time pred_type() is called
  5278. * find/find.c: Always initialise state.have_stat = false when
  5279. starting to work with a new file
  5280. 2005-01-21 James Youngman <jay@gnu.org>
  5281. * xargs/testsuite/Makefile.am: Added name of missing input file.
  5282. * find/testsuite/Makefile.am:
  5283. Distribute a few files that we had forgotten about
  5284. * xargs/testsuite/Makefile.am: Added some missing files.
  5285. * lib/Makefile.am: Also need buildcmd.h.
  5286. * xargs/testsuite/Makefile.am: Fixed a typo.
  5287. * NEWS: Indicate the d_type performance improvement
  5288. 2005-01-22 James Youngman <jay@gnu.org>
  5289. * NEWS, configure.in: Prepare for release of findutils-4.2.12
  5290. * ChangeLog: Brought up to date with recent changes.
  5291. * Makefile.am, import-gnulib.sh, po/Makefile.in.in, po/Makevars,
  5292. po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot,
  5293. po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po,
  5294. po/pl.po, po/pt_BR.po, po/remove-potcdate.sin, po/ru.po, po/sk.po,
  5295. po/sv.po, po/tr.po: Switch to using the gnulib gettext module, to
  5296. ensure that 'make distcheck' works with current xgettext,
  5297. autoconf, etc.
  5298. * find/testsuite/config/unix.exp:
  5299. Oops, we do need to clean up after all.
  5300. 2005-01-23 James Youngman <jay@gnu.org>
  5301. * configure.in:
  5302. Invoke gl_INCLUDED_REGEX directly to ensure successful compilation on
  5303. systems like Solaris, which lacks those functions in libc (fixes GNU
  5304. Savannah bug #11710).
  5305. * locate/locate.1: -S is a synonym for --statistics
  5306. * doc/find.texi: Documented the new -H, -L and -P options.
  5307. * locate/locate.1, locate/locate.c: Implement options -L
  5308. (default), -H and -P, which mean the same things as for find,
  5309. except for the fact that the default is -L rather than -P
  5310. * find/find.1: Corrected definition of the exit status for -quit.
  5311. * find/find.c, find/pred.c: If DEBUG_STAT is set, issue a debug
  5312. message when we call chdir() so that we can figure out what is
  5313. actually being stat()ed
  5314. * locate/updatedb.sh:
  5315. Removed spurious newline from help message (bug report from Karl
  5316. Berry).
  5317. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot,
  5318. po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po,
  5319. po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po,
  5320. Makefile.am, NEWS, configure.in, find/defs.h, find/find.c,
  5321. find/parser.c, find/pred.c, find/tree.c, find/util.c,
  5322. import-gnulib.sh, lib/savedirinfo.c: Merged the d_type
  5323. optimisation code; this is disabled by default, and can be enabled
  5324. with 'configure --enable-d_type-optimisation'
  5325. * NEWS:
  5326. Updated optimisation NEWS item to indicate the effect on runtime.
  5327. 2005-01-24 James Youngman <jay@gnu.org>
  5328. * Makefile.am: Work around the fact that automake-1.7 actually
  5329. works, and correctly distributes regex.c; hence dist-hook should
  5330. only copy gnulib/lib/regex.c if this has not already been done.
  5331. * find/defs.h, find/find.c, find/pred.c,
  5332. find/testsuite/Makefile.am,
  5333. find/testsuite/find.gnu/printf-symlink.exp,
  5334. find/testsuite/find.gnu/printf-symlink.xo,
  5335. find/testsuite/find.gnu/xtype-symlink.exp,
  5336. find/testsuite/find.gnu/xtype-symlink.xo: Fixes for -xtype and
  5337. -printf %Y, which had been the wrong way around.
  5338. * NEWS: Avoid including the find.gnu subdirectory in the
  5339. distributed file more than once
  5340. * locate/locate.c:
  5341. Move the printing of the statistics into a new function, print_stats()
  5342. * find/testsuite/Makefile.am: Avoid including the find.gnu
  5343. subdirectory in the distributed file more than once
  5344. * import-gnulib.sh:
  5345. We need the regex module anyway, to allow compilation on Solaris
  5346. 2005-01-25 James Youngman <jay@gnu.org>
  5347. * NEWS, configure.in, po/da.po, po/de.po, po/es.po, po/et.po,
  5348. po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po,
  5349. po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po,
  5350. po/sv.po, po/tr.po: Preparing to release findutils-4.2.14
  5351. 2005-01-25 James Youngman <jay@gnu.org>
  5352. * configure.in: Bumped version no.
  5353. * doc/find.texi:
  5354. Document --mmap and --stdio as being synonyms of -m and -s.
  5355. * locate/locate.1:
  5356. Document --mmap and --stdio as synonyms of -m and -s.
  5357. * locate/locate.c:
  5358. Document -m and -s (both no-ops) in the usage message.
  5359. * doc/find.texi, locate/locate.1: Document -m and -s as no-ops.
  5360. * ChangeLog: Updated for release of findutils-4.2.14.
  5361. * NEWS, configure.in, po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sv.po, po/tr.po:
  5362. Preparing to release findutils-4.2.14
  5363. 2005-01-27 James Youngman <jay@gnu.org>
  5364. * doc/find.texi: Documented --regex.
  5365. * NEWS, locate/locate.1, locate/locate.c, locate/testsuite/Makefile.am, locate/testsuite/config/unix.exp, locate/testsuite/locate.gnu/regex1.exp:
  5366. Implemented locate --regex - but needs documenting in Texinfo manual.
  5367. 2005-01-28 James Youngman <jay@gnu.org>
  5368. * configure.in:
  5369. Make --enable-d_type-optimization and --enable-d_type-optimisation
  5370. both work.
  5371. * configure.in: Assume --enable-d_type-optimisation by default
  5372. * find/parser.c: Indicate which features are enabled/disabled
  5373. * locate/testsuite/config/unix.exp:
  5374. Clean up the files left behind by the locate_textonly test
  5375. 2005-01-29 James Youngman <jay@gnu.org>
  5376. * configure.in: No longer version 4.2.15 - we've changed the manual.
  5377. * doc/find.texi:
  5378. Clarified the txt about adding extra tests with post-processing via
  5379. xargs, and recommend -execdir instead for security reasons.
  5380. * doc/find.texi: Patch from Karl Berry:
  5381. - more entries for the dir file
  5382. - use @copying so the copyright ends up in the HTML etc. output.
  5383. (This is the only really important change.)
  5384. - put @contents after the title page, for conventional toc location.
  5385. - use @ifnottex to wrap the Top node instead of @ifinfo, for the sake of
  5386. HTML output, etc.
  5387. * NEWS, configure.in, po/da.po, po/de.po, po/es.po, po/et.po,
  5388. po/findutils.pot, po/fr.po, po/gl.po, po/id.po, po/it.po,
  5389. po/ko.po, po/nl.po, po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po,
  5390. po/sv.po, po/tr.po: Prepared to release findutils-4.2.15
  5391. * ChangeLog: Updated from CVS log.
  5392. 2005-01-30 James Youngman <jay@gnu.org>
  5393. * doc/Makefile.am:
  5394. Added rules for extra targets that we buld to update the web site.
  5395. 2005-01-31 James Youngman <jay@gnu.org>
  5396. * find/find.c, lib/nextelem.c, lib/nextelem.h, locate/code.c,
  5397. locate/frcode.c, locate/testsuite/config/unix.exp,
  5398. xargs/testsuite/config/unix.exp, xargs/xargs.c: Updated/corrected
  5399. the email address for David MacKenzie, one of the original authors
  5400. of findutils
  5401. * doc/Makefile.am: The HTML version of the manual generated for
  5402. the GNU project website has each node in a separate file, not each
  5403. chapter in a separate file; adjust filenames accordingly
  5404. * find/parser.c, find/pred.c, lib/savedirinfo.c:
  5405. Removed some unused variables (patch from Dmitry V. Levin)
  5406. * find/find.c:
  5407. Patch from Dmitry V. Levin <ldv@altlinux.org>: Add subfs to the list
  5408. of filesystems which are likely to be automounted.
  5409. * m4/findlib.m4: Corrected typo (pointed out by Dmitry V. Levin).
  5410. * find/testsuite/config/unix.exp,
  5411. find/testsuite/find.gnu/name-period.xo,
  5412. find/testsuite/find.gnu/posix-dflt.xo,
  5413. find/testsuite/find.gnu/posix-h.xo,
  5414. find/testsuite/find.gnu/posix-l.xo,
  5415. find/testsuite/find.gnu/printf.exp,
  5416. find/testsuite/find.gnu/printf.xo: Systems differ in the order in
  5417. which filenames are returned by readdir. Hence sort the output of
  5418. 'find' before comparing against the expected-output file. We
  5419. therefore also have the lines in the .xo files ready-sorted.
  5420. * po/ca.po: Updated from Translation Project
  5421. * po/ChangeLog: Updated from CVS logs.
  5422. * po/de.po, es.po, et.po, fr.po, gl.po, id.po, it.po, ko.po, nl.po,
  5423. pl.po, pt_BR.po, ru.po, sk.po, sv.po, tr.po, da.po: Ran update-po
  5424. * po/be.po, ca.po, el.po, eo.po, fi.po, hr.po, hu.po, ja.po, lg.po,
  5425. ms.po, ro.po, sl.po, sr.po, zh_CN.po: Added new translation files
  5426. from the Translation Project web site
  5427. * po/da.po, de.po, es.po, et.po, fr.po, ga.po, gl.po, id.po, it.po,
  5428. ko.po, nl.po, pl.po, pt_BR.po, ru.po, sk.po, sv.po, tr.po: Updated
  5429. .po files from the Translation Project site
  5430. 2005-02-01 James Youngman <jay@gnu.org>
  5431. * ChangeLog: Updated from CVS log.
  5432. 2005-02-02 James Youngman <jay@gnu.org>
  5433. * find/pred.c:
  5434. To allow compilation on cygwin, use base_name(), not basename().
  5435. * po/tr.po: Updated Turkish translation from TP
  5436. * po/ro.po: Updated Romanian translation from TP
  5437. * po/da.po, po/et.po: Updated translations from MT project website
  5438. 2005-02-03 James Youngman <jay@gnu.org>
  5439. * doc/find.texi, find/pred.c: When state.curdepth is 0, our
  5440. working directory is not the directory containing the file we are
  5441. processing.
  5442. 2005-02-05 James Youngman <jay@gnu.org>
  5443. * THANKS:
  5444. Added thanks for Dimitry - has produced many patches, bugfixes and
  5445. suggestions.
  5446. * find/pred.c:
  5447. Fixed Savannah bug #11866: typo in pred_okdir() renders it useless
  5448. * find/pred.c:
  5449. Savannah bug #11861: undefined symbol 'basename' on IRIX 5.3
  5450. * NEWS, configure.in, po/be.po, po/ca.po, po/el.po, po/eo.po,
  5451. po/fi.po, po/ga.po, po/hr.po, po/hu.po, po/ja.po, po/lg.po,
  5452. po/ms.po, po/ro.po, po/sl.po, po/sr.po, po/zh_CN.po: Added new
  5453. translations
  5454. * ChangeLog: Updated from CVS prior to release of 4.2.16.
  5455. * po/ChangeLog: Updated from CVS.
  5456. * NEWS, configure.in: Preparing to release 4.2.16
  5457. * po/da.po, po/de.po, po/es.po, po/et.po, po/findutils.pot,
  5458. po/fr.po, po/gl.po, po/id.po, po/it.po, po/ko.po, po/nl.po,
  5459. po/pl.po, po/pt_BR.po, po/ru.po, po/sk.po, po/sl.po, po/sv.po,
  5460. po/tr.po: make update-po prior to 'make distcheck'
  5461. * po/fetch-po-files: This is the first version we actually used.
  5462. * find/find.c: process_top_path() fixed compilation warning.
  5463. * find/find.c: process_top_path(): avoid processing this item if
  5464. we can't chdir to the basename of the named file.
  5465. * lib/Makefile.am: Always build forcefindlib.c
  5466. * locate/locate.c: Say 'base name' rather than 'basename' in comments
  5467. * find/pred.c, find/find.c: process_top_path(): Proper bugfix for
  5468. correct handling of items at depth 0 (i.e. specified on the
  5469. command line) - do an extra chdir to ensure that we're in the
  5470. directory containing the item before calling process_path().
  5471. Hnece also undo the previous 'quick fix' for the same problem
  5472. * doc/find.texi:
  5473. -execdir no longer has to treat anything as special, even at depth 0.
  5474. 2005-02-05 Dmitry V. Levin <ldv@altlinux.org>
  5475. * find/parser.c, find/pred.c: Additional tweaks for
  5476. -execdir/-okdir actions.
  5477. * find/parser.c (new_insert_exec_ok): Disable ignore_readdir_race
  5478. for -execdir/-okdir.
  5479. * find/pred.c (pred_execdir, pred_okdir): Use state.rel_pathname
  5480. instead of basename(pathname). Do not add "./" prefix for
  5481. absolute pathnames.
  5482. * find/find.c (process_top_path): Treat "/" similarly to ".".
  5483. * xargs/testsuite/xargs.posix/savannah-11865.exp,
  5484. xargs/testsuite/xargs.posix/savannah-11865.xo, xargs/xargs.c:
  5485. Fixed Savannah bug #11866 (not resetting number of used chars in
  5486. the command buffer) - reported by Dimitry V. Levin
  5487. 2005-02-06 James Youngman <jay@gnu.org>
  5488. * doc/find.texi:
  5489. -size: Clarification - -size gives a result consistent with 'wc -c'
  5490. for example.
  5491. * Makefile.am, find/testsuite/Makefile.am,
  5492. find/testsuite/find.gnu/execdir-root-only.exp,
  5493. find/testsuite/find.gnu/execdir-root-only.xo,
  5494. locate/testsuite/Makefile.am, xargs/testsuite/Makefile.am:
  5495. dist-hook: Ensure that we distribute all the .po files and all the
  5496. testsuite files
  5497. * po/pl.po: Updated Polish translation from TP website
  5498. 2005-02-07 James Youngman <jay@gnu.org>
  5499. * find/testsuite/Makefile.am:
  5500. New test, find/testsuite/find.gnu/follow-arg-parent-symlink.exp.
  5501. * find/testsuite/find.gnu/follow-arg-parent-symlink.exp,
  5502. find/testsuite/find.gnu/follow-arg-parent-symlink.xo, find/find.c:
  5503. Fix for starting point /foo/bar/baz where bar is a symlink but baz
  5504. is not - we should chdir into bar there even if it is a symbolic
  5505. link
  5506. 2005-02-07 James Youngman <jay@gnu.org>
  5507. * find/testsuite/config/unix.exp: Re-sort the .xo file using the
  5508. calling user's locale, because our 'pre-sorted' .so output file
  5509. may not be sorted with the same collating order as 'sort' used to
  5510. order the output of "find. Bug spotted by Vin Shelton and Dimitry
  5511. V. Levin.
  5512. * find/testsuite/Makefile.am:
  5513. New test, find/testsuite/find.gnu/follow-arg-parent-symlink.exp.
  5514. * find/testsuite/find.gnu/follow-arg-parent-symlink.exp,
  5515. find/testsuite/find.gnu/follow-arg-parent-symlink.xo, find/find.c:
  5516. Fix for starting point /foo/bar/baz where bar is a symlink but baz
  5517. is not - we should chdir into bar there even if it is a symbolic
  5518. link
  5519. 2005-02-08 James Youngman <jay@gnu.org>
  5520. * xargs/testsuite/Makefile.am: Distribute the .xe files also.
  5521. * Makefile.am: Check that we have the right number of .xe files in
  5522. the distribution also.
  5523. * ChangeLog, NEWS, configure.in
  5524. Preparing to release findutils-4.2.17
  5525. 2005-02-09 James Youngman <jay@gnu.org>
  5526. * find/find.1: Indicate that $TZ affects from printf-format
  5527. results, and add extra cross-references in the SEE ALSO section.
  5528. 2005-02-10 James Youngman <jay@gnu.org>
  5529. * doc/find.texi: Talk about the problem where find will not work
  5530. if you have a filesystem mounted from an unresponsive NFS server.
  5531. 2005-02-12 James Youngman <jay@gnu.org>
  5532. * configure.in, doc/find.texi, find/defs.h, find/find.c,
  5533. find/parser.c: Fix for Savannah bug #11879, that
  5534. init_mounted_dev_list() causes find to hang on systems which are
  5535. clients to dead NFS servers
  5536. 2005-02-13 Dmitry V. Levin <ldv@altlinux.org>
  5537. * find/find.c: remove test code snippet (time(NULL) was used to
  5538. place a marker for spotting with strace(), but was not actually
  5539. needed).
  5540. * find/find.c (safely_chdir_nofollow): must not fall back on
  5541. safely_chdir_lstat() because that will expose it to race condition
  5542. exploits, making it pointless.
  5543. * find/find.c (safely_chdir_lstat): Move
  5544. complete_pending_execdirs() up into safely_chdir(), because we
  5545. need to do that in either case.
  5546. 2005-02-13 James Youngman <jay@gnu.org>
  5547. * find/find.1: Miscellaneous small clarifications and improvements.
  5548. * doc/find.texi: Added Info nodes and menus under "Changing the
  5549. Current Working Directory" so that it doesn't generate such a huge
  5550. Info page.
  5551. * find/find.c: Parenthesise #if defined(...).
  5552. 2005-02-15 Aaron Hawley <Aaron.Hawley@uvm.edu>
  5553. * find/find.1: Notes about -H actually apply to -L. Said
  5554. paragraph is duplicated two paragraphs later. Also typos: nno,
  5555. ibmue, surrpounding
  5556. 2005-02-15 James Youngman <jay@gnu.org>
  5557. * ChangeLog: Updated with recent changes
  5558. * find/find.1:
  5559. Emphasise that -L causes find to recurse into subdirectories pointed
  5560. to by symbolic links.
  5561. * find/find.1:
  5562. Patch to find.1 from Aaron Hawley <Aaron.Hawley@uvm.edu>:
  5563. * Notes about -H actually apply to -L.
  5564. * Said paragraph is duplicated two paragraphs later.
  5565. * Typos: nno, ibmue, surrpounding
  5566. 2005-02-16 James Youngman <jay@gnu.org>
  5567. * NEWS, configure.in: Prepared for release of 4.2.18.
  5568. * ChangeLog: Updated prior to release of 4.2.18.
  5569. * find/testsuite/Makefile.am:
  5570. Distribute the test cases for the recent "find -depth" bug.
  5571. * find/testsuite/find.posix/depth1.exp, find/testsuite/find.posix/depth1.xo:
  5572. Added test case for find -depth bug reported by Joseph S. Myers
  5573. * find/find.c:
  5574. If -depth is in effect, processing of the subdirectories invalidates
  5575. the information in 'state'. Therefore once we get around to
  5576. processing the predicates, restore the information that we keep in
  5577. 'state' and in 'stat_buf'.
  5578. 2005-02-19 James Youngman <jay@gnu.org>
  5579. * NEWS: Corrected the summary of the "find -depth" bug.
  5580. 2005-02-20 James Youngman <jay@gnu.org>
  5581. * po/be.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po,
  5582. po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po,
  5583. po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po,
  5584. po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po,
  5585. po/pt_BR.po, po/ro.po, po/ru.po, po/sk.po, po/sl.po, po/sr.po,
  5586. po/sv.po, po/tr.po, po/zh_CN.po: Updated italian translation
  5587. * doc/find.texi: Corrected a typo.
  5588. * find/find.c:
  5589. Read the mounted device list afer parsing the command line, so that
  5590. for example "find --version" still works (in response to Savannah bug
  5591. #12044).
  5592. * configure.in: We've moved on from findutils-4.2.18.
  5593. 2005-02-21 James Youngman <jay@gnu.org>
  5594. * find/find.c: Fixed accidental C99 dependency.
  5595. 2005-02-22 James Youngman <jay@gnu.org>
  5596. * find/find.c:
  5597. Fixed Savannah bug #12099 (misinterpretation of system versions
  5598. leading to possible incorrect disabling of O_NOFOLLOW). Reported by
  5599. Dmitry V. Levin.
  5600. * find/pred.c:
  5601. For the %h format, don't bail out early as the format might contain
  5602. something else too.
  5603. 2005-02-23 James Youngman <jay@gnu.org>
  5604. * Makefile.am: Fix Savannah bug #12064 - 'make distclean' deletes
  5605. regex.c but should not.
  5606. * find/testsuite/Makefile.am,
  5607. find/testsuite/find.gnu/printf-h.exp,
  5608. find/testsuite/find.gnu/printf-h.xo: Added test case for Savannah
  5609. bug #12085 (-printf %h).
  5610. * NEWS, doc/find.texi, find/find.1, find/pred.c:
  5611. %h now expands to '.' instead of nothing.
  5612. 2005-02-25 James Youngman <jay@gnu.org>
  5613. * po/ga.po: Updated Irish po file
  5614. 2005-02-26 James Youngman <jay@gnu.org>
  5615. * po/sk.po, po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po,
  5616. po/zh_CN.po, po/be.po, po/ca.po, po/da.po, po/de.po, po/el.po,
  5617. po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot,
  5618. po/fr.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po,
  5619. po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po,
  5620. po/pt_BR.po, po/ro.po, po/ru.po: Added new Vietnamese translation
  5621. * configure.in: Added new Vietnamese translation.
  5622. 2005-02-27 James Youngman <jay@gnu.org>
  5623. * README: Indicate how the reader can verify the release.
  5624. 2005-02-28 James Youngman <jay@gnu.org>
  5625. * doc/find.texi: Typo: O_NOFOLLOW, not O_FOLLOW
  5626. * import-gnulib.sh:
  5627. Suggestion from Martin Buchholz; unset CDPATH to prevent "cd" echoing
  5628. the new directory.
  5629. 2005-03-01 James Youngman <jay@gnu.org>
  5630. * find/find.c, find/testsuite/find.posix/sv-bug-12181.exp,
  5631. find/testsuite/find.posix/sv-bug-12181.xo: Fixed SourceForge bug
  5632. 12181 (find -H symlink-to-dir reports 'Too many Symbolic links')
  5633. and bug 12044 (find still hangs on dead NFS filesystems on
  5634. Solaris)
  5635. 2005-03-03 James Youngman <jay@gnu.org>
  5636. * find/find.c:
  5637. safely_chdir_lstat(): if we didn't end up in the right place, and then
  5638. fchdir() fails, we can't return to the directory we started in.
  5639. Therefore, issue a fatal error message and exit.
  5640. 2005-03-04 James Youngman <jay@gnu.org>
  5641. * configure.in: Modernized the way we call AC_INIT and
  5642. AM_INIT_AUTOMAKE
  5643. * locate/locate.c, find/pred.c, find/find.c:
  5644. Eliminated some compiler warnings
  5645. * find/pred.c: Clarified the meaning of a comment.
  5646. * find/testsuite/Makefile.am: Added sizes.exp, sizes.xo.
  5647. * find/testsuite/find.posix/sizes.xo,
  5648. find/testsuite/find.posix/sizes.exp: Added tests for -size
  5649. predicate
  5650. 2005-03-06 James Youngman <jay@gnu.org>
  5651. * ChangeLog: Added latest changes.
  5652. * po/pt.po, configure.in: Added Portuguese translation
  5653. 2005-03-07 James Youngman <jay@gnu.org>
  5654. * Released findutils-4.2.19.
  5655. * find/testsuite/find.posix/sizes.exp:
  5656. Use 2>/dev/null instead of 2>&1, because Tcl understands the former
  5657. but not the latter.
  5658. * find/testsuite/Makefile.am: Also distribute sv-bug-12181.xo.
  5659. * find/testsuite/Makefile.am: Distribute sv-bug-12181.
  5660. * find/testsuite/Makefile.am: Distribute sv-bug-12230.
  5661. * NEWS: Updated with new news.
  5662. * ChangeLog: Brought up to date.
  5663. * lib/buildcmd.c, find/testsuite/find.gnu/sv-bug-12230.exp: Fixed
  5664. Savannah bug #12230, in which '-exec echo == {} +' is always run,
  5665. even if there were no matched files.
  5666. 2005-03-08 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
  5667. * import-gnulib.sh: Re-enable creation of gnulib/m4/Makefile.am.
  5668. 2005-03-10 James Youngman <jay@gnu.org>
  5669. * po/nl.po: Updated Dutch PO file
  5670. 2005-03-17 James Youngman <jay@gnu.org>
  5671. * configure.in: Preprare for release of 4.2.20.
  5672. * NEWS: Updated prior to release of 4.2.20.
  5673. * ChangeLog: Updated with recent changes.
  5674. * THANKS: Thank Bas van Gompel, but only once.
  5675. * THANKS: Thank Bas van Gompel and Aaron S. Hawley.
  5676. * po/vi.po: Updated Vietnamese PO file
  5677. 2005-03-22 James Youngman <jay@gnu.org>
  5678. * import-gnulib.sh: Include the new gnulib module stat-macros
  5679. * configure.in:
  5680. CVS code is (will shortly be) no longer identical to the 4.2.20 release
  5681. 2005-04-01 James Youngman <jay@gnu.org>
  5682. * locate/locate.1, locate/updatedb.1, xargs/xargs.1: Trivial
  5683. change from A Costa <agcosta@gis.net>, fixing typos in manual
  5684. pages for xargs, locate and updatedb; fixes Savannah bug #12500,
  5685. Debian bug #301934
  5686. 2005-04-04 James Youngman <jay@gnu.org>
  5687. * configure.in, import-gnulib.sh:
  5688. We no longer need gnulib/m4/Makefile.am
  5689. * po/vi.po: Updated Vietnamese translation
  5690. * locate/updatedb.sh:
  5691. Savannah bug #12491: Only use the "-s" option to "su" if it is
  5692. supported.
  5693. 2005-04-18 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
  5694. * doc/find.texi: Document locate --non-existing (-E).
  5695. * locate/locate.1: Ditto.
  5696. * locate/locate.c: Implement --non-existing (-E).
  5697. 2005-04-18 James Youngman <jay@gnu.org>
  5698. * Added test suite tests for Bas van Gompel's changes.
  5699. 2005-05-03 Dmitry V. Levin
  5700. * Added xargs test suite tests by Dmitry V. Levin, together with
  5701. bugfixes which ensure that the tests pass.
  5702. 2005-05-02 James Youngman <jay@gnu.org>
  5703. * AUTHORS:
  5704. Added Dimitry (his new test suite contribution required a copyright
  5705. assignment).
  5706. 2005-05-09 James Youngman <jay@gnu.org>
  5707. * find/parser.c:
  5708. The previous change fixed Savannah bug #12999. This change doesn't do
  5709. anything, it's only intended to be a place to record the Savannah bug
  5710. ID we've just fixed.
  5711. * find/parser.c:
  5712. Oops. Initialise the variable which indicates which regex syntax to
  5713. use. We use POSIX basic regular expressions.
  5714. * find/parser.c:
  5715. Suggestion by Ed Avis: point out that "-name foo/bar" will almost
  5716. always evaluate to false. Suggest to the user what alternatives they
  5717. might find useful.
  5718. 2005-05-16 James Youngman <jay@gnu.org>
  5719. * find/find.c, find/parser.c, find/pred.c, find/tree.c:
  5720. Trivial change: don't use i18n support for debug-only messages
  5721. * ChangeLog: Added ChangeLog entry crediting Dmitry
  5722. 2005-05-23 Paul Eggert <eggert@cs.ucla.edu>
  5723. Adjust to recent gnulib changes.
  5724. * import-gnulib.sh: Get config.rpath from gnulib/build-aux,
  5725. not gnulib/config.
  5726. * find/parser.c (parse_perm): Ignore umask when parsing
  5727. symbolic permissions. Adjust to new modechange API.
  5728. 2005-05-29 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
  5729. Add a ``--print'' (``-p'') option. (to cancel side-effects of -c/-S)
  5730. Allow ``--statistics'' in combination with non-options.
  5731. * doc/find.texi: Add documentation for locate --print (-p), and the
  5732. use of non-options with --statistics.
  5733. * locate/locate.1: ditto.
  5734. * locate/locate.c: Read each database only once.
  5735. 2005-05-30 James Youngman <jay@gnu.org>
  5736. * locate/locate.c: rename new_locate() to locate() since
  5737. old_locate() has gone the way of the dodo.
  5738. 2005-06-07 James Youngman <jay@gnu.org>
  5739. * NEWS: Updated with recent changes.
  5740. * mdate-sh: Use the mdate-sh from automake
  5741. * find/parser.c, find/pred.c, find/tree.c, find/util.c,
  5742. lib/Makefile.am, lib/forcefindlib.c, lib/listfile.c,
  5743. lib/listfile.h, locate/code.c, locate/locate.c, find/defs.h,
  5744. find/find.c: Fix Savannah bug #13324: Fix compiler warnings for
  5745. GCC-3.4
  5746. * locate/locate.c:
  5747. Fixed Savannah bug #13325: Quoting of output filenames in locate
  5748. should match find.
  5749. * find/parser.c:
  5750. Fixed Savannah bug #13319: C9X-ism in parser.c (declaration after
  5751. statements).
  5752. * find/pred.c, lib/Makefile.am, lib/listfile.c, lib/nextelem.c,
  5753. lib/printquoted.c, lib/printquoted.h, lib/qmark.c, NEWS,
  5754. doc/find.texi, find/defs.h, find/find.1, find/parser.c: Fixed
  5755. Savannah bug #13303, find should filter out non-printable
  5756. characters if outputting to tty
  5757. 2005-06-07 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
  5758. * locate/locate.c: Fold case once, only when needed.
  5759. 2005-06-07 James Youngman <jay@gnu.org>
  5760. * COPYING, debian/copyright, depcomp, doc/texinfo.tex,
  5761. find/defs.h, find/find.c, find/fstype.c, find/parser.c,
  5762. find/pred.c, find/testsuite/config/unix.exp, find/tree.c,
  5763. find/util.c, import-gnulib.sh, intl/Makefile.in,
  5764. intl/bindtextdom.c, intl/config.charset, intl/dcgettext.c,
  5765. intl/dcigettext.c, intl/dcngettext.c, intl/dgettext.c,
  5766. intl/dngettext.c, intl/explodename.c, intl/finddomain.c,
  5767. intl/gettext.c, intl/gettext.h, intl/gettextP.h,
  5768. intl/hash-string.h, intl/intl-compat.c, intl/l10nflist.c,
  5769. intl/libgettext.h, intl/libgnuintl.h, intl/loadinfo.h,
  5770. intl/loadmsgcat.c, intl/localcharset.c, intl/locale.alias,
  5771. intl/localealias.c, intl/ngettext.c, intl/plural.c, intl/plural.y,
  5772. intl/ref-add.sin, intl/ref-del.sin, intl/textdomain.c,
  5773. lib/buildcmd.c, lib/buildcmd.h, lib/extendbuf.c, lib/extendbuf.h,
  5774. lib/forcefindlib.c, lib/listfile.c, lib/listfile.h,
  5775. lib/modetype.h, lib/nextelem.c, lib/nextelem.h, lib/printquoted.c,
  5776. lib/printquoted.h, lib/qmark.c, lib/savedirinfo.c,
  5777. lib/savedirinfo.h, lib/strspn.c, lib/wait.h, lib/waitpid.c,
  5778. locate/bigram.c, locate/code.c, locate/frcode.c, locate/locate.c,
  5779. locate/locatedb.h, locate/testsuite/config/unix.exp,
  5780. locate/updatedb.sh, missing, po/fetch-po-files,
  5781. xargs/testsuite/config/unix.exp, xargs/xargs.c:
  5782. Updated the FSF's postal address
  5783. * ChangeLog: Corrected Bas's email address.
  5784. * locate/locate.c: Updated copyright years.
  5785. 2005-06-08 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
  5786. * NEWS, locate/locate.1, doc/find.texi: Document usage of `-'
  5787. to refer to stdin in database-path for locate.
  5788. * locate/locate.c: Change prototype for visitors and processors
  5789. throughout. Move reading the database and generating base_name
  5790. into visitors. Allow `-' to refer to stdin in database-path.
  5791. * lib/printquoted.h: Include stdio.h.
  5792. 2005-06-07 James Youngman <jay@gnu.org>
  5793. * ChangeLog, NEWS, configure.in: Updates prior to release
  5794. * config.rpath: Added file required for 'make dist'
  5795. * po/be.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po,
  5796. po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po,
  5797. po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po,
  5798. po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po,
  5799. po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po,
  5800. po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po:
  5801. updated the po files for release
  5802. * xargs/testsuite/Makefile.am:
  5803. Added in all the test files from Dmitry V. Levin.
  5804. 2005-06-08 James Youngman <jay@gnu.org>
  5805. * ChangeLog, NEWS, configure.in: Updated for recent changes
  5806. * doc/find.texi:
  5807. Explain that you should put the argument of -name in quotes.
  5808. * find/find.1:
  5809. Added a new "NON-BUGS" section pointing out things that look like bugs
  5810. but are caused by mistakes or misunderstandings.
  5811. * doc/find.texi, locate/locate.1: Applied Bas van Gompel's patch
  5812. which allows the database to be read from stdin.
  5813. * locate/locate.c:
  5814. Read the database in by using the "visitor" pattern. Modified file
  5815. header comment to indicate that we no longer use the efficient
  5816. algorith described in ;login:. Emit an error message if the
  5817. LOCATE_PATH variable implies that we should read stdin twice.
  5818. Most of this code is from Bas van Gompel.
  5819. * AUTHORS: Credit Bas van Gompel for his work on locate.
  5820. * lib/printquoted.h: Appled patch from Bas - fixing compiler warning.
  5821. 2005-06-09 James Youngman <jay@gnu.org>
  5822. * locate/testsuite/config/unix.exp:
  5823. Use the new normalize_dir procedure throughout.
  5824. * locate/testsuite/config/unix.exp: Move the normalisation into a
  5825. procedure. Don't rely on the "file normalize" command being
  5826. available (it's new in Tcl 8.4).
  5827. 2005-06-10 James Youngman <jay@gnu.org>
  5828. * find/find.c, lib/savedirinfo.c, lib/savedirinfo.h: Switch to a
  5829. new scheme for saving directory entry data which is extensible to
  5830. allow additional data to be saved.
  5831. 2005-06-11 James Youngman <jay@gnu.org>
  5832. * find/find.1: Corrected spelling error 'writeable' to 'writable'.
  5833. * find/find.1, locate/locate.1:
  5834. Fixed Savannah bug #13363, typos in manpages (tiny change)
  5835. 2005-06-12 James Youngman <jay@gnu.org>
  5836. * find/find.c, NEWS:
  5837. Savannah bug #13381 (Debian bug 313081): if we have O_NOFOLLOW,
  5838. safely_chdir() does not need to call stat(). However, process_dir()
  5839. used to rely on using that stat information. To work around this
  5840. problem, there is now an output parameter in safely_chdir() which
  5841. indicates if the stat buffer is valid.
  5842. This bug has possible security implications.
  5843. * find/find.1, doc/find.texi:
  5844. Applied patch from Andreas Metzler, improving the wording for the
  5845. documentation of the %k and %b format directives. This patch does
  5846. not require a copyright assignment as it consists of several
  5847. copies of the same small wording change.
  5848. 2005-06-12 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
  5849. * locate/locate.c: Implement --all (-A).
  5850. * NEWS, doc/find.texi, locate/locate.1: Document locate --all (-A)
  5851. 2005-06-18 Dmitry V. Levin <ldv@altlinux.org>
  5852. Additional documentation tweaks for -execdir/-okdir actions.
  5853. * find/parser.c (parse_help): Mention -execdir and -ordir options.
  5854. * doc/find.texi, find/find.1: Additionally document new options.
  5855. 2005-06-18 Martin Buchholz (tiny change)
  5856. * find/defs.h, find/find.c, find/parser.c, doc/find.texi: Fix
  5857. typos/spelling errors (mostly in source code comments).
  5858. 2005-06-18 James Youngman <jay@gnu.org>
  5859. * po/ga.po, tr.po: Updated Irish and Turkish translations.
  5860. * po/pl.po: Did update-po
  5861. * po/pl.po:
  5862. Updated Polish translation file from the Translation Project
  5863. * po/ca.po, da.po, de.po, el.po, eo.po, es.po, et.po, fi.po, findutils.pot, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, it.po, ja.po, ko.po, lg.po, ms.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po, ru.po, rw.po, sk.po, sl.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, be.po:
  5864. Did update-po
  5865. 2005-06-19 James Youngman <jay@gnu.org>
  5866. * ChangeLog: Indicate that we made (are making) a release.
  5867. * ChangeLog, NEWS, configure.in: Preparing to release 4.2.23
  5868. * doc/find.texi: Fixed Texinfo syntax error in previous change
  5869. * doc/find.texi, xargs/xargs.1:
  5870. Document the fact that the -i and -L options are currently
  5871. incompatible (Savannah bug 13041).
  5872. * locate/updatedb.1, locate/updatedb.sh: Fix Savannah bug 13411 -
  5873. reject trailing slashes in updatedb's --prunepaths, bacsue these
  5874. will never be matched
  5875. * NEWS: Released findutils-4.2.23.
  5876. * doc/find.texi, xargs/xargs.1:
  5877. Document the fact that the -i and -L options are currently
  5878. incompatible (Savannah bug 13041).
  5879. * locate/updatedb.1, locate/updatedb.sh: Fix Savannah bug 13411 -
  5880. reject trailing slashes in updatedb's --prunepaths, because these
  5881. will never be matched.
  5882. 2005-06-19 Dmitry V. Levin <ldv@altlinux.org>
  5883. * lib/savedirinfo.c: Fix two compilation warnings (which would
  5884. prevent compilation if "-Wall -Werror" is in effect).
  5885. 2005-06-20 James Youngman <jay@gnu.org>
  5886. * xargs/xargs.c:
  5887. Removed some code which had already been disabled via the preprocessor.
  5888. 2005-06-24 Bas van Gompel <patch-findutils.buzz@bavag.tmfweb.nl>
  5889. * locate/locate.c (visit_count, visit_limit): New functions.
  5890. (locate): Use visit_limit or visit_count. Simplify main loop.
  5891. (main) Bail out early when limit is reached.
  5892. 2005-06-27 James Youngman <jay@gnu.org>
  5893. * ChangeLog, locate/locate.c: Applied patch from Bas Van Gompel to
  5894. move match counting into a (new) visitor function
  5895. * NEWS, configure.in: No longer 4.2.23, as we're moving on now
  5896. 2005-06-29 James Youngman <jay@gnu.org>
  5897. * doc/find.texi: Applied patch from Aaron Hawley (Savannah patch
  5898. #3751: Typos and small suggestions to find.texi)
  5899. 2005-07-01 James Youngman <jay@gnu.org>
  5900. * doc/find.texi:
  5901. Aaron pointed out a potentially-confusing sentence. I fixed it.
  5902. * find/defs.h, find/find.1, find/find.c, find/parser.c,
  5903. find/pred.c, find/util.c: Allow consistency-checking of the
  5904. predicates, checking for example that actions all have side
  5905. effects
  5906. 2005-07-01 Jim Meyering <jim@meyering.net>
  5907. With `-fprint F' or `-fprintf F', don't write diagnostics
  5908. to F when stderr is closed.
  5909. * find/parser.c: Include "stdio-safer.h".
  5910. (open_output_file): Use fopen_safer, not fopen.
  5911. * import-gnulib.sh (findutils_modules): Add stdio-safer.
  5912. 2005-07-02 James Youngman <jay@gnu.org>
  5913. * configure.in, find/defs.h, find/fstype.c, find/parser.c,
  5914. intl/dcigettext.c, lib/buildcmd.c, lib/listfile.c,
  5915. lib/savedirinfo.c, locate/locate.c, xargs/xargs.c: Assume unistd.h
  5916. is present - avoid using HAVE_UNISTD_H
  5917. 2005-07-03 James Youngman <jay@gnu.org>
  5918. * find/Makefile.am: Don't need regexprops.c really...
  5919. * lib/regextype.c, lib/regextype.h:
  5920. New files for selecting regex type based on a keyword
  5921. * locate/locate.1: Documented the fact that we now use Emacs-style
  5922. regexps, not POSIX EREs, for compatibility with find -regex.
  5923. * lib/Makefile.am, locate/locate.c, doc/find.texi,
  5924. find/Makefile.am, find/defs.h, find/find.1, find/find.c,
  5925. find/parser.c: Fixed Savannah bug #13495: find now uses
  5926. Emacs-style regexps by default
  5927. 2005-07-04 James Youngman <jay@gnu.org>
  5928. * NEWS: *** empty log message ***
  5929. * doc/find.texi:
  5930. Added a "Worked Examples" section. It currently only contains a
  5931. (long) example about deleting files.
  5932. * .cvsignore: Some extra stuff to ignore.
  5933. 2005-07-06 James Youngman <jay@gnu.org>
  5934. * find/defs.h, find/find.c, find/parser.c, find/pred.c:
  5935. Fixed Savannah bug #13650; programs run by -exec cannot read stdin
  5936. 2005-07-10 James Youngman <jay@gnu.org>
  5937. * doc/find.texi:
  5938. Applied several documentation improvement patches from Aaron Hawley
  5939. * ChangeLog, NEWS: Updated with recent changes.
  5940. * NEWS: Recent gnulib changed have fixed -iregex
  5941. * doc/find.texi, xargs/xargs.1:
  5942. Tiny patch from Andreas Metzler: xargs -I is like xargs -i, but the latter is deprecated
  5943. 2005-07-14 James Youngman <jay@gnu.org>
  5944. * NEWS, doc/Makefile.am, doc/find.texi, lib/Makefile.am,
  5945. lib/regexprops.c, lib/regextype.c, lib/regextype.h: Added
  5946. --regextype and -regextype options to locate and find
  5947. respectively, and documented these
  5948. * doc/find.texi: We use GNU Emacs regexps by default now.
  5949. * doc/find.texi:
  5950. We require GNU sort in order for locate to handle newlines correctly,
  5951. not just GNU find.
  5952. 2005-07-15 James Youngman <jay@gnu.org>
  5953. * po/da.po: Updated Danish translation from translation project
  5954. 2005-07-16 James Youngman <jay@gnu.org>
  5955. * doc/find.texi: Updates following comments by Dave Gilbert.
  5956. * NEWS: Corrected a typo.
  5957. * doc/find.texi:
  5958. Added in the example about updating an aggregate timestamp file.
  5959. 2005-07-17 James Youngman <jay@gnu.org>
  5960. * find/find.1: (tiny change) Corrections by Greg Wooledge
  5961. 2005-07-22 James Youngman <jay@gnu.org>
  5962. * xargs/testsuite/xargs.posix/childfail.exp, xargs/xargs.c: Fix
  5963. Savannah bug #13878, in which xargs deals incorrectly with child
  5964. failure, returning 0 when it should return 123
  5965. 2005-07-24 James Youngman <jay@gnu.org>
  5966. * doc/Makefile.am: If the regexprops program has changed we should
  5967. re-run it, since it will probably now produce different output
  5968. * lib/regextype.h:
  5969. Allow the caller to detect if one regex type is identical to another.
  5970. * configure.in:
  5971. Define the preprocessor macro FINDUTILS for that code int he lib/
  5972. directory can be slightly more reusable.
  5973. * lib/regextype.c:
  5974. Allow the caller to detect if one regex type is identical to another.
  5975. * lib/regexprops.c:
  5976. Made Texinfo style corrections suggested by Karl Berry.
  5977. 2005-07-26 James Youngman <jay@gnu.org>
  5978. * lib/regexprops.c: Further small corrections from Karl.
  5979. * doc/find.texi:
  5980. Reordered the sections in the manual to put the "Common Tasks" and
  5981. "Worked Examples" chapters together.
  5982. * configure.in, find/find.c: Allow the leaf optimisation to be
  5983. disabled by default with the configure option
  5984. --disable-leaf-optimisation
  5985. * find/find.c: Removed old code for antuqie version of savedir().
  5986. * lib/regextype.c: Put the syntaxes in alphabetical order.
  5987. * lib/regexprops.c: Karl made some more readability suggestions.
  5988. 2005-07-27 James Youngman <jay@gnu.org>
  5989. * xargs/testsuite/Makefile.am: Added new test case 'childfail.exp'.
  5990. * doc/find.texi:
  5991. Updated the description of the safe-dir-change operation to reflect
  5992. what find now does on systems that lack O_NOFOLLOW.
  5993. * NEWS, find/parser.c: Indicate in the output of find --version if
  5994. the leaf optimisation is enabled or not
  5995. * find/find.c: Fixed typo.
  5996. * find/find.c: If the link count of a directory starts off less
  5997. than two, disable the leaf optimisation for this directory.
  5998. 2005-07-28 James Youngman <jay@gnu.org>
  5999. * find/find.1:
  6000. Say "other users" rather than "rest of the world" when talking about
  6001. Unix permissions. Fixes Savannah bug #4246.
  6002. 2005-07-29 James Youngman <jay@gnu.org>
  6003. * NEWS, configure.in
  6004. Prepared for the release of findutils-4.2.24
  6005. * ChangeLog: Updated with recent changes.
  6006. * NEWS, find/find.1, doc/find.texi:
  6007. Indicate that -ok and -okdir redirect stdin from /dev/null.
  6008. * NEWS: Explain the directory link count change more throroughly.
  6009. * NEWS: Fixed bug #13973.
  6010. * find/pred.c (pred_fprintf): Fix Savannah bug #13973: Modify the
  6011. handling of -printf %Y so that it no longer modifies stat_buf
  6012. * find/testsuite/find.gnu/printf-symlink.exp,
  6013. find/testsuite/find.gnu/printf-symlink.xo: Detect Savannah bug
  6014. #13973: pollution of stat_buf by the %Y directive (trivial change
  6015. from Andreas Metzler)
  6016. * INSTALL, depcomp, doc/texinfo.tex, install-sh, missing, mkinstalldirs:
  6017. Updated auxiliary files from the automake-1.9 distribution
  6018. * configure.in:
  6019. Introduce new Automake conditional, CROSS_COMPILING, true when we are corss compiling
  6020. * find/find.c:
  6021. If we decline to follow a symbolic link due to the safety check, issue a more self-explanatory warning message
  6022. * lib/Makefile.am: Don't build regexprops if we are cross compiling
  6023. * doc/Makefile.am:
  6024. Depend on the regex.h file rather than the 'regexprops' binary,
  6025. because the header file will always exist even if we are doing "make
  6026. dist". Otherwise "make distcheck" fails because it tries to rebuild
  6027. find.info while the source-directory is read-only.
  6028. 2005-07-30 James Youngman <jay@gnu.org>
  6029. * find/finddata.c, find/ftsfind.c, find/parser.c, find/pred.c,
  6030. find/util.c, m4/Makefile.am, m4/withfts.m4: Initial attempt to
  6031. convert find to use gnulib's fts()
  6032. [this change is currently on a branch only]
  6033. * find/finddata.c, find/ftsfind.c, m4/withfts.m4: New file.
  6034. [this change is currently on a branch only]
  6035. * NEWS, configure.in, find/Makefile.am, find/defs.h, find/find.c,
  6036. import-gnulib.sh: Initial attempt to convert find to use gnulib's
  6037. fts() [this change is currently on a branch only]
  6038. 2005-07-31 James Youngman <jay@gnu.org>
  6039. * find/testsuite/excuses.txt: We now have tests for -perm.
  6040. * NEWS, configure.in, find/parser.c,
  6041. find/testsuite/find.gnu/perm-slash.exp,
  6042. find/testsuite/find.gnu/perm-slash.xo: Fixed bug which caused find
  6043. -perm /440 to be treated the same as find -perm 440
  6044. * find/testsuite/Makefile.am:
  6045. Generic tests for -perm -NNN and -perm NNN
  6046. * find/testsuite/excuses.txt: New file - list of test cases that
  6047. still need to be written, along with excuses why they haven't been
  6048. done yet
  6049. * find/testsuite/find.posix/perm-vanilla.exp,
  6050. find/testsuite/find.posix/perm-vanilla.xo: Generic tests for -perm
  6051. -NNN and -perm NNN
  6052. * find/testsuite/find.gnu/inum.exp:
  6053. Ensure that the test would fail if -inum just always returned true
  6054. * find/testsuite/Makefile.am, find/testsuite/find.gnu/ilname.exp,
  6055. find/testsuite/find.gnu/ilname.xo,
  6056. find/testsuite/find.gnu/inum.exp, find/testsuite/find.gnu/inum.xo,
  6057. find/testsuite/find.gnu/lname.exp,
  6058. find/testsuite/find.gnu/lname.xo,
  6059. find/testsuite/find.gnu/xtype.exp,
  6060. find/testsuite/find.gnu/xtype.xo,
  6061. find/testsuite/find.posix/links.exp,
  6062. find/testsuite/find.posix/links.xo: New test cases for -ilname,
  6063. -inum, -lname, -xtype
  6064. * find/testsuite/Makefile.am, find/testsuite/find.gnu/delete.exp,
  6065. find/testsuite/find.gnu/delete.xo,
  6066. find/testsuite/find.gnu/iregex1.exp,
  6067. find/testsuite/find.gnu/iregex1.xo,
  6068. find/testsuite/find.gnu/regex1.exp,
  6069. find/testsuite/find.gnu/regex1.xo,
  6070. find/testsuite/find.gnu/regex2.exp,
  6071. find/testsuite/find.gnu/regex2.xo,
  6072. find/testsuite/find.gnu/samefile-copy.exp,
  6073. find/testsuite/find.gnu/samefile-copy.xo,
  6074. find/testsuite/find.gnu/samefile-link.exp,
  6075. find/testsuite/find.gnu/samefile-link.xo,
  6076. find/testsuite/find.gnu/samefile-same.exp,
  6077. find/testsuite/find.gnu/samefile-same.xo,
  6078. find/testsuite/find.gnu/samefile-symlink.exp,
  6079. find/testsuite/find.gnu/samefile-symlink.xo: Further test cases
  6080. * find/find.1: Indicate that -delete implies -depth (find.texi
  6081. already mentioned this).
  6082. * find/testsuite/Makefile.am:
  6083. Brought the list of .exp and .xo files in Makefile.am into sync with
  6084. the actual contents of the CVS repository.
  6085. * find/testsuite/Makefile.am, find/testsuite/find.gnu/depth-d.exp,
  6086. find/testsuite/find.gnu/depth-d.xo,
  6087. find/testsuite/find.gnu/empty.exp,
  6088. find/testsuite/find.gnu/empty.xo,
  6089. find/testsuite/find.gnu/execdir-one.exp,
  6090. find/testsuite/find.gnu/execdir-one.xo,
  6091. find/testsuite/find.gnu/false.exp,
  6092. find/testsuite/find.gnu/false.xo,
  6093. find/testsuite/find.gnu/follow-basic.exp,
  6094. find/testsuite/find.gnu/follow-basic.xo,
  6095. find/testsuite/find.gnu/gnu-or.exp,
  6096. find/testsuite/find.gnu/gnu-or.xo,
  6097. find/testsuite/find.gnu/gnuand.exp,
  6098. find/testsuite/find.gnu/gnuand.xo,
  6099. find/testsuite/find.gnu/gnunot.exp,
  6100. find/testsuite/find.gnu/gnunot.xo,
  6101. find/testsuite/find.gnu/iname.exp,
  6102. find/testsuite/find.gnu/iname.xo,
  6103. find/testsuite/find.gnu/ipath.exp,
  6104. find/testsuite/find.gnu/ipath.xo,
  6105. find/testsuite/find.gnu/iwholename.exp,
  6106. find/testsuite/find.gnu/iwholename.xo,
  6107. find/testsuite/find.gnu/path.exp, find/testsuite/find.gnu/path.xo,
  6108. find/testsuite/find.gnu/print0.exp,
  6109. find/testsuite/find.gnu/print0.xo,
  6110. find/testsuite/find.gnu/quit.exp, find/testsuite/find.gnu/quit.xo,
  6111. find/testsuite/find.gnu/true.exp, find/testsuite/find.gnu/true.xo,
  6112. find/testsuite/find.gnu/wholename.exp,
  6113. find/testsuite/find.gnu/wholename.xo,
  6114. find/testsuite/find.posix/and.exp,
  6115. find/testsuite/find.posix/and.xo,
  6116. find/testsuite/find.posix/exec-one.exp,
  6117. find/testsuite/find.posix/exec-one.xo,
  6118. find/testsuite/find.posix/grouping.exp,
  6119. find/testsuite/find.posix/grouping.xo,
  6120. find/testsuite/find.posix/name.exp,
  6121. find/testsuite/find.posix/name.xo,
  6122. find/testsuite/find.posix/posixnot.exp,
  6123. find/testsuite/find.posix/posixnot.xo,
  6124. find/testsuite/find.posix/prune.exp,
  6125. find/testsuite/find.posix/prune.xo: Added new test cases for many
  6126. of the actions and tests of find
  6127. * find/find.c (default_prints):
  6128. not a static function, so do not declare it as one.
  6129. * m4/withfts.m4: Fixed underquoted definition of FIND_WITH_FTS.
  6130. [this change is currently on a branch only]
  6131. 2005-08-01 James Youngman <jay@gnu.org>
  6132. * ABOUT-NLS, INSTALL, Makefile.am, configure.in, depcomp,
  6133. doc/texinfo.tex, install-sh, missing, mkinstalldirs: By adding the
  6134. missing AM_GNU_GETTEXT_VERSION call, allowed autopoint to update
  6135. those files of which it has updated copies.
  6136. * po/Makevars.template, po/Makefile.in.in, po/findutils.pot:
  6137. Using AM_GNU_GETTEXT_VERSION, allowed gettext to update the infrastructure
  6138. * po/Rules-quot, po/boldquot.sed, po/en@boldquot.header, po/en@quot.header, po/insert-header.sin, po/quot.sed:
  6139. Files added by autopoint now that we are using AM_GNU_GETTEXT_VERSION
  6140. * find/testsuite/Makefile.am: Added find.gnu./perm-slash.{exp,xo}.
  6141. * po/nl.po: Updated Dutch translation from Translation Project
  6142. * po/ga.po: Updated Irish translation from the Translation Project
  6143. * po/da.po: Updated Danish translation from the Translation Project
  6144. * po/ca.po: Updated Catalan translation from Translation Project
  6145. 2005-08-02 James Youngman <jay@gnu.org>
  6146. * po/tr.po, vi.po:
  6147. Updated Vietnamese and Turkish translations from Translation Project
  6148. * po/sl.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po, be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, findutils.pot, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, it.po, ja.po, ko.po, lg.po, ms.po, pl.po, pt.po, pt_BR.po, ru.po, rw.po:
  6149. Did update-po
  6150. * po/et.po, sk.po, ro.po:
  6151. Updated Romanian, Slovak and Estonian translations from Translation Project
  6152. 2005-08-07 James Youngman <jay@gnu.org>
  6153. * NEWS: Indicated that some test suite files have been renamed.
  6154. * xargs/testsuite/Makefile.am, xargs/testsuite/inputs/eof.xi,
  6155. xargs/testsuite/inputs/eof1.xi,
  6156. xargs/testsuite/xargs.sysv/eof.exp,
  6157. xargs/testsuite/xargs.sysv/eof.xo,
  6158. xargs/testsuite/xargs.sysv/eof1.exp,
  6159. xargs/testsuite/xargs.sysv/eof1.xo,
  6160. xargs/testsuite/xargs.posix/lc_l2.exp,
  6161. xargs/testsuite/xargs.posix/lc_l2.xo,
  6162. xargs/testsuite/xargs.sysv/l2.exp,
  6163. xargs/testsuite/xargs.sysv/l2.xo,
  6164. xargs/testsuite/xargs.sysv/lc_l2.exp,
  6165. xargs/testsuite/xargs.sysv/lc_l2.xo,
  6166. xargs/testsuite/xargs.posix/L2.exp,
  6167. xargs/testsuite/xargs.posix/l2.exp,
  6168. xargs/testsuite/xargs.posix/L2.xo,
  6169. xargs/testsuite/xargs.posix/l2.xo,
  6170. xargs/testsuite/xargs.posix/uc_L2.exp,
  6171. xargs/testsuite/xargs.posix/uc_L2.xo: Work around problems with
  6172. CVS clients on case-insentitive operating systems
  6173. * debian/Changelog: Removed Changelog file since changelog is the
  6174. one we should be using and having both files upsets Cygwin
  6175. systems which cannot tell the dirrerence between changelog and
  6176. Changelog
  6177. * find/ftsfind.c:
  6178. If DEBUG is defined, show the symbolic names fro fts_info values.
  6179. * find/ftsfind.c: Added additional diagnostics.
  6180. 2005-08-09 James Youngman <jay@gnu.org>
  6181. * NEWS: Indicate that regexprops.texi is built on Cygin now that
  6182. Savannah bug #14025 has been fixed.
  6183. * lib/Makefile.am, lib/regexprops.c: Fixed compilation failure on
  6184. Cygwin - Savannah Bug #14025 (tiny change, three lines), reported
  6185. and fixed by Eric Blake
  6186. * find/testsuite/Makefile.am,
  6187. find/testsuite/find.posix/sv-bug-14070.exp,
  6188. find/testsuite/find.posix/sv-bug-14070.xo: Added new test case for
  6189. SourceForge bug #14070
  6190. * find/testsuite/find.posix/sv-bug-14070.exp,
  6191. find/testsuite/find.posix/sv-bug-14070.xo: New file.
  6192. * find/defs.h, find/ftsfind.c, find/pred.c, find/util.c:
  6193. Ensure we can still build with --enable-debug
  6194. * find/testsuite/config/unix.exp,
  6195. find/testsuite/find.gnu/execdir-one.exp,
  6196. find/testsuite/find.gnu/execdir-root-only.exp,
  6197. find/testsuite/find.gnu/sv-bug-12230.exp: If . is on $PATH,
  6198. indicate that the -execdir tests cannot be carried out, as opposed
  6199. to indicating that those tests fail
  6200. 2005-08-11 James Youngman <jay@gnu.org>
  6201. * po/fr.po: Updated French translation and added new PO file zh_TW.po
  6202. for Chinese (traditional)
  6203. 2005-08-12 James Youngman <jay@gnu.org>
  6204. * NEWS: Corrected typo.
  6205. 2005-08-13 James Youngman <jay@gnu.org>
  6206. * find/find.1: Remind the user to quote the pattern argument to -iname.
  6207. 2005-08-24 James Youngman <jay@gnu.org>
  6208. * po/sl.po: Updated from Translation Project
  6209. 2005-08-30 James Youngman <jay@gnu.org>
  6210. * find/defs.h, find/find.c, find/fstype.c, find/pred.c:
  6211. Attempted fix for compilation when AFS is #defined
  6212. 2005-09-01 James Youngman <jay@gnu.org>
  6213. * doc/find.texi: Typo fix from Jim Meyering (tiny change)
  6214. 2005-09-01 Jim Meyering <jim@meyering.net>
  6215. * locate/locate.c (struct stringbuf) [soffs]: Remove unused member.
  6216. (locate): Remove initialization, too.
  6217. 2005-09-01 James Youngman <jay@gnu.org>
  6218. * po/ChangeLog, ChangeLog: Updated with recent changes.
  6219. * locate/locate.c: Removed unused struct stringbuf.soffs.
  6220. * doc/find.texi: Typo fix from Jim Meyering (tiny change)
  6221. 2005-09-02 James Youngman <jay@gnu.org>
  6222. * doc/find.texi, find/find.1:
  6223. Improved documentation in response to Savannah bug #14376
  6224. 2005-09-03 James Youngman <jay@gnu.org>
  6225. * find/testsuite/find.gnu/quit.exp: Fixed Savannah bug#14390, by
  6226. avoiding an accidental assumption in quit.exp that directory
  6227. entries are returned by readir() in any particular order
  6228. * NEWS, configure.in, doc/find.texi, xargs/testsuite/Makefile.am,
  6229. xargs/testsuite/inputs/helloworld.xi,
  6230. xargs/testsuite/xargs.gnu/delim-o.exp,
  6231. xargs/testsuite/xargs.gnu/delim-o.xo, xargs/xargs.1,
  6232. xargs/xargs.c: Added the --delimiter option to xargs, resolving
  6233. Savannah support request sr #102914
  6234. * ChangeLog, NEWS, configure.in: Released findutils-4.2.25
  6235. * po/sr.po, sv.po, tr.po, vi.po, zh_CN.po, zh_TW.po, sl.po, be.po,
  6236. ca.po, da.po, de.po, el.po, eo.po, es.po, et.po, fi.po,
  6237. findutils.pot, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, it.po,
  6238. ja.po, ko.po, lg.po, ms.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
  6239. ru.po, rw.po, sk.po: Did update-po
  6240. 2005-09-04 James Youngman <jay@gnu.org>
  6241. * find/defs.h, find/find.c, find/parser.c, find/pred.c,
  6242. Work around compilation failure with GCC 4 and AIX 5.1, in which
  6243. open is #defined to open64
  6244. * po/be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, et.po, fi.po,
  6245. findutils.pot, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, it.po,
  6246. ja.po, ko.po, lg.po, ms.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
  6247. ru.po, rw.po, sk.po, sl.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
  6248. zh_TW.po: Work around compilation failure with GCC 4 and AIX 5.1,
  6249. in which open is #defined to open64
  6250. 2005-09-06 James Youngman <jay@gnu.org>
  6251. * xargs/xargs.c: Typo in "IEEE" in a comment.
  6252. 2005-09-17 James Youngman <jay@gnu.org>
  6253. * NEWS: Corrections for find manual page - symbolic permissions.
  6254. * find/find.1:
  6255. Corrected an inaccuracy in the EXAMPLES section - in symbolic modes,
  6256. 'o' stands for 'others' and 'u' stands for 'user' (i.e. the owner).
  6257. 2005-09-17 A Costa <agcosta@gis.net> (tiny change)
  6258. docs/find.texi: Fixed typo
  6259. find/find.1: Fixed typo
  6260. xargs/xargs.1: Fixed typo
  6261. 2005-09-17 James Youngman <jay@gnu.org>
  6262. * xargs/xargs.c:
  6263. Fixed Savannah bug #14550 - if environment is too large to allow
  6264. exec() to work, we cannot even use "xargs --help".
  6265. * find/find.1:
  6266. Avoid the use of -perm +mode, using -perm /mode instead. From comment
  6267. by Andreas Metzler (though I didn't read the patch).
  6268. * ChangeLog, doc/find.texi, find/find.1, xargs/xargs.1:
  6269. Typo fix from A Costa (tiny change)
  6270. * NEWS: Corrections for find manual page - symbolic permissions.
  6271. * find/find.1:
  6272. Corrected an inaccuracy in the EXAMPLES section - in symbolic modes,
  6273. 'o' stands for 'others' and 'u' stands for 'user' (i.e. the owner).
  6274. 2005-09-20 James Youngman <jay@gnu.org>
  6275. * NEWS, configure.in, doc/find.texi, xargs/xargs.1, xargs/xargs.c:
  6276. Documentation clarification: -L and -I take a mandatory argument;
  6277. -l and -i do not
  6278. 2005-09-21 James Youngman <jay@gnu.org>
  6279. * xargs/xargs.1, xargs/xargs.c: Clarified the -E option
  6280. 2005-10-08 James Youngman <jay@gnu.org>
  6281. * find/find.c, lib/regextype.c: Fixed Savannah bug #14616, which
  6282. was that c99 code had crept in and it didn't compile on c89
  6283. compilers
  6284. * doc/find.texi: Savannah patch #4371 from Andreas Metzler; the
  6285. argument of -I is mandatory
  6286. 2005-10-31 James Youngman <jay@gnu.org>
  6287. * doc/find.texi:
  6288. Removed redundant additional description of "--regextype".
  6289. 2005-11-11 James Youngman <jay@gnu.org>
  6290. * NEWS, find/find.c, find/fstype.c: Savannah bug #14922: if we need the
  6291. list of mounted filesystems but it is not available, exit fatally
  6292. with a message. If it is not available but we don't need it,
  6293. there is no need for an error.
  6294. * po/ro.po, ru.po, rw.po, sk.po, sl.po, sr.po, sv.po, tr.po, vi.po,
  6295. zh_CN.po, zh_TW.po, ko.po, lg.po, ms.po, nl.po, pl.po, pt.po,
  6296. pt_BR.po, be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, et.po,
  6297. fi.po, findutils.pot, fr.po, ga.po, gl.po, hr.po, hu.po, id.po,
  6298. it.po, ja.po: Updated Polish translation
  6299. 2005-11-18 Jim Meyering <jim@meyering.net> (tiny change)
  6300. * lib/buildcmd.c (bc_push_arg): When exec'ing, don't exceed
  6301. Linux's limit on the maximum number of command line arguments.
  6302. 2005-11-19 James Youngman <jay@gnu.org>
  6303. * doc/find.texi, find/find.1:
  6304. Applied edited form of Andreas Metzler's -perm /mode documentation
  6305. patch resolving Savannah bug #14619.
  6306. * lib/extendbuf.c:
  6307. In the success case, extendbuf() should preserve the previous value of
  6308. errno. Fixes Savannah bug #14842.
  6309. * xargs/testsuite/Makefile.am: Added new test files
  6310. * find/find.1:
  6311. Correctly indicate the default regular expression syntax (fixes
  6312. Savannah bug #14836).
  6313. * NEWS, configure.in: Released findutils-4.2.26
  6314. * ChangeLog, NEWS, lib/buildcmd.c,
  6315. xargs/testsuite/inputs/16383-ys.xi,
  6316. xargs/testsuite/inputs/32767-ys.xi,
  6317. xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.exp,
  6318. xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.xo,
  6319. xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.exp,
  6320. xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.xo: Applied
  6321. bugfix from Jim Meyering (tiny change), where many short arguments
  6322. would cause xargs (and probably find -exec .. {} +) to fail
  6323. because execve() returns E2BIG, which we should avoid
  6324. * xargs/testsuite/inputs/16383-ys.xi,
  6325. xargs/testsuite/inputs/32767-ys.xi,
  6326. xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.exp,
  6327. xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.xo,
  6328. xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.exp,
  6329. xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.xo: New file.
  6330. * po/be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, et.po, fi.po,
  6331. findutils.pot, fr.po, ga.po, gl.po, hr.po, hu.po, id.po, it.po,
  6332. ja.po, ko.po, lg.po, ms.po, nl.po, pl.po, pt.po, pt_BR.po, ro.po,
  6333. ru.po, rw.po, sk.po, sl.po, sr.po, sv.po, tr.po, vi.po, zh_CN.po,
  6334. zh_TW.po: Updated Portuguese .po file and did update-po
  6335. 2005-11-20 James Youngman <jay@gnu.org>
  6336. * locate/locate.1, xargs/xargs.1: Escape '-' as '\-' where appropriate.
  6337. * find/find.1:
  6338. Escape '-' as '\-' where appropriate. Fixes last part of bug #14556.
  6339. 2005-11-21 James Youngman <jay@gnu.org>
  6340. * locate/testsuite/config/unix.exp:
  6341. Even if we expect locate to return a nonzero status, the test should
  6342. still fail if updatedb fails!
  6343. * locate/testsuite/locate.gnu/ignore_case2.exp:
  6344. Set the current directory for updatedb. This test case is supposed to
  6345. fail because the filename is not matched, not because updatedb fails!
  6346. * locate/updatedb.sh:
  6347. Check the binaries actually exist in the place we expect.
  6348. 2005-11-22 James Youngman <jay@gnu.org>
  6349. * ChangeLog: Updated with recent changes.
  6350. 2005-11-23 James Youngman <jay@gnu.org>
  6351. * NEWS: Bug #14921 has been fixed.
  6352. * find/fstype.c:
  6353. Savannah bug #14921: when a Linux bind filesystem is in use, find
  6354. would expand '-printf %F' to 'none' if a bind mount targeted the same
  6355. filesystem as the one containing the file to be described.
  6356. * NEWS: Updated to describe recent changes
  6357. * doc/find.texi, find/find.1: Documented find -printf %M
  6358. * lib/buildcmd.c, xargs/testsuite/Makefile.am,
  6359. xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.exp,
  6360. xargs/testsuite/xargs.posix/arg_max_32bit_linux_bug.xo,
  6361. xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.exp,
  6362. xargs/testsuite/xargs.posix/arg_max_64bit_linux_bug.xo:
  6363. Ensure that the test suite still passes even if the current
  6364. system's value of ARG_MAX is different from the development/test
  6365. system
  6366. * lib/buildcmd.c: reindent and untabify
  6367. * configure.in: The CVS code is moving on from the previous release.
  6368. 2005-11-24 James Youngman <jay@gnu.org>
  6369. * NEWS, lib/buildcmd.c, lib/buildcmd.h: Merge to trunk from 4.2.x fixes
  6370. * lib/buildcmd.h:
  6371. Deleted inaccurate comment about the default value of ctl->args_per_exec.
  6372. * NEWS, lib/buildcmd.c, lib/buildcmd.h:
  6373. Be more conservative about the total number of arguments we will
  6374. allow (to avoid exec limits on Linux/PPC)
  6375. 2005-11-29 James Youngman <jay@gnu.org>
  6376. * xargs/xargs.c:
  6377. Typo "Ilegal"; change to "Invalid" since this is not really illegal!
  6378. Bug report by Primoz Peterlin.
  6379. * lib/regexprops.c, xargs/xargs.c:
  6380. Prefer the word 'Invalid' or the phrase 'not allowed' over
  6381. 'Illegal', as per the GNU coding standards, and as per the
  6382. suggestion from Benno Schulenberg
  6383. 2005-11-30 James Youngman <jay@gnu.org>
  6384. * xargs/xargs.c:
  6385. Typo correction from Benno Schulenberg <benno@nietvergeten.nl>
  6386. (tiny change)
  6387. 2005-12-04 James Youngman <jay@gnu.org>
  6388. * doc/find.texi: Document --show-limits
  6389. * xargs/xargs.c:
  6390. Correctly display the size of the argument buffer we really allocated.
  6391. * doc/find.texi, find/find.1, find/parser.c, find/pred.c, NEWS:
  6392. Savannah bug #14748 (which this change does NOT fix): issue
  6393. warning of future changes in the behaviour of -perm /000
  6394. 2005-12-05 James Youngman <jay@gnu.org>
  6395. * doc/find.texi, find/find.1, locate/locate.1, xargs/xargs.1:
  6396. Savannah patch #3775 from Aaron Hawley: reconciling man pages
  6397. differences; did not apply the patch, but resolved all the
  6398. remaining issues manually by updating the documentation (mostly
  6399. the Texinfo documentation, which was missing a number of specific
  6400. technical statements about the behaviour of various options)
  6401. 2005-12-05 James Youngman <jay@gnu.org>
  6402. * Released findutils-4.2.27
  6403. 2005-12-08 James Youngman <jay@gnu.org>
  6404. * doc/find.texi: Typo and spelling corrections from Aaron Hawley
  6405. 2005-12-10 Andreas Metzler <gnu@downhill.at.eu.org>
  6406. * ChangeLog, NEWS, configure.in, find/defs.h, find/parser.c:
  6407. Applied patch from Andreas Metzler fixing Savannah bug #15181:
  6408. implicit declaration of parse_openparen
  6409. 2005-12-10 James Youngman <jay@gnu.org>
  6410. * doc/perm.texi:
  6411. Aaron Hawley: Updated perm.texi from the coreutils distribution
  6412. * find/parser.c:
  6413. Avoid using entries which have the same name as POSIX library
  6414. functions (fprintf, printf, exec) as the implementation is allowed to
  6415. #define these. That generates hard-to-grok compilation errors.
  6416. 2005-12-11 James Youngman <jay@gnu.org>
  6417. * ChangeLog, THANKS, xargs/xargs.c:
  6418. Fixed spelling errors in Bob Proulx's name. Sorry, Bob.
  6419. 2005-12-12 James Youngman <jay@gnu.org>
  6420. Release 4.3.0.
  6421. * find/testsuite/find.gnu/access.exp:
  6422. Don't leave junk files lying around the place
  6423. * README-CVS: Update the the instructions for getting gnulib; the
  6424. CVS arrangements at Savannah have changed.
  6425. * ChangeLog, NEWS, doc/find.texi, doc/perm.texi, find/defs.h, find/parser.c:
  6426. Merged changes from 4.2.x branch again
  6427. * NEWS, doc/find.texi, find/defs.h, find/find.c, find/ftsfind.c,
  6428. find/parser.c, find/pred.c, find/util.c, lib/listfile.c,
  6429. lib/listfile.h: Initial code to allow control over how -ls quote
  6430. (or does not quote) control characters; not enabled yet
  6431. 2005-12-16 James Youngman <jay@gnu.org>
  6432. * xargs/xargs.1, xargs/xargs.c: Fixed bug# 15211, that xargs
  6433. --show-limits is not documented in the manpage or in the usage
  6434. message
  6435. 2005-12-19 Eric Blake <ebb9@byu.net>
  6436. * find/testsuite/Makefile.am,
  6437. find/testsuite/find.posix/sv-bug-15235.xo,
  6438. find/testsuite/find.posix/sv-bug-15235.exp: New tests for Savannah
  6439. bug 15235.
  6440. * NEWS, find/find.1, doc/find.texi (Invoking find): Document bug
  6441. fix for Savannah bug 15235.
  6442. 2005-12-19 James Youngman <jay@gnu.org>
  6443. * find/testsuite/config/unix.exp:
  6444. Run every test twice, once with the old (non-fts) binary and once with
  6445. the new (fts-enabled) binary.
  6446. 2005-12-20 James Youngman <jay@gnu.org>
  6447. * find/defs.h, find/find.c, find/ftsfind.c,
  6448. find/testsuite/find.posix/bracket-depth.exp, find/util.c: Further
  6449. fix to bug# 15235: a leading comma is a filename not an expression
  6450. * find/defs.h, find/parser.c, find/testsuite/Makefile.am,
  6451. find/testsuite/find.posix/empty-parens.exp, find/tree.c: Accept
  6452. 'find ( -depth )' but reject 'find ( )'
  6453. * find/testsuite/find.gnu/delete.exp: Use the new find program,
  6454. and the new way of locating it ($OLDFIND/$FTSFIND instead of $FIND)
  6455. * find/testsuite/Makefile.am: Added bracket-depth.exp.
  6456. * NEWS, configure.in: We have moved on from 4.3.0
  6457. * find/defs.h, find/find.c, find/ftsfind.c,
  6458. find/testsuite/Makefile.am, find/testsuite/find.gnu/delete.exp,
  6459. find/testsuite/find.posix/files-not-expressions1.exp,
  6460. find/testsuite/find.posix/files-not-expressions1.xo,
  6461. find/testsuite/find.posix/files-not-expressions2.exp,
  6462. find/testsuite/find.posix/files-not-expressions2.xo,
  6463. find/testsuite/find.posix/files-not-expressions3.exp,
  6464. find/testsuite/find.posix/files-not-expressions3.xo, find/util.c:
  6465. Avoid getting confused by filename arguments of which the first
  6466. character looks like a predicate, for example ',x' or '!x' or '(x'
  6467. (Savannah bug #15235).
  6468. 2005-12-20 James Youngman <jay@gnu.org>
  6469. * NEWS, doc/find.texi, find/defs.h, find/find.1, find/find.c, find/ftsfind.c, find/testsuite/Makefile.am, find/testsuite/find.posix/sv-bug-15235.exp, find/testsuite/find.posix/sv-bug-15235.xo, find/tree.c, find/util.c:
  6470. Savannah bug #15195: more helpful error messages for 'find . ( )' or 'find . \!'
  6471. * ChangeLog: Added entries for recent changes.
  6472. * find/defs.h, find/find.c, find/ftsfind.c, find/testsuite/find.posix/bracket-depth.exp, find/util.c:
  6473. Further fix to bug# 15235: a leading comma is a filename not an expression
  6474. * find/defs.h, find/parser.c, find/testsuite/Makefile.am, find/testsuite/find.posix/empty-parens.exp, find/tree.c:
  6475. Accept 'find ( -depth )' but reject 'find ( )'
  6476. * po/be.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po, po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
  6477. did make dist
  6478. * find/testsuite/find.gnu/delete.exp:
  6479. Use the new find program, and the new way of locating it (/ instead of )
  6480. * find/testsuite/Makefile.am: Added bracket-depth.exp.
  6481. * NEWS, configure.in: We have moved on from 4.3.0
  6482. * find/defs.h, find/find.c, find/ftsfind.c, find/testsuite/Makefile.am, find/testsuite/find.gnu/delete.exp, find/testsuite/find.posix/files-not-expressions1.exp, find/testsuite/find.posix/files-not-expressions1.xo, find/testsuite/find.posix/files-not-expressions2.exp, find/testsuite/find.posix/files-not-expressions2.xo, find/testsuite/find.posix/files-not-expressions3.exp, find/testsuite/find.posix/files-not-expressions3.xo, find/util.c:
  6483. Avoid getting confused by filename arguments of which the first
  6484. character looks like a predicate, for example ',x' or '!x' or
  6485. '(x' (Savannah bug #15235).
  6486. 2005-12-23 James Youngman <jay@gnu.org>
  6487. * find/parser.c: Refactor of parse_[acm]time
  6488. * find/defs.h, find/find.c, find/finddata.c, find/ftsfind.c, find/tree.c, find/util.c:
  6489. last_pred can be a static in tree.c rather than a global variable
  6490. * find/tree.c, find/finddata.c:
  6491. Moved some global data out of finddata.o and into static variables in tree.c
  6492. * NEWS, find/find.c, find/fstype.c, find/ftsfind.c, find/parser.c, find/pred.c, lib/buildcmd.c, lib/buildcmd.h, lib/regexprops.c, lib/regextype.c, lib/regextype.h, lib/savedirinfo.c, locate/locate.c, xargs/xargs.c:
  6493. Fixed many compilation warnings
  6494. * find/find.c, find/ftsfind.c, find/util.c:
  6495. Evaluating the predicates can change the contents of the data structure (for example to add another exec item)
  6496. * find/defs.h, find/find.c, find/ftsfind.c, find/tree.c, find/util.c:
  6497. Re-factored a lot of common expression-handling code out of find.c and ftsfind.c, mainly into tree.c
  6498. * find/find.c, find/ftsfind.c, find/tree.c:
  6499. Savannah bug #15271: more helpful error messages for cases where there is a missing expression
  6500. 2006-01-04 James Youngman <jay@gnu.org>
  6501. * find/testsuite/find.posix/sizetype.exp, find/testsuite/find.posix/sizetype.xo, find/testsuite/find.posix/typesize.exp, find/testsuite/find.posix/typesize.xo:
  6502. Additional tests for -type -size and -size -type
  6503. * NEWS, doc/find.texi, find/defs.h, find/find.1, find/find.c, find/ftsfind.c, find/parser.c, find/pred.c, find/testsuite/Makefile.am, find/testsuite/config/unix.exp, find/testsuite/find.gnu/depth-d.exp, find/tree.c, find/util.c, po/be.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po, po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
  6504. Initial implementation of a cost-based optimiser
  6505. 2006-03-31 James Youngman <jay@gnu.org>
  6506. * po/hu.po: Updated Hungarian translation
  6507. 2006-04-01 James Youngman <jay@gnu.org>
  6508. * find/find.c:
  6509. Fixed Savannah bug #15800: "Hard link count is wrong" reports wrong
  6510. directory name.
  6511. 2006-06-14 James Youngman <jay@gnu.org>
  6512. * po/be.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po, po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
  6513. Updated translation files ga pl sv tr nl ca vi bg fr
  6514. * locate/updatedb.sh:
  6515. Fixed Savannah bug #16579 (su false should be su -c false)
  6516. 2006-06-15 James Youngman <jay@gnu.org>
  6517. * NEWS: Described recent changes
  6518. * configure.in: fix to how we invoke the gnulib regex module
  6519. * find/find.1:
  6520. Savannah bug #16269: avoid confusion over what type of quotes to use
  6521. in an example.
  6522. * find/parser.c: Option -nowarn should not itself produce a warning
  6523. * find/defs.h: Remoevd useless declaration of last_pred
  6524. 2006-08-05 James Youngman <jay@gnu.org>
  6525. * NEWS: Described more changes in 4.3.1.
  6526. * locate/testsuite/config/unix.exp:
  6527. Set the environment variable so that updatedb knows where to find it; it's not in BINDIR yet during 'make check'
  6528. * po/be.po, po/bg.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po, po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
  6529. Make dist changed all the po files again :)
  6530. * po/et.po, po/vi.po: UPdated the Estonian and Vietnamese translations
  6531. * NEWS, configure.in: Prepare for release of findutils-4.2.28
  6532. * po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po, po/be.po, po/bg.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po, po/sl.po, po/sr.po:
  6533. Make dist changed all the po files again :)
  6534. * configure.in: Added Bulgarian translation.
  6535. * po/bg.po: Include Bulgarian translation
  6536. * configure.in: Added Bulgarian translation.
  6537. * po/et.po, po/vi.po: Updated Estonian and Vietnamese translations
  6538. * NEWS: Removed spurious comma.
  6539. * NEWS: Listed the updated translations.
  6540. * find/parser.c, lib/buildcmd.c, lib/buildcmd.h, xargs/xargs.c:
  6541. Fixed Savannah bug#16738, find does not subtract environment size in find .. -exec {} +
  6542. * NEWS: Updated the list of bugfixes etc.
  6543. 2006-08-06 James Youngman <jay@gnu.org>
  6544. * locate/locate.c: Fixed a typo in a comment.
  6545. * NEWS, configure.in: Moving on towards 4.3.2...
  6546. Release 4.3.1.
  6547. * find/testsuite/config/unix.exp:
  6548. Check that we can see the find.o file in the right position relative
  6549. to $base_dir to ensure that we are indeed testing the program we just built.
  6550. * find/testsuite/config/unix.exp:
  6551. Be more paranoid about whether we're really checking the right version
  6552. of find.
  6553. * NEWS, configure.in: Prepare for release of 4.3.1
  6554. * doc/find.texi: Document the -O and -D options
  6555. * find/defs.h, find/find.1, find/util.c:
  6556. 'find -D help' now explains the available debugging options
  6557. * po/be.po, po/bg.po, po/ca.po, po/da.po, po/de.po, po/el.po, po/eo.po, po/es.po, po/et.po, po/fi.po, po/findutils.pot, po/fr.po, po/ga.po, po/gl.po, po/hr.po, po/hu.po, po/id.po, po/it.po, po/ja.po, po/ko.po, po/lg.po, po/ms.po, po/nl.po, po/pl.po, po/pt.po, po/pt_BR.po, po/ro.po, po/ru.po, po/rw.po, po/sk.po, po/sl.po, po/sr.po, po/sv.po, po/tr.po, po/vi.po, po/zh_CN.po, po/zh_TW.po:
  6558. Make dist changed all the po files again
  6559. 2006-08-07 James Youngman <jay@gnu.org>
  6560. * NEWS, locate/locate.c, locate/locatedb.h:
  6561. Added support for slocate database format
  6562. * xargs/xargs.c:
  6563. Removed unused code (tivial patch from Miloslav Trmac).
  6564. * xargs/xargs.c: Removed unused code.
  6565. * doc/find.texi:
  6566. Clarify that the output format for locate -S differs from BSD's.
  6567. * NEWS, find/find.1:
  6568. Savannah bug #15360: explain global vs. positional options more clearly in the manual page
  6569. * NEWS: Typo in subsection header (* should be **).
  6570. * NEWS, find/find.1:
  6571. Savannah bug #15360: explain global vs. positional options more clearly in the manual page
  6572. * doc/find.texi: Fixed some clumsy phrasing
  6573. * NEWS, configure.in:
  6574. Now diverging again from the released tarball, so change once more to -CVS version number suffixes
  6575. 2006-08-08 James Youngman <jay@gnu.org>
  6576. * locate/locatedb.h:
  6577. Automatically verify (at compile time) that the frcode datastream
  6578. cannot get desynchronised.
  6579. * find/ftsfind.c:
  6580. Fixed Savannah bug #10494 (-maxdepth does not yield the same stat savinf in ftsfind as oldfind)
  6581. * find/ftsfind.c: display fts_level for find -D search
  6582. * find/util.c: Support find -D search
  6583. * locate/locate.c:
  6584. If the user specified -E but the database is an slocate database, do
  6585. not produce a list of files they cannot stat. Issue an error message
  6586. explaining the problem.
  6587. * locate/locate.c:
  6588. Issue states messages in a way which indicates more clearly what's
  6589. happening when the numbers are reduced because not every filename
  6590. matched the pattern.
  6591. * locate/locate.c: Better error checking in drop_privs().
  6592. 2006-08-10 James Youngman <jay@gnu.org>
  6593. * find/pred.c, import-gnulib.sh, lib/listfile.c:
  6594. Updated callers of the gnnulib filemode module so that they work with the 2006-07-09 version of gnulib
  6595. * config.rpath: Updated config.rpath from autotools
  6596. 2006-08-11 James Youngman <jay@gnu.org>
  6597. * locate/frcode.c:
  6598. Avoid producing an invalid database if the first item begins with a space
  6599. 2006-08-19 James Youngman <jay@gnu.org>
  6600. * locate/testsuite/config/unix.exp, locate/testsuite/locate.gnu/bigprefix1.exp:
  6601. Explicit checks for parefixes which are within range of a short, but outside the one-byte range
  6602. * locate/testsuite/locate.gnu/bigprefix1.exp, locate/testsuite/locate.gnu/exceedshort.exp, locate/testsuite/locate.gnu/space1st.exp:
  6603. New file.
  6604. * locate/testsuite/Makefile.am, locate/testsuite/locate.gnu/exceedshort.exp, locate/testsuite/locate.gnu/space1st.exp:
  6605. Patch from Tavis Ormandy; check frcode handles initial space end encodes paths with more than 2^16 characters in the common prefix (tiny change)
  6606. * locate/frcode.c: Changes to avoid overflows
  6607. 2006-08-19 Paul Eggert <eggert@cs.ucla.edu>
  6608. Port to latest gnulib, and simplify the bootstrapping procedure.
  6609. * intl: Remove this directory and everything in it.
  6610. * depcomp, install-sh, missing, mkinstalldirs, doc/texinfo.tex:
  6611. Remove these files from CVS, as they are now gotten from gnulib.
  6612. * README-CVS: Don't recommend "autoreconf -i", as it doesn't work
  6613. for us.
  6614. * import-gnulib.sh (findutils_files): New var. Grab this stuff
  6615. from gnulib.
  6616. (findutils_modules): Add fopen-safer; remove stdio-safer. This
  6617. adjusts to latest gnulib.
  6618. (modules): Remove obsolete reference to intl_modules.
  6619. * .cvsignore: Remove stamp-h; add stamp-h1.
  6620. * doc/.cvsignore: Add regexprops.texi.
  6621. * find/.cvsignore: Add oldfind.
  6622. * lib/.cvsignore: Add .deps, regexprops.
  6623. * m4/.cvsignore: Add Makefile.
  6624. * po/.cvsignore: Add stamp-po.
  6625. 2006-08-20 Paul Eggert <eggert@cs.ucla.edu>
  6626. Port recent fixes for symbolic modes involving X from gnulib,
  6627. and clarify the documentation in this area.
  6628. * doc/find.texi: Use "file mode bits" when talking about
  6629. all the file mode bits (including setuid, setgid, and sticky),
  6630. and "permissions" when talking only about permissions bits
  6631. (read, write, execute/search). Use "execute/search" to
  6632. talk about the x bit, since it means both. You do not need
  6633. permission to the linked-to file to follow a symlink for
  6634. syscalls like "stat", but you do need search permission for
  6635. the directories you traverse. Clarify the explanation of
  6636. -perm. Use "that" instead of "which" when "which" isn't
  6637. quite correct English.
  6638. (Mode Bits): Renamed from Permissions. All uses changed.
  6639. * doc/perm.texi: Sync from coreutils 6.0.
  6640. * find/defs.h (struct perm_val.val): Now an array of two items,
  6641. one for non-directories, and one for directories. This is
  6642. to handle symbolic modes like +X correctly.
  6643. * find/parser.c (parse_perm): Likewise. Also, adjust to
  6644. latest gnulib interface for mode_adjust.
  6645. * find/pred.c (pred_perm): Likewise.
  6646. * find/testsuite/Makefile.am (EXTRA_DIST_XO): Add find.posix/perm-X.xo.
  6647. (EXTRA_DIST_EXP): Add find.posix/perm-X.exp.
  6648. * find/testsuite/find.posix/perm-X.exp: New file.
  6649. * find/testsuite/find.posix/perm-X.so: New file.
  6650. 2006-08-20 James Youngman <jay@gnu.org>
  6651. * find/parser.c: Merged the fix for the trailing % in "find -printf".
  6652. 2006-08-21 James Youngman <jay@gnu.org>
  6653. * find/parser.c, find/testsuite/Makefile.am, find/testsuite/find.gnu/sv-bug-17490.exp:
  6654. Fixed Savannah bug #17490, which was a coiredump when -regex ZZZ was the final test on the command line
  6655. 2006-10-15 James Youngman <jay@gnu.org>
  6656. * lib/buildcmd.c: Fixed Savannah bug #17782, in which "find
  6657. -execdir echo "foo {}" runs 'echo ./foo filename' instead of the
  6658. correct command 'echo foo ./filename'.
  6659. * po/hu.po, po/sl.po: Updated Hungarian and Slovenian po files
  6660. 2006-11-08 James Youngman <jay@gnu.org>
  6661. * find/testsuite/Makefile.am:
  6662. Oops, indicate the right directory for the new test files
  6663. * ChangeLog, depcomp, doc/texinfo.tex, find/ftsfind.c, find/testsuite/Makefile.am, find/testsuite/find.gnu/sv-bug-18222.exp, find/testsuite/find.gnu/sv-bug-18222.xo, install-sh:
  6664. Savannah bug#18222 - test case
  6665. * ChangeLog, lib/buildcmd.c:
  6666. Fixed Svannah bug #17782 ('./' prefix added at start of arg while it should be added at the start of the expansion of {})
  6667. * find/ftsfind.c (process_all_startpoints): Set
  6668. state.starting_path_length for every pathname argument.
  6669. This fixes Savannah bug #18222.
  6670. * find/pred.c (pred_prune): -prune should have an effect only if we are
  6671. currently considering a directory (Savannah bug #15531).
  6672. 2006-11-20 James Youngman <jay@gnu.org>
  6673. * po/et.po, po/bg.po, po/pl.po, po/nl.po, po/tr.po: Updated
  6674. translations for Bulgarian, Estonian, Dutch, Polish and Turkish.
  6675. 2006-11-25 James Youngman <jay@gnu.org>
  6676. Release 4.3.2.
  6677. * find/testsuite/Makefile.am: Added test case for Savannah bug #17782
  6678. * doc/textinfo.tex: Removed; we now use the version supplied
  6679. by automake.
  6680. * m4/mkinstalldirs.m4: Added this file. It's an excerpt from an
  6681. old version of gnulib's m4/nls.po file. The current version of
  6682. gnulib does not expand MKINSTALLDIRS, but gettext-0.14.6's version
  6683. of po/Makefile.in.in expects it to be expanded. This m4 file
  6684. fills the gap.
  6685. 2006-12-01 James Youngman <jay@gnu.org>
  6686. * NEWS, configure.in: Begin work on findutils 4.2.30
  6687. * find/find.c:
  6688. Fix compilation error for oldfind if --enable-debug was passed to configure
  6689. * NEWS, configure.in: Prepare for work on findutils-4.3.3
  6690. 2006-12-28 James Youngman <jay@gnu.org>
  6691. * NEWS: Document addition of %S.
  6692. * find/defs.h, find/find.1, find/parser.c, find/pred.c:
  6693. Implemented %S (sparseness) printf format, and general refactoring and cleanup of printf predicate
  6694. 2006-12-29 James Youngman <jay@gnu.org>
  6695. * find/testsuite/config/unix.exp:
  6696. Verify that find_start is invoked with wither a p (pass) or an f
  6697. (fail) argument.
  6698. * lib/listfile.c, lib/listfile.h:
  6699. define find_blocksize() and provide a declaration for get_link_name()
  6700. * find/testsuite/config/unix.exp: Updated copyright years.
  6701. * find/testsuite/find.gnu/execdir-one.exp, find/testsuite/find.gnu/execdir-root-only.exp, find/testsuite/find.gnu/sv-bug-12230.exp, find/testsuite/find.gnu/sv-bug-17782.exp, find/testsuite/config/unix.exp:
  6702. Avoid tests using -execdir if $PATH contains a relative directory
  6703. * find/parser.c:
  6704. Also flag $PATH values containing relative directories as being dangerous.
  6705. * find/parser.c, find/defs.h, find/util.c:
  6706. Instead of selecting the old or new exec handling code with the NEW_EXEC macro, just use the new code all the time
  6707. * locate/testsuite/config/unix.exp:
  6708. Fixed Savannah bug #13252, test suite failure caused by the fact that 'file normalize' is not available in Tcl 8.3
  6709. * NEWS, find/pred.c:
  6710. Fixed Savannah bug #18433, compilation failure with configure --enable-debug
  6711. 2007-01-07 James Youngman <jay@gnu.org>
  6712. * find/parser.c (parse_perm), find/testsuite/find.gnu/perm000.exp,
  6713. find/testsuite/find.gnu/perm000.xo: -perm /000 is now quivalent
  6714. to -perm -000, as dscussed in Savannah bug #14748. The warning
  6715. message we issue when the user does this now explains that the
  6716. definition changed as we promised it would in 2005.
  6717. * xargs/xargs.c (read_line): Correctly handle quoted empty
  6718. arguments occurring first or last on a line (by adding an empty
  6719. argument to the output). Fixes Savannah bug #18713.
  6720. * xargs/testsuite/xargs.sysv/sv-bug-18713.exp,
  6721. xargs/testsuite/xargs.sysv/sv-bug-18713.xo,
  6722. xargs/testsuite/input/empty.xi: Test case for Savannah bug #18713.
  6723. 2007-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
  6724. * doc/find.texi: Fix some typos. (tiny change)
  6725. 2007-01-13 James Youngman <jay@gnu.org>
  6726. * lib/regexprops.c (describe_regex_syntax): fixed typo
  6727. * xargs/xargs.c (read_line): Fixed Savannah bug# 18714; VT and FF
  6728. are not separators, according to POSIX (in the POSIX locale).
  6729. * xargs/testsuite/Makefile.am,
  6730. xargs/testsuite/input/formfeeds.xi,
  6731. xargs/testsuite/input/verticaltabs.xi,
  6732. xargs/testsuite/xargs.posix/sv-bug-18714.exp,
  6733. xargs/testsuite/xargs.posix/sv-bug-18714.xo,
  6734. xargs/testsuite/xargs.posix/sv-bug-18714b.exp,
  6735. xargs/testsuite/xargs.posix/sv-bug-18714b.xo: Tests for Savannah
  6736. bug #18714.
  6737. * xargs/xargs.c (usage): Removed suprious "[" in --help output
  6738. (fixes Savannah bug #18384).
  6739. * locate/locate.c: Implement the option --max-database-age.
  6740. (main) Accept the option.
  6741. (set_max_db_age): Parse the argument.
  6742. * locate/locate.c (dolocate): If the database is more than N days
  6743. old, indicate its actual age in the warning message we produce.
  6744. * locate/locate.1, docs/find.texi: Document --max-database-age
  6745. * THANKS: Thank Dean Gaudet for the idea of -sparse.
  6746. * po/findutils.pot: Updated from Translation Project
  6747. * po/ga.po, po/pl.po, po/nl.po, po/tr.po, po/hu.po: Updated from
  6748. the Translation Project
  6749. 2007-01-15 James Youngman <jay@gnu.org>
  6750. * find/defs.h (time_val): define struct; use timespec to hold time
  6751. in the 'reftime' member.
  6752. (args): use struct timespec instead of time_t for predicates
  6753. -newer, -anewer, -cnewer. * find/parser.c (includes): include
  6754. stat-time.h.
  6755. (parse_anewer, parse_cnewer, parse_newer): use struct timespec to
  6756. hold timestamps. * find/pred.c (compare_ts): new function for
  6757. comparing timestamps in struct timespec.
  6758. (pred_anewer, pred_cnewer, pred_newer): use compare_ts() to
  6759. compare timestamps (hence takinng acoung of sub-second
  6760. granularity).
  6761. * find/ftsfind.c: Various improvements to comments.
  6762. (is_fts_enabled): Newline before function name to comply with GNU
  6763. coding standard.
  6764. 2007-01-16 James Youngman <jay@gnu.org>
  6765. (ctime_format): format the time manually (rather than using ctime)
  6766. in order to include the sub-second part of the time.
  6767. (weekdays, months): new static variables used by ctime_format.
  6768. (format_date): append a the sub-second part of the timestamp to
  6769. the seconds part of date/time output.
  6770. 2007-01-22 James Youngman <jay@gnu.org>
  6771. * .cvsignore (install-sh): Ignore, since the install-sh file is no
  6772. longer held in the findutils CVS repository.
  6773. * find/testsuite/config/unix.exp (find_start): allow a test to be
  6774. skipped for either the old or the new find executable.
  6775. * find/testsuite/find.gnu/execdir-pwd.exp,
  6776. find/testsuite/Makefile.am:
  6777. New test, covering Savannah bug #18466. This test currently fails
  6778. for the ftsfind binary and passes for the oldfind binary. Due to
  6779. a limitation in the way that we perform the test, we can't tell
  6780. the test suite to expect a failure in the new binary but not the
  6781. old. Therefore we skip the test for the old binary.
  6782. * lib/regeprops.c (describe_regex_syntax): fixed a typo in the text
  6783. * doc/find.texi (Multiple Files): fixed a typo
  6784. 2007-02-24 James Youngman <jay@gnu.org>
  6785. * find/parser.c (pred_sanity_check): define this function even for
  6786. _NDEBUG, but do nothing in that case.
  6787. (estimate_timestamp_success_rate): correct (invert) the sense of
  6788. the subtraction used to find the file's age.
  6789. * import-gnulib.sh (findutils_modules): Import Gnulib modules
  6790. xstrtod and timespec.
  6791. * find/parser.c (get_comp_type): Refactored out of get_num.
  6792. (get_num): call get_comp_type to find the comparison type.
  6793. (get_relative_timestamp): new function replacing get_num_days.
  6794. (get_num_days): Remove.
  6795. (do_parse_xmin): Support fractional arguments and
  6796. nanosecond timestamps.
  6797. (parse_used): ditto
  6798. (parse_time): ditto
  6799. * xargs/xargs.c (read_line): Give a warning message if a NUL is
  6800. found in the input (this function is called only when -0 is not in
  6801. effect).
  6802. * xargs/xargs.c (nullwarning_given): New variable indicating if
  6803. the NULL character warning had already been issued.
  6804. * doc/find.texi (Multiple Files): Describe how trailing blanks are
  6805. handled when -L is in effect.
  6806. * xargs/xargs.c (read_line): Use an enum rather than
  6807. preprocessor macro values for the lexer state.
  6808. * lib/savedirinfo.c (free_dirinfo): Fixed memory leak (trivial
  6809. patch from Supriya Kannery)
  6810. 2007-02-25 James Youngman <jay@gnu.org>
  6811. * find/find.c (process_dir): Removed duplicated (shadow)
  6812. declaration of did_stat. Assert that we did not use subdirs_left
  6813. if subdirs_unreliable is true.
  6814. * find/parser.c (parse_size): Removed unused variable rate.
  6815. (parse_time): Removed unused variable num_days_approx.
  6816. (get_num): Removed unused variables ok and suffixes.
  6817. * find/pred.c (do_fprintf): Indicate that the function needs a
  6818. return value (referring to Savannah bug #19146).
  6819. * find/tree.c (predlist_dump): Commented out unused function
  6820. (predlist_merge_nosort): Commented out unused function
  6821. (getrate): Returns type is float, so return 1.0f not 1.0.
  6822. (calculate_derived_rates): Removed unused variable rate. Use a
  6823. switch statement rater than ifs.
  6824. * find/util.c (usage): Removed unused variable i.
  6825. * lib/buildcmd.c (bc_do_insert): Removed unused variable
  6826. need_prefix.
  6827. (bc_init_controlinfo): annotate a line (with #warning) which is
  6828. probably a bug.
  6829. * locate/locate.c: #include <grp.h> for the benefit of the
  6830. setgroups() call in drop_privs.
  6831. (slocate_db_pathname): Commented out unused variable.
  6832. (set_max_db_age): error command has no format directive, so
  6833. remove the unused extra argument.
  6834. (looking_at_slocate_db): Removed unused variables magic and
  6835. lenwanted. Fix bug where result is indeterminate (due to falling
  6836. off the end of the function) if the first character is a nondigit.
  6837. (search_one_database): Eliminate (spurious) compiler warning
  6838. rlating to possible use before initialisation of slocate_seclevel.
  6839. * xargs/xargs.c (get_char_oct_or_hex_escape): Eliminate spurious
  6840. compiler warning on variable p.
  6841. (main): Removed unused varible env_too_big
  6842. 2007-02-28 James Youngman <jay@gnu.org>
  6843. * import-gnulib.config: New file. Specifies which version of
  6844. Gnulib we need to check out and build from.
  6845. * import-gnulib.sh: Use import-gnulib.config.
  6846. * README-CVS: Describe the new method of building from CVS.
  6847. * lib/gnulib-version.h, lib/gnulib-version.sh: New files; code for
  6848. reporting which version of Gnulib we built findutils from.
  6849. * lib/Makefile.am: Build gnulib-version.c out of
  6850. ./gnulib-version.config by using lib/gnulib-version.sh.
  6851. * Makefile.am: Ship import-gnulib.config and import-gnulib.sh.
  6852. * .cvsignore: Ignore gnulib-cvs
  6853. * lib/.cvsignore: Ignore gnulib-version.c
  6854. * find/parser.c, locate/code.c, locate/locate.c, xargs/xargs.c:
  6855. Report which version of Gnulib we were built from.
  6856. 2007-03-01 James Youngman <jay@gnu.org>
  6857. * doc/find.texi (Multiple Files): Document the construct
  6858. -exec sh -c 'cmd "$@" final-args' {} + - fixing Savannah bug
  6859. #18554.
  6860. 2007-03-03 James Youngman <jay@gnu.org>
  6861. * import-gnulib.sh: Pass --with-tests to gnulib-tool so that relevant
  6862. gnulib unit tests are built and are run for "make check".
  6863. * configure.in (AC_CONFIG_FILES): Add tests/Makefile (the makefile
  6864. for the gnulib unit tests).
  6865. * Makefile.am: Add 'tests' to SUBDIRS.
  6866. * .cvsignore: Add 'tests'.
  6867. * import-gnulib.config (modules): Also use Gnulib modules
  6868. mbscasestr and mbsstr in order to perform correct string searching
  6869. in multibyte strings, in order to fix Savannah bug #14535.
  6870. * locate/testsuite/locate.gnu/sv-bug-14535.exp: new test case for
  6871. Savannah bug #14535.
  6872. * locale/locate.c (visit_substring_match_nocasefold): Use mbsstr
  6873. rather than strstr, in order to correctly support multibyte
  6874. strings.
  6875. (visit_substring_match_casefold): Use mbscasestr rather than
  6876. strstr in order to correctly support case-folding in a multibyte
  6877. environment (e.g. with UTF-8 characters outside the normal ASCII
  6878. range). This fixes Savannah bug #14535.
  6879. (struct casefolder): No longer needed, removed
  6880. (visit_casefold): No longer needed, removed.
  6881. (lc_strcpy): No longer needed, removed.
  6882. (search_one_database): Removed redundant variable need_fold and
  6883. the code which used to set it. It had controlled the adding of
  6884. the visitor function visit_casefold, but that function itself is
  6885. no longer required. Also there is now no need to pass in a
  6886. lower-case argument to visit_substring_match_casefold, so don't
  6887. pass that in the context argument.
  6888. * locate/locate.c (usage): Fixed typo.
  6889. 2007-03-07 James Youngman <jay@gnu.org>
  6890. * import-gnulib.config: (gnulib_version): Use gnulib version
  6891. 2007-03-05
  6892. (modules): Added getdate
  6893. * find/Makefile.am (LDADD): Added @LIB_CLOCK_GETTIME@ for
  6894. clock_gettime(), if it is available.
  6895. * find/defs.h: (enum xval): New enumeration, representing the
  6896. value of X used in the -newerXY test. It is stored in the reftime
  6897. member of 'union args'.
  6898. (struct predicate): reftime is also used by -newerXY.
  6899. (enum arg_type): Added ARG_SPECIAL_PARSE for -newerXY, because the
  6900. parsing function needs to look at the name of the test.
  6901. (struct options): start_time is now a struct timespec, not a
  6902. time_t.
  6903. * find/parser.c: (parse_newerXY): New parsing function for
  6904. -newerXY, a feature copied from FreeBSD (also present other BSD
  6905. implementations too)
  6906. (get_stat_Ytime): New function; returns st_atime, st_mtime or
  6907. st_ctime from struct stat, as a timespec, as required according to
  6908. the value of Y in -newerXY.
  6909. (found_parser): Factored the tail out of find_parser.
  6910. (find_parser): Moved tail into found_parser. Add special handling
  6911. for -newerXY.
  6912. (do_parse_xmin): New argument xv, indicating the value to which
  6913. predicate->reftime.xval should be set.
  6914. (parse_amin): Pass XVAL_ATIME to do_parse_xmin.
  6915. (parse_cmin): Pass XVAL_CTIME to do_parse_xmin.
  6916. (parse_mmin): Pass XVAL_MTIME to do_parse_xmin.
  6917. (parse_newer): Set args.reftime.xval to XVAL_MTIME.
  6918. * find/pred.c (pred_table): added pred_XY.
  6919. (pred_fls): options.start_time is now a struct timespec, so just
  6920. pass the tv_sec member to list_file.
  6921. (pred_ls): ditto
  6922. (pred_newerXY): New function, implementing -newerXY.
  6923. * find/tree.c (costlookup): pred_newerXY needs stat information.
  6924. (build_expression_tree): For predicates of type ARG_SPECIAL_PARSE,
  6925. pass them in the name of the predicate (that is, don't advance
  6926. argc).
  6927. * find/util.c (now): New function for setting options.start_time.
  6928. Use nanoseconds where it is available.
  6929. (set_option_defaults): Use now() rather than time().
  6930. 2007-03-08 James Youngman <jay@gnu.org>
  6931. * find/find.1 (TESTS): Document -newerXY, indicate that reference
  6932. files are only examined once.
  6933. (HISTORY): Indicate when various features were added
  6934. (BUGS): Indicate that -ok ignores LC_COLLATE.
  6935. 2007-03-13 James Youngman <jay@gnu.org>
  6936. * find/parser.c (parse_quit): Estimated success rate of -quit is
  6937. 100%.
  6938. 2007-03-24 James Youngman <jay@gnu.org>
  6939. * import-gnulib.sh: Added option -d, allowing the user to use a
  6940. local version of gnulib, perhaps because they have local changes.
  6941. 2007-03-25 James Youngman <jay@gnu.org>
  6942. * xargs/xargs.c (main): For "xargs --show-limits" where stdin is a
  6943. terminal, warn the user that the program specified (or /bin/echo)
  6944. will be run at least once, if that is what will happen.
  6945. 2007-03-28 James Youngman <jay@gnu.org>
  6946. * find/defs.h (set_stat_placeholders): utility function for
  6947. initialising the struct stat fields that NetBSD doesn't always set
  6948. (like st_birthtime where the file is on a filesystem not
  6949. supporting birthtime).
  6950. * find/util.c: set_stat_placeholders(): new function
  6951. (get_statinfo): Call set_stat_placeholders().
  6952. (optionh_stat, optionl_stat, optionp_stat): ditto
  6953. * find/find.c (main, wd_sanity_check, safely_chdir_lstat,
  6954. process_dir): use set_stat_placeholders().
  6955. * find/parser.c (parse_anewer, parse_cnewer, parse_newer,
  6956. parse_newerXY): ditto.
  6957. (get_stat_Ytime): Support birth time ('B').
  6958. (parse_newerXY): Support st_birthtime.
  6959. * find/fstype.c (set_fstype_devno): Use set_stat_placeholders().
  6960. * find/pred.c (pred_xtype): Use set_stat_placeholders().
  6961. (pred_newerXY): Support birth time.
  6962. (pred_fprintf, format_date): ditto ("%Bx").
  6963. 2007-03-31 James Youngman <jay@gnu.org>
  6964. * find/tree.c (build_expression_tree): Issue more specific error
  6965. messages; distinguish the case where the predicate is invalid from
  6966. the cases where a required argument is missing, and a supplied
  6967. argument is invalid.
  6968. * import-gnulib.config (gnulib_version): Update to 2007-03-30
  6969. version of gnulib.
  6970. 2007-04-08 James Youngman <jay@gnu.org>
  6971. * configure.in: Set @AUXDIR@ (to the location of the build-aux
  6972. directory).
  6973. * build-aux/check-testfiles.sh: New script, which checks that all
  6974. the DejaGnu test files have been included in the distribution and
  6975. (more helpfully) lists any that are missing.
  6976. * Makefile.am (findutils-check-testfiles): Use
  6977. build-aux/check-testfiles.sh.
  6978. * locate/testsuite/Makefile.am (EXTRA_DIST_EXP): distribute
  6979. locate/testsuite/locate.gnu/sv-bug-14535.exp.
  6980. * config.rpath, depcomp, missing: Moved into build-aux/.
  6981. * configure.in(AC_CONFIG_AUX_DIR): Find aux files in $SRCDIR/build-aux,
  6982. not in $SRCDIR.
  6983. 2007-04-09 James Youngman <jay@gnu.org>
  6984. * doc/find.texi: Change fully-specified @node directives to
  6985. single-argument @node directives in order to accommodate the
  6986. inclusion of getdate.texi.
  6987. * doc/find.texi: Document -newerXY.
  6988. * doc/find.texi (Security Considerations): updated to describe
  6989. differences in the fts-based implementation.
  6990. * find/find.1: Indicate that testing the birth time where this is
  6991. not supported produces a negative result for files where the birth
  6992. time is not known (or a fatal error if the file of interest is a
  6993. reference file).
  6994. 2007-04-14 James Youngman <jay@gnu.org>
  6995. * doc/.cvsignore: Ignore getdate.texi
  6996. * find/defs.h: #include "buildcmd.h" near the top of the file, not
  6997. in the middle.
  6998. * all: Pass O_LARGEFILE when opening directories.
  6999. * all: Changes to allow us to use the FTS_CWDFD mode of fts().
  7000. These are quite extensive changes, and are detailed below.
  7001. * find/defs.h (struct exec_val): New member dirfd, the directory
  7002. in which the exec should take place.
  7003. (is_fts_enabled): Tell the caller which flags are passed to
  7004. fts_open().
  7005. (get_start_dirfd): New function. Returns value of start_desc.
  7006. (get_current_dirfd): New function. Returns the fd of the
  7007. directory fts is currently traversing. If this is the current
  7008. directory, AT_FDCWD is returned.
  7009. (complete_pending_execdirs): takes a new argument, indicating
  7010. where the exec is to take place. Ugh.
  7011. (get_info): the file name is taken from state.rel_pathname, so
  7012. we don't need it as a function argument.
  7013. (enum DebugOption): Added DebugExec ("-D exec").
  7014. (struct state): Added cwd_dir_fd, the directory we are examining
  7015. with fts(). If fts() is not in use, this is AT_FDCWD. Also added
  7016. execdirs_outstanding, which is a boolean which tells us if there
  7017. are any not-yet-execed -execdir or -okdir actions (with +). This
  7018. is not really used yet.
  7019. * find/ftsfind.c (set_close_on_exec): New function.
  7020. (get_current_dirfd): Return an fd open on the directory that fts()
  7021. is currently examining.
  7022. (left_dir): Signal that our previous ides of which dirctory fts is
  7023. searching is now out of date.
  7024. (inside_dir): Indicate which directory fts is now searching.
  7025. (complete_execdirs_cb): Callback for run_in_dir() to complete
  7026. pending execdirs in this directory.
  7027. (show_outstanding_execdirs): Supports "-D exec"
  7028. consider_visiting(): Do not allow building-up of pending execdirs,
  7029. as a workaround to Savannah bug #18466.
  7030. (ftsoptions): Make this a static module variable.
  7031. * find/parser.c (insert_exec_ok): New parameter describing which
  7032. directory the exec should occur in.
  7033. (parse_version): for FTS, add a list of options being used.
  7034. * find/pred.c (pred_and, pred_comma): No need to pass the relative
  7035. path name to get_info(), it can pull it from state.rel_pathname.
  7036. (pred_delete): use unlinkat().
  7037. (pred_empty): use openat().
  7038. (new_impl_pred_exec): Accept an fd parameter describing where the
  7039. exec is to take place.
  7040. (pred_executable, pred_writable, pred_readable): Use run_in_dir()
  7041. to ensure that access() is called in a working directory which is
  7042. suitable for the pathname we pass in.
  7043. (prep_child_for_exec): In the child process, change to the
  7044. appropriate directory becore the exec().
  7045. * find/util.c (debugassoc): Support "-D exec".
  7046. (get_info): No longer need to pass the relative path to
  7047. get_statinfo().
  7048. (do_complete_pending_execdirs): Refactored body of what used to be
  7049. complete_pending_execdirs().
  7050. (complete_pending_execdirs): Pull body out into
  7051. do_complete_pending_execdirs() and call that only if there is work
  7052. to do.
  7053. (fallback_stat, optionh_stat, optionp_stat, optionl_stat): Use fstatat().
  7054. (get_start_dirfd): New access function for starting_desc.
  7055. * find/testsuite/find.gnu/execdir-hier.exp: New test
  7056. * find/testsuite/find.gnu/execdir-hier.xo: Expected outut for new test
  7057. * lib/dircallback.c, lib/dircallback.h: New function,
  7058. run_in_dir(), which runs a callback function in a specified
  7059. directory.
  7060. * lib/listfile.c: Use run_in_dir() to call readlink() in the right
  7061. directory.
  7062. (get_link_name_at): Call get_link_name_cb via run_in_dir.
  7063. (get_link_name_cb): New callback function, wrappting
  7064. get_link_name().
  7065. * find/testsuite/find.gnu/execdir-pwd.exp: Since we have disabled
  7066. thebuilding-up of command lines for -execdir, Savannah bug #18466
  7067. has been neutralised (but not fixed - we just don't allow the
  7068. problem circumstance to occur).
  7069. 2007-04-15 James Youngman <jay@gnu.org>
  7070. Release 4.3.3.
  7071. * find/find.1: "-printf %b": blocks are 512 bytes. Fixes
  7072. Savannah bug #19596.
  7073. * doc/Makefile.am (regexprops.texi): Do not use $(RM) because many
  7074. versions od make do not set it, and so it expands to nothing.
  7075. This avoids suprious emission of the regexprops.texi file to stdout.
  7076. * find/find.c (main, safely_chdir_lstat, safely_chdir_nofollow):
  7077. Only use O_LARGEFILE if it is #defined (NetBSD-3.1 does not define
  7078. it).
  7079. * find/ftsfind.c (main): ditto
  7080. * find/pred.c (pred_empty, prep_child_for_exec): ditto
  7081. * import-gnulib.config: Update to gnuliv 2007-04-14.
  7082. * lib/Makefile.am, import-gnulib.sh: Create lib/gnulib-version.c
  7083. in import-gnulib.sh, not in lib/Makefile.
  7084. * build-aux/Makefile.am: New file; distribute check-tstfiles.sh.
  7085. * locate/Makefile.am: mkinstalldirs is now in build-aux.
  7086. * doc/Makefile.am: We also need getdate.texi.
  7087. 2007-04-17 James Youngman <jay@gnu.org>
  7088. * import-gnulib.config (gnulib_version): Use the 2007-04-17
  7089. version of gnulib to fix a compilation error on Cygwin. This
  7090. fixes Savannah bug #19619.
  7091. * find/testsuite/find.posix/sv-bug-19605.exp: New test, for
  7092. Savannah bug #19605.
  7093. * find/testsuite/find.posix/sv-bug-19617.exp: New test, for
  7094. Savannah bug #19617.
  7095. * find/ftsfind.c (consider_visiting): if fts_read() returns
  7096. enf->fts_info==FTS_NS, check for and diagnose a symbolic link
  7097. loop. This fixes Savannah bugs #19605 and #19617.
  7098. * find/find.c (process_path): collect the stat information for
  7099. directories even if we already have the mode information, because
  7100. we need to use the members st_nlink and st_rdev in for the leaf
  7101. optimisation and loop detection, respectively. This fixes
  7102. Savannah bug #19616.
  7103. * find/ftsfind.c (is_fts_enabled): Return a copy of ftsoptions,
  7104. not a copy of the (uninitialised) input argument. This fixes
  7105. Savannah bug #19615.
  7106. * find/ftsfind.c (consider_visiting): If fts_read() returned
  7107. FTS_NS, then remember that the stat information is not valid, and
  7108. therefore don't set state.have_type or state.have_stat. This
  7109. fixes Savannah bug #19613.
  7110. * find/testsuite/find.posix/sv-bug-91613.exp,
  7111. * find/testsuite/find.posix/sv-bug-91613.xo: New test for Savannah
  7112. bug 19613 (assertion failure on symbolic link loop).
  7113. * find/testsuite/config/unix.exp: Correctly diagnose a test case
  7114. which fails because find was expected to fail and instead
  7115. succeeded.
  7116. * find/testsuite/find.gnu/exec-many-rtn-failure.exp: The child
  7117. process in this test should return non-zero, not zero. Therefore
  7118. run "false" instead of "true".
  7119. 2007-04-19 James Youngman <jay@gnu.org>
  7120. * locate/updatedb.1 (--help): Option name should be bold, not
  7121. italic.
  7122. * find/testsuite/find.gnu/execdir-hier.exp: Avoid running
  7123. -execdir based tests if "." is on $PATH. Fixes Savannah bug
  7124. #19634.
  7125. * find/testsuite/find.gnu/execdir-in-unreadable.exp: ditto
  7126. * find/testsuite/config/unix.exp (touch): New procedure touch,
  7127. replacing "exec touch" for greater efficiency.
  7128. * find/testsuite/find.posix/depth1.exp: Change "exec touch" to
  7129. "touch".
  7130. * find/testsuite/find.posix/files-not-expressions1.exp: ditto
  7131. * find/testsuite/find.posix/files-not-expressions2.exp: ditto
  7132. * find/testsuite/find.posix/files-not-expressions3.exp: ditto
  7133. * find/testsuite/find.posix/links.exp: ditto
  7134. * find/testsuite/find.posix/perm-vanilla.exp: ditto
  7135. * find/testsuite/find.posix/sv-bug-15235.exp: ditto
  7136. * /find/testsuite/find.posix/sv-bug-19613.exp: ditto
  7137. * find/testsuite/find.gnu/access.exp: Fix savannah bug #18414 by
  7138. skipping the test if the user can read any file (e.g. is root or
  7139. is an Admin user under Cygwin).
  7140. 2007-04-19 Peter Breitenlohner <peb@mppmu.mpg.de> (tiny change)
  7141. * locate/bigram.c (main): Set the initial pathname to the empty
  7142. string, to avoid decompression problems if the initial pathname
  7143. begins with a space. This fixes Savannah bug #19484.
  7144. * locate/code.c (main): ditto
  7145. 2007-04-20 Maxim V. Dziumanenko <dziumanenko@gmail.com>
  7146. * po/uk.po: New Ukrainian translation.
  7147. * configure.in: Added "uk" for Ukranian.
  7148. 2007-04-21 James Youngman <jay@gnu.org>
  7149. * find/testuite/Makefile.am (EXTRA_DIST_EXP): added
  7150. find/testsuite/find.posix/sv-bug-19617.exp
  7151. 2007-04-21 James Youngman <jay@gnu.org>
  7152. Release 4.3.4.
  7153. * find/locate/locatedb.5: Clarifications to the description of the
  7154. LOCATE02 format. Organised the material under a number of
  7155. headings. Documented the slocate database format.
  7156. 2007-04-22 James Youngman <jay@gnu.org>
  7157. * doc/Makefile.am: When cross-compiling, 'make clean' should not
  7158. delete doc/regexprops.texi, becaue we can't regenerate it. Fixes
  7159. Savannah bug #19658.
  7160. * locate/Makefile.am (BUILT_SOURCES): Automatically generate
  7161. dblocation.texi, which records the default database location.
  7162. * doc/find.texi: Collect the default database location from
  7163. ../locate/dblocation.texi, and use LOCATE_DB in various places.
  7164. Document the fact that updatedb can generate slocate-compatible
  7165. databases. Document the --dbformat option of updatedb.
  7166. * locate/frcode.c (main): Implemented the -S option which allows the
  7167. generation of an slocate secure database.
  7168. * locate/updatedb.sh: New option --dbformat which selects which
  7169. database format to use.
  7170. * locate/updatedb.1 (--dbformat): Document the new option.
  7171. * find/testsuite/find.gnu/access.exp: fixed a typo which prevented
  7172. the test correctly being skipped when run as root. This re-fixes
  7173. Savannah bug# 18414, I hope.
  7174. 2007-04-22 Eric Blake <ebb9@byu.net>
  7175. * xargs/xargs.c (main): Don't assume LINE_MAX exists (i.e. is
  7176. #defined).
  7177. * locate/updatedb.sh (PRUNEPATHS): Exclude /proc by default.
  7178. 2007-04-23 James Youngman <jay@gnu.org>
  7179. * find/defs.h (struct predicate_performance_info): New data
  7180. structure for holding perofmance statistics.
  7181. (struct predicate: include predicate_performance_info
  7182. (apply_predicate): change from macro to function
  7183. (pred_is): new macro, for predicate identity testing
  7184. (enum DebugOption): Added DebugSuccessRates
  7185. * find/find.1: Document option "-D rates" which turns on
  7186. DebugSuccessRates.
  7187. * doc/find.texi: ditto
  7188. * find.c (main): Call show_success_rates() before exiting.
  7189. (apply_predicate): remove the macro defintion, declare equivalent
  7190. function in defs.h.
  7191. * find/ftsfind.c (main): Call show_success_rates() before
  7192. exiting. Use apply_predicate().
  7193. (show_outstanding_execdirs): use pred_is().
  7194. 2007-04-24 James Youngman <jay@gnu.org>
  7195. * lib/buildcmd.c: Added some comments outlining how we might
  7196. change the implementation to support figuring out the real ARG_MAX
  7197. limit.
  7198. 2007-04-25 James Youngman <jay@gnu.org>
  7199. * find/tree.c (predlist_dump, predlist_merge_nosort): These
  7200. functions were unused and commented out. Removed.
  7201. (mark_stat) No longer used. Removed.
  7202. (mark_type) No longer used. Removed.
  7203. * find/parser.c (new_insert_exec_ok): When checking for {} in the
  7204. arguments to -exec..., use mbsstr() rather than strstr() in order
  7205. to cope bettwe with multibyte locales.
  7206. * lib/buildcmd.c: Don't define mbsstr() locally. Instead, call
  7207. gnulib's mbsstr().
  7208. 2007-04-28 James Youngman <jay@gnu.org>
  7209. * find/testsuite/find.gnu/deletedir.exp,
  7210. find/testsuite/find.gnu/deletedir.xo: New test.
  7211. * find/testsuite/find.gnu/deletefile.exp,
  7212. find/testsuite/find.gnu/deletefile.xo: New test.
  7213. * find/testsuite/Makefile.am: Distribute the new tests
  7214. deletefile.exp and deletedir,exp, with their expected-output (.xo)
  7215. files too.
  7216. * find/testsuite/config/unix.exp (find_start): Add a new "setup"
  7217. parameter called just before each time find is invoked. This
  7218. allows last-minute tasks to be performed. This feature is
  7219. essential for find commands that modify the filesystem, since
  7220. otherwise we cannot use our strategy of invoking both binaries at
  7221. each optimisation level.
  7222. * find/util.c (optionh_stat, optionp_stat, optionl_stat): Assert
  7223. that state.cwd_dir_fd is valid.
  7224. * find/parser.c (parse_delete): Set need_stat to false, since we
  7225. don't need the stat information in pred_delete.
  7226. * find/pred.c (pred_delete): If unlinkat() with a zero flags
  7227. parameter fails with errno==EISDIR, just try again with
  7228. flags=AT_REMOVEDIR. That way we normally avoid the cost of a
  7229. stat. If we happen to have the stat information to hand anyway,
  7230. we make sure we get it right the first time.
  7231. * lib/buildcmd.c (bc_init_controlinfo): Eliminate confusing extra
  7232. variable arg_max. Add return value
  7233. BC_INIT_CANNOT_ACCOMODATE_HEADROOM for the case where the
  7234. environment itself is not too large, but the required headroom
  7235. cannot also be accomodated. The caller now passes in the amount
  7236. of headroom required.
  7237. (bc_use_sensible_arg_max): Use the environment size consistently;
  7238. this is accounted for already in posix_arg_size_max, so there is
  7239. no need to re-measure the size of the environment.
  7240. * lib/buildcmd.h: Define BC_INIT_CANNOT_ACCOMODATE_HEADROOM and
  7241. add the headroom parameter to the prototype of bc_init_controlinfo().
  7242. * xargs/xargs.c (main): Define XARGS_POSIX_HEADROOM as 2048 and
  7243. use that symbolic value. Pass XARGS_POSIX_HEADROOM to
  7244. bc_init_controlinfo(). Handle the case where
  7245. BC_INIT_CANNOT_ACCOMODATE_HEADROOM is returned by
  7246. bc_init_controlinfo().
  7247. * find/parser.c (new_insert_exec_ok): Pass the required headroom to
  7248. bc_init_controlinfo() and handle the error return
  7249. BC_INIT_CANNOT_ACCOMODATE_HEADROOM.
  7250. * xargs/xargs.1: Correct the description of the default value and
  7251. maximum value for the -s option of xargs.
  7252. * xargs/xargs.c (main): Modify the assertions not to assume that
  7253. bc_ctl.arg_max is 2KiB less than ARG_MAX, since sysconfig() may
  7254. have returned a value for _SC_ARG_MAX which is greater. For
  7255. example, AIX 5.3 can do this. This should fix Savannah bug
  7256. #19391.
  7257. 2007-04-29 Michael Haubenwallner <michael.haubenwallner@salomon.at> (tiny change)
  7258. * find/defs.h (pred_open) Rename to pred_openparen to avoid
  7259. problems with the macrtos which build the parser tabnles on
  7260. platforms where 'open' is in fact a macro which expands to
  7261. open64. The problem was that token pasting put pred_open64 into
  7262. the parser table, but the function was still defined as
  7263. parse_open. This fixes Savannah bug #19371.
  7264. (pred_close): ditto
  7265. * find/parser.c (parse_open, parse_close): ditto. Also change
  7266. repferences to pred_open and pred_close similarly.
  7267. * find/parser.c (parse_openparen, parse_closeparen): ditto
  7268. 2007-04-29 James Youngman <jay@gnu.org>
  7269. * find/defs.h: Declare fatal_file_error(), a function for
  7270. reporting immediately-fatal file errors, which appropriately
  7271. quotes the file name. The function does not return. Also define
  7272. ATTRIBUTE_NORETURN. Record the currently-required quoting style
  7273. in struct options.
  7274. * find/find.c, find/ftsfind.c, find/parser.c, find/pred.c,
  7275. find/util.c: Call fatal_file_error() for fatal file errors. Use
  7276. quotearg_n_style() to quote filenames which are used in error
  7277. message that aren't fatal. Use options.err_quoting_style as the
  7278. quoting style. This fixes Savannah bug #18203.
  7279. * locate/locate.c: ditto
  7280. * xargs/xargs.c: ditto
  7281. * lib/listfile.c: To use alloca, just #include <alloca.h>. Gnulib
  7282. handles the rest. Also these days, <stdlib.h> and <string.h> can
  7283. just be included unconditionally.
  7284. * lib/qmark.c: Fixed comment on first line describing the module.
  7285. 2007-04-30 James Youngman <jay@gnu.org>
  7286. * find/defs.h: Change all predicate functions to take a const
  7287. char* argument as the pathname, not a char*. Modify the parser
  7288. table definition accordingly.
  7289. * find/parser.c: Ditto
  7290. * find/pred.c: Ditto
  7291. * find/pred.c (do_fprintf): copy the pathname string for the %H
  7292. and %h cases, since we can no longer modify the string in place.
  7293. * lib/listfile.c (print_name, list_file,
  7294. print_name_without_quoting, print_name_with_quoting): Use const
  7295. char * param for pathname.
  7296. * lib/listfile.h (list_file): Use const char * param for
  7297. pathname.
  7298. 2007-05-01 James Youngman <jay@gnu.org>
  7299. * find/find.c (wd_sanity_check): corrected the type of %ld fprintf
  7300. arguments in error messages.
  7301. * find/fstype.c: include "error.h" for the declaratio of error().
  7302. * find/ftsfind.c: include "error.h" for the declaratio of
  7303. error(). Include dircallback.h for the correct declararion of
  7304. run_in_dir().
  7305. * find/parser.c: include getdate.h (for declaration of getdate)
  7306. and error.h (for the declaration of error).
  7307. (find_parser): Removed unused variable p.
  7308. * find/pred.c (pred_timewindow): Removed unused variable delta.
  7309. (do_fprintf): Removed unused variable cc.
  7310. * find/tree.c: Include error.h (for the declaration of error()).
  7311. (build_expression_tree): removed sourious extra arguments in call
  7312. to error().
  7313. * find/util.c: include error.h.
  7314. * lib/buildcmd.h (get_line_max): Comment out unused function.
  7315. * lib/listfile.c: Include dircallback.h.
  7316. * locate/code.c: Include errno.h, erorr.h, progname.h and
  7317. xlloc.h.
  7318. (inerr): New function for reporting read errors.
  7319. (outerr): New function for reporting output errors.
  7320. (main): Call inerror when fgets fails. Call outerr when fwrite
  7321. or putc or putw fails.
  7322. * locate/frcode.c (put_short): Return boolean value indicating
  7323. success.
  7324. (outerr): New function for reporting write errors.
  7325. (main): Call outerr if call to putc() or puts() or put_short()
  7326. fails.
  7327. * locate/locate.c (search_one_database): diagnose corruption if a
  7328. traditional-style database is too short to include a complete
  7329. bigram table.
  7330. 2007-05-05 James Youngman <jay@gnu.org>
  7331. Release 4.3.5.
  7332. * find/parser.c (parse_samefile): Hold a file descriptor open on
  7333. the reference file in order to prevent pred_samefile getting
  7334. fooled by inode reuse. Pay attention to race conditions on
  7335. systems lacking O_NOFOLLOW when the -P option is in force. This
  7336. fixes Savannah bug #19806.
  7337. * find/defs.h (struct samefile_file_id): New struct, like dir_id
  7338. but including a file descriptor on the reference file.
  7339. * find/pred.c (pred_type): -type should return false if the file
  7340. has mode 00000, as opposed to having an assertion failure. This
  7341. fixes Savannah bug #16378.
  7342. * find/ftsfind.c (consider_visiting): Issue a warning message if
  7343. none of the mode bits are set for a file (i.e. st_mode==00000).
  7344. * find/util.c (get_statinfo): ditto
  7345. * find/util.c (hook_fstatat): Introduced debug code (normally
  7346. disabled) for testing Savannah bug #16378.
  7347. 2007-05-06 James Youngman <jay@gnu.org>
  7348. * find/tree.c: (costlookup): Added pred_fls to the optimiser's
  7349. predicate cost lookup table.
  7350. * lib/printquoted.c (print_quoted): Change return value from void
  7351. to int, to allow the caller to detect failures.
  7352. * lib/printquoted.h (print_quoted): Change declaration
  7353. accordingly.
  7354. * find/defs.h (struct format_val): Incldue a 'filename' member so
  7355. that we can provide more useful error messages (e.g. when we fail