mirror of
https://git.savannah.gnu.org/git/coreutils.git
synced 2025-09-10 07:59:52 +02:00
Compare commits
150 Commits
SH-UTILS-2
...
FILEUTILS-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2b8209bca8 | ||
|
|
a98c656b54 | ||
|
|
e43759db0c | ||
|
|
507d0aa278 | ||
|
|
86845e9bfe | ||
|
|
633c0745b9 | ||
|
|
5bea77e1af | ||
|
|
4fef810c37 | ||
|
|
7717354351 | ||
|
|
07ab5fec9a | ||
|
|
8cf07d2253 | ||
|
|
aadde40206 | ||
|
|
aee6c49887 | ||
|
|
8041fd5301 | ||
|
|
7a80c0cacc | ||
|
|
c2f3af37bb | ||
|
|
fe56d629d1 | ||
|
|
6c5f00186d | ||
|
|
27acd938a1 | ||
|
|
dda6c3fdc4 | ||
|
|
9d343b0852 | ||
|
|
36aea8162f | ||
|
|
fb0afad994 | ||
|
|
847ee5a3bd | ||
|
|
649349a300 | ||
|
|
759591ae51 | ||
|
|
bb8bb211a1 | ||
|
|
47322c2a8e | ||
|
|
e86141f400 | ||
|
|
8ebde9b0bb | ||
|
|
47eed28390 | ||
|
|
72bd5150fd | ||
|
|
a8223df329 | ||
|
|
7c0e2db49b | ||
|
|
1f6347114a | ||
|
|
9c1810823d | ||
|
|
f25e10f24d | ||
|
|
9bb4588551 | ||
|
|
678d98c083 | ||
|
|
b0952dd045 | ||
|
|
20552b01be | ||
|
|
1b136ab2e9 | ||
|
|
d682521386 | ||
|
|
fb50c4895a | ||
|
|
29e2ec8676 | ||
|
|
f8845967cf | ||
|
|
a849cac5b5 | ||
|
|
d63f6d17dd | ||
|
|
979ea98a3e | ||
|
|
4dbf0a39a6 | ||
|
|
6a7e32b137 | ||
|
|
63444750ac | ||
|
|
4c1158bac0 | ||
|
|
43b2179550 | ||
|
|
ec940f653c | ||
|
|
7c270275fe | ||
|
|
09ce6f34a1 | ||
|
|
999a14a6a5 | ||
|
|
64a7649926 | ||
|
|
0d96fcf423 | ||
|
|
658207b433 | ||
|
|
1f1f9fe885 | ||
|
|
40e6e7a44e | ||
|
|
77dfc82293 | ||
|
|
5813e98ace | ||
|
|
b8cf92fee6 | ||
|
|
31ef40d60b | ||
|
|
66a4b0e7a3 | ||
|
|
3d9c2a6c35 | ||
|
|
282fa27b51 | ||
|
|
04d0388df4 | ||
|
|
d89210720b | ||
|
|
1347ab3fa2 | ||
|
|
35d44548fb | ||
|
|
269c31af34 | ||
|
|
afc2960851 | ||
|
|
d9aece69b3 | ||
|
|
d31f3e34a6 | ||
|
|
260ff68425 | ||
|
|
ddee3f420c | ||
|
|
8b7a023ff1 | ||
|
|
31c3ae1545 | ||
|
|
55e5a84fed | ||
|
|
35d017aa1d | ||
|
|
99c95d35e9 | ||
|
|
40a4ab97fe | ||
|
|
03062f0904 | ||
|
|
d6181296dd | ||
|
|
e2cc35f086 | ||
|
|
5e3d1430e3 | ||
|
|
9951c9f723 | ||
|
|
2781381e83 | ||
|
|
035e61e595 | ||
|
|
345ed2f0c4 | ||
|
|
c52336c440 | ||
|
|
9936c270a7 | ||
|
|
0c0a8f7180 | ||
|
|
dfd37e9e59 | ||
|
|
58d3cbbc5c | ||
|
|
6b239bb039 | ||
|
|
2e18b62d99 | ||
|
|
7392a5fd49 | ||
|
|
e413127dd4 | ||
|
|
fa183ca836 | ||
|
|
ab4923e01e | ||
|
|
2ffef0cd25 | ||
|
|
80862b8fb4 | ||
|
|
6cf7855da7 | ||
|
|
5d716e440a | ||
|
|
05073cdf67 | ||
|
|
a6ac5e555f | ||
|
|
5c67c91bb1 | ||
|
|
70bf2ee07d | ||
|
|
e40b2aea74 | ||
|
|
980db8d94b | ||
|
|
3f4d9d2baf | ||
|
|
2e35cf88d4 | ||
|
|
3b85a5c102 | ||
|
|
03885c59b5 | ||
|
|
47fe4e2b81 | ||
|
|
afed58448d | ||
|
|
83b7332303 | ||
|
|
b1a7c1d3f6 | ||
|
|
07730c119b | ||
|
|
ce286ec9da | ||
|
|
40f2b94df5 | ||
|
|
e03663fafd | ||
|
|
6d94f760a2 | ||
|
|
10ababf6b2 | ||
|
|
faae41a3ef | ||
|
|
177daedd5e | ||
|
|
aeedb315dd | ||
|
|
93d0c6c472 | ||
|
|
7138e43074 | ||
|
|
84b2bdcb3a | ||
|
|
787ee99d38 | ||
|
|
b8293a0364 | ||
|
|
5e8af70e24 | ||
|
|
d8c942fdef | ||
|
|
715f1c67f9 | ||
|
|
ffb0e90647 | ||
|
|
cf4a419332 | ||
|
|
490bf3d6e9 | ||
|
|
6ce0ab6d40 | ||
|
|
70ac08368a | ||
|
|
26310e4984 | ||
|
|
6b43446a33 | ||
|
|
c3a1a2a912 | ||
|
|
348f0efabe | ||
|
|
5b2acd8d30 |
338
THANKS
338
THANKS
@@ -1,108 +1,236 @@
|
||||
This is just a start at listing e-mail addresses of contributors.
|
||||
The rest of the addresses are still in the ChangeLog.
|
||||
|
||||
Achim Blumensath: blume@corona.oche.de
|
||||
aldomel: aldomel@ix.netcom.com
|
||||
Alen Muzinic: zveki@fly.cc.fer.hr
|
||||
Akim Demaille: demaille@inf.enst.fr
|
||||
Alain Magloire: alain@qnx.com
|
||||
Alexey Solovyov: alekso@math.uu.se
|
||||
Andreas Jaeger: jaeger@gnu.org
|
||||
Andreas Schwab: schwab@suse.de
|
||||
Andres Soolo: andres@soolo.matti.ee
|
||||
Andrew Dalke: dalke@bioreason.com
|
||||
Andrew Tridgell: tridge@samba.org
|
||||
Andries Brouwer: Andries.Brouwer@cwi.nl
|
||||
Arne Henrik Juul: arnej@imf.unit.no
|
||||
Bauke Jan Douma: bjdouma@xs4all.nl
|
||||
Bengt Martensson: bengt@mathematik.uni-Bremen.de
|
||||
Bernd Leibing: bernd.leibing@rz.uni-ulm.de
|
||||
Bernhard Rosenkraenzer: bero@redhat.de
|
||||
Bjorn Helgaas: helgaas@rsn.hp.com
|
||||
Bob McCracken: kerouac@ravenet.com
|
||||
Bob Proulx: rwp@fc.hp.com
|
||||
Brendan O'Dea: bod@compusol.com.au
|
||||
Charles Karney: karney@pppl.gov
|
||||
Chip Salzenberg: chip@valinux.com
|
||||
Chris Yeo: cyeo@biking.org
|
||||
Christian von Roques: roques@pond.sub.org
|
||||
Colin Plumb: colin@nyx.net
|
||||
David Godfrey: dave@delta.demon.co.uk
|
||||
Dirk Lattermann: dlatt@t-online.de
|
||||
Don Parsons: dparsons@synapse.kent.edu
|
||||
Eirik Fuller: eirik@netcom.com
|
||||
Eli Zaretskii: eliz@is.elta.co.il
|
||||
Emile LeBlanc: leblanc@math.toronto.edu
|
||||
François Pinard: pinard@iro.umontreal.ca
|
||||
Galen Hazelwood: galenh@micron.net
|
||||
Germano Leichsenring: germano@jedi.cs.kobe-u.ac.jp
|
||||
Göran Uddeborg: goeran@uddeborg.pp.se
|
||||
Greg McGary: gkm@eng.ascend.com
|
||||
Gabor Z. Papp: gzp@gzp.org.hu
|
||||
H. J. Lu: hjl@valinux.com
|
||||
Holger Berger: hberger@ess.nec.de
|
||||
Hugh Daniel: hugh@xanadu.com
|
||||
James: james@albion.glarp.com
|
||||
James Antill: jmanti%essex.ac.uk@seralph21.essex.ac.uk
|
||||
James Sneeringer: jvs@ocslink.com
|
||||
James Tanis: jtt@soscorp.com
|
||||
Jamie Lokier: jamie@imbolc.ucc.ie
|
||||
Janos Farkas: chexum@shadow.banki.hu
|
||||
Jesse Thilo: jgt2@eecs.lehigh.edu
|
||||
Joakim Rosqvist: dvljrt@cs.umu.se
|
||||
Joe Orton: joe@orton.demon.co.uk
|
||||
Johan Danielsson: joda@pdc.kth.se
|
||||
John Bley: jbb6@acpub.duke.edu
|
||||
John Gatewood Ham: zappaman@alphabox.compsci.buu.ac.th
|
||||
John Gotts: jgotts@umich.edu
|
||||
Jürgen Fluk: louis@dachau.marco.de
|
||||
jvogel: jvogel@linkny.com
|
||||
Kalle Olavi Niemitalo: tosi@stekt.oulu.fi
|
||||
Karl Heuer: kwzh@gnu.org
|
||||
Kjetil Torgrim Homme: kjetilho@ifi.uio.no
|
||||
Larry McVoy: lm@sgi.com
|
||||
Lars Hecking: lhecking@nmrc.ucc.ie
|
||||
Lorne Baker: lbaker@nitro.avint.net
|
||||
Marcus Daniels: marcus@sysc.pdx.edu
|
||||
Mark A. Thomas: thommark@access.digex.net
|
||||
Mark Harris: mark@monitor.designacc.com
|
||||
Mark Kettenis: kettenis@phys.uva.nl
|
||||
Martin Mitchell: martin@debian.org
|
||||
Marty Leisner: leisner@sdsp.mc.xerox.com
|
||||
Masami Takikawa: takikawm@CS.ORST.EDU
|
||||
Matthew S. Levine: mslevine@theory.lcs.mit.edu
|
||||
Matthew Swift: swift@alum.mit.edu
|
||||
Matthias Urlichs: smurf@noris.de
|
||||
Michiel Bacchiani: bacchian@raven.bu.edu
|
||||
Michael ???:michael@roka.net
|
||||
Michael Veksler: mveksler@techunix.technion.ac.il
|
||||
Michael Stone: mstone@debian.org
|
||||
Miles Bader: miles@gnu.ai.mit.edu
|
||||
Nelson H. F. Beebe: beebe@math.utah.edu
|
||||
Noel Cragg: noel@red-bean.com
|
||||
Olav Morkrid: olav@funcom.com
|
||||
Per Kristian Hove: perhov@math.ntnu.no
|
||||
Peter Eriksson: peter@ifm.liu.se
|
||||
Peter Moulder: reiter@netspace.net.au
|
||||
Peter Samuelson: psamuels@sampo.creighton.edu
|
||||
Paul Eggert: eggert@twinsun.com
|
||||
Paul Slootman: paul@debian.org
|
||||
Philippe De Muyter: phdm@macqel.be
|
||||
Rainer Orth: ro@TechFak.Uni-Bielefeld.DE
|
||||
Richard Braakman: dark@xs4all.nl
|
||||
Ross Ridge: rridge@calum.csclub.uwaterloo.ca
|
||||
Sami Farin: sfarin@ratol.fi
|
||||
Santiago Vila Doncel: sanvila@unex.es
|
||||
Scott Lurndal: slurn@griffin.engr.sgi.com
|
||||
Stuart Kemp: skemp@peter.bmc.com
|
||||
Thomas Bushnell, n/BSG: thomas@gnu.ai.mit.edu
|
||||
Ton Hospel: thospel@mail.dma.be
|
||||
Torbjorn Lindgren: tl@funcom.no
|
||||
Torsten Landschoff: torsten@pclab.ifg.uni-kiel.de
|
||||
Tony Leneis: tony@plaza.ds.adp.com
|
||||
Ulrich Drepper: drepper@cygnus.com
|
||||
Vin Shelton: acs@alumni.princeton.edu
|
||||
Volker Borchert: bt@teknon.de
|
||||
Wayne Stewart: wstewa@atl.com
|
||||
Wichert Akkerman: wichert@cistron.nl
|
||||
William Bader: william@nscs.fast.net
|
||||
Achim Blumensath blume@corona.oche.de
|
||||
Adam Klein aklein@debian.org
|
||||
Akim Demaille demaille@inf.enst.fr
|
||||
Alain Magloire alain@qnx.com
|
||||
Alberto Accomazzi alberto@cfa0.harvard.edu
|
||||
aldomel aldomel@ix.netcom.com
|
||||
Alen Muzinic zveki@fly.cc.fer.hr
|
||||
Alexey Solovyov alekso@math.uu.se
|
||||
Andre Novaes Cunha Andre.Cunha@br.global-one.net
|
||||
Andreas Jaeger jaeger@gnu.org
|
||||
Andreas Luik luik@isa.de
|
||||
Andreas Schwab schwab@suse.de
|
||||
Andreas Stolcke stolcke@ICSI.Berkeley.EDU
|
||||
Andres Soolo andres@soolo.matti.ee
|
||||
Andrew Dalke dalke@bioreason.com
|
||||
Andrew Tridgell tridge@samba.org
|
||||
Andries Brouwer Andries.Brouwer@cwi.nl
|
||||
Andy Longton alongton@metamark.com
|
||||
Ariel Faigon ariel@cthulhu.engr.sgi.com
|
||||
Arne H. Juul arnej@solan.unit.no
|
||||
Arne Henrik Juul arnej@imf.unit.no
|
||||
Arthur Pool pool@commerce.uq.edu.au
|
||||
Austin Donnelly Austin.Donnelly@cl.cam.ac.uk
|
||||
Bauke Jan Douma bjdouma@xs4all.nl
|
||||
Bengt Martensson bengt@mathematik.uni-Bremen.de
|
||||
Bernd Leibing bernd.leibing@rz.uni-ulm.de
|
||||
Bernhard Rosenkraenzer bero@redhat.de
|
||||
Bill Peters peters@gaffel.as.arizona.edu
|
||||
Bjorn Helgaas helgaas@rsn.hp.com
|
||||
Bob McCracken kerouac@ravenet.com
|
||||
Bob Proulx rwp@fc.hp.com
|
||||
Brendan O'Dea bod@compusol.com.au
|
||||
Brian Kimball bfk@footbag.org
|
||||
Bruno Haible haible@ilog.fr
|
||||
Carl Johnson carlj@cjlinux.home.org
|
||||
Carl Lowenstein cdl@mpl.UCSD.EDU
|
||||
Carlos Canau Carlos.Canau@relay.puug.pt
|
||||
Charles Karney karney@pppl.gov
|
||||
Chip Salzenberg chip@valinux.com
|
||||
Chris Yeo cyeo@biking.org
|
||||
Christi Alice Scarborough christi@chiark.greenend.org.uk
|
||||
Christian Krackowizer kra1@technodat.co.at
|
||||
Christian von Roques roques@pond.sub.org
|
||||
Chuck Hedrick hedrick@klinzhai.rutgers.edu
|
||||
Clark Morgan cmorgan@aracnet.com
|
||||
Colin Plumb colin@nyx.net
|
||||
Collin Rogowski collin@rogowski.de
|
||||
Dan Hagerty hag@gnu.ai.it.edu
|
||||
Daniel Bergstrom noa@melody.se
|
||||
David Dyck dcd@tc.fluke.COM
|
||||
David Godfrey dave@delta.demon.co.uk
|
||||
Dennis Henriksen opus@flamingo.osrl.dk
|
||||
Derek Clegg dclegg@next.com
|
||||
Dick Streefland dick_streefland@tasking.com
|
||||
Dirk Lattermann dlatt@t-online.de
|
||||
Dirk-Jan Faber djfaber@snow.nl
|
||||
Don Parsons dparsons@synapse.kent.edu
|
||||
Donni Erpel donald@appc11.gsi.de
|
||||
Doug McLaren dougmc@comco.com
|
||||
Ed Avis epa98@doc.ic.ac.uk
|
||||
Edzer Pebesma Edzer.Pebesma@rivm.nl
|
||||
Eirik Fuller eirik@netcom.com
|
||||
Eivind eivindt@multinet.no
|
||||
Eli Zaretskii eliz@is.elta.co.il
|
||||
Emile LeBlanc leblanc@math.toronto.edu
|
||||
Eric Backus ericb@lsid.hp.com
|
||||
Eric G. Miller egm2@jps.net
|
||||
Erik Bennett bennett@cvo.oneworld.com
|
||||
Erik Corry erik@kroete2.freinet.de
|
||||
Felix Lee flee@teleport.com
|
||||
Fletcher Mattox fletcher@cs.utexas.edu
|
||||
Florin Iucha fiucha@hsys.mic.ro
|
||||
Frank T Lofaro ftlofaro@snooks.Egr.UNLV.EDU
|
||||
François Pinard pinard@iro.umontreal.ca
|
||||
Fred Fish fnf@ninemoons.com
|
||||
Gabor Z. Papp gzp@gzp.org.hu
|
||||
Galen Hazelwood galenh@micron.net
|
||||
Gary Anderson ganderson@clark.net
|
||||
Gaël Quéri gqueri@mail.dotcom.fr
|
||||
Geoff Odhner geoff@franklin.com
|
||||
Germano Leichsenring germano@jedi.cs.kobe-u.ac.jp
|
||||
Greg McGary gkm@gnu.org
|
||||
Greg Troxel gdt@bbn.com
|
||||
Greg Wooledge gawooledge@sherwin.com
|
||||
Göran Uddeborg goeran@uddeborg.pp.se
|
||||
H. J. Lu hjl@valinux.com
|
||||
Hans Verkuil hans@wyst.hobby.nl
|
||||
Holger Berger hberger@ess.nec.de
|
||||
Hugh Daniel hugh@xanadu.com
|
||||
Ian Lance Taylor ian@cygnus.com
|
||||
Ian Turner vectro@pipeline.com
|
||||
James Antill jmanti%essex.ac.uk@seralph21.essex.ac.uk
|
||||
James Sneeringer jvs@ocslink.com
|
||||
James Tanis jtt@soscorp.com
|
||||
James Youngman james+usenet@free-lunch.demon.co.uk
|
||||
James james@albion.glarp.com
|
||||
Jamie Lokier jamie@imbolc.ucc.ie
|
||||
Janos Farkas chexum@shadow.banki.hu
|
||||
Jarkko Hietaniemi jhi@epsilon.hut.fi
|
||||
Jeff Moore jbm@mordor.com
|
||||
Jens Schmidt jms@jsds.hamburg.com
|
||||
Jerome Abela abela@hsc.fr
|
||||
Jesse Thilo jgt2@eecs.lehigh.edu
|
||||
Jim Blandy jimb@cyclic.com
|
||||
Jim Dennis jimd@starshine.org
|
||||
Joakim Rosqvist dvljrt@cs.umu.se
|
||||
Jochen Hein jochen.hein@delphi.central.de
|
||||
Joe Orton joe@orton.demon.co.uk
|
||||
Johan Danielsson joda@pdc.kth.se
|
||||
John Bley jbb6@acpub.duke.edu
|
||||
John Gatewood Ham zappaman@alphabox.compsci.buu.ac.th
|
||||
John Gotts jgotts@umich.edu
|
||||
John Kendall kendall@capps.com
|
||||
John Kodis kodis@acm.org
|
||||
John Murphy jam@philabs.research.philips.com
|
||||
John Roll john@panic.harvard.edu
|
||||
John Salmon johns@mullet.anu.edu.au
|
||||
John Summerfield summer@OS2.ami.com.au
|
||||
Joseph S. Myers jsm28@cam.ac.uk
|
||||
jvogel jvogel@linkny.com
|
||||
Jürgen Fluk louis@dachau.marco.de
|
||||
Kai-Uwe Rommel rommel@informatik.tu-muenchen.de
|
||||
Kalle Olavi Niemitalo tosi@stekt.oulu.fi
|
||||
Kamal Paul Nigam Kamal_Paul_Nigam@gs35.sp.cs.cmu.edu
|
||||
Karl Heuer kwzh@gnu.org
|
||||
Karsten Thygesen karthy@kom.auc.dk
|
||||
Kaveh R. Ghazi ghazi@caip.rutgers.edu
|
||||
Keith Owens kaos@audio.apana.org.au
|
||||
Ken Pizzini kenp@halcyon.com
|
||||
Kjetil Torgrim Homme kjetilho@ifi.uio.no
|
||||
Kristoffer Rose kris@diku.dk
|
||||
Larry McVoy lm@sgi.com
|
||||
Lars Hecking lhecking@nmrc.ucc.ie
|
||||
Lehti Rami rammer@cs.tut.fi
|
||||
Leonard N. Zubkoff lnz@dandelion.com
|
||||
Lorne Baker lbaker@nitro.avint.net
|
||||
Manas Garg manas@cygsoft.com
|
||||
Manfred Hollstein manfred@s-direktnet.de
|
||||
Marc Boucher marc@mbsi.ca
|
||||
Marcus Daniels marcus@ee.pdx.edu
|
||||
Mark A. Thomas thommark@access.digex.net
|
||||
Mark Harris mark@monitor.designacc.com
|
||||
Mark Hewitt mhewitt@armature.com
|
||||
Mark Kettenis kettenis@phys.uva.nl
|
||||
Mark W. Eichin eichin@cygnus.com
|
||||
Markus Demleitner msdemlei@auriga.ari.uni-heidelberg.de
|
||||
Martin Mitchell martin@debian.org
|
||||
Martin P.J. Zinser zinser@decus.de
|
||||
Martin martin@dresden.nacamar.de
|
||||
Marty Leisner leisner@sdsp.mc.xerox.com
|
||||
Masami Takikawa takikawm@CS.ORST.EDU
|
||||
Matej Vela mvela@public.srce.hr
|
||||
Matthew Braun matthew@ans.net
|
||||
Matthew S. Levine mslevine@theory.lcs.mit.edu
|
||||
Matthew Swift swift@alum.mit.edu
|
||||
Matthias Urlichs smurf@noris.de
|
||||
Meelis Roos mroos@tartu.cyber.ee
|
||||
Michael ??? michael@roka.net
|
||||
Michael Hasselberg mikelh@zonta.ping.de
|
||||
Michael Stone mstone@debian.org
|
||||
Michael Stutz stutz@dsl.org
|
||||
Michael Veksler mveksler@techunix.technion.ac.il
|
||||
Michel Robitaille robitail@IRO.UMontreal.CA
|
||||
Michiel Bacchiani bacchian@raven.bu.edu
|
||||
Miles Bader miles@gnu.ai.mit.edu
|
||||
Minh Tran-Le tranle@intellicorp.com
|
||||
Nelson H. F. Beebe beebe@math.utah.edu
|
||||
Niklas Edmundsson nikke@acc.umu.se
|
||||
Noah Friedman friedman@splode.com
|
||||
Noel Cragg noel@red-bean.com
|
||||
Olav Morkrid olav@funcom.com
|
||||
Paul Eggert eggert@twinsun.com
|
||||
Paul Nevai nevai@ops.mps.ohio-state.edu
|
||||
Paul Slootman paul@debian.org
|
||||
Per Kristian Hove perhov@math.ntnu.no
|
||||
Peter Eriksson peter@ifm.liu.se
|
||||
Peter Moulder reiter@netspace.net.au
|
||||
Peter Samuelson psamuels@sampo.creighton.edu
|
||||
Peter Seebach seebs@taniemarie.solon.com
|
||||
Phil Richards phil.richards@vf.vodafone.co.uk
|
||||
Philippe De Muyter phdm@macqel.be
|
||||
Philippe Schnoebelen Philippe.Schnoebelen@imag.fr
|
||||
Rainer Orth ro@TechFak.Uni-Bielefeld.DE
|
||||
Ralf W. Stephan stephan@tmt.de
|
||||
Ralph Loader loader@maths.ox.ac.uk
|
||||
Raul Miller moth@magenta.com
|
||||
Richard Braakman dark@xs4all.nl
|
||||
Richard J. Rauenzahn rrauenza@hairball.cup.hp.com
|
||||
Richard Sharman rsharman@magmacom.com
|
||||
Rick Sladkey jrs@world.std.com
|
||||
Rik Faith faith@cs.unc.edu
|
||||
Risto Kankkunen kankkune@lingsoft.fi
|
||||
Robert H. de Vries robert@and.nl
|
||||
Rogier Wolff R.E.Wolff@BitWizard.nl
|
||||
Ronald F. Guilmette rfg@netcom.com
|
||||
Ross Alexander r.alexander@auckland.ac.nz
|
||||
Ross Paterson rap@doc.ic.ac.uk
|
||||
Ross Ridge rridge@calum.csclub.uwaterloo.ca
|
||||
Sami Farin sfarin@ratol.fi
|
||||
Samuli Karkkainen Samuli.Karkkainen@hut.fi
|
||||
Sander van Malssen svm@kozmix.ow.nl
|
||||
Santiago Vila Doncel sanvila@unex.es
|
||||
Savochkin Andrey Vladimirovich saw@msu.ru
|
||||
Scott Lurndal slurn@griffin.engr.sgi.com
|
||||
Stephen Gildea gildea@x.org
|
||||
Steve McConnel steve@acadcomp.sil.org
|
||||
Stuart Kemp skemp@peter.bmc.com
|
||||
Tadayoshi Funaba tadf@kt.rim.or.jp
|
||||
Theodore Ts'o tytso@rsts-11.mit.edu
|
||||
Thomas Bushnell thomas@gnu.ai.mit.edu
|
||||
Thomas Quinot thomas@Cuivre.FR.EU.ORG
|
||||
Tim Smithers mouse@dmouse.com.au
|
||||
Tim Waugh twaugh@redhat
|
||||
Tom Quinn trq@dionysos.thphys.ox.ac.uk
|
||||
Ton Hospel thospel@mail.dma.be
|
||||
Tony Leneis tony@plaza.ds.adp.com
|
||||
Tony Robinson ajr@eng.cam.ac.uk
|
||||
Torbjorn Granlund tege@nada.kth.se
|
||||
Torbjorn Lindgren tl@funcom.no
|
||||
Torsten Landschoff torsten@pclab.ifg.uni-kiel.de
|
||||
Ulrich Drepper drepper@gnu.org
|
||||
Urs Thuermann urs@isnogud.escape.de
|
||||
Vin Shelton acs@alumni.princeton.edu
|
||||
Volker Borchert bt@teknon.de
|
||||
Wayne Stewart wstewa@atl.com
|
||||
Wichert Akkerman wichert@cistron.nl
|
||||
Will Edgington wedgingt@acm.org
|
||||
William Bader william@nscs.fast.net
|
||||
William Dowling will@franklin.com
|
||||
William Lewis wiml@omnigroup.com
|
||||
Wolfram Kleff kleff@cs.uni-bonn.de
|
||||
Zvi Har'El rl@math.technion.ac.il
|
||||
Ørn E. Hansen oehansen@daimi.aau.dk
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
MSGFMT = @MSGFMT@
|
||||
@@ -98,6 +100,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -184,3 +184,14 @@ p n
|
||||
up
|
||||
p len
|
||||
q
|
||||
complete b user
|
||||
complete b user
|
||||
complete b pars
|
||||
b parse_user_spec
|
||||
r a.b
|
||||
n
|
||||
n
|
||||
p u
|
||||
n
|
||||
p u
|
||||
n
|
||||
|
||||
@@ -1,3 +1,97 @@
|
||||
2000-02-27 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
|
||||
Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
|
||||
|
||||
* backupfile.c: Guard inclusion of stdlib.h with `#if HAVE_STDLIB_H',
|
||||
not `#if STDC_HEADERS'.
|
||||
Declare malloc if needed.
|
||||
|
||||
* backupfile.c: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL..'
|
||||
now that autoconf always defines the HAVE_DECL_ symbols.
|
||||
* human.c: Likewise.
|
||||
* same.c: Likewise.
|
||||
* strtoumax.c: Likewise.
|
||||
|
||||
* backupfile.c: Arrange for cpp to fail if the configure-time
|
||||
declaration check was not run.
|
||||
* hash.c: Likewise.
|
||||
* human.c: Likewise.
|
||||
* same.c: Likewise.
|
||||
* strtoumax.c: Likewise.
|
||||
|
||||
* userspec.c (parse_user_spec): If there is no `:' but there is a `.',
|
||||
then first look up the entire `.'-containing string as a login name.
|
||||
|
||||
2000-02-18 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* lib/getdate.y: Handle two-digit years with leading zeros correctly.
|
||||
(textint): New typedef.
|
||||
(parser_control): Member year changed from int to textint.
|
||||
All uses changed.
|
||||
(YYSTYPE): Removed; replaced by %union with int and textint members.
|
||||
(tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
|
||||
tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
|
||||
tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
|
||||
(tSNUMBER, tUNUMBER): Now of type <textintval>.
|
||||
(date, number, to_year): Use width of number in digits, not its value,
|
||||
to determine whether it's a 2-digit year, or a 2-digit time.
|
||||
(yylex): Store number of digits of numeric tokens.
|
||||
Reported by John Kendall.
|
||||
|
||||
(parser_control): Changed from struct parser_control to typedef (for
|
||||
consistency). All uses changed.
|
||||
|
||||
(tID): Removed; not used.
|
||||
(yylex): Return '?' for unknown identifiers, rather than (unused) tID.
|
||||
|
||||
2000-02-14 Paul Eggert <eggert@twinsun.com>
|
||||
|
||||
* lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
|
||||
adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
|
||||
|
||||
2000-02-12 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* userspec.c (ISDIGIT): Define it.
|
||||
(isdigit): Remove definition.
|
||||
(is_number): Use ISDIGIT, not isdigit.
|
||||
<libintl.h>: Include.
|
||||
(_ and N_): Define.
|
||||
(parse_user_spec): Mark translatable strings.
|
||||
|
||||
2000-02-10 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
With these changes, nanosleep.[ch] are finally enough like the other
|
||||
lib/* replacement files to compile on a few more losing systems.
|
||||
|
||||
* nanosleep.h: Don't include config.h.
|
||||
Remove prototype from declaration of nanosleep.
|
||||
(PARAMS): Remove now-unneeded definition.
|
||||
* nanosleep.c: #undef nanosleep.
|
||||
(rpl_nanosleep): Rename from nanosleep.
|
||||
|
||||
2000-02-03 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
|
||||
rather than with `#if HAVE_UTMPNAME'.
|
||||
|
||||
2000-02-01 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* readutmp.h (UT_USER): Add parens. From Andreas Schwab.
|
||||
|
||||
2000-01-31 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* nanosleep.h (nanosleep): Guard declaration with
|
||||
`#if ! HAVE_DECL_NANOSLEEP'.
|
||||
Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
|
||||
the declaration in that vendor's sys/timers.h.
|
||||
Reported by Christian Krackowizer.
|
||||
|
||||
* quotearg.c (ISASCII): Add #undef and move definition to follow
|
||||
inclusion of wctype.h to work around solaris2.6 namespace pollution.
|
||||
(ISPRINT): Likewise.
|
||||
Reported by Tom Tromey.
|
||||
|
||||
2000-01-30 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* readutmp.c (extract_trimmed_name): Use UT_USER instead of hard-coding
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* backupfile.c -- make Emacs style backup file names
|
||||
Copyright (C) 1990-1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1990-1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -58,16 +58,24 @@
|
||||
# define CLOSEDIR(d) closedir (d)
|
||||
#endif
|
||||
|
||||
#if STDC_HEADERS
|
||||
#if HAVE_STDLIB_H
|
||||
# include <stdlib.h>
|
||||
#else
|
||||
char *malloc ();
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_GETENV
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_GETENV
|
||||
char *getenv ();
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_MALLOC
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_MALLOC
|
||||
char *malloc ();
|
||||
#endif
|
||||
|
||||
char *base_name PARAMS ((char const *));
|
||||
|
||||
#if HAVE_DIRENT_H || HAVE_NDIR_H || HAVE_SYS_DIR_H || HAVE_SYS_NDIR_H
|
||||
|
||||
192
lib/getdate.y
192
lib/getdate.y
@@ -85,6 +85,14 @@
|
||||
#define TM_YEAR_BASE 1900
|
||||
|
||||
#define HOUR(x) ((x) * 60)
|
||||
|
||||
/* An integer value, and the number of digits in its textual
|
||||
representation. */
|
||||
typedef struct
|
||||
{
|
||||
int value;
|
||||
int digits;
|
||||
} textint;
|
||||
|
||||
/* An entry in the lexical lookup table. */
|
||||
typedef struct
|
||||
@@ -98,7 +106,7 @@ typedef struct
|
||||
enum { MERam, MERpm, MER24 };
|
||||
|
||||
/* Information passed to and from the parser. */
|
||||
struct parser_control
|
||||
typedef struct
|
||||
{
|
||||
/* The input string remaining to be parsed. */
|
||||
const char *input;
|
||||
@@ -119,7 +127,7 @@ struct parser_control
|
||||
int meridian;
|
||||
|
||||
/* Gregorian year, month, day, hour, minutes, and seconds. */
|
||||
int year;
|
||||
textint year;
|
||||
int month;
|
||||
int day;
|
||||
int hour;
|
||||
@@ -144,12 +152,11 @@ struct parser_control
|
||||
|
||||
/* Table of local time zone abbrevations, terminated by a null entry. */
|
||||
table local_time_zone_table[3];
|
||||
};
|
||||
} parser_control;
|
||||
|
||||
#define PC (* (struct parser_control *) parm)
|
||||
#define PC (* (parser_control *) parm)
|
||||
#define YYLEX_PARAM parm
|
||||
#define YYPARSE_PARAM parm
|
||||
#define YYSTYPE int
|
||||
|
||||
static int yyerror ();
|
||||
static int yylex ();
|
||||
@@ -161,10 +168,21 @@ static int yylex ();
|
||||
|
||||
/* This grammar has 13 shift/reduce conflicts. */
|
||||
%expect 13
|
||||
|
||||
%union
|
||||
{
|
||||
int intval;
|
||||
textint textintval;
|
||||
}
|
||||
|
||||
%token tAGO tDAY tDAY_UNIT tDAYZONE tDST tHOUR_UNIT tID
|
||||
%token tLOCAL_ZONE tMERIDIAN tMINUTE_UNIT tMONTH tMONTH_UNIT
|
||||
%token tSEC_UNIT tSNUMBER tUNUMBER tYEAR_UNIT tZONE
|
||||
%token tAGO tDST
|
||||
|
||||
%token <intval> tDAY tDAY_UNIT tDAYZONE tHOUR_UNIT tLOCAL_ZONE tMERIDIAN
|
||||
%token <intval> tMINUTE_UNIT tMONTH tMONTH_UNIT tSEC_UNIT tYEAR_UNIT tZONE
|
||||
|
||||
%token <textintval> tSNUMBER tUNUMBER
|
||||
|
||||
%type <intval> o_merid
|
||||
|
||||
%%
|
||||
|
||||
@@ -192,41 +210,41 @@ item:
|
||||
time:
|
||||
tUNUMBER tMERIDIAN
|
||||
{
|
||||
PC.hour = $1;
|
||||
PC.hour = $1.value;
|
||||
PC.minutes = 0;
|
||||
PC.seconds = 0;
|
||||
PC.meridian = $2;
|
||||
}
|
||||
| tUNUMBER ':' tUNUMBER o_merid
|
||||
{
|
||||
PC.hour = $1;
|
||||
PC.minutes = $3;
|
||||
PC.hour = $1.value;
|
||||
PC.minutes = $3.value;
|
||||
PC.seconds = 0;
|
||||
PC.meridian = $4;
|
||||
}
|
||||
| tUNUMBER ':' tUNUMBER tSNUMBER
|
||||
{
|
||||
PC.hour = $1;
|
||||
PC.minutes = $3;
|
||||
PC.hour = $1.value;
|
||||
PC.minutes = $3.value;
|
||||
PC.meridian = MER24;
|
||||
PC.zones_seen++;
|
||||
PC.time_zone = $4 % 100 + ($4 / 100) * 60;
|
||||
PC.time_zone = $4.value % 100 + ($4.value / 100) * 60;
|
||||
}
|
||||
| tUNUMBER ':' tUNUMBER ':' tUNUMBER o_merid
|
||||
{
|
||||
PC.hour = $1;
|
||||
PC.minutes = $3;
|
||||
PC.seconds = $5;
|
||||
PC.hour = $1.value;
|
||||
PC.minutes = $3.value;
|
||||
PC.seconds = $5.value;
|
||||
PC.meridian = $6;
|
||||
}
|
||||
| tUNUMBER ':' tUNUMBER ':' tUNUMBER tSNUMBER
|
||||
{
|
||||
PC.hour = $1;
|
||||
PC.minutes = $3;
|
||||
PC.seconds = $5;
|
||||
PC.hour = $1.value;
|
||||
PC.minutes = $3.value;
|
||||
PC.seconds = $5.value;
|
||||
PC.meridian = MER24;
|
||||
PC.zones_seen++;
|
||||
PC.time_zone = $6 % 100 + ($6 / 100) * 60;
|
||||
PC.time_zone = $6.value % 100 + ($6.value / 100) * 60;
|
||||
}
|
||||
;
|
||||
|
||||
@@ -259,7 +277,7 @@ day:
|
||||
}
|
||||
| tUNUMBER tDAY
|
||||
{
|
||||
PC.day_ordinal = $1;
|
||||
PC.day_ordinal = $1.value;
|
||||
PC.day_number = $2;
|
||||
}
|
||||
;
|
||||
@@ -267,25 +285,26 @@ day:
|
||||
date:
|
||||
tUNUMBER '/' tUNUMBER
|
||||
{
|
||||
PC.month = $1;
|
||||
PC.day = $3;
|
||||
PC.month = $1.value;
|
||||
PC.day = $3.value;
|
||||
}
|
||||
| tUNUMBER '/' tUNUMBER '/' tUNUMBER
|
||||
{
|
||||
/* Interpret as YYYY/MM/DD if 1000 <= $1, otherwise as MM/DD/YY.
|
||||
/* Interpret as YYYY/MM/DD if the first value has 4 or more digits,
|
||||
otherwise as MM/DD/YY.
|
||||
The goal in recognizing YYYY/MM/DD is solely to support legacy
|
||||
machine-generated dates like those in an RCS log listing. If
|
||||
you want portability, use the ISO 8601 format. */
|
||||
if (1000 <= $1)
|
||||
if (4 <= $1.digits)
|
||||
{
|
||||
PC.year = $1;
|
||||
PC.month = $3;
|
||||
PC.day = $5;
|
||||
PC.month = $3.value;
|
||||
PC.day = $5.value;
|
||||
}
|
||||
else
|
||||
{
|
||||
PC.month = $1;
|
||||
PC.day = $3;
|
||||
PC.month = $1.value;
|
||||
PC.day = $3.value;
|
||||
PC.year = $5;
|
||||
}
|
||||
}
|
||||
@@ -293,36 +312,37 @@ date:
|
||||
{
|
||||
/* ISO 8601 format. YYYY-MM-DD. */
|
||||
PC.year = $1;
|
||||
PC.month = -$2;
|
||||
PC.day = -$3;
|
||||
PC.month = -$2.value;
|
||||
PC.day = -$3.value;
|
||||
}
|
||||
| tUNUMBER tMONTH tSNUMBER
|
||||
{
|
||||
/* e.g. 17-JUN-1992. */
|
||||
PC.day = $1;
|
||||
PC.day = $1.value;
|
||||
PC.month = $2;
|
||||
PC.year = -$3;
|
||||
PC.year.value = -$3.value;
|
||||
PC.year.digits = $3.digits;
|
||||
}
|
||||
| tMONTH tUNUMBER
|
||||
{
|
||||
PC.month = $1;
|
||||
PC.day = $2;
|
||||
PC.day = $2.value;
|
||||
}
|
||||
| tMONTH tUNUMBER ',' tUNUMBER
|
||||
{
|
||||
PC.month = $1;
|
||||
PC.day = $2;
|
||||
PC.day = $2.value;
|
||||
PC.year = $4;
|
||||
}
|
||||
| tUNUMBER tMONTH
|
||||
{
|
||||
PC.day = $1.value;
|
||||
PC.month = $2;
|
||||
PC.day = $1;
|
||||
}
|
||||
| tUNUMBER tMONTH tUNUMBER
|
||||
{
|
||||
PC.day = $1.value;
|
||||
PC.month = $2;
|
||||
PC.day = $1;
|
||||
PC.year = $3;
|
||||
}
|
||||
;
|
||||
@@ -342,39 +362,39 @@ rel:
|
||||
|
||||
relunit:
|
||||
tUNUMBER tYEAR_UNIT
|
||||
{ PC.rel_year += $1 * $2; }
|
||||
{ PC.rel_year += $1.value * $2; }
|
||||
| tSNUMBER tYEAR_UNIT
|
||||
{ PC.rel_year += $1 * $2; }
|
||||
{ PC.rel_year += $1.value * $2; }
|
||||
| tYEAR_UNIT
|
||||
{ PC.rel_year += $1; }
|
||||
| tUNUMBER tMONTH_UNIT
|
||||
{ PC.rel_month += $1 * $2; }
|
||||
{ PC.rel_month += $1.value * $2; }
|
||||
| tSNUMBER tMONTH_UNIT
|
||||
{ PC.rel_month += $1 * $2; }
|
||||
{ PC.rel_month += $1.value * $2; }
|
||||
| tMONTH_UNIT
|
||||
{ PC.rel_month += $1; }
|
||||
| tUNUMBER tDAY_UNIT
|
||||
{ PC.rel_day += $1 * $2; }
|
||||
{ PC.rel_day += $1.value * $2; }
|
||||
| tSNUMBER tDAY_UNIT
|
||||
{ PC.rel_day += $1 * $2; }
|
||||
{ PC.rel_day += $1.value * $2; }
|
||||
| tDAY_UNIT
|
||||
{ PC.rel_day += $1; }
|
||||
{ PC.rel_day += $1 }
|
||||
| tUNUMBER tHOUR_UNIT
|
||||
{ PC.rel_hour += $1 * $2; }
|
||||
{ PC.rel_hour += $1.value * $2; }
|
||||
| tSNUMBER tHOUR_UNIT
|
||||
{ PC.rel_hour += $1 * $2; }
|
||||
{ PC.rel_hour += $1.value * $2; }
|
||||
| tHOUR_UNIT
|
||||
{ PC.rel_hour += $1; }
|
||||
{ PC.rel_hour += $1 }
|
||||
| tUNUMBER tMINUTE_UNIT
|
||||
{ PC.rel_minutes += $1 * $2; }
|
||||
{ PC.rel_minutes += $1.value * $2; }
|
||||
| tSNUMBER tMINUTE_UNIT
|
||||
{ PC.rel_minutes += $1 * $2; }
|
||||
{ PC.rel_minutes += $1.value * $2; }
|
||||
| tMINUTE_UNIT
|
||||
{ PC.rel_minutes += $1; }
|
||||
{ PC.rel_minutes += $1 }
|
||||
| tUNUMBER tSEC_UNIT
|
||||
{ PC.rel_seconds += $1 * $2; }
|
||||
{ PC.rel_seconds += $1.value * $2; }
|
||||
| tSNUMBER tSEC_UNIT
|
||||
{ PC.rel_seconds += $1 * $2; }
|
||||
{ PC.rel_seconds += $1.value * $2; }
|
||||
| tSEC_UNIT
|
||||
{ PC.rel_seconds += $1; }
|
||||
;
|
||||
@@ -382,29 +402,31 @@ relunit:
|
||||
number:
|
||||
tUNUMBER
|
||||
{
|
||||
if (PC.dates_seen && ! PC.rels_seen && (PC.times_seen || 100 <= $1))
|
||||
if (PC.dates_seen
|
||||
&& ! PC.rels_seen && (PC.times_seen || 2 < $1.digits))
|
||||
PC.year = $1;
|
||||
else
|
||||
{
|
||||
if (10000 < $1)
|
||||
if (4 < $1.digits)
|
||||
{
|
||||
PC.dates_seen++;
|
||||
PC.day = $1 % 100;
|
||||
PC.month = ($1 / 100) % 100;
|
||||
PC.year = $1 / 10000;
|
||||
PC.day = $1.value % 100;
|
||||
PC.month = ($1.value / 100) % 100;
|
||||
PC.year.value = $1.value / 10000;
|
||||
PC.year.digits = $1.digits - 4;
|
||||
}
|
||||
else
|
||||
{
|
||||
PC.times_seen++;
|
||||
if ($1 < 100)
|
||||
if ($1.digits <= 2)
|
||||
{
|
||||
PC.hour = $1;
|
||||
PC.hour = $1.value;
|
||||
PC.minutes = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
PC.hour = $1 / 100;
|
||||
PC.minutes = $1 % 100;
|
||||
PC.hour = $1.value / 100;
|
||||
PC.minutes = $1.value % 100;
|
||||
}
|
||||
PC.seconds = 0;
|
||||
PC.meridian = MER24;
|
||||
@@ -632,23 +654,23 @@ to_hour (int hours, int meridian)
|
||||
}
|
||||
|
||||
static int
|
||||
to_year (int year)
|
||||
to_year (textint textyear)
|
||||
{
|
||||
int year = textyear.value;
|
||||
|
||||
if (year < 0)
|
||||
year = -year;
|
||||
|
||||
/* XPG4 suggests that years 00-68 map to 2000-2068, and
|
||||
years 69-99 map to 1969-1999. */
|
||||
if (year < 69)
|
||||
year += 2000;
|
||||
else if (year < 100)
|
||||
year += 1900;
|
||||
if (textyear.digits == 2)
|
||||
year += year < 69 ? 2000 : 1900;
|
||||
|
||||
return year;
|
||||
}
|
||||
|
||||
static table const *
|
||||
lookup_zone (struct parser_control const *pc, char const *name)
|
||||
lookup_zone (parser_control const *pc, char const *name)
|
||||
{
|
||||
table const *tp;
|
||||
|
||||
@@ -692,7 +714,7 @@ tm_diff (struct tm const *a, struct tm const *b)
|
||||
#endif /* ! HAVE_TM_GMTOFF */
|
||||
|
||||
static table const *
|
||||
lookup_word (struct parser_control const *pc, char *word)
|
||||
lookup_word (parser_control const *pc, char *word)
|
||||
{
|
||||
char *p;
|
||||
char *q;
|
||||
@@ -761,7 +783,7 @@ lookup_word (struct parser_control const *pc, char *word)
|
||||
}
|
||||
|
||||
static int
|
||||
yylex (YYSTYPE *lvalp, struct parser_control *pc)
|
||||
yylex (YYSTYPE *lvalp, parser_control *pc)
|
||||
{
|
||||
unsigned char c;
|
||||
int count;
|
||||
@@ -773,21 +795,30 @@ yylex (YYSTYPE *lvalp, struct parser_control *pc)
|
||||
|
||||
if (ISDIGIT (c) || c == '-' || c == '+')
|
||||
{
|
||||
char const *p;
|
||||
int sign;
|
||||
int value;
|
||||
if (c == '-' || c == '+')
|
||||
{
|
||||
sign = c == '-' ? -1 : 1;
|
||||
if (! ISDIGIT (*++pc->input))
|
||||
c = *++pc->input;
|
||||
if (! ISDIGIT (c))
|
||||
/* skip the '-' sign */
|
||||
continue;
|
||||
}
|
||||
else
|
||||
sign = 0;
|
||||
for (*lvalp = 0; ISDIGIT (c = *pc->input++);)
|
||||
*lvalp = 10 * *lvalp + (c - '0');
|
||||
pc->input--;
|
||||
if (sign < 0)
|
||||
*lvalp = - *lvalp;
|
||||
p = pc->input;
|
||||
value = 0;
|
||||
do
|
||||
{
|
||||
value = 10 * value + c - '0';
|
||||
c = *++p;
|
||||
}
|
||||
while (ISDIGIT (c));
|
||||
lvalp->textintval.value = sign < 0 ? -value : value;
|
||||
lvalp->textintval.digits = p - pc->input;
|
||||
pc->input = p;
|
||||
return sign ? tSNUMBER : tUNUMBER;
|
||||
}
|
||||
|
||||
@@ -808,8 +839,8 @@ yylex (YYSTYPE *lvalp, struct parser_control *pc)
|
||||
*p = '\0';
|
||||
tp = lookup_word (pc, buff);
|
||||
if (! tp)
|
||||
return tID;
|
||||
*lvalp = tp->value;
|
||||
return '?';
|
||||
lvalp->intval = tp->value;
|
||||
return tp->type;
|
||||
}
|
||||
|
||||
@@ -848,13 +879,14 @@ get_date (const char *p, const time_t *now)
|
||||
struct tm *tmp = localtime (&Start);
|
||||
struct tm tm;
|
||||
struct tm tm0;
|
||||
struct parser_control pc;
|
||||
parser_control pc;
|
||||
|
||||
if (! tmp)
|
||||
return -1;
|
||||
|
||||
pc.input = p;
|
||||
pc.year = tmp->tm_year + TM_YEAR_BASE;
|
||||
pc.year.value = tmp->tm_year + TM_YEAR_BASE;
|
||||
pc.year.digits = 4;
|
||||
pc.month = tmp->tm_mon + 1;
|
||||
pc.day = tmp->tm_mday;
|
||||
pc.hour = tmp->tm_hour;
|
||||
|
||||
@@ -2,34 +2,40 @@
|
||||
|
||||
#ifndef HAVE_GETPAGESIZE
|
||||
|
||||
#ifdef VMS
|
||||
#define getpagesize() 512
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#ifdef _SC_PAGESIZE
|
||||
#define getpagesize() sysconf(_SC_PAGESIZE)
|
||||
#else
|
||||
#if !defined getpagesize && defined _SC_PAGESIZE
|
||||
# if !(defined VMS && __VMS_VER < 70000000)
|
||||
# define getpagesize() sysconf (_SC_PAGESIZE)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#include <sys/param.h>
|
||||
#if !defined getpagesize && defined VMS
|
||||
# ifdef __ALPHA
|
||||
# define getpagesize() 8192
|
||||
# else
|
||||
# define getpagesize() 512
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifdef EXEC_PAGESIZE
|
||||
#define getpagesize() EXEC_PAGESIZE
|
||||
#else
|
||||
#ifdef NBPG
|
||||
#define getpagesize() NBPG * CLSIZE
|
||||
#ifndef CLSIZE
|
||||
#define CLSIZE 1
|
||||
#endif /* no CLSIZE */
|
||||
#else /* no NBPG */
|
||||
#ifdef NBPC
|
||||
#define getpagesize() NBPC
|
||||
#endif /* NBPC */
|
||||
#endif /* no NBPG */
|
||||
#endif /* no EXEC_PAGESIZE */
|
||||
#endif /* no _SC_PAGESIZE */
|
||||
#ifndef getpagesize
|
||||
# include <sys/param.h>
|
||||
# ifdef EXEC_PAGESIZE
|
||||
# define getpagesize() EXEC_PAGESIZE
|
||||
# else
|
||||
# ifdef NBPG
|
||||
# ifndef CLSIZE
|
||||
# define CLSIZE 1
|
||||
# endif
|
||||
# define getpagesize() (NBPG * CLSIZE)
|
||||
# else
|
||||
# ifdef NBPC
|
||||
# define getpagesize() NBPC
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* not HAVE_GETPAGESIZE */
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* hash - hashing table processing.
|
||||
Copyright (C) 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
Written by Jim Meyering, 1992.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
@@ -35,9 +35,16 @@ typedef enum {false = 0, true = 1} bool;
|
||||
#include <stdio.h>
|
||||
#include <assert.h>
|
||||
|
||||
#ifndef HAVE_DECL_FREE
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_FREE
|
||||
void free ();
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_MALLOC
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_MALLOC
|
||||
char *malloc ();
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* human.c -- print human readable file size
|
||||
Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -44,6 +44,9 @@
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_GETENV
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_GETENV
|
||||
char *getenv ();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -18,6 +18,11 @@
|
||||
/* written by Jim Meyering */
|
||||
|
||||
#include <config.h>
|
||||
|
||||
/* Undefine nanosleep here so any prototype is not redefined to be a
|
||||
prototype for rpl_nanosleep. (they'd conflict e.g., on alpha-dec-osf3.2) */
|
||||
#undef nanosleep
|
||||
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <signal.h>
|
||||
@@ -58,7 +63,7 @@ my_usleep (const struct timespec *ts_delay)
|
||||
/* FIXME: comment */
|
||||
|
||||
int
|
||||
nanosleep (const struct timespec *requested_delay,
|
||||
rpl_nanosleep (const struct timespec *requested_delay,
|
||||
struct timespec *remaining_delay)
|
||||
{
|
||||
#ifdef SA_NOCLDSTOP
|
||||
|
||||
@@ -17,17 +17,7 @@
|
||||
#if ! defined NANOSLEEP_H
|
||||
# define NANOSLEEP_H
|
||||
|
||||
# if HAVE_CONFIG_H
|
||||
# include <config.h>
|
||||
# endif
|
||||
|
||||
# ifndef PARAMS
|
||||
# if defined PROTOTYPES || (defined __STDC__ && __STDC__)
|
||||
# define PARAMS(Args) Args
|
||||
# else
|
||||
# define PARAMS(Args) ()
|
||||
# endif
|
||||
# endif
|
||||
/* You must include config.h before including this file. */
|
||||
|
||||
# include <sys/types.h>
|
||||
# if TIME_WITH_SYS_TIME
|
||||
@@ -50,8 +40,10 @@ struct timespec
|
||||
};
|
||||
# endif
|
||||
|
||||
int
|
||||
nanosleep PARAMS ((const struct timespec *requested_delay,
|
||||
struct timespec *remaining_delay));
|
||||
# if ! HAVE_DECL_NANOSLEEP
|
||||
/* Don't specify a prototype here. Some systems (e.g., OSF) declare
|
||||
nanosleep with a conflicting one (const-less first parameter). */
|
||||
int nanosleep ();
|
||||
# endif
|
||||
|
||||
#endif
|
||||
|
||||
@@ -26,12 +26,6 @@
|
||||
#include <xalloc.h>
|
||||
|
||||
#include <ctype.h>
|
||||
#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
|
||||
# define ISASCII(c) 1
|
||||
#else
|
||||
# define ISASCII(c) isascii (c)
|
||||
#endif
|
||||
#define ISPRINT(c) (ISASCII (c) && isprint (c))
|
||||
|
||||
#if ENABLE_NLS
|
||||
# include <libintl.h>
|
||||
@@ -73,6 +67,17 @@
|
||||
|
||||
#define INT_BITS (sizeof (int) * CHAR_BIT)
|
||||
|
||||
#if defined (STDC_HEADERS) || (!defined (isascii) && !defined (HAVE_ISASCII))
|
||||
/* Undefine to protect against the definition in wctype.h of solaris2.6. */
|
||||
# undef ISASCII
|
||||
# define ISASCII(c) 1
|
||||
#else
|
||||
# define ISASCII(c) isascii (c)
|
||||
#endif
|
||||
/* Undefine to protect against the definition in wctype.h of solaris2.6. */
|
||||
#undef ISPRINT
|
||||
#define ISPRINT(c) (ISASCII (c) && isprint (c))
|
||||
|
||||
struct quoting_options
|
||||
{
|
||||
/* Basic quoting style. */
|
||||
|
||||
@@ -57,7 +57,7 @@ extract_trimmed_name (const STRUCT_UTMP *ut)
|
||||
the number of entries, and return zero. If there is any error,
|
||||
return non-zero and don't modify the parameters. */
|
||||
|
||||
#if HAVE_UTMPNAME
|
||||
#ifdef UTMP_NAME_FUNCTION
|
||||
|
||||
int
|
||||
read_utmp (const char *filename, int *n_entries, STRUCT_UTMP **utmp_buf)
|
||||
|
||||
@@ -37,7 +37,9 @@
|
||||
# define SET_UTMP_ENT setutxent
|
||||
# define GET_UTMP_ENT getutxent
|
||||
# define END_UTMP_ENT endutxent
|
||||
# define UTMP_NAME_FUNCTION utmpxname
|
||||
# ifdef HAVE_UTMPXNAME
|
||||
# define UTMP_NAME_FUNCTION utmpxname
|
||||
# endif
|
||||
# else
|
||||
# include <utmp.h>
|
||||
# define UTMP_STRUCT_NAME utmp
|
||||
@@ -45,18 +47,20 @@
|
||||
# define SET_UTMP_ENT setutent
|
||||
# define GET_UTMP_ENT getutent
|
||||
# define END_UTMP_ENT endutent
|
||||
# define UTMP_NAME_FUNCTION utmpname
|
||||
# ifdef HAVE_UTMPNAME
|
||||
# define UTMP_NAME_FUNCTION utmpname
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* Accessor macro for the member named ut_user or ut_name. */
|
||||
# ifdef HAVE_UTMPX_H
|
||||
|
||||
# if HAVE_STRUCT_UTMPX_UT_USER
|
||||
# define UT_USER(Utmp) Utmp->ut_user
|
||||
# define UT_USER(Utmp) ((Utmp)->ut_user)
|
||||
# endif
|
||||
# if HAVE_STRUCT_UTMPX_UT_NAME
|
||||
# undef UT_USER
|
||||
# define UT_USER(Utmp) Utmp->ut_name
|
||||
# define UT_USER(Utmp) ((Utmp)->ut_name)
|
||||
# endif
|
||||
|
||||
# else
|
||||
|
||||
@@ -50,6 +50,9 @@ extern int errno;
|
||||
#define STREQ(a, b) (strcmp ((a), (b)) == 0)
|
||||
|
||||
#ifndef HAVE_DECL_FREE
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_FREE
|
||||
void free ();
|
||||
#endif
|
||||
|
||||
|
||||
@@ -38,10 +38,16 @@
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_STRTOUL
|
||||
unsigned long long strtoul PARAMS ((char const *, char **, int));
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_STRTOUL
|
||||
unsigned long strtoul PARAMS ((char const *, char **, int));
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_STRTOULL
|
||||
"this configure-time declaration test was not run"
|
||||
#endif
|
||||
#if !HAVE_DECL_STRTOULL && HAVE_UNSIGNED_LONG_LONG
|
||||
unsigned long long strtoull PARAMS ((char const *, char **, int));
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/* Compare strings while treating digits characters numerically.
|
||||
Copyright (C) 1997, 2000 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
Contributed by Jean-Francois Bignolles <bignolle@ecoledoc.ibp.fr>, 1997.
|
||||
Contributed by Jean-François Bignolles <bignolle@ecoledoc.ibp.fr>, 1997.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Library General Public License as
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* userspec.c -- Parse a user and group string.
|
||||
Copyright (C) 1989-1992, 1997, 1998 Free Software Foundation, Inc.
|
||||
Copyright (C) 1989-1992, 1997, 1998, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -57,6 +57,14 @@ char *alloca ();
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#if ENABLE_NLS
|
||||
# include <libintl.h>
|
||||
# define _(Text) gettext (Text)
|
||||
#else
|
||||
# define _(Text) Text
|
||||
#endif
|
||||
#define N_(Text) Text
|
||||
|
||||
#ifndef _POSIX_VERSION
|
||||
struct passwd *getpwnam ();
|
||||
struct group *getgrnam ();
|
||||
@@ -83,7 +91,15 @@ struct group *getgrgid ();
|
||||
} \
|
||||
while (0)
|
||||
|
||||
#define isdigit(c) ((c) >= '0' && (c) <= '9')
|
||||
/* ISDIGIT differs from isdigit, as follows:
|
||||
- Its arg may be any int or unsigned int; it need not be an unsigned char.
|
||||
- It's guaranteed to evaluate its argument exactly once.
|
||||
- It's typically faster.
|
||||
Posix 1003.2-1992 section 2.5.2.1 page 50 lines 1556-1558 says that
|
||||
only '0' through '9' are digits. Prefer ISDIGIT to isdigit unless
|
||||
it's important to use the locale's definition of `digit' even when the
|
||||
host does not conform to Posix. */
|
||||
#define ISDIGIT(c) ((unsigned) (c) - '0' <= 9)
|
||||
|
||||
#ifndef strdup
|
||||
char *strdup ();
|
||||
@@ -96,7 +112,7 @@ static int
|
||||
is_number (const char *str)
|
||||
{
|
||||
for (; *str; str++)
|
||||
if (!isdigit (*str))
|
||||
if (!ISDIGIT (*str))
|
||||
return 0;
|
||||
return 1;
|
||||
}
|
||||
@@ -104,8 +120,12 @@ is_number (const char *str)
|
||||
/* Extract from NAME, which has the form "[user][:.][group]",
|
||||
a USERNAME, UID U, GROUPNAME, and GID G.
|
||||
Either user or group, or both, must be present.
|
||||
If the group is omitted but the ":" or "." separator is given,
|
||||
If the group is omitted but the ":" separator is given,
|
||||
use the given user's login group.
|
||||
If SPEC_ARG contains a `:', then use that as the separator, ignoring
|
||||
any `.'s. If there is no `:', but there is a `.', then first look
|
||||
up SPEC_ARG as a login name. If that look-up fails, then try again
|
||||
interpreting the `.' as a separator.
|
||||
|
||||
USERNAME and GROUPNAME will be in newly malloc'd memory.
|
||||
Either one might be NULL instead, indicating that it was not
|
||||
@@ -117,13 +137,22 @@ const char *
|
||||
parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid,
|
||||
char **username_arg, char **groupname_arg)
|
||||
{
|
||||
static const char *tired = "virtual memory exhausted";
|
||||
static const char *E_no_memory = N_("virtual memory exhausted");
|
||||
static const char *E_invalid_user = N_("invalid user");
|
||||
static const char *E_invalid_group = N_("invalid group");
|
||||
static const char *E_bad_spec =
|
||||
N_("cannot get the login group of a numeric UID");
|
||||
static const char *E_cannot_omit_both =
|
||||
N_("cannot omit both user and group");
|
||||
|
||||
const char *error_msg;
|
||||
char *spec; /* A copy we can write on. */
|
||||
struct passwd *pwd;
|
||||
struct group *grp;
|
||||
char *g, *u, *separator;
|
||||
char *groupname;
|
||||
int maybe_retry = 0;
|
||||
char *dot = NULL;
|
||||
|
||||
error_msg = NULL;
|
||||
*username_arg = *groupname_arg = NULL;
|
||||
@@ -131,10 +160,24 @@ parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid,
|
||||
|
||||
V_STRDUP (spec, spec_arg);
|
||||
|
||||
/* Find the separator if there is one. */
|
||||
/* Find the POSIX `:' separator if there is one. */
|
||||
separator = strchr (spec, ':');
|
||||
|
||||
/* If there is no colon, then see if there's a `.'. */
|
||||
if (separator == NULL)
|
||||
separator = strchr (spec, '.');
|
||||
{
|
||||
dot = strchr (spec, '.');
|
||||
/* If there's no colon but there is a `.', then first look up the
|
||||
whole spec, in case it's an OWNER name that includes a dot.
|
||||
If that fails, then we'll try again, but interpreting the `.'
|
||||
as a separator. */
|
||||
/* FIXME: accepting `.' as the separator is contrary to POSIX.
|
||||
someday we should drop support for this. */
|
||||
if (dot)
|
||||
maybe_retry = 1;
|
||||
}
|
||||
|
||||
retry:
|
||||
|
||||
/* Replace separator with a NUL. */
|
||||
if (separator != NULL)
|
||||
@@ -149,7 +192,7 @@ parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid,
|
||||
: separator + 1);
|
||||
|
||||
if (u == NULL && g == NULL)
|
||||
return "can not omit both user and group";
|
||||
return _(E_cannot_omit_both);
|
||||
|
||||
#ifdef __DJGPP__
|
||||
/* Pretend that we are the user U whose group is G. This makes
|
||||
@@ -167,15 +210,18 @@ parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid,
|
||||
{
|
||||
|
||||
if (!is_number (u))
|
||||
error_msg = "invalid user";
|
||||
error_msg = _(E_invalid_user);
|
||||
else
|
||||
{
|
||||
int use_login_group;
|
||||
use_login_group = (separator != NULL && g == NULL);
|
||||
if (use_login_group)
|
||||
error_msg = "cannot get the login group of a numeric UID";
|
||||
error_msg = _(E_bad_spec);
|
||||
else
|
||||
*uid = atoi (u);
|
||||
{
|
||||
/* FIXME: don't use atoi! */
|
||||
*uid = atoi (u);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -213,9 +259,12 @@ parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid,
|
||||
if (grp == NULL)
|
||||
{
|
||||
if (!is_number (g))
|
||||
error_msg = "invalid group";
|
||||
error_msg = _(E_invalid_group);
|
||||
else
|
||||
*gid = atoi (g);
|
||||
{
|
||||
/* FIXME: don't use atoi! */
|
||||
*gid = atoi (g);
|
||||
}
|
||||
}
|
||||
else
|
||||
*gid = grp->gr_gid;
|
||||
@@ -231,7 +280,7 @@ parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid,
|
||||
{
|
||||
*username_arg = strdup (u);
|
||||
if (*username_arg == NULL)
|
||||
error_msg = tired;
|
||||
error_msg = _(E_no_memory);
|
||||
}
|
||||
|
||||
if (groupname != NULL && error_msg == NULL)
|
||||
@@ -244,11 +293,19 @@ parse_user_spec (const char *spec_arg, uid_t *uid, gid_t *gid,
|
||||
free (*username_arg);
|
||||
*username_arg = NULL;
|
||||
}
|
||||
error_msg = tired;
|
||||
error_msg = _(E_no_memory);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (error_msg && maybe_retry)
|
||||
{
|
||||
maybe_retry = 0;
|
||||
separator = dot;
|
||||
error_msg = NULL;
|
||||
goto retry;
|
||||
}
|
||||
|
||||
return error_msg;
|
||||
}
|
||||
|
||||
|
||||
59
m4/ChangeLog
59
m4/ChangeLog
@@ -1,3 +1,62 @@
|
||||
2000-02-27 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* check-decl.m4: Add getenv to the list.
|
||||
|
||||
2000-02-23 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
|
||||
in place of my hack.
|
||||
|
||||
2000-02-10 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
|
||||
gnu_nanosleep to rpl_nanosleep.
|
||||
|
||||
2000-02-09 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
|
||||
struct spwd, rather than in struct passwd. Reported by Gaël Quéri.
|
||||
|
||||
2000-02-08 Akim Demaille <akim@epita.fr>
|
||||
|
||||
* largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
|
||||
`[' and `]' and remove uses of `changequote'.
|
||||
(AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
|
||||
(AC_SYS_LARGEFILE): Likewise.
|
||||
* gettext.m4 (AM_GNU_GETTEXT): Likewise.
|
||||
* strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
|
||||
of changequote.
|
||||
* regex.m4 (jm_INCLUDED_REGEX): Likewise.
|
||||
* readdir.m4 (jm_FUNC_READDIR): Likewise
|
||||
* memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
|
||||
* getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
|
||||
|
||||
2000-02-05 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* jm-macros.m4: (jm_CHECK_ALL_TYPES): Require most macros.
|
||||
Remove explicit use of AC_HEADER_TIME. It is required by
|
||||
jm_CHECK_TYPE_STRUCT_TIMESPEC. Using AC_HEADER_TIME and
|
||||
`AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
|
||||
in autoconf whereby the expansion of the latter ended up preceding
|
||||
the expansion of its prerequisite, AC_HEADER_TIME.
|
||||
Reported by Volker Borchert.
|
||||
|
||||
2000-02-03 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
|
||||
|
||||
2000-02-02 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
|
||||
definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
|
||||
Reported by Eli Zaretskii.
|
||||
|
||||
2000-01-31 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
|
||||
functions. Add the time.h and sys/time.h headers along with the
|
||||
AC_REQUIRE'ment of AC_HEADER_TIME.
|
||||
|
||||
2000-01-30 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* lib-check.m4: Clean up some kludgy old shadow password tests.
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#serial 6
|
||||
#serial 8
|
||||
|
||||
dnl This is just a wrapper function to encapsulate this kludge.
|
||||
dnl Putting it in a separate file like this helps share it between
|
||||
@@ -6,6 +6,7 @@ dnl different packages.
|
||||
AC_DEFUN(jm_CHECK_DECLS,
|
||||
[
|
||||
AC_REQUIRE([_jm_DECL_HEADERS])
|
||||
AC_REQUIRE([AC_HEADER_TIME])
|
||||
headers='
|
||||
#include <stdio.h>
|
||||
#if HAVE_STRING_H
|
||||
@@ -24,27 +25,23 @@ AC_DEFUN(jm_CHECK_DECLS,
|
||||
#if HAVE_UNISTD_H
|
||||
# include <unistd.h>
|
||||
#endif
|
||||
|
||||
#include <sys/types.h>
|
||||
#if TIME_WITH_SYS_TIME
|
||||
# include <sys/time.h>
|
||||
# include <time.h>
|
||||
#else
|
||||
# if HAVE_SYS_TIME_H
|
||||
# include <sys/time.h>
|
||||
# else
|
||||
# include <time.h>
|
||||
# endif
|
||||
#endif
|
||||
'
|
||||
|
||||
if test x = y; then
|
||||
dnl This code is deliberately never run via ./configure.
|
||||
dnl FIXME: this is a gross hack to make autoheader put entries
|
||||
dnl for each of these symbols in the config.h.in.
|
||||
dnl Otherwise, I'd have to update acconfig.h every time I change
|
||||
dnl this list of functions.
|
||||
AC_DEFINE(HAVE_DECL_FREE, 1, [Define if this function is declared.])
|
||||
AC_DEFINE(HAVE_DECL_LSEEK, 1, [Define if this function is declared.])
|
||||
AC_DEFINE(HAVE_DECL_MALLOC, 1, [Define if this function is declared.])
|
||||
AC_DEFINE(HAVE_DECL_MEMCHR, 1, [Define if this function is declared.])
|
||||
AC_DEFINE(HAVE_DECL_REALLOC, 1, [Define if this function is declared.])
|
||||
AC_DEFINE(HAVE_DECL_STPCPY, 1, [Define if this function is declared.])
|
||||
AC_DEFINE(HAVE_DECL_STRSTR, 1, [Define if this function is declared.])
|
||||
AC_DEFINE(HAVE_DECL_STRTOUL, 1, [Define if this function is declared.])
|
||||
AC_DEFINE(HAVE_DECL_STRTOULL, 1, [Define if this function is declared.])
|
||||
fi
|
||||
|
||||
jm_CHECK_DECLARATIONS($headers, free lseek malloc \
|
||||
memchr realloc stpcpy strstr strtoul strtoull)
|
||||
AC_CHECK_DECLS((free, getenv, lseek, malloc, memchr, nanosleep,
|
||||
realloc, stpcpy, strstr, strtoul, strtoull),
|
||||
, , $headers)
|
||||
])
|
||||
|
||||
dnl FIXME: when autoconf has support for it.
|
||||
@@ -52,5 +49,5 @@ dnl This is a little helper so we can require these header checks.
|
||||
AC_DEFUN(_jm_DECL_HEADERS,
|
||||
[
|
||||
AC_REQUIRE([AC_HEADER_STDC])
|
||||
AC_CHECK_HEADERS(memory.h string.h strings.h stdlib.h unistd.h)
|
||||
AC_CHECK_HEADERS(memory.h string.h strings.h stdlib.h unistd.h sys/time.h)
|
||||
])
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#serial 4
|
||||
#serial 5
|
||||
|
||||
AC_DEFUN(AM_FUNC_GETLOADAVG,
|
||||
[ac_have_func=no # yes means we've found a way to get the load average.
|
||||
@@ -103,9 +103,7 @@ AC_SUBST(NEED_SETGID)dnl
|
||||
|
||||
if test $ac_cv_func_getloadavg_setgid = yes; then
|
||||
AC_CACHE_CHECK(group of /dev/kmem, ac_cv_group_kmem,
|
||||
changequote(<<, >>)dnl
|
||||
<<
|
||||
# On Solaris, /dev/kmem is a symlink. Get info on the real file.
|
||||
[ # On Solaris, /dev/kmem is a symlink. Get info on the real file.
|
||||
ac_ls_output=`ls -lgL /dev/kmem 2>/dev/null`
|
||||
# If we got an error (system does not support symlinks), try without -L.
|
||||
test -z "$ac_ls_output" && ac_ls_output=`ls -lg /dev/kmem`
|
||||
@@ -113,8 +111,7 @@ changequote(<<, >>)dnl
|
||||
| sed -ne 's/[ ][ ]*/ /g;
|
||||
s/^.[sSrwx-]* *[0-9]* *\([^0-9]*\) *.*/\1/;
|
||||
/ /s/.* //;p;'`
|
||||
>>
|
||||
changequote([, ])dnl
|
||||
]
|
||||
)
|
||||
KMEM_GROUP=$ac_cv_group_kmem
|
||||
fi
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
# but which still want to provide support for the GNU gettext functionality.
|
||||
# Please note that the actual code is *not* freely available.
|
||||
|
||||
# serial 107
|
||||
# serial 108
|
||||
|
||||
AC_PREREQ(2.13) dnl Minimum Autoconf version required.
|
||||
|
||||
@@ -303,16 +303,14 @@ strdup __argz_count __argz_stringify __argz_next])
|
||||
dnl Generate list of files to be processed by xgettext which will
|
||||
dnl be included in po/Makefile.
|
||||
test -d po || mkdir po
|
||||
changequote(, )dnl
|
||||
case "$srcdir" in
|
||||
.)
|
||||
posrcprefix="../" ;;
|
||||
/* | [A-Za-z]:*)
|
||||
/* | [[A-Za-z]]:*)
|
||||
posrcprefix="$srcdir/" ;;
|
||||
*)
|
||||
posrcprefix="../$srcdir/" ;;
|
||||
esac
|
||||
changequote([, ])dnl
|
||||
rm -f po/POTFILES
|
||||
sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
|
||||
< $srcdir/po/POTFILES.in > po/POTFILES
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#serial 12
|
||||
#serial 13
|
||||
|
||||
dnl Misc type-related macros for fileutils, sh-utils, textutils.
|
||||
|
||||
@@ -190,32 +190,31 @@ AC_DEFUN(jm_MACROS,
|
||||
AC_DEFUN(jm_CHECK_ALL_TYPES,
|
||||
[
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_BIGENDIAN
|
||||
AC_PROG_CC_STDC
|
||||
AC_C_CONST
|
||||
AC_C_INLINE
|
||||
AC_C_LONG_DOUBLE
|
||||
AC_REQUIRE([AC_C_BIGENDIAN])
|
||||
AC_REQUIRE([AC_PROG_CC_STDC])
|
||||
AC_REQUIRE([AC_C_CONST])
|
||||
AC_REQUIRE([AC_C_INLINE])
|
||||
AC_REQUIRE([AC_C_LONG_DOUBLE])
|
||||
|
||||
AC_HEADER_DIRENT
|
||||
AC_HEADER_STDC
|
||||
AC_REQUIRE([AC_HEADER_DIRENT])
|
||||
AC_REQUIRE([AC_HEADER_STDC])
|
||||
AC_CHECK_MEMBERS((struct stat.st_blksize))
|
||||
AC_STRUCT_ST_BLOCKS
|
||||
AC_REQUIRE([AC_STRUCT_ST_BLOCKS])
|
||||
|
||||
AC_STRUCT_TM
|
||||
AC_HEADER_TIME
|
||||
AC_STRUCT_TIMEZONE
|
||||
AC_HEADER_STAT
|
||||
AC_STRUCT_ST_MTIM_NSEC
|
||||
AC_STRUCT_ST_DM_MODE
|
||||
AC_REQUIRE([AC_STRUCT_TM])
|
||||
AC_REQUIRE([AC_STRUCT_TIMEZONE])
|
||||
AC_REQUIRE([AC_HEADER_STAT])
|
||||
AC_REQUIRE([AC_STRUCT_ST_MTIM_NSEC])
|
||||
AC_REQUIRE([AC_STRUCT_ST_DM_MODE])
|
||||
AC_REQUIRE([jm_CHECK_TYPE_STRUCT_TIMESPEC])
|
||||
|
||||
AC_TYPE_GETGROUPS
|
||||
AC_TYPE_MODE_T
|
||||
AC_TYPE_OFF_T
|
||||
AC_TYPE_PID_T
|
||||
AC_TYPE_SIGNAL
|
||||
AC_TYPE_SIZE_T
|
||||
AC_TYPE_UID_T
|
||||
AC_REQUIRE([AC_TYPE_GETGROUPS])
|
||||
AC_REQUIRE([AC_TYPE_MODE_T])
|
||||
AC_REQUIRE([AC_TYPE_OFF_T])
|
||||
AC_REQUIRE([AC_TYPE_PID_T])
|
||||
AC_REQUIRE([AC_TYPE_SIGNAL])
|
||||
AC_REQUIRE([AC_TYPE_SIZE_T])
|
||||
AC_REQUIRE([AC_TYPE_UID_T])
|
||||
AC_CHECK_TYPE(ino_t, unsigned long)
|
||||
|
||||
dnl This relies on the fact that autoconf 2.14a's implementation of
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#serial 7
|
||||
#serial 8
|
||||
|
||||
dnl By default, many hosts won't let programs access large files;
|
||||
dnl one must use special compiler options to get large-file access to work.
|
||||
@@ -20,17 +20,13 @@ AC_DEFUN(AC_SYS_LARGEFILE_FLAGS,
|
||||
ifelse($1, CFLAGS,
|
||||
[case "$host_os" in
|
||||
# HP-UX 10.20 requires -D__STDC_EXT__ with gcc 2.95.1.
|
||||
changequote(, )dnl
|
||||
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
|
||||
changequote([, ])dnl
|
||||
[ hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)]
|
||||
if test "$GCC" = yes; then
|
||||
ac_cv_sys_largefile_CFLAGS=-D__STDC_EXT__
|
||||
fi
|
||||
;;
|
||||
# IRIX 6.2 and later require cc -n32.
|
||||
changequote(, )dnl
|
||||
irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*)
|
||||
changequote([, ])dnl
|
||||
[ irix6.[2-9]* | irix6.1[0-9]* | irix[7-9].* | irix[1-9][0-9]*)]
|
||||
if test "$GCC" != yes; then
|
||||
ac_cv_sys_largefile_CFLAGS=-n32
|
||||
fi
|
||||
@@ -61,17 +57,15 @@ dnl AC_SYS_LARGEFILE_MACRO_VALUE(C-MACRO, CACHE-VAR, COMMENT, CODE-TO-SET-DEFAUL
|
||||
AC_DEFUN(AC_SYS_LARGEFILE_MACRO_VALUE,
|
||||
[AC_CACHE_CHECK([for $1], $2,
|
||||
[$2=no
|
||||
changequote(, )dnl
|
||||
$4
|
||||
for ac_flag in $ac_cv_sys_largefile_CFLAGS no; do
|
||||
case "$ac_flag" in
|
||||
-D$1)
|
||||
$2=1 ;;
|
||||
-D$1=*)
|
||||
$2=`expr " $ac_flag" : '[^=]*=\(.*\)'` ;;
|
||||
$2=`expr " $ac_flag" : '[[^=]]*=\(.*\)'` ;;
|
||||
esac
|
||||
done
|
||||
changequote([, ])dnl
|
||||
])
|
||||
if test "[$]$2" != no; then
|
||||
AC_DEFINE_UNQUOTED([$1], [$]$2, [$3])
|
||||
@@ -106,7 +100,7 @@ AC_DEFUN(AC_SYS_LARGEFILE,
|
||||
[Number of bits in a file offset, on hosts where this is settable.],
|
||||
[case "$host_os" in
|
||||
# HP-UX 10.20 and later
|
||||
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
|
||||
[ hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)]
|
||||
ac_cv_sys_file_offset_bits=64 ;;
|
||||
esac])
|
||||
AC_SYS_LARGEFILE_MACRO_VALUE(_LARGEFILE_SOURCE,
|
||||
@@ -114,7 +108,7 @@ AC_DEFUN(AC_SYS_LARGEFILE,
|
||||
[Define to make fseeko etc. visible, on some hosts.],
|
||||
[case "$host_os" in
|
||||
# HP-UX 10.20 and later
|
||||
hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)
|
||||
[ hpux10.[2-9][0-9]* | hpux1[1-9]* | hpux[2-9][0-9]*)]
|
||||
ac_cv_sys_largefile_source=1 ;;
|
||||
esac])
|
||||
AC_SYS_LARGEFILE_MACRO_VALUE(_LARGE_FILES,
|
||||
@@ -122,7 +116,7 @@ AC_DEFUN(AC_SYS_LARGEFILE,
|
||||
[Define for large files, on AIX-style hosts.],
|
||||
[case "$host_os" in
|
||||
# AIX 4.2 and later
|
||||
aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*)
|
||||
[ aix4.[2-9]* | aix4.1[0-9]* | aix[5-9].* | aix[1-9][0-9]*)]
|
||||
ac_cv_sys_large_files=1 ;;
|
||||
esac])
|
||||
fi
|
||||
|
||||
@@ -43,7 +43,7 @@ AC_DEFUN(jm_LIB_CHECK,
|
||||
AC_SEARCH_LIBS(getspnam, [shadow sec])
|
||||
|
||||
# Requirements for su.c.
|
||||
AC_CHECK_MEMBERS((struct passwd.sp_pwdp))
|
||||
AC_CHECK_MEMBERS((struct spwd.sp_pwdp))
|
||||
AC_CHECK_FUNCS(getspnam)
|
||||
AC_CHECK_HEADERS(shadow.h)
|
||||
|
||||
|
||||
11
m4/memcmp.m4
11
m4/memcmp.m4
@@ -1,13 +1,12 @@
|
||||
#serial 3
|
||||
#serial 4
|
||||
|
||||
dnl A replacement for autoconf's AC_FUNC_MEMCMP that detects
|
||||
dnl the losing memcmp on some x86 Next systems.
|
||||
AC_DEFUN(jm_AC_FUNC_MEMCMP,
|
||||
[AC_CACHE_CHECK([for working memcmp], jm_cv_func_memcmp_working,
|
||||
[AC_TRY_RUN(
|
||||
changequote(<<, >>)dnl
|
||||
<<
|
||||
main()
|
||||
[int
|
||||
main ()
|
||||
{
|
||||
/* Some versions of memcmp are not 8-bit clean. */
|
||||
char c0 = 0x40, c1 = 0x80, c2 = 0x81;
|
||||
@@ -32,9 +31,7 @@ main()
|
||||
}
|
||||
exit (0);
|
||||
}
|
||||
}
|
||||
>>,
|
||||
changequote([, ])dnl
|
||||
}],
|
||||
jm_cv_func_memcmp_working=yes,
|
||||
jm_cv_func_memcmp_working=no,
|
||||
jm_cv_func_memcmp_working=no)])
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#serial 4
|
||||
#serial 5
|
||||
|
||||
dnl From Jim Meyering.
|
||||
dnl Check for the nanosleep function.
|
||||
@@ -44,7 +44,7 @@ AC_DEFUN(jm_FUNC_NANOSLEEP,
|
||||
if test $jm_cv_func_nanosleep_works = no; then
|
||||
AC_SUBST(LIBOBJS)
|
||||
LIBOBJS="$LIBOBJS nanosleep.$ac_objext"
|
||||
AC_DEFINE_UNQUOTED(nanosleep, gnu_nanosleep,
|
||||
[Define to gnu_nanosleep if the replacement function should be used.])
|
||||
AC_DEFINE_UNQUOTED(nanosleep, rpl_nanosleep,
|
||||
[Define to rpl_nanosleep if the replacement function should be used.])
|
||||
fi
|
||||
])
|
||||
|
||||
@@ -17,7 +17,7 @@ AC_DEFUN(jm_PREREQ_ADDEXT,
|
||||
[
|
||||
dnl For addext.c.
|
||||
AC_SYS_LONG_FILE_NAMES
|
||||
AC_CHECK_FUNC(pathconf)
|
||||
AC_CHECK_FUNCS(pathconf)
|
||||
AC_CHECK_HEADERS(limits.h string.h unistd.h)
|
||||
])
|
||||
|
||||
@@ -50,6 +50,7 @@ AC_DEFUN(jm_PREREQ_READUTMP,
|
||||
AC_HEADER_STDC
|
||||
AC_CHECK_HEADERS(string.h utmpx.h sys/param.h)
|
||||
AC_CHECK_FUNCS(utmpname)
|
||||
AC_CHECK_FUNCS(utmpxname)
|
||||
AM_C_PROTOTYPES
|
||||
|
||||
utmp_includes="\
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#serial 2
|
||||
#serial 3
|
||||
|
||||
dnl SunOS's readdir is broken in such a way that rm.c has to add extra code
|
||||
dnl to test whether a NULL return value really means there are no more files
|
||||
@@ -23,9 +23,7 @@ AC_CACHE_CHECK([for working readdir], jm_cv_func_working_readdir,
|
||||
ac_clean_files="$ac_clean_files conf-dir"
|
||||
|
||||
AC_TRY_RUN(
|
||||
changequote(<<, >>)dnl
|
||||
<<
|
||||
# include <stdio.h>
|
||||
[# include <stdio.h>
|
||||
# include <sys/types.h>
|
||||
# if HAVE_STRING_H
|
||||
# include <string.h>
|
||||
@@ -119,9 +117,7 @@ AC_CACHE_CHECK([for working readdir], jm_cv_func_working_readdir,
|
||||
create_300_file_dir (dir);
|
||||
remove_dir (dir);
|
||||
exit (0);
|
||||
}
|
||||
>>,
|
||||
changequote([, ])dnl
|
||||
}],
|
||||
jm_cv_func_working_readdir=yes,
|
||||
jm_cv_func_working_readdir=no,
|
||||
jm_cv_func_working_readdir=no)])
|
||||
|
||||
10
m4/regex.m4
10
m4/regex.m4
@@ -1,4 +1,4 @@
|
||||
#serial 5
|
||||
#serial 6
|
||||
|
||||
dnl Initially derived from code in GNU grep.
|
||||
dnl Mostly written by Jim Meyering.
|
||||
@@ -21,9 +21,7 @@ AC_DEFUN(jm_INCLUDED_REGEX,
|
||||
AC_CACHE_CHECK([for working re_compile_pattern],
|
||||
jm_cv_func_working_re_compile_pattern,
|
||||
AC_TRY_RUN(
|
||||
changequote(<<, >>)dnl
|
||||
<<
|
||||
#include <stdio.h>
|
||||
[#include <stdio.h>
|
||||
#include <regex.h>
|
||||
int
|
||||
main ()
|
||||
@@ -37,9 +35,7 @@ AC_DEFUN(jm_INCLUDED_REGEX,
|
||||
/* This should fail with _Invalid character class name_ error. */
|
||||
exit (s ? 0 : 1);
|
||||
}
|
||||
>>,
|
||||
changequote([, ])dnl
|
||||
|
||||
],
|
||||
jm_cv_func_working_re_compile_pattern=yes,
|
||||
jm_cv_func_working_re_compile_pattern=no,
|
||||
dnl When crosscompiling, assume it's broken.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#serial 8
|
||||
#serial 9
|
||||
|
||||
dnl This macro is intended to be used solely in this file.
|
||||
dnl These are the prerequisite macros for GNU's strftime.c replacement.
|
||||
@@ -36,8 +36,7 @@ AC_DEFUN(jm_FUNC_GNU_STRFTIME,
|
||||
AC_CHECK_HEADERS(sys/time.h)
|
||||
AC_CACHE_CHECK([for working GNU strftime], jm_cv_func_working_gnu_strftime,
|
||||
[AC_TRY_RUN(
|
||||
changequote(<<, >>)dnl
|
||||
<< /* Ulrich Drepper provided parts of the test program. */
|
||||
[ /* Ulrich Drepper provided parts of the test program. */
|
||||
#if STDC_HEADERS
|
||||
# include <stdlib.h>
|
||||
#endif
|
||||
@@ -134,9 +133,7 @@ main ()
|
||||
CMP ("%z", "+0000"); /* GNU */
|
||||
|
||||
exit (n_fail ? 1 : 0);
|
||||
}
|
||||
>>,
|
||||
changequote([, ])dnl
|
||||
}],
|
||||
jm_cv_func_working_gnu_strftime=yes,
|
||||
jm_cv_func_working_gnu_strftime=no,
|
||||
dnl When crosscompiling, assume strftime is missing or broken.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
chgrp \- change group ownership
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
dircolors \- color setup for ls
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
2
man/du.x
2
man/du.x
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
du \- estimate file space usage
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
2
man/ln.x
2
man/ln.x
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
ln \- make links between files
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
2
man/ls.x
2
man/ls.x
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
ls \- list directory contents
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
mkdir \- make directories
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
mkfifo \- make FIFOs (named pipes)
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
mknod \- make block or character special files
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
2
man/mv.x
2
man/mv.x
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
mv \- move (rename) files
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
rmdir \- remove empty directories
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
shred \- delete a file securely, first overwriting it to hide its contents
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
sync \- flush filesystem buffers
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
touch \- change file timestamps
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
[NAME]
|
||||
vdir \- list directory contents
|
||||
[DESCRIPTION]
|
||||
." Add any additional description here
|
||||
.\" Add any additional description here
|
||||
|
||||
@@ -1,3 +1,108 @@
|
||||
2000-02-27 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* Version 4.0q.
|
||||
|
||||
* src/sys2.h: Guard declaration of strtoull also with
|
||||
`&& HAVE_UNSIGNED_LONG_LONG'.
|
||||
|
||||
* src/sys2.h: Use `#if !HAVE_DECL...' instead of `#ifndef HAVE_DECL...'
|
||||
now that autoconf always defines the HAVE_DECL_ symbols.
|
||||
|
||||
* src/install.c (install_file_to_path): Always use install_file_in_file.
|
||||
Based on a patch from Adam Klein via Michael Stone.
|
||||
|
||||
* tests/install/Makefile.am (TESTS): Add create-leading.
|
||||
* tests/install/create-leading: New file.
|
||||
|
||||
* tests/install/basic-1: Clean up.
|
||||
* tests/install/Makefile.am (TESTS_ENVIRONMENT): Add PATH. Remove cruft.
|
||||
|
||||
2000-02-26 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
Tranform the generated src/Makefile.in file so it falls back on
|
||||
using /bin/rm when necessary. The old rule didn't always work.
|
||||
This is necessary only on certain losing systems, and because this
|
||||
package builds an `rm' executable and some people put `.' too
|
||||
early in their PATH.
|
||||
* Makefile.am (DISTCLEANFILES): Remove .deps and `FIXME' comment.
|
||||
(EXTRA_DIST): Add .kludge-stamp.
|
||||
(.kludge-stamp): New rule.
|
||||
* src/Makefile.am (AUTOMAKE): Remove definition.
|
||||
(Makefile.in): Remove dependency on automake-wrap script.
|
||||
(EXTRA_DIST): Remove automake-wrap.
|
||||
* src/automake-wrap: Remove file.
|
||||
|
||||
* tests/rm/r-2: Don't make the success of the test depend on the
|
||||
order in which directory entries are processed.
|
||||
Reported by Andreas Schwab.
|
||||
|
||||
2000-02-12 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* po/POTFILES.in: Add lib/userspec.c.
|
||||
|
||||
* doc/fileutils.texi (chown invocation): Deprecate use of `.'.
|
||||
|
||||
* src/chown.c (usage): Mention only `:', and not `.' as the separator,
|
||||
since POSIX allows only the former.
|
||||
Prompted by a report from Manas Garg.
|
||||
|
||||
2000-02-11 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* src/df.c (main): Count the stat'able arguments.
|
||||
Print the header line only if there is at least one valid argument.
|
||||
Reported by Andy Longton <alongton@metamark.com>
|
||||
|
||||
2000-02-10 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
Make du work when invoked from an unreadable directory.
|
||||
|
||||
* src/du.c (pop_dir): New function.
|
||||
(count_entry): Factor out common code (pop_dir), and call the new
|
||||
function instead.
|
||||
Move declaration of global, `stat_buf' into this function.
|
||||
(du_files): Don't stat `.' or call save_cwd, since count_entry
|
||||
never returns with a changed working directory.
|
||||
|
||||
2000-02-09 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* tests/mv/mv-special-1: Use $null and $dir in place of literals
|
||||
in `here' script.
|
||||
Exit 77 if we can't set up the framework (Volker Borchert reported
|
||||
that this test would fail because mknod failed when run on SunOS4.1.4
|
||||
using NFS-mounted disk from an OpenBSD system).
|
||||
|
||||
2000-02-05 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* src/copy.c (copy_internal): Don't allow mv to move a directory onto
|
||||
a non-directory. Reported by Brian Kimball via Michael Stone.
|
||||
|
||||
2000-02-03 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* tests/mv/Makefile.am (TESTS): Add dir-file.
|
||||
(TESTS_ENVIRONMENT): Remove vestiges of old tests.
|
||||
* tests/mv/dir-file: New file.
|
||||
|
||||
2000-02-02 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* tests/touch/Makefile.am (TESTS): Add fifo.
|
||||
* tests/touch/fifo (fail): New file.
|
||||
|
||||
2000-02-01 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* src/touch.c (O_NDELAY): Define to 0 if not defined.
|
||||
(O_NONBLOCK): Define to O_NDELAY if not defined.
|
||||
(touch): Open with O_NONBLOCK, so one can touch a fifo without hanging.
|
||||
Reported by Eric G. Miller via Michael Stone.
|
||||
|
||||
* man/*.x: Change ." to .\".
|
||||
Reported by Andreas Schwab and Brendan O'Dea.
|
||||
|
||||
2000-01-31 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* man/Makefile.maint (ginstall_filter): Define.
|
||||
($(man_MANS)): Use it here so that the install.1 man page refers
|
||||
to `install', not `ginstall'. Reported by Andreas Schwab.
|
||||
|
||||
2000-01-30 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* Version 4.0p.
|
||||
|
||||
@@ -1,4 +1,15 @@
|
||||
Changes in release 4.1:
|
||||
[4.0q]
|
||||
* install -D bug is fixed
|
||||
* chown now works properly when the specified login name contains a period
|
||||
This is at the expense of always looking up the entire USER.GROUP string
|
||||
as a login name first, and only then (upon failure) interpreting the `.'
|
||||
as a separator and looking up `USER'. To avoid the extra getpwnam call,
|
||||
always use the POSIX-mandated `:' character as the separator.
|
||||
* `du some-other-dir' no longer fails if it can't open the current directory
|
||||
* `mv DIR EXISTING-FILE' no longer removes EXISTING-FILE. Now it gets an error
|
||||
as POSIX says it must.
|
||||
* touch no longer hangs on fifos
|
||||
[4.0p]
|
||||
* various tools: quote multibyte characters correctly in diagnostics
|
||||
* mv: portability fix for alpha
|
||||
|
||||
@@ -1,3 +1,37 @@
|
||||
2000-02-22 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* tests/date/Test.pm (datevtime-1): New test.
|
||||
From John Kendall.
|
||||
|
||||
2000-02-15 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* man/Makefile.maint ($(man_MANS)): Remove $@-t1.
|
||||
|
||||
2000-02-13 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* tests/Fetish.pm (run_tests): Discard stderr.
|
||||
Reverse diff args, so `expected' is last, as in mk-script.
|
||||
|
||||
2000-02-12 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* tests/mk-script: Invoke `diff' when differences are found.
|
||||
* tests/Fetish.pm (run_tests): Likewise.
|
||||
|
||||
2000-02-09 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* src/su.c (correct_password): Correct HAVE_STRUCT_* name in #if guard
|
||||
to go along with corrected autoconf test: Reported by Gaël Quéri.
|
||||
|
||||
2000-02-05 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* Version 2.0f.
|
||||
|
||||
* src/who.c: Use UT_USER in place of hard-coded `->ut_name' here, too.
|
||||
* src/pinky.c: Likewise.
|
||||
Reported by Tom Tromey and Andreas Schwab.
|
||||
* src/uptime.c (print_uptime): Likewise.
|
||||
* src/users.c (list_entries_users): Likewise.
|
||||
|
||||
2000-01-30 Jim Meyering <meyering@lucent.com>
|
||||
|
||||
* Version 2.0e.
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
Changes in release 2.1
|
||||
[2.0f]
|
||||
* fix build problems with ut_name vs. ut_user
|
||||
[2.0e]
|
||||
* stty: fix long-standing bug that caused test failures on at least HPUX
|
||||
systems when COLUMNS was set to zero
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
Changes in release 2.1
|
||||
[2.0e]
|
||||
* configure and portability changes in m4/ and lib/
|
||||
[2.0d]
|
||||
* preliminary sort performance improvements
|
||||
* tsort now works more like the traditional UNIX tsort. Before it would
|
||||
|
||||
10
src/chown.c
10
src/chown.c
@@ -1,5 +1,5 @@
|
||||
/* chown -- change user and group ownership of files
|
||||
Copyright (C) 89, 90, 91, 1995-1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 89, 90, 91, 1995-2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -295,8 +295,8 @@ usage (int status)
|
||||
else
|
||||
{
|
||||
printf (_("\
|
||||
Usage: %s [OPTION]... OWNER[.[GROUP]] FILE...\n\
|
||||
or: %s [OPTION]... .GROUP FILE...\n\
|
||||
Usage: %s [OPTION]... OWNER[:[GROUP]] FILE...\n\
|
||||
or: %s [OPTION]... :GROUP FILE...\n\
|
||||
or: %s [OPTION]... --reference=RFILE FILE...\n\
|
||||
"),
|
||||
program_name, program_name, program_name);
|
||||
@@ -311,14 +311,14 @@ Change the owner and/or group of each FILE to OWNER and/or GROUP.\n\
|
||||
ownership of a symlink)\n\
|
||||
-f, --silent, --quiet suppress most error messages\n\
|
||||
--reference=RFILE use RFILE's owner and group rather than\n\
|
||||
the specified OWNER.GROUP values\n\
|
||||
the specified OWNER:GROUP values\n\
|
||||
-R, --recursive operate on files and directories recursively\n\
|
||||
-v, --verbose output a diagnostic for every file processed\n\
|
||||
--help display this help and exit\n\
|
||||
--version output version information and exit\n\
|
||||
\n\
|
||||
Owner is unchanged if missing. Group is unchanged if missing, but changed\n\
|
||||
to login group if implied by a period. A colon may replace the period.\n\
|
||||
to login group if implied by a `:'.\n\
|
||||
"));
|
||||
puts (_("\nReport bugs to <bug-fileutils@gnu.org>."));
|
||||
close_stdout ();
|
||||
|
||||
20
src/copy.c
20
src/copy.c
@@ -507,11 +507,23 @@ copy_internal (const char *src_path, const char *dst_path,
|
||||
return (move_mode ? 1 : 0);
|
||||
}
|
||||
|
||||
/* In move_mode, DEST may not be an existing directory. */
|
||||
if (move_mode && S_ISDIR (dst_sb.st_mode))
|
||||
if (move_mode)
|
||||
{
|
||||
error (0, 0, _("%s: cannot overwrite directory"), dst_path);
|
||||
return 1;
|
||||
/* In move_mode, DEST may not be an existing directory. */
|
||||
if (S_ISDIR (dst_sb.st_mode))
|
||||
{
|
||||
error (0, 0, _("%s: cannot overwrite directory"), dst_path);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* Don't allow user to move a directory onto a non-directory. */
|
||||
if (S_ISDIR (src_sb.st_mode) && !S_ISDIR (dst_sb.st_mode))
|
||||
{
|
||||
error (0, 0,
|
||||
_("cannot move directory onto non-directory: %s -> %s"),
|
||||
src_path, dst_path);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (x->backup_type != none && !S_ISDIR (dst_sb.st_mode))
|
||||
|
||||
23
src/df.c
23
src/df.c
@@ -762,6 +762,7 @@ main (int argc, char **argv)
|
||||
{
|
||||
int c;
|
||||
struct stat *stats IF_LINT (= 0);
|
||||
int n_valid_args = 0;
|
||||
|
||||
program_name = argv[0];
|
||||
setlocale (LC_ALL, "");
|
||||
@@ -877,12 +878,18 @@ main (int argc, char **argv)
|
||||
stats = (struct stat *)
|
||||
xmalloc ((argc - optind) * sizeof (struct stat));
|
||||
for (i = optind; i < argc; ++i)
|
||||
if (stat (argv[i], &stats[i - optind]))
|
||||
{
|
||||
error (0, errno, "%s", argv[i]);
|
||||
exit_status = 1;
|
||||
argv[i] = NULL;
|
||||
}
|
||||
{
|
||||
if (stat (argv[i], &stats[i - optind]))
|
||||
{
|
||||
error (0, errno, "%s", argv[i]);
|
||||
exit_status = 1;
|
||||
argv[i] = NULL;
|
||||
}
|
||||
else
|
||||
{
|
||||
++n_valid_args;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mount_list =
|
||||
@@ -917,7 +924,9 @@ main (int argc, char **argv)
|
||||
/* Display explicitly requested empty filesystems. */
|
||||
show_listed_fs = 1;
|
||||
|
||||
print_header ();
|
||||
if (n_valid_args > 0)
|
||||
print_header ();
|
||||
|
||||
for (i = optind; i < argc; ++i)
|
||||
if (argv[i])
|
||||
show_entry (argv[i], &stats[i - optind]);
|
||||
|
||||
73
src/du.c
73
src/du.c
@@ -145,9 +145,6 @@ static String *path;
|
||||
/* Pointer to hash structure, used by the hash routines. */
|
||||
static struct htab *htab;
|
||||
|
||||
/* Globally used stat buffer. */
|
||||
static struct stat stat_buf;
|
||||
|
||||
/* A pointer to either lstat or stat, depending on whether
|
||||
dereferencing of all symbolic links is to be done. */
|
||||
static int (*xstat) ();
|
||||
@@ -457,17 +454,41 @@ hash_insert (ino_t ino, dev_t dev)
|
||||
return hash_insert2 (htab_r, ino, dev);
|
||||
}
|
||||
|
||||
/* Restore the previous working directory or exit.
|
||||
If THROUGH_SYMLINK is non-zero, simply call `chdir ("..")'. Otherwise,
|
||||
use CWD and free it. CURR_DIR_NAME is the name of the current directory
|
||||
and is used solely in failure diagnostics. */
|
||||
|
||||
static void
|
||||
pop_dir (int through_symlink, struct saved_cwd *cwd, const char *curr_dir_name)
|
||||
{
|
||||
if (through_symlink)
|
||||
{
|
||||
if (restore_cwd (cwd, "..", curr_dir_name))
|
||||
exit (1);
|
||||
free_cwd (cwd);
|
||||
}
|
||||
else if (chdir ("..") < 0)
|
||||
{
|
||||
error (1, errno, _("cannot change to `..' from directory %s"),
|
||||
curr_dir_name);
|
||||
}
|
||||
}
|
||||
|
||||
/* Print (if appropriate) the size (in units determined by `output_block_size')
|
||||
of file or directory ENT. Return the size of ENT in units of 512-byte
|
||||
blocks. TOP is one for external calls, zero for recursive calls.
|
||||
LAST_DEV is the device that the parent directory of ENT is on.
|
||||
DEPTH is the number of levels (in hierarchy) down from a command
|
||||
line argument. Don't print if DEPTH > max_depth. */
|
||||
line argument. Don't print if DEPTH > max_depth.
|
||||
An important invariant is that when this function returns, the current
|
||||
working directory is the same as when it was called. */
|
||||
|
||||
static uintmax_t
|
||||
count_entry (const char *ent, int top, dev_t last_dev, int depth)
|
||||
{
|
||||
uintmax_t size;
|
||||
struct stat stat_buf;
|
||||
|
||||
if (((top && opt_dereference_arguments)
|
||||
? stat (ent, &stat_buf)
|
||||
@@ -527,15 +548,7 @@ count_entry (const char *ent, int top, dev_t last_dev, int depth)
|
||||
if (errno)
|
||||
{
|
||||
error (0, errno, "%s", path->text);
|
||||
if (through_symlink)
|
||||
{
|
||||
if (restore_cwd (&cwd, "..", path->text))
|
||||
exit (1);
|
||||
free_cwd (&cwd);
|
||||
}
|
||||
else if (chdir ("..") < 0)
|
||||
error (1, errno, _("cannot change to `..' from directory %s"),
|
||||
path->text);
|
||||
pop_dir (through_symlink, &cwd, path->text);
|
||||
exit_status = 1;
|
||||
return 0;
|
||||
}
|
||||
@@ -559,16 +572,7 @@ count_entry (const char *ent, int top, dev_t last_dev, int depth)
|
||||
}
|
||||
|
||||
free (name_space);
|
||||
if (through_symlink)
|
||||
{
|
||||
restore_cwd (&cwd, "..", path->text);
|
||||
free_cwd (&cwd);
|
||||
}
|
||||
else if (chdir ("..") < 0)
|
||||
{
|
||||
error (1, errno,
|
||||
_("cannot change to `..' from directory %s"), path->text);
|
||||
}
|
||||
pop_dir (through_symlink, &cwd, path->text);
|
||||
|
||||
str_trunc (path, pathlen - 1); /* Remove the "/" we added. */
|
||||
if (depth <= max_depth || top)
|
||||
@@ -592,20 +596,8 @@ count_entry (const char *ent, int top, dev_t last_dev, int depth)
|
||||
static void
|
||||
du_files (char **files)
|
||||
{
|
||||
struct saved_cwd cwd;
|
||||
ino_t initial_ino; /* Initial directory's inode. */
|
||||
dev_t initial_dev; /* Initial directory's device. */
|
||||
int i; /* Index in FILES. */
|
||||
|
||||
if (save_cwd (&cwd))
|
||||
exit (1);
|
||||
|
||||
/* Remember the inode and device number of the current directory. */
|
||||
if (stat (".", &stat_buf))
|
||||
error (1, errno, _("current directory"));
|
||||
initial_ino = stat_buf.st_ino;
|
||||
initial_dev = stat_buf.st_dev;
|
||||
|
||||
for (i = 0; files[i]; i++)
|
||||
{
|
||||
char *arg;
|
||||
@@ -631,21 +623,10 @@ du_files (char **files)
|
||||
hash_reset ();
|
||||
|
||||
count_entry (arg, 1, 0, 0);
|
||||
|
||||
/* chdir if `count_entry' has changed the working directory. */
|
||||
if (stat (".", &stat_buf))
|
||||
error (1, errno, ".");
|
||||
if (stat_buf.st_ino != initial_ino || stat_buf.st_dev != initial_dev)
|
||||
{
|
||||
if (restore_cwd (&cwd, _("starting directory"), NULL))
|
||||
exit (1);
|
||||
}
|
||||
}
|
||||
|
||||
if (opt_combined_arguments)
|
||||
print_size (tot_size, _("total"));
|
||||
|
||||
free_cwd (&cwd);
|
||||
}
|
||||
|
||||
int
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* install - copy files and set attributes
|
||||
Copyright (C) 89, 90, 91, 1995-1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 89, 90, 91, 1995-2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -393,7 +393,7 @@ install_file_to_path (const char *from, const char *to,
|
||||
const struct cp_options *x)
|
||||
{
|
||||
char *dest_dir;
|
||||
int fail;
|
||||
int fail = 0;
|
||||
|
||||
dest_dir = dir_name (to);
|
||||
|
||||
@@ -408,14 +408,10 @@ install_file_to_path (const char *from, const char *to,
|
||||
#define DIR_MODE (S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH)
|
||||
fail = make_path (dest_dir, DIR_MODE, DIR_MODE, owner_id, group_id, 0,
|
||||
(x->verbose ? _("creating directory `%s'") : NULL));
|
||||
}
|
||||
|
||||
if (fail == 0)
|
||||
fail = install_file_in_dir (from, dest_dir, x);
|
||||
}
|
||||
else
|
||||
{
|
||||
fail = install_file_in_file (from, to, x);
|
||||
}
|
||||
if (fail == 0)
|
||||
fail = install_file_in_file (from, to, x);
|
||||
|
||||
free (dest_dir);
|
||||
|
||||
|
||||
16
src/pinky.c
16
src/pinky.c
@@ -1,5 +1,5 @@
|
||||
/* GNU's pinky.
|
||||
Copyright (C) 1992-1997, 1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1992-1997, 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -199,15 +199,15 @@ print_entry (const STRUCT_UTMP *utmp_ent)
|
||||
last_change = 0;
|
||||
}
|
||||
|
||||
printf ("%-8.*s", (int) sizeof (utmp_ent->ut_name), utmp_ent->ut_name);
|
||||
printf ("%-8.*s", (int) sizeof (UT_USER (utmp_ent)), UT_USER (utmp_ent));
|
||||
|
||||
if (include_fullname)
|
||||
{
|
||||
struct passwd *pw;
|
||||
char name[sizeof (utmp_ent->ut_name) + 1];
|
||||
char name[sizeof (UT_USER (utmp_ent)) + 1];
|
||||
|
||||
strncpy (name, utmp_ent->ut_name, sizeof (utmp_ent->ut_name));
|
||||
name[sizeof (utmp_ent->ut_name)] = '\0';
|
||||
strncpy (name, UT_USER (utmp_ent), sizeof (UT_USER (utmp_ent)));
|
||||
name[sizeof (UT_USER (utmp_ent))] = '\0';
|
||||
pw = getpwnam (name);
|
||||
if (pw == NULL)
|
||||
printf (" %19s", " ???");
|
||||
@@ -405,7 +405,7 @@ scan_entries (int n, const STRUCT_UTMP *utmp_buf,
|
||||
|
||||
while (n--)
|
||||
{
|
||||
if (utmp_buf->ut_name[0]
|
||||
if (UT_USER (utmp_buf)[0]
|
||||
#ifdef USER_PROCESS
|
||||
&& utmp_buf->ut_type == USER_PROCESS
|
||||
#endif
|
||||
@@ -416,8 +416,8 @@ scan_entries (int n, const STRUCT_UTMP *utmp_buf,
|
||||
int i;
|
||||
|
||||
for (i = 0; i < argc_names; i++)
|
||||
if (strncmp (utmp_buf->ut_name, argv_names[i],
|
||||
sizeof (utmp_buf->ut_name)) == 0)
|
||||
if (strncmp (UT_USER (utmp_buf), argv_names[i],
|
||||
sizeof (UT_USER (utmp_buf))) == 0)
|
||||
{
|
||||
print_entry (utmp_buf);
|
||||
break;
|
||||
|
||||
2
src/su.c
2
src/su.c
@@ -275,7 +275,7 @@ static int
|
||||
correct_password (const struct passwd *pw)
|
||||
{
|
||||
char *unencrypted, *encrypted, *correct;
|
||||
#if HAVE_GETSPNAM && HAVE_STRUCT_PASSWD_SP_PWDP
|
||||
#if HAVE_GETSPNAM && HAVE_STRUCT_SPWD_SP_PWDP
|
||||
/* Shadow passwd stuff for SVR3 and maybe other systems. */
|
||||
struct spwd *sp = getspnam (pw->pw_name);
|
||||
|
||||
|
||||
20
src/sys2.h
20
src/sys2.h
@@ -261,47 +261,47 @@ char *alloca ();
|
||||
|
||||
#define STREQ(a, b) (strcmp ((a), (b)) == 0)
|
||||
|
||||
#ifndef HAVE_DECL_FREE
|
||||
#if !HAVE_DECL_FREE
|
||||
void free ();
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_MALLOC
|
||||
#if !HAVE_DECL_MALLOC
|
||||
char *malloc ();
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_MEMCHR
|
||||
#if !HAVE_DECL_MEMCHR
|
||||
char *memchr ();
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_REALLOC
|
||||
#if !HAVE_DECL_REALLOC
|
||||
char *realloc ();
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_STPCPY
|
||||
#if !HAVE_DECL_STPCPY
|
||||
# ifndef stpcpy
|
||||
char *stpcpy ();
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_STRSTR
|
||||
#if !HAVE_DECL_STRSTR
|
||||
char *strstr ();
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_GETENV
|
||||
#if !HAVE_DECL_GETENV
|
||||
char *getenv ();
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_DECL_LSEEK
|
||||
#if !HAVE_DECL_LSEEK
|
||||
off_t lseek ();
|
||||
#endif
|
||||
|
||||
/* This is needed on some AIX systems. */
|
||||
#ifndef HAVE_DECL_STRTOUL
|
||||
#if !HAVE_DECL_STRTOUL
|
||||
unsigned long strtoul ();
|
||||
#endif
|
||||
|
||||
/* This is needed on some AIX systems. */
|
||||
#ifndef HAVE_DECL_STRTOULL
|
||||
#if !HAVE_DECL_STRTOULL && HAVE_UNSIGNED_LONG_LONG
|
||||
unsigned long long strtoull ();
|
||||
#endif
|
||||
|
||||
|
||||
12
src/touch.c
12
src/touch.c
@@ -1,5 +1,5 @@
|
||||
/* touch -- change modification and access times of files
|
||||
Copyright (C) 87, 1989-1991, 1995-1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 87, 1989-1991, 1995-2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -44,6 +44,14 @@ time_t time ();
|
||||
#define CH_ATIME 1
|
||||
#define CH_MTIME 2
|
||||
|
||||
#if !defined O_NDELAY
|
||||
# define O_NDELAY 0
|
||||
#endif
|
||||
|
||||
#if !defined O_NONBLOCK
|
||||
# define O_NONBLOCK O_NDELAY
|
||||
#endif
|
||||
|
||||
/* The name by which this program was run. */
|
||||
char *program_name;
|
||||
|
||||
@@ -123,7 +131,7 @@ touch (const char *file)
|
||||
if (! no_create)
|
||||
{
|
||||
/* Try to open FILE, creating it if necessary. */
|
||||
fd = open (file, O_WRONLY | O_CREAT,
|
||||
fd = open (file, O_WRONLY | O_CREAT | O_NONBLOCK,
|
||||
S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH);
|
||||
if (fd == -1)
|
||||
open_errno = errno;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* GNU's uptime.
|
||||
Copyright (C) 1992-1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1992-2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -79,7 +79,7 @@ print_uptime (int n, const STRUCT_UTMP *this)
|
||||
ones, also in the process possibly gleaning boottime. */
|
||||
while (n--)
|
||||
{
|
||||
if (this->ut_name[0]
|
||||
if (UT_USER (this) [0]
|
||||
#ifdef USER_PROCESS
|
||||
&& this->ut_type == USER_PROCESS
|
||||
#endif
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/* GNU's users.
|
||||
Copyright (C) 1992-1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1992-2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -58,7 +58,7 @@ list_entries_users (int n, const STRUCT_UTMP *this)
|
||||
u = (char **) xmalloc (n * sizeof (u[0]));
|
||||
for (i = 0; i < n; i++)
|
||||
{
|
||||
if (this->ut_name[0]
|
||||
if (UT_USER (this) [0]
|
||||
#ifdef USER_PROCESS
|
||||
&& this->ut_type == USER_PROCESS
|
||||
#endif
|
||||
|
||||
10
src/who.c
10
src/who.c
@@ -1,5 +1,5 @@
|
||||
/* GNU's who.
|
||||
Copyright (C) 1992-1999 Free Software Foundation, Inc.
|
||||
Copyright (C) 1992-2000 Free Software Foundation, Inc.
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@@ -153,7 +153,7 @@ print_entry (const STRUCT_UTMP *utmp_ent)
|
||||
last_change = 0;
|
||||
}
|
||||
|
||||
printf ("%-8.*s", (int) sizeof (utmp_ent->ut_name), utmp_ent->ut_name);
|
||||
printf ("%-8.*s", (int) sizeof (UT_USER (utmp_ent)), UT_USER (utmp_ent));
|
||||
if (include_mesg)
|
||||
printf (" %c ", mesg);
|
||||
printf (" %-8.*s", (int) sizeof (utmp_ent->ut_line), utmp_ent->ut_line);
|
||||
@@ -219,7 +219,7 @@ list_entries_who (int n, const STRUCT_UTMP *utmp_buf)
|
||||
entries = 0;
|
||||
while (n--)
|
||||
{
|
||||
if (utmp_buf->ut_name[0]
|
||||
if (UT_USER (utmp_buf)[0]
|
||||
#ifdef USER_PROCESS
|
||||
&& utmp_buf->ut_type == USER_PROCESS
|
||||
#endif
|
||||
@@ -261,7 +261,7 @@ scan_entries (int n, const STRUCT_UTMP *utmp_buf)
|
||||
|
||||
while (n--)
|
||||
{
|
||||
if (utmp_buf->ut_name[0]
|
||||
if (UT_USER (utmp_buf)[0]
|
||||
#ifdef USER_PROCESS
|
||||
&& utmp_buf->ut_type == USER_PROCESS
|
||||
#endif
|
||||
@@ -299,7 +299,7 @@ search_entries (int n, const STRUCT_UTMP *utmp_buf, const char *line)
|
||||
{
|
||||
while (n--)
|
||||
{
|
||||
if (utmp_buf->ut_name[0]
|
||||
if (UT_USER (utmp_buf)[0]
|
||||
#ifdef USER_PROCESS
|
||||
&& utmp_buf->ut_type == USER_PROCESS
|
||||
#endif
|
||||
|
||||
@@ -12,7 +12,7 @@ use FileHandle;
|
||||
use File::Compare qw(compare);
|
||||
|
||||
@ISA = qw(Exporter);
|
||||
($VERSION = '$Revision: 1.6 $ ') =~ tr/[0-9].//cd;
|
||||
($VERSION = '$Revision: 1.8 $ ') =~ tr/[0-9].//cd;
|
||||
@EXPORT = qw (run_tests);
|
||||
|
||||
my $debug = $ENV{DEBUG};
|
||||
@@ -271,7 +271,10 @@ sub run_tests ($$$$$)
|
||||
if (compare ($expect->{$eo}, $tmp{$eo}))
|
||||
{
|
||||
warn "$program_name: test $test_name: std$eo_lower mismatch,"
|
||||
. " comparing $expect->{$eo} and $tmp{$eo}\n";
|
||||
. " comparing $tmp{$eo} (actual)"
|
||||
. " and $expect->{$eo} (expected)\n";
|
||||
# Ignore any failure, discard stderr.
|
||||
system "diff -c $tmp{$eo} $expect->{$eo} 2>/dev/null";
|
||||
$fail = 1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
1982
tests/cut/cut-tests
1982
tests/cut/cut-tests
File diff suppressed because it is too large
Load Diff
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -116,6 +116,8 @@ sub test_vector
|
||||
['regress-1', "-u -d '1996-11-10 0:00:00 +0' $fmt", {},
|
||||
"1996-11-10 00:00:00", 0],
|
||||
|
||||
['datevtime-1', "-d 000909 $fmt", {}, "2000-09-09 00:00:00", 0],
|
||||
|
||||
# FIXME: add a lot more...
|
||||
);
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
## Process this file with automake to produce Makefile.in -*-Makefile-*-.
|
||||
AUTOMAKE_OPTIONS = 1.3 gnits
|
||||
|
||||
TESTS = basic-1
|
||||
TESTS = basic-1 create-leading
|
||||
EXTRA_DIST = $(TESTS)
|
||||
TESTS_ENVIRONMENT = \
|
||||
INSTALL=../../src/ginstall \
|
||||
LS=../../src/ls \
|
||||
MKDIR=../../src/mkdir \
|
||||
RM=../../src/rm
|
||||
PATH=`pwd`/../../src:$$PATH
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
@@ -110,13 +113,10 @@ l = @l@
|
||||
|
||||
AUTOMAKE_OPTIONS = 1.3 gnits
|
||||
|
||||
TESTS = basic-1
|
||||
TESTS = basic-1 create-leading
|
||||
EXTRA_DIST = $(TESTS)
|
||||
TESTS_ENVIRONMENT = \
|
||||
INSTALL=../../src/ginstall \
|
||||
LS=../../src/ls \
|
||||
MKDIR=../../src/mkdir \
|
||||
RM=../../src/rm
|
||||
PATH=`pwd`/../../src:$$PATH
|
||||
|
||||
subdir = tests/install
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
|
||||
@@ -1,17 +1,12 @@
|
||||
#! /bin/sh
|
||||
|
||||
: ${MKDIR=mkdir}
|
||||
: ${RM=rm}
|
||||
: ${INSTALL=install}
|
||||
: ${LS=ls}
|
||||
|
||||
dir=dir
|
||||
file=file
|
||||
|
||||
framework_failure=0
|
||||
|
||||
$RM -rf $dir $file || framework_failure=1
|
||||
$MKDIR -p $dir || framework_failure=1
|
||||
rm -rf $dir $file || framework_failure=1
|
||||
mkdir -p $dir || framework_failure=1
|
||||
echo foo > $file || framework_failure=1
|
||||
|
||||
if test $framework_failure = 1; then
|
||||
@@ -20,7 +15,7 @@ if test $framework_failure = 1; then
|
||||
fi
|
||||
|
||||
fail=0
|
||||
$INSTALL $file $dir || fail=1
|
||||
install $file $dir || fail=1
|
||||
# Make sure the source file still exists.
|
||||
test -f $file || fail=1
|
||||
# Make sure the dest file has been created.
|
||||
@@ -28,15 +23,15 @@ test -f $dir/$file || fail=1
|
||||
|
||||
# This test would fail with 3.16s when using versions of strip that
|
||||
# don't work on read-only files (the one from binutils works fine).
|
||||
$INSTALL -s -c -m 555 ../../src/dd $dir || fail=1
|
||||
install -s -c -m 555 ../../src/dd $dir || fail=1
|
||||
# Make sure the dest file has been created.
|
||||
test -f $dir/dd || fail=1
|
||||
|
||||
# ...and that the permissions are as requested.
|
||||
set X `$LS -l $dir/dd`
|
||||
set X `ls -l $dir/dd`
|
||||
shift
|
||||
test "$1" = -r-xr-xr-x || fail=1
|
||||
|
||||
$RM -rf $dir $file
|
||||
rm -rf $dir $file
|
||||
|
||||
exit $fail
|
||||
|
||||
43
tests/install/create-leading
Executable file
43
tests/install/create-leading
Executable file
@@ -0,0 +1,43 @@
|
||||
#! /bin/sh
|
||||
# Test -D option.
|
||||
# Note that the tests below use `ginstall', not install, because
|
||||
# that's the name of the binary in ../../src.
|
||||
|
||||
if test "$VERBOSE" = yes; then
|
||||
set -x
|
||||
ginstall --version
|
||||
fi
|
||||
|
||||
pwd=`pwd`
|
||||
dir=install-D$$
|
||||
|
||||
trap "cd $pwd; rm -rf $dir" 0 1 2 3 15
|
||||
|
||||
mkdir $dir
|
||||
unset VERSION_CONTROL SIMPLE_BACKUP_SUFFIX
|
||||
|
||||
if test "${VERSION_CONTROL+set}" = set; then
|
||||
echo '$0: the VERSION_CONTROL envvar is set --' \
|
||||
' unset it and rerun this test' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test "${SIMPLE_BACKUP_SUFFIX+set}" = set; then
|
||||
echo '$0: the SIMPLE_BACKUP_SUFFIX envvar is set --' \
|
||||
' unset it and rerun this test' >&2
|
||||
>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
fail=0
|
||||
cd $dir
|
||||
file=file
|
||||
echo foo > $file
|
||||
|
||||
# Before 4.0q, this would mistakenly create $file, not `dest'
|
||||
# in no-dir1/no-dir2/.
|
||||
ginstall -D $file no-dir1/no-dir2/dest || fail=1
|
||||
test -d no-dir1/no-dir2 || fail=1
|
||||
test -r no-dir1/no-dir2/dest || fail=1
|
||||
|
||||
exit $fail
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -20,634 +20,671 @@ export LANG
|
||||
|
||||
$xx -a1 $srcdir/1a.I1 $srcdir/1a.I2 > 1a.O 2> 1a.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 1a failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 1a.O $srcdir/1a.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 1a"; fi ;;
|
||||
1) $echo "Test 1a failed: files 1a.O and $srcdir/1a.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 1a may have failed." 1>&2;
|
||||
$echo The command "cmp 1a.O $srcdir/1a.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 1a"; fi;;
|
||||
1) $echo "Test 1a failed: files 1a.O and $srcdir/1a.X differ" 1>&2
|
||||
(diff -c 1a.O $srcdir/1a.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 1a may have failed." 1>&2
|
||||
$echo The command "cmp 1a.O $srcdir/1a.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 1a.E || rm -f 1a.E
|
||||
$xx -a2 $srcdir/1b.I1 $srcdir/1b.I2 > 1b.O 2> 1b.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 1b failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 1b.O $srcdir/1b.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 1b"; fi ;;
|
||||
1) $echo "Test 1b failed: files 1b.O and $srcdir/1b.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 1b may have failed." 1>&2;
|
||||
$echo The command "cmp 1b.O $srcdir/1b.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 1b"; fi;;
|
||||
1) $echo "Test 1b failed: files 1b.O and $srcdir/1b.X differ" 1>&2
|
||||
(diff -c 1b.O $srcdir/1b.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 1b may have failed." 1>&2
|
||||
$echo The command "cmp 1b.O $srcdir/1b.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 1b.E || rm -f 1b.E
|
||||
$xx -a1 -a2 $srcdir/1c.I1 $srcdir/1c.I2 > 1c.O 2> 1c.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 1c failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 1c.O $srcdir/1c.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 1c"; fi ;;
|
||||
1) $echo "Test 1c failed: files 1c.O and $srcdir/1c.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 1c may have failed." 1>&2;
|
||||
$echo The command "cmp 1c.O $srcdir/1c.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 1c"; fi;;
|
||||
1) $echo "Test 1c failed: files 1c.O and $srcdir/1c.X differ" 1>&2
|
||||
(diff -c 1c.O $srcdir/1c.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 1c may have failed." 1>&2
|
||||
$echo The command "cmp 1c.O $srcdir/1c.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 1c.E || rm -f 1c.E
|
||||
$xx -a1 $srcdir/1d.I1 $srcdir/1d.I2 > 1d.O 2> 1d.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 1d failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 1d.O $srcdir/1d.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 1d"; fi ;;
|
||||
1) $echo "Test 1d failed: files 1d.O and $srcdir/1d.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 1d may have failed." 1>&2;
|
||||
$echo The command "cmp 1d.O $srcdir/1d.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 1d"; fi;;
|
||||
1) $echo "Test 1d failed: files 1d.O and $srcdir/1d.X differ" 1>&2
|
||||
(diff -c 1d.O $srcdir/1d.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 1d may have failed." 1>&2
|
||||
$echo The command "cmp 1d.O $srcdir/1d.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 1d.E || rm -f 1d.E
|
||||
$xx -a2 $srcdir/1e.I1 $srcdir/1e.I2 > 1e.O 2> 1e.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 1e failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 1e.O $srcdir/1e.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 1e"; fi ;;
|
||||
1) $echo "Test 1e failed: files 1e.O and $srcdir/1e.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 1e may have failed." 1>&2;
|
||||
$echo The command "cmp 1e.O $srcdir/1e.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 1e"; fi;;
|
||||
1) $echo "Test 1e failed: files 1e.O and $srcdir/1e.X differ" 1>&2
|
||||
(diff -c 1e.O $srcdir/1e.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 1e may have failed." 1>&2
|
||||
$echo The command "cmp 1e.O $srcdir/1e.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 1e.E || rm -f 1e.E
|
||||
$xx -a2 $srcdir/1f.I1 $srcdir/1f.I2 > 1f.O 2> 1f.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 1f failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 1f.O $srcdir/1f.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 1f"; fi ;;
|
||||
1) $echo "Test 1f failed: files 1f.O and $srcdir/1f.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 1f may have failed." 1>&2;
|
||||
$echo The command "cmp 1f.O $srcdir/1f.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 1f"; fi;;
|
||||
1) $echo "Test 1f failed: files 1f.O and $srcdir/1f.X differ" 1>&2
|
||||
(diff -c 1f.O $srcdir/1f.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 1f may have failed." 1>&2
|
||||
$echo The command "cmp 1f.O $srcdir/1f.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 1f.E || rm -f 1f.E
|
||||
$xx -a1 -e . $srcdir/2a.I1 $srcdir/2a.I2 > 2a.O 2> 2a.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 2a failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 2a.O $srcdir/2a.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 2a"; fi ;;
|
||||
1) $echo "Test 2a failed: files 2a.O and $srcdir/2a.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 2a may have failed." 1>&2;
|
||||
$echo The command "cmp 2a.O $srcdir/2a.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 2a"; fi;;
|
||||
1) $echo "Test 2a failed: files 2a.O and $srcdir/2a.X differ" 1>&2
|
||||
(diff -c 2a.O $srcdir/2a.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 2a may have failed." 1>&2
|
||||
$echo The command "cmp 2a.O $srcdir/2a.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 2a.E || rm -f 2a.E
|
||||
$xx -a1 -e . -o 2.1,2.2,2.3 $srcdir/2b.I1 $srcdir/2b.I2 > 2b.O 2> 2b.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 2b failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 2b.O $srcdir/2b.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 2b"; fi ;;
|
||||
1) $echo "Test 2b failed: files 2b.O and $srcdir/2b.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 2b may have failed." 1>&2;
|
||||
$echo The command "cmp 2b.O $srcdir/2b.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 2b"; fi;;
|
||||
1) $echo "Test 2b failed: files 2b.O and $srcdir/2b.X differ" 1>&2
|
||||
(diff -c 2b.O $srcdir/2b.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 2b may have failed." 1>&2
|
||||
$echo The command "cmp 2b.O $srcdir/2b.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 2b.E || rm -f 2b.E
|
||||
$xx -a1 -e . -o 2.1,2.2,2.3 $srcdir/2c.I1 $srcdir/2c.I2 > 2c.O 2> 2c.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 2c failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 2c.O $srcdir/2c.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 2c"; fi ;;
|
||||
1) $echo "Test 2c failed: files 2c.O and $srcdir/2c.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 2c may have failed." 1>&2;
|
||||
$echo The command "cmp 2c.O $srcdir/2c.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 2c"; fi;;
|
||||
1) $echo "Test 2c failed: files 2c.O and $srcdir/2c.X differ" 1>&2
|
||||
(diff -c 2c.O $srcdir/2c.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 2c may have failed." 1>&2
|
||||
$echo The command "cmp 2c.O $srcdir/2c.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 2c.E || rm -f 2c.E
|
||||
$xx -t: $srcdir/3a.I1 $srcdir/3a.I2 > 3a.O 2> 3a.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 3a failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 3a.O $srcdir/3a.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 3a"; fi ;;
|
||||
1) $echo "Test 3a failed: files 3a.O and $srcdir/3a.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 3a may have failed." 1>&2;
|
||||
$echo The command "cmp 3a.O $srcdir/3a.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 3a"; fi;;
|
||||
1) $echo "Test 3a failed: files 3a.O and $srcdir/3a.X differ" 1>&2
|
||||
(diff -c 3a.O $srcdir/3a.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 3a may have failed." 1>&2
|
||||
$echo The command "cmp 3a.O $srcdir/3a.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 3a.E || rm -f 3a.E
|
||||
$xx -v 1 $srcdir/4a.I1 $srcdir/4a.I2 > 4a.O 2> 4a.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 4a failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 4a.O $srcdir/4a.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 4a"; fi ;;
|
||||
1) $echo "Test 4a failed: files 4a.O and $srcdir/4a.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 4a may have failed." 1>&2;
|
||||
$echo The command "cmp 4a.O $srcdir/4a.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 4a"; fi;;
|
||||
1) $echo "Test 4a failed: files 4a.O and $srcdir/4a.X differ" 1>&2
|
||||
(diff -c 4a.O $srcdir/4a.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 4a may have failed." 1>&2
|
||||
$echo The command "cmp 4a.O $srcdir/4a.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 4a.E || rm -f 4a.E
|
||||
$xx -v 2 $srcdir/4b.I1 $srcdir/4b.I2 > 4b.O 2> 4b.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 4b failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 4b.O $srcdir/4b.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 4b"; fi ;;
|
||||
1) $echo "Test 4b failed: files 4b.O and $srcdir/4b.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 4b may have failed." 1>&2;
|
||||
$echo The command "cmp 4b.O $srcdir/4b.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 4b"; fi;;
|
||||
1) $echo "Test 4b failed: files 4b.O and $srcdir/4b.X differ" 1>&2
|
||||
(diff -c 4b.O $srcdir/4b.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 4b may have failed." 1>&2
|
||||
$echo The command "cmp 4b.O $srcdir/4b.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 4b.E || rm -f 4b.E
|
||||
$xx -v 1 $srcdir/4c.I1 $srcdir/4c.I2 > 4c.O 2> 4c.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 4c failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 4c.O $srcdir/4c.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 4c"; fi ;;
|
||||
1) $echo "Test 4c failed: files 4c.O and $srcdir/4c.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 4c may have failed." 1>&2;
|
||||
$echo The command "cmp 4c.O $srcdir/4c.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 4c"; fi;;
|
||||
1) $echo "Test 4c failed: files 4c.O and $srcdir/4c.X differ" 1>&2
|
||||
(diff -c 4c.O $srcdir/4c.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 4c may have failed." 1>&2
|
||||
$echo The command "cmp 4c.O $srcdir/4c.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 4c.E || rm -f 4c.E
|
||||
$xx -v 2 $srcdir/4d.I1 $srcdir/4d.I2 > 4d.O 2> 4d.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 4d failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 4d.O $srcdir/4d.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 4d"; fi ;;
|
||||
1) $echo "Test 4d failed: files 4d.O and $srcdir/4d.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 4d may have failed." 1>&2;
|
||||
$echo The command "cmp 4d.O $srcdir/4d.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 4d"; fi;;
|
||||
1) $echo "Test 4d failed: files 4d.O and $srcdir/4d.X differ" 1>&2
|
||||
(diff -c 4d.O $srcdir/4d.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 4d may have failed." 1>&2
|
||||
$echo The command "cmp 4d.O $srcdir/4d.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 4d.E || rm -f 4d.E
|
||||
$xx -v 2 $srcdir/4e.I1 $srcdir/4e.I2 > 4e.O 2> 4e.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 4e failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 4e.O $srcdir/4e.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 4e"; fi ;;
|
||||
1) $echo "Test 4e failed: files 4e.O and $srcdir/4e.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 4e may have failed." 1>&2;
|
||||
$echo The command "cmp 4e.O $srcdir/4e.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 4e"; fi;;
|
||||
1) $echo "Test 4e failed: files 4e.O and $srcdir/4e.X differ" 1>&2
|
||||
(diff -c 4e.O $srcdir/4e.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 4e may have failed." 1>&2
|
||||
$echo The command "cmp 4e.O $srcdir/4e.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 4e.E || rm -f 4e.E
|
||||
$xx -a1 -e - -o 1.1 2.2 $srcdir/5a.I1 $srcdir/5a.I2 > 5a.O 2> 5a.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5a failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5a.O $srcdir/5a.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5a"; fi ;;
|
||||
1) $echo "Test 5a failed: files 5a.O and $srcdir/5a.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5a may have failed." 1>&2;
|
||||
$echo The command "cmp 5a.O $srcdir/5a.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5a"; fi;;
|
||||
1) $echo "Test 5a failed: files 5a.O and $srcdir/5a.X differ" 1>&2
|
||||
(diff -c 5a.O $srcdir/5a.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5a may have failed." 1>&2
|
||||
$echo The command "cmp 5a.O $srcdir/5a.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5a.E || rm -f 5a.E
|
||||
$xx -a1 -e - -o 1.1 2.2 $srcdir/5b.I1 $srcdir/5b.I2 > 5b.O 2> 5b.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5b failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5b.O $srcdir/5b.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5b"; fi ;;
|
||||
1) $echo "Test 5b failed: files 5b.O and $srcdir/5b.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5b may have failed." 1>&2;
|
||||
$echo The command "cmp 5b.O $srcdir/5b.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5b"; fi;;
|
||||
1) $echo "Test 5b failed: files 5b.O and $srcdir/5b.X differ" 1>&2
|
||||
(diff -c 5b.O $srcdir/5b.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5b may have failed." 1>&2
|
||||
$echo The command "cmp 5b.O $srcdir/5b.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5b.E || rm -f 5b.E
|
||||
$xx -a1 -e - -o 1.1 2.2 $srcdir/5c.I1 $srcdir/5c.I2 > 5c.O 2> 5c.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5c failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5c.O $srcdir/5c.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5c"; fi ;;
|
||||
1) $echo "Test 5c failed: files 5c.O and $srcdir/5c.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5c may have failed." 1>&2;
|
||||
$echo The command "cmp 5c.O $srcdir/5c.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5c"; fi;;
|
||||
1) $echo "Test 5c failed: files 5c.O and $srcdir/5c.X differ" 1>&2
|
||||
(diff -c 5c.O $srcdir/5c.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5c may have failed." 1>&2
|
||||
$echo The command "cmp 5c.O $srcdir/5c.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5c.E || rm -f 5c.E
|
||||
$xx -a1 -e - -o 1.1 2.2 $srcdir/5d.I1 $srcdir/5d.I2 > 5d.O 2> 5d.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5d failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5d.O $srcdir/5d.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5d"; fi ;;
|
||||
1) $echo "Test 5d failed: files 5d.O and $srcdir/5d.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5d may have failed." 1>&2;
|
||||
$echo The command "cmp 5d.O $srcdir/5d.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5d"; fi;;
|
||||
1) $echo "Test 5d failed: files 5d.O and $srcdir/5d.X differ" 1>&2
|
||||
(diff -c 5d.O $srcdir/5d.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5d may have failed." 1>&2
|
||||
$echo The command "cmp 5d.O $srcdir/5d.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5d.E || rm -f 5d.E
|
||||
$xx -a2 -e - -o 1.1 2.2 $srcdir/5e.I1 $srcdir/5e.I2 > 5e.O 2> 5e.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5e failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5e.O $srcdir/5e.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5e"; fi ;;
|
||||
1) $echo "Test 5e failed: files 5e.O and $srcdir/5e.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5e may have failed." 1>&2;
|
||||
$echo The command "cmp 5e.O $srcdir/5e.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5e"; fi;;
|
||||
1) $echo "Test 5e failed: files 5e.O and $srcdir/5e.X differ" 1>&2
|
||||
(diff -c 5e.O $srcdir/5e.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5e may have failed." 1>&2
|
||||
$echo The command "cmp 5e.O $srcdir/5e.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5e.E || rm -f 5e.E
|
||||
$xx -a2 -e - -o 2.2 1.1 $srcdir/5f.I1 $srcdir/5f.I2 > 5f.O 2> 5f.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5f failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5f.O $srcdir/5f.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5f"; fi ;;
|
||||
1) $echo "Test 5f failed: files 5f.O and $srcdir/5f.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5f may have failed." 1>&2;
|
||||
$echo The command "cmp 5f.O $srcdir/5f.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5f"; fi;;
|
||||
1) $echo "Test 5f failed: files 5f.O and $srcdir/5f.X differ" 1>&2
|
||||
(diff -c 5f.O $srcdir/5f.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5f may have failed." 1>&2
|
||||
$echo The command "cmp 5f.O $srcdir/5f.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5f.E || rm -f 5f.E
|
||||
$xx -a1 -e - -o 2.2 1.1 $srcdir/5g.I1 $srcdir/5g.I2 > 5g.O 2> 5g.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5g failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5g.O $srcdir/5g.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5g"; fi ;;
|
||||
1) $echo "Test 5g failed: files 5g.O and $srcdir/5g.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5g may have failed." 1>&2;
|
||||
$echo The command "cmp 5g.O $srcdir/5g.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5g"; fi;;
|
||||
1) $echo "Test 5g failed: files 5g.O and $srcdir/5g.X differ" 1>&2
|
||||
(diff -c 5g.O $srcdir/5g.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5g may have failed." 1>&2
|
||||
$echo The command "cmp 5g.O $srcdir/5g.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5g.E || rm -f 5g.E
|
||||
$xx -a1 -e - -o 2.2 1.1 $srcdir/5h.I1 $srcdir/5h.I2 > 5h.O 2> 5h.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5h failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5h.O $srcdir/5h.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5h"; fi ;;
|
||||
1) $echo "Test 5h failed: files 5h.O and $srcdir/5h.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5h may have failed." 1>&2;
|
||||
$echo The command "cmp 5h.O $srcdir/5h.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5h"; fi;;
|
||||
1) $echo "Test 5h failed: files 5h.O and $srcdir/5h.X differ" 1>&2
|
||||
(diff -c 5h.O $srcdir/5h.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5h may have failed." 1>&2
|
||||
$echo The command "cmp 5h.O $srcdir/5h.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5h.E || rm -f 5h.E
|
||||
$xx -a1 -e - -o 1.1 2.2 $srcdir/5i.I1 $srcdir/5i.I2 > 5i.O 2> 5i.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5i failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5i.O $srcdir/5i.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5i"; fi ;;
|
||||
1) $echo "Test 5i failed: files 5i.O and $srcdir/5i.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5i may have failed." 1>&2;
|
||||
$echo The command "cmp 5i.O $srcdir/5i.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5i"; fi;;
|
||||
1) $echo "Test 5i failed: files 5i.O and $srcdir/5i.X differ" 1>&2
|
||||
(diff -c 5i.O $srcdir/5i.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5i may have failed." 1>&2
|
||||
$echo The command "cmp 5i.O $srcdir/5i.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5i.E || rm -f 5i.E
|
||||
$xx -a2 -e - -o 2.2 1.1 $srcdir/5j.I1 $srcdir/5j.I2 > 5j.O 2> 5j.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5j failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5j.O $srcdir/5j.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5j"; fi ;;
|
||||
1) $echo "Test 5j failed: files 5j.O and $srcdir/5j.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5j may have failed." 1>&2;
|
||||
$echo The command "cmp 5j.O $srcdir/5j.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5j"; fi;;
|
||||
1) $echo "Test 5j failed: files 5j.O and $srcdir/5j.X differ" 1>&2
|
||||
(diff -c 5j.O $srcdir/5j.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5j may have failed." 1>&2
|
||||
$echo The command "cmp 5j.O $srcdir/5j.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5j.E || rm -f 5j.E
|
||||
$xx -a2 -e - -o 2.2 1.1 $srcdir/5k.I1 $srcdir/5k.I2 > 5k.O 2> 5k.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5k failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5k.O $srcdir/5k.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5k"; fi ;;
|
||||
1) $echo "Test 5k failed: files 5k.O and $srcdir/5k.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5k may have failed." 1>&2;
|
||||
$echo The command "cmp 5k.O $srcdir/5k.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5k"; fi;;
|
||||
1) $echo "Test 5k failed: files 5k.O and $srcdir/5k.X differ" 1>&2
|
||||
(diff -c 5k.O $srcdir/5k.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5k may have failed." 1>&2
|
||||
$echo The command "cmp 5k.O $srcdir/5k.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5k.E || rm -f 5k.E
|
||||
$xx -a1 -e - -o 2.2 1.1 $srcdir/5l.I1 $srcdir/5l.I2 > 5l.O 2> 5l.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5l failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5l.O $srcdir/5l.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5l"; fi ;;
|
||||
1) $echo "Test 5l failed: files 5l.O and $srcdir/5l.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5l may have failed." 1>&2;
|
||||
$echo The command "cmp 5l.O $srcdir/5l.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5l"; fi;;
|
||||
1) $echo "Test 5l failed: files 5l.O and $srcdir/5l.X differ" 1>&2
|
||||
(diff -c 5l.O $srcdir/5l.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5l may have failed." 1>&2
|
||||
$echo The command "cmp 5l.O $srcdir/5l.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5l.E || rm -f 5l.E
|
||||
$xx -a2 -e - -o 2.2 1.1 $srcdir/5m.I1 $srcdir/5m.I2 > 5m.O 2> 5m.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 5m failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 5m.O $srcdir/5m.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 5m"; fi ;;
|
||||
1) $echo "Test 5m failed: files 5m.O and $srcdir/5m.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 5m may have failed." 1>&2;
|
||||
$echo The command "cmp 5m.O $srcdir/5m.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 5m"; fi;;
|
||||
1) $echo "Test 5m failed: files 5m.O and $srcdir/5m.X differ" 1>&2
|
||||
(diff -c 5m.O $srcdir/5m.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 5m may have failed." 1>&2
|
||||
$echo The command "cmp 5m.O $srcdir/5m.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 5m.E || rm -f 5m.E
|
||||
$xx -e - $srcdir/6a.I1 $srcdir/6a.I2 > 6a.O 2> 6a.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 6a failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 6a.O $srcdir/6a.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 6a"; fi ;;
|
||||
1) $echo "Test 6a failed: files 6a.O and $srcdir/6a.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 6a may have failed." 1>&2;
|
||||
$echo The command "cmp 6a.O $srcdir/6a.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 6a"; fi;;
|
||||
1) $echo "Test 6a failed: files 6a.O and $srcdir/6a.X differ" 1>&2
|
||||
(diff -c 6a.O $srcdir/6a.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 6a may have failed." 1>&2
|
||||
$echo The command "cmp 6a.O $srcdir/6a.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 6a.E || rm -f 6a.E
|
||||
$xx -a1 -e - $srcdir/6b.I1 $srcdir/6b.I2 > 6b.O 2> 6b.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 6b failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 6b.O $srcdir/6b.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 6b"; fi ;;
|
||||
1) $echo "Test 6b failed: files 6b.O and $srcdir/6b.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 6b may have failed." 1>&2;
|
||||
$echo The command "cmp 6b.O $srcdir/6b.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 6b"; fi;;
|
||||
1) $echo "Test 6b failed: files 6b.O and $srcdir/6b.X differ" 1>&2
|
||||
(diff -c 6b.O $srcdir/6b.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 6b may have failed." 1>&2
|
||||
$echo The command "cmp 6b.O $srcdir/6b.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 6b.E || rm -f 6b.E
|
||||
$xx -a1 -e - $srcdir/6c.I1 $srcdir/6c.I2 > 6c.O 2> 6c.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 6c failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 6c.O $srcdir/6c.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 6c"; fi ;;
|
||||
1) $echo "Test 6c failed: files 6c.O and $srcdir/6c.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 6c may have failed." 1>&2;
|
||||
$echo The command "cmp 6c.O $srcdir/6c.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 6c"; fi;;
|
||||
1) $echo "Test 6c failed: files 6c.O and $srcdir/6c.X differ" 1>&2
|
||||
(diff -c 6c.O $srcdir/6c.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 6c may have failed." 1>&2
|
||||
$echo The command "cmp 6c.O $srcdir/6c.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 6c.E || rm -f 6c.E
|
||||
$xx -a1 -e . -o 2.7 $srcdir/7a.I1 $srcdir/7a.I2 > 7a.O 2> 7a.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 7a failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 7a.O $srcdir/7a.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 7a"; fi ;;
|
||||
1) $echo "Test 7a failed: files 7a.O and $srcdir/7a.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 7a may have failed." 1>&2;
|
||||
$echo The command "cmp 7a.O $srcdir/7a.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 7a"; fi;;
|
||||
1) $echo "Test 7a failed: files 7a.O and $srcdir/7a.X differ" 1>&2
|
||||
(diff -c 7a.O $srcdir/7a.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 7a may have failed." 1>&2
|
||||
$echo The command "cmp 7a.O $srcdir/7a.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 7a.E || rm -f 7a.E
|
||||
$xx -a1 -e . -o 0,1.2 $srcdir/8a.I1 $srcdir/8a.I2 > 8a.O 2> 8a.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 8a failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 8a.O $srcdir/8a.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 8a"; fi ;;
|
||||
1) $echo "Test 8a failed: files 8a.O and $srcdir/8a.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 8a may have failed." 1>&2;
|
||||
$echo The command "cmp 8a.O $srcdir/8a.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 8a"; fi;;
|
||||
1) $echo "Test 8a failed: files 8a.O and $srcdir/8a.X differ" 1>&2
|
||||
(diff -c 8a.O $srcdir/8a.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 8a may have failed." 1>&2
|
||||
$echo The command "cmp 8a.O $srcdir/8a.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 8a.E || rm -f 8a.E
|
||||
$xx -a1 -a2 -e . -o 0,1.2 $srcdir/8b.I1 $srcdir/8b.I2 > 8b.O 2> 8b.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 8b failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 8b.O $srcdir/8b.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 8b"; fi ;;
|
||||
1) $echo "Test 8b failed: files 8b.O and $srcdir/8b.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 8b may have failed." 1>&2;
|
||||
$echo The command "cmp 8b.O $srcdir/8b.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 8b"; fi;;
|
||||
1) $echo "Test 8b failed: files 8b.O and $srcdir/8b.X differ" 1>&2
|
||||
(diff -c 8b.O $srcdir/8b.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 8b may have failed." 1>&2
|
||||
$echo The command "cmp 8b.O $srcdir/8b.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 8b.E || rm -f 8b.E
|
||||
$xx $srcdir/9a.I1 $srcdir/9a.I2 > 9a.O 2> 9a.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test 9a failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp 9a.O $srcdir/9a.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed 9a"; fi ;;
|
||||
1) $echo "Test 9a failed: files 9a.O and $srcdir/9a.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test 9a may have failed." 1>&2;
|
||||
$echo The command "cmp 9a.O $srcdir/9a.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed 9a"; fi;;
|
||||
1) $echo "Test 9a failed: files 9a.O and $srcdir/9a.X differ" 1>&2
|
||||
(diff -c 9a.O $srcdir/9a.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test 9a may have failed." 1>&2
|
||||
$echo The command "cmp 9a.O $srcdir/9a.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s 9a.E || rm -f 9a.E
|
||||
$xx -t: -1 1 -2 1 $srcdir/trailing-sp.I1 $srcdir/trailing-sp.I2 > trailing-sp.O 2> trailing-sp.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test trailing-sp failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp trailing-sp.O $srcdir/trailing-sp.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed trailing-sp"; fi ;;
|
||||
1) $echo "Test trailing-sp failed: files trailing-sp.O and $srcdir/trailing-sp.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test trailing-sp may have failed." 1>&2;
|
||||
$echo The command "cmp trailing-sp.O $srcdir/trailing-sp.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed trailing-sp"; fi;;
|
||||
1) $echo "Test trailing-sp failed: files trailing-sp.O and $srcdir/trailing-sp.X differ" 1>&2
|
||||
(diff -c trailing-sp.O $srcdir/trailing-sp.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test trailing-sp may have failed." 1>&2
|
||||
$echo The command "cmp trailing-sp.O $srcdir/trailing-sp.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s trailing-sp.E || rm -f trailing-sp.E
|
||||
$xx $srcdir/sp-vs-blank.I1 $srcdir/sp-vs-blank.I2 > sp-vs-blank.O 2> sp-vs-blank.E
|
||||
code=$?
|
||||
if test $code != 0 ; then
|
||||
if test $code != 0; then
|
||||
$echo "Test sp-vs-blank failed: ../../src/join return code $code differs from expected value 0" 1>&2
|
||||
errors=`expr $errors + 1`
|
||||
else
|
||||
cmp sp-vs-blank.O $srcdir/sp-vs-blank.X > /dev/null 2>&1
|
||||
case $? in
|
||||
0) if test "$VERBOSE" ; then $echo "passed sp-vs-blank"; fi ;;
|
||||
1) $echo "Test sp-vs-blank failed: files sp-vs-blank.O and $srcdir/sp-vs-blank.X differ" 1>&2;
|
||||
errors=`expr $errors + 1` ;;
|
||||
2) $echo "Test sp-vs-blank may have failed." 1>&2;
|
||||
$echo The command "cmp sp-vs-blank.O $srcdir/sp-vs-blank.X" failed. 1>&2 ;
|
||||
errors=`expr $errors + 1` ;;
|
||||
0) if test "$VERBOSE"; then $echo "passed sp-vs-blank"; fi;;
|
||||
1) $echo "Test sp-vs-blank failed: files sp-vs-blank.O and $srcdir/sp-vs-blank.X differ" 1>&2
|
||||
(diff -c sp-vs-blank.O $srcdir/sp-vs-blank.X) 2> /dev/null
|
||||
errors=`expr $errors + 1`;;
|
||||
2) $echo "Test sp-vs-blank may have failed." 1>&2
|
||||
$echo The command "cmp sp-vs-blank.O $srcdir/sp-vs-blank.X" failed. 1>&2
|
||||
errors=`expr $errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s sp-vs-blank.E || rm -f sp-vs-blank.E
|
||||
if test $errors = 0 ; then
|
||||
if test $errors = 0; then
|
||||
$echo Passed all 37 tests. 1>&2
|
||||
else
|
||||
$echo Failed $errors tests. 1>&2
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -307,18 +307,19 @@ EOF1
|
||||
print <<EOF;
|
||||
$e_cmd$cmd
|
||||
code=\$?
|
||||
if test \$code != $e_ret_code ; then
|
||||
if test \$code != $e_ret_code; then
|
||||
\$echo "Test $t_name failed: $xx return code \$code differs from expected value $e_ret_code" 1>&2
|
||||
errors=`expr \$errors + 1`
|
||||
else
|
||||
cmp $out $exp_name > /dev/null 2>&1
|
||||
case \$? in
|
||||
0) if test "\$VERBOSE" ; then \$echo "passed $t_name"; fi ;;
|
||||
1) \$echo "Test $t_name failed: files $out and $exp_name differ" 1>&2;
|
||||
errors=`expr \$errors + 1` ;;
|
||||
2) \$echo "Test $t_name may have failed." 1>&2;
|
||||
\$echo The command \"cmp $out $exp_name\" failed. 1>&2 ;
|
||||
errors=`expr \$errors + 1` ;;
|
||||
0) if test "\$VERBOSE"; then \$echo "passed $t_name"; fi;;
|
||||
1) \$echo "Test $t_name failed: files $out and $exp_name differ" 1>&2
|
||||
(diff -c $out $exp_name) 2> /dev/null
|
||||
errors=`expr \$errors + 1`;;
|
||||
2) \$echo "Test $t_name may have failed." 1>&2
|
||||
\$echo The command \"cmp $out $exp_name\" failed. 1>&2
|
||||
errors=`expr \$errors + 1`;;
|
||||
esac
|
||||
fi
|
||||
test -s $err_output || rm -f $err_output
|
||||
@@ -326,8 +327,8 @@ EOF
|
||||
}
|
||||
}
|
||||
}
|
||||
print <<EOF3 ;
|
||||
if test \$errors = 0 ; then
|
||||
print <<EOF3
|
||||
if test \$errors = 0; then
|
||||
\$echo Passed all $n_tests tests. 1>&2
|
||||
else
|
||||
\$echo Failed \$errors tests. 1>&2
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -2,18 +2,10 @@
|
||||
AUTOMAKE_OPTIONS = 1.3 gnits
|
||||
|
||||
TESTS = mv-special-1 into-self into-self-2 into-self-3 backup-is-src \
|
||||
i-1 hard-link-1 force partition-perm to-symlink
|
||||
i-1 hard-link-1 force partition-perm to-symlink dir-file
|
||||
|
||||
EXTRA_DIST = $(TESTS) setup
|
||||
TESTS_ENVIRONMENT = \
|
||||
DF=../../src/df \
|
||||
LN=../../src/ln \
|
||||
LS=../../src/ls \
|
||||
MKDIR=../../src/mkdir \
|
||||
MKNOD=../../src/mknod \
|
||||
MV=../../src/mv \
|
||||
RM=../../src/rm \
|
||||
TOUCH=../../src/touch \
|
||||
PERL="@PERL@" \
|
||||
PATH=`pwd`/../../src:$$PATH \
|
||||
PROG=mv
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
@@ -111,19 +114,11 @@ l = @l@
|
||||
AUTOMAKE_OPTIONS = 1.3 gnits
|
||||
|
||||
TESTS = mv-special-1 into-self into-self-2 into-self-3 backup-is-src \
|
||||
i-1 hard-link-1 force partition-perm to-symlink
|
||||
i-1 hard-link-1 force partition-perm to-symlink dir-file
|
||||
|
||||
|
||||
EXTRA_DIST = $(TESTS) setup
|
||||
TESTS_ENVIRONMENT = \
|
||||
DF=../../src/df \
|
||||
LN=../../src/ln \
|
||||
LS=../../src/ls \
|
||||
MKDIR=../../src/mkdir \
|
||||
MKNOD=../../src/mknod \
|
||||
MV=../../src/mv \
|
||||
RM=../../src/rm \
|
||||
TOUCH=../../src/touch \
|
||||
PERL="@PERL@" \
|
||||
PATH=`pwd`/../../src:$$PATH \
|
||||
PROG=mv
|
||||
|
||||
30
tests/mv/dir-file
Executable file
30
tests/mv/dir-file
Executable file
@@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
# mv must fail when src and dest are mismatched directory/non-directory.
|
||||
|
||||
if test "$VERBOSE" = yes; then
|
||||
set -x
|
||||
mv --version
|
||||
fi
|
||||
|
||||
tmp=mv-mismatch-$$
|
||||
pwd=`pwd`
|
||||
trap "cd $pwd; rm -rf $tmp" 0 1 2 3 15
|
||||
|
||||
framework_failure=0
|
||||
mkdir $tmp || framework_failure=1
|
||||
cd $tmp
|
||||
mkdir -p dir/file || framework_failure=1
|
||||
> file || framework_failure=1
|
||||
|
||||
if test $framework_failure = 1; then
|
||||
echo 'failure in testing framework'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
fail=0
|
||||
|
||||
# These should both fail, but until fileutils-4.0q only the second one did.
|
||||
mv dir file > /dev/null 2>&1 && fail=1
|
||||
mv file dir > /dev/null 2>&1 && fail=1
|
||||
|
||||
exit $fail
|
||||
@@ -1,9 +1,6 @@
|
||||
#!/bin/sh
|
||||
# move a directory into itself, with a twist
|
||||
|
||||
: ${MV=mv}
|
||||
: ${RM=rm}
|
||||
|
||||
if test "$VERBOSE" = yes; then
|
||||
set -x
|
||||
mv --version
|
||||
|
||||
@@ -18,7 +18,10 @@ touch $dir/a/b/c/file1 $dir/d/e/f/file2 || framework_failure=1
|
||||
|
||||
if test $framework_failure = 1; then
|
||||
echo 'failure in testing framework'
|
||||
exit 1
|
||||
# exit 77 here to indicate that we couldn't run the test.
|
||||
# At least running on SunOS 4.1.4, using a directory NFS mounted
|
||||
# from an OpenBSD system, the above mknod fails.
|
||||
exit 77
|
||||
fi
|
||||
|
||||
# Make sure we get English translations.
|
||||
@@ -41,34 +44,34 @@ test -d $other_partition_tmpdir/$dir/a/b/c || fail=1
|
||||
|
||||
sed "s,$other_partition_tmpdir,XXX," out > out2
|
||||
|
||||
cat > exp <<\EOF
|
||||
.mv-null -> XXX/.mv-null
|
||||
removing .mv-null
|
||||
.mv-dir -> XXX/.mv-dir
|
||||
.mv-dir/a -> XXX/.mv-dir/a
|
||||
.mv-dir/a/b -> XXX/.mv-dir/a/b
|
||||
.mv-dir/a/b/c -> XXX/.mv-dir/a/b/c
|
||||
.mv-dir/a/b/c/file1 -> XXX/.mv-dir/a/b/c/file1
|
||||
.mv-dir/d -> XXX/.mv-dir/d
|
||||
.mv-dir/d/e -> XXX/.mv-dir/d/e
|
||||
.mv-dir/d/e/f -> XXX/.mv-dir/d/e/f
|
||||
.mv-dir/d/e/f/file2 -> XXX/.mv-dir/d/e/f/file2
|
||||
removing all entries of directory .mv-dir
|
||||
removing all entries of directory .mv-dir/a
|
||||
removing all entries of directory .mv-dir/a/b
|
||||
removing all entries of directory .mv-dir/a/b/c
|
||||
removing .mv-dir/a/b/c/file1
|
||||
removing the directory itself: .mv-dir/a/b/c
|
||||
removing the directory itself: .mv-dir/a/b
|
||||
removing the directory itself: .mv-dir/a
|
||||
removing all entries of directory .mv-dir/d
|
||||
removing all entries of directory .mv-dir/d/e
|
||||
removing all entries of directory .mv-dir/d/e/f
|
||||
removing .mv-dir/d/e/f/file2
|
||||
removing the directory itself: .mv-dir/d/e/f
|
||||
removing the directory itself: .mv-dir/d/e
|
||||
removing the directory itself: .mv-dir/d
|
||||
removing the directory itself: .mv-dir
|
||||
cat > exp <<EOF
|
||||
$null -> XXX/$null
|
||||
removing $null
|
||||
$dir -> XXX/$dir
|
||||
$dir/a -> XXX/$dir/a
|
||||
$dir/a/b -> XXX/$dir/a/b
|
||||
$dir/a/b/c -> XXX/$dir/a/b/c
|
||||
$dir/a/b/c/file1 -> XXX/$dir/a/b/c/file1
|
||||
$dir/d -> XXX/$dir/d
|
||||
$dir/d/e -> XXX/$dir/d/e
|
||||
$dir/d/e/f -> XXX/$dir/d/e/f
|
||||
$dir/d/e/f/file2 -> XXX/$dir/d/e/f/file2
|
||||
removing all entries of directory $dir
|
||||
removing all entries of directory $dir/a
|
||||
removing all entries of directory $dir/a/b
|
||||
removing all entries of directory $dir/a/b/c
|
||||
removing $dir/a/b/c/file1
|
||||
removing the directory itself: $dir/a/b/c
|
||||
removing the directory itself: $dir/a/b
|
||||
removing the directory itself: $dir/a
|
||||
removing all entries of directory $dir/d
|
||||
removing all entries of directory $dir/d/e
|
||||
removing all entries of directory $dir/d/e/f
|
||||
removing $dir/d/e/f/file2
|
||||
removing the directory itself: $dir/d/e/f
|
||||
removing the directory itself: $dir/d/e
|
||||
removing the directory itself: $dir/d
|
||||
removing the directory itself: $dir
|
||||
EOF
|
||||
|
||||
cmp out2 exp || fail=1
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
3737
tests/pr/pr-tests
3737
tests/pr/pr-tests
File diff suppressed because it is too large
Load Diff
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -17,7 +17,7 @@ mkdir $tmp $tmp/a $tmp/a/b
|
||||
> $tmp/a/b/g
|
||||
|
||||
# FIXME: if this fails, it's a framework failure
|
||||
cat <<EOF > $tmp/$test.E
|
||||
cat <<EOF | sort > $tmp/$test.E
|
||||
removing all entries of directory $tmp/a
|
||||
removing all entries of directory $tmp/a/b
|
||||
removing $tmp/a/b/g
|
||||
@@ -31,8 +31,10 @@ export LANGUAGE
|
||||
LANG=C
|
||||
export LANG
|
||||
|
||||
# Note that both the expected output (above) and the actual output lines
|
||||
# are sorted, because directory entries may be processed in arbitrary order.
|
||||
fail=0
|
||||
$RM --verbose -r $tmp/a > $tmp/$test.O || fail=1
|
||||
$RM --verbose -r $tmp/a | sort > $tmp/$test.O || fail=1
|
||||
|
||||
if test -d $tmp/a; then
|
||||
fail=1
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
@@ -71,6 +71,7 @@ CXXCPP = @CXXCPP@
|
||||
DATADIRNAME = @DATADIRNAME@
|
||||
DEPDIR = @DEPDIR@
|
||||
DF_PROG = @DF_PROG@
|
||||
FESETROUND_LIBM = @FESETROUND_LIBM@
|
||||
GENCAT = @GENCAT@
|
||||
GETCONF = @GETCONF@
|
||||
GETLOADAVG_LIBS = @GETLOADAVG_LIBS@
|
||||
@@ -86,6 +87,7 @@ INTLLIBS = @INTLLIBS@
|
||||
INTLOBJS = @INTLOBJS@
|
||||
KMEM_GROUP = @KMEM_GROUP@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIB_CRYPT = @LIB_CRYPT@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAN = @MAN@
|
||||
MKINSTALLDIRS = @MKINSTALLDIRS@
|
||||
@@ -99,6 +101,7 @@ POFILES = @POFILES@
|
||||
POSUB = @POSUB@
|
||||
POW_LIBM = @POW_LIBM@
|
||||
RANLIB = @RANLIB@
|
||||
SQRT_LIBM = @SQRT_LIBM@
|
||||
U = @U@
|
||||
USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
|
||||
USE_NLS = @USE_NLS@
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user