platform/upstream/coreutils.git
19 years ago(noinst_LIBRARIES): fetish -> coreutils.
Paul Eggert [Mon, 18 Apr 2005 23:30:41 +0000 (23:30 +0000)]
(noinst_LIBRARIES): fetish -> coreutils.
(libcoreutils_a_SOURCES): Renamed from libfetish_a_SOURCES.
All uses changed.
(libcoreutils_a_LIBADD): Renamed from libfetish_a_LIBADD.
All uses changed.
(libcoreutils_a_DEPENDENCIES): Renamed from libfetish_a_DEPENDENCIES.
All uses changed.

19 years ago(emit_upload_commands): Remove fetish.sf.net.
Paul Eggert [Mon, 18 Apr 2005 23:30:19 +0000 (23:30 +0000)]
(emit_upload_commands): Remove fetish.sf.net.

19 years ago(ftp): Remove fetish.sf.net.
Paul Eggert [Mon, 18 Apr 2005 23:29:51 +0000 (23:29 +0000)]
(ftp): Remove fetish.sf.net.

19 years agoFix typo in comment.
Paul Eggert [Mon, 18 Apr 2005 18:48:22 +0000 (18:48 +0000)]
Fix typo in comment.

19 years agoUse "cat", not "test", to test for
Paul Eggert [Mon, 18 Apr 2005 18:37:36 +0000 (18:37 +0000)]
Use "cat", not "test", to test for
../../src/dd.  Problem reported by Eric Blake.

19 years ago*** empty log message ***
Jim Meyering [Mon, 18 Apr 2005 07:05:11 +0000 (07:05 +0000)]
*** empty log message ***

19 years agoDon't include stat-macros.h directly. system.h does that.
Jim Meyering [Mon, 18 Apr 2005 07:03:50 +0000 (07:03 +0000)]
Don't include stat-macros.h directly.  system.h does that.

19 years agoWork around a couple of "make check" failures reported for Cygwin
Paul Eggert [Mon, 18 Apr 2005 06:36:45 +0000 (06:36 +0000)]
Work around a couple of "make check" failures reported for Cygwin
and ash by Eric Blake.

19 years agoSkip this test if "trap '' CHLD" doesn't work.
Paul Eggert [Mon, 18 Apr 2005 06:35:22 +0000 (06:35 +0000)]
Skip this test if "trap '' CHLD" doesn't work.

19 years agoSkip this test if ../../src/dd isn't readable.
Paul Eggert [Mon, 18 Apr 2005 06:35:06 +0000 (06:35 +0000)]
Skip this test if ../../src/dd isn't readable.

19 years ago*** empty log message ***
Jim Meyering [Sat, 16 Apr 2005 06:38:22 +0000 (06:38 +0000)]
*** empty log message ***

19 years ago(S_TYPEISSHM): Remove definition.
Jim Meyering [Sat, 16 Apr 2005 06:38:20 +0000 (06:38 +0000)]
(S_TYPEISSHM): Remove definition.
Get the definition by including "stat-macros.h", instead.

19 years agoFix test suite problems reported by Eric Blake on Cygwin.
Paul Eggert [Thu, 14 Apr 2005 20:35:59 +0000 (20:35 +0000)]
Fix test suite problems reported by Eric Blake on Cygwin.

19 years ago(dot_mount_point): Use stat rather than df, as
Paul Eggert [Thu, 14 Apr 2005 20:35:34 +0000 (20:35 +0000)]
(dot_mount_point): Use stat rather than df, as
it's more reliable.
(other_partition_tmpdir): Remove df from name as that would be
misleading now.

19 years agoIgnore chatter about when files are removed,
Paul Eggert [Thu, 14 Apr 2005 20:35:14 +0000 (20:35 +0000)]
Ignore chatter about when files are removed,
since POSIX doesn't require rename to fail across file systems.

19 years ago*** empty log message ***
Jim Meyering [Thu, 14 Apr 2005 12:13:26 +0000 (12:13 +0000)]
*** empty log message ***

19 years agoCorrect typo, fchmod -> fchown, in a comment.
Jim Meyering [Thu, 14 Apr 2005 12:09:00 +0000 (12:09 +0000)]
Correct typo, fchmod -> fchown, in a comment.

19 years ago* getdate.y (zone): Allow relunit_snumber after tZONE.
Paul Eggert [Wed, 13 Apr 2005 18:42:13 +0000 (18:42 +0000)]
* getdate.y (zone): Allow relunit_snumber after tZONE.

19 years ago(zone): Allow relunit_snumber after tZONE, so
Paul Eggert [Wed, 13 Apr 2005 18:42:00 +0000 (18:42 +0000)]
(zone): Allow relunit_snumber after tZONE, so
that "UTC +1 second" continues to work.  Problem reported
by Dmitry V. Levin.
(relunit_snumber): New rule.
(relunit): Use it.

19 years agosrc/ls.c (usage): "uid" -> "user ID".
Paul Eggert [Tue, 12 Apr 2005 07:41:42 +0000 (07:41 +0000)]
src/ls.c (usage): "uid" -> "user ID".

19 years ago(usage): uid -> user ID
Paul Eggert [Tue, 12 Apr 2005 07:39:38 +0000 (07:39 +0000)]
(usage): uid -> user ID

19 years ago* getdate.y: Fix problem with parsing GMT time stamps during London summers.
Paul Eggert [Tue, 12 Apr 2005 07:21:48 +0000 (07:21 +0000)]
* getdate.y: Fix problem with parsing GMT time stamps during London summers.

19 years ago(universal_time_zone_table): New constant.
Paul Eggert [Tue, 12 Apr 2005 07:21:18 +0000 (07:21 +0000)]
(universal_time_zone_table): New constant.
(time_zone_table): Remove GMT, UT, UTC entries; they're now in
universal_time_zone_table.
(lookup_zone): Prefer universal_time_zone_table to
local_time_zone_table, so that "GMT" time stamps are allowed in
London during the summer.  Problem reported by Ian Abbott.

19 years ago*** empty log message ***
Jim Meyering [Tue, 12 Apr 2005 06:47:49 +0000 (06:47 +0000)]
*** empty log message ***

19 years ago(tsort): Use "%s" as the format string, rather than a diagnostic or a file name.
Jim Meyering [Tue, 12 Apr 2005 06:47:44 +0000 (06:47 +0000)]
(tsort): Use "%s" as the format string, rather than a diagnostic or a file name.

19 years ago(compare_files): Remove declaration of unused local.
Jim Meyering [Tue, 12 Apr 2005 06:46:10 +0000 (06:46 +0000)]
(compare_files): Remove declaration of unused local.

19 years agoFor consistency, standardize on "user ID" rather than "uid".
Paul Eggert [Tue, 12 Apr 2005 05:53:02 +0000 (05:53 +0000)]
For consistency, standardize on "user ID" rather than "uid".

19 years agoReword usage, man pages to use "user ID" rather than "uid" etc.
Paul Eggert [Tue, 12 Apr 2005 05:52:37 +0000 (05:52 +0000)]
Reword usage, man pages to use "user ID" rather than "uid" etc.

19 years ago(usage, main): Use "user ID", not "UID", and similarly for "group ID".
Paul Eggert [Tue, 12 Apr 2005 05:44:47 +0000 (05:44 +0000)]
(usage, main): Use "user ID", not "UID", and similarly for "group ID".

19 years ago(usage): Use "user ID", not "UID", and similarly
Paul Eggert [Tue, 12 Apr 2005 05:44:16 +0000 (05:44 +0000)]
(usage): Use "user ID", not "UID", and similarly
for "group ID".

19 years agoReword to match coreutils.texi.
Paul Eggert [Tue, 12 Apr 2005 05:43:36 +0000 (05:43 +0000)]
Reword to match coreutils.texi.

19 years agoReword to match user manual.
Paul Eggert [Tue, 12 Apr 2005 05:43:19 +0000 (05:43 +0000)]
Reword to match user manual.

19 years agoFor consistency, standardize on "user ID" rather
Paul Eggert [Tue, 12 Apr 2005 05:42:55 +0000 (05:42 +0000)]
For consistency, standardize on "user ID" rather
than "uid" or "UID" or "user id".  Similarly for "group ID".

19 years agoRegenerate.
Paul Eggert [Mon, 11 Apr 2005 20:21:07 +0000 (20:21 +0000)]
Regenerate.

19 years agoAdd bulletproofing for cases where stdin, stdout, or stderr are closed.
Paul Eggert [Mon, 11 Apr 2005 20:15:45 +0000 (20:15 +0000)]
Add bulletproofing for cases where stdin, stdout, or stderr are closed.

19 years agoAdd bulletproofing for cases where stdin, stdout, or stderr are closed.
Paul Eggert [Mon, 11 Apr 2005 20:13:42 +0000 (20:13 +0000)]
Add bulletproofing for cases where stdin, stdout, or stderr are closed.

19 years agoInclude stdio_safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:13:26 +0000 (20:13 +0000)]
Include stdio_safer.h.
(check_file): Don't assume fopen cannot return stdin or stdout.

19 years ago(next_file): Don't assume fopen cannot return stdin.
Paul Eggert [Mon, 11 Apr 2005 20:13:10 +0000 (20:13 +0000)]
(next_file): Don't assume fopen cannot return stdin.

19 years ago(have_read_stdin): Remove; no longer needed. All uses
Paul Eggert [Mon, 11 Apr 2005 20:12:51 +0000 (20:12 +0000)]
(have_read_stdin): Remove; no longer needed.  All uses
removed.
(tsort): Do not assume fopen can't return stdin.
Close stdin before returning.  All uses changed.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:12:32 +0000 (20:12 +0000)]
Include unistd-safer.h.
(touch): Use fd_safer.

19 years agoInclude stdio-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:12:17 +0000 (20:12 +0000)]
Include stdio-safer.h.
(tee): Use fopen_safer.

19 years agoInclude unistd-safer.h rather than fcntl-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:12:01 +0000 (20:12 +0000)]
Include unistd-safer.h rather than fcntl-safer.h.
(recheck, tail_file): Use fd_safer rather than open_safer.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:11:45 +0000 (20:11 +0000)]
Include unistd-safer.h.
(copy_to_temp): Use fd_safer.
(tac_file): Don't assume fopen cannot return stdin.

19 years ago(bsd_sum_file, sysv_sym_file):
Paul Eggert [Mon, 11 Apr 2005 20:11:27 +0000 (20:11 +0000)]
(bsd_sum_file, sysv_sym_file):
Use same pattern as elsewhere for checking for stdin.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:11:08 +0000 (20:11 +0000)]
Include unistd-safer.h.
(cwrite): Use fd_safer.  Replace mystery constant 0666 with symbolic
version, as POSIX requires.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:10:52 +0000 (20:10 +0000)]
Include unistd-safer.h.
(create_temp_file): Use fd_safer.
(xfclose): Don't assume fileno (stdin) == STDIN_FILENO, etc.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:10:23 +0000 (20:10 +0000)]
Include unistd-safer.h.
(wipename): Use fd_safer on directory file descriptor.
(wipefile): Remove special case for /dev/fd/* on older hosts.
It didn't work in general, and wasn't documented.
Use fd_safer.

19 years ago(main): Don't assume fopen returns stdout after closing
Paul Eggert [Mon, 11 Apr 2005 20:10:00 +0000 (20:10 +0000)]
(main): Don't assume fopen returns stdout after closing
stdout.  Use freopen instead.

19 years agoInclude stdio-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:09:42 +0000 (20:09 +0000)]
Include stdio-safer.h.
(open_file): Use fopen_safer.
(close_file): Don't assume fopen does not return stdin.

19 years ago(paste_serial): Don't assume fopen does not return stdin.
Paul Eggert [Mon, 11 Apr 2005 20:09:22 +0000 (20:09 +0000)]
(paste_serial): Don't assume fopen does not return stdin.

19 years ago(check_and_close): Don't assume fopen does not return stdin.
Paul Eggert [Mon, 11 Apr 2005 20:09:01 +0000 (20:09 +0000)]
(check_and_close): Don't assume fopen does not return stdin.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:08:30 +0000 (20:08 +0000)]
Include unistd-safer.h.
(main): Don't dup stderr to stdin or stdout by mistake.

19 years ago(digest_file, digest_check):
Paul Eggert [Mon, 11 Apr 2005 20:08:11 +0000 (20:08 +0000)]
(digest_file, digest_check):
Don't assume that fopen does not return stdin.

19 years agoInclude stdio-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:07:54 +0000 (20:07 +0000)]
Include stdio-safer.h.
(main): Use fopen_safer.  Simplify the resulting code.

19 years ago(head_file): Don't assume open does not return 0.
Paul Eggert [Mon, 11 Apr 2005 20:07:37 +0000 (20:07 +0000)]
(head_file): Don't assume open does not return 0.

19 years ago(dc_parse_file): Don't assume fopen does not return stdin.
Paul Eggert [Mon, 11 Apr 2005 20:07:22 +0000 (20:07 +0000)]
(dc_parse_file): Don't assume fopen does not return stdin.

19 years agoInclude stdio-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:07:00 +0000 (20:07 +0000)]
Include stdio-safer.h.
(input_desc): Remove unnecessary static initialization.
(set_input_file): Use STDIN_FILENO, not 0.
(create_output_file): Use fopen_safer.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:06:34 +0000 (20:06 +0000)]
Include unistd-safer.h.
(copy_reg): Use fd_safer.

19 years agoInclude stdio-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:06:13 +0000 (20:06 +0000)]
Include stdio-safer.h.
(compare_files): Exit right away on I/O error rather than continuing
and producing confusing output and error messages.
Return void, not int; all callers changed.
Use fopen_safer to avoid confusion with file descriptors.

19 years agoAdd bulletproofing for cases where stdin, stdout, or stderr are closed.
Paul Eggert [Mon, 11 Apr 2005 20:05:45 +0000 (20:05 +0000)]
Add bulletproofing for cases where stdin, stdout, or stderr are closed.

19 years ago(gl_PREREQ): Don't require gl_FCNTL_SAFER.
Paul Eggert [Mon, 11 Apr 2005 20:05:34 +0000 (20:05 +0000)]
(gl_PREREQ): Don't require gl_FCNTL_SAFER.

19 years ago(gl_UNISTD_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
Paul Eggert [Mon, 11 Apr 2005 20:05:20 +0000 (20:05 +0000)]
(gl_UNISTD_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
Invoke gl_PREREQ_FD_SAFER.
(gl_PREREQ_FD_SAFER): New macro.

19 years ago(gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
Paul Eggert [Mon, 11 Apr 2005 20:04:57 +0000 (20:04 +0000)]
(gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.

19 years agoAdd bulletproofing for cases where stdin, stdout, or stderr are closed.
Paul Eggert [Mon, 11 Apr 2005 20:04:29 +0000 (20:04 +0000)]
Add bulletproofing for cases where stdin, stdout, or stderr are closed.

19 years ago(libfetish_a_SOURCES): Remove dup-safer.c,
Paul Eggert [Mon, 11 Apr 2005 20:03:40 +0000 (20:03 +0000)]
(libfetish_a_SOURCES): Remove dup-safer.c,
fcntl-safer.h, fopen-safer.c, open-safer.c, stdio-safer.h,
unistd-safer.h.

19 years ago(fd_safer): New decl.
Paul Eggert [Mon, 11 Apr 2005 20:03:22 +0000 (20:03 +0000)]
(fd_safer): New decl.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:03:04 +0000 (20:03 +0000)]
Include unistd-safer.h.
(save_cwd): Use fd_safer.

19 years agoInclude stdio-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:02:43 +0000 (20:02 +0000)]
Include stdio-safer.h.
(getusershell): Use fopen_safer.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:02:28 +0000 (20:02 +0000)]
Include unistd-safer.h.
(getloadavg): Use fd_safer.

19 years agoInclude unistd-safer.h.
Paul Eggert [Mon, 11 Apr 2005 20:02:06 +0000 (20:02 +0000)]
Include unistd-safer.h.
(fts_safe_changedir): Use fd_safer.

19 years agoInclude unistd-safer.h first, to test interface.
Paul Eggert [Mon, 11 Apr 2005 20:01:46 +0000 (20:01 +0000)]
Include unistd-safer.h first, to test interface.
(dup_safer) [!deefined F_DUPD]: Use new fd_safer function instead of
rolling our own code.

19 years agoInitial revision
Paul Eggert [Mon, 11 Apr 2005 20:01:20 +0000 (20:01 +0000)]
Initial revision

19 years ago(chopt_free): Mark parameter as unused.
Jim Meyering [Sun, 10 Apr 2005 13:44:45 +0000 (13:44 +0000)]
(chopt_free): Mark parameter as unused.

19 years ago.
Jim Meyering [Sun, 10 Apr 2005 13:41:44 +0000 (13:41 +0000)]
.

19 years ago.
Jim Meyering [Sat, 9 Apr 2005 17:29:20 +0000 (17:29 +0000)]
.

19 years ago(close_stdout_wrapper): Likewise.
Jim Meyering [Sat, 9 Apr 2005 16:29:29 +0000 (16:29 +0000)]
(close_stdout_wrapper): Likewise.
Don't close STDOUT_FILENO explicitly; close_stdout does it.

19 years ago(__attribute__, ATTRIBUTE_UNUSED): Define.
Jim Meyering [Sat, 9 Apr 2005 14:19:49 +0000 (14:19 +0000)]
(__attribute__, ATTRIBUTE_UNUSED): Define.
Mark parameter `sp' with ATTRIBUTE_UNUSED.

19 years ago(quit): Define with ATTRIBUTE_NORETURN.
Jim Meyering [Sat, 9 Apr 2005 14:15:22 +0000 (14:15 +0000)]
(quit): Define with ATTRIBUTE_NORETURN.

Now that close_stdout closes standard output unconditionally,
these workarounds for dd and cat are no longer necessary.
(close_stdout_wrapper): Remove function.
(main): Call atexit with close_stdout, instead.

19 years ago*** empty log message ***
Jim Meyering [Sat, 9 Apr 2005 14:09:00 +0000 (14:09 +0000)]
*** empty log message ***

19 years ago(__attribute__, ATTRIBUTE_UNUSED): Define.
Jim Meyering [Sat, 9 Apr 2005 14:08:57 +0000 (14:08 +0000)]
(__attribute__, ATTRIBUTE_UNUSED): Define.
(exit_failure_callback, fallback_failure_callback): Mark unused
parameters with ATTRIBUTE_UNUSED.

19 years ago(canon_host) [HAVE_GETADDRINFO]: Use memset
Jim Meyering [Sat, 9 Apr 2005 14:08:30 +0000 (14:08 +0000)]
(canon_host) [HAVE_GETADDRINFO]: Use memset
rather than `= { 0 };' to initialize local `hint'.

19 years ago*** empty log message ***
Jim Meyering [Sat, 9 Apr 2005 13:57:56 +0000 (13:57 +0000)]
*** empty log message ***

19 years agoReadability nit:
Jim Meyering [Sat, 9 Apr 2005 13:57:51 +0000 (13:57 +0000)]
Readability nit:

  Change this:
  #  define __attribute__(x)
  to this:
  #  define __attribute__(x) /* empty */

19 years ago*** empty log message ***
Jim Meyering [Sat, 9 Apr 2005 13:29:01 +0000 (13:29 +0000)]
*** empty log message ***

19 years ago(posixtime) [lint]: Avoid spurious warning from gcc-4's
Jim Meyering [Sat, 9 Apr 2005 13:28:25 +0000 (13:28 +0000)]
(posixtime) [lint]: Avoid spurious warning from gcc-4's
-Wuninitialized: initialize tm0.tm_year.

19 years ago*** empty log message ***
Jim Meyering [Sat, 9 Apr 2005 12:35:44 +0000 (12:35 +0000)]
*** empty log message ***

19 years ago(humblock): Set *options even when returning due to
Jim Meyering [Sat, 9 Apr 2005 12:35:41 +0000 (12:35 +0000)]
(humblock): Set *options even when returning due to
xstrtoumax conversion failure.  Thanks to a used-uninitialized
warning from gcc-4.

19 years ago*** empty log message ***
Jim Meyering [Sat, 9 Apr 2005 12:00:36 +0000 (12:00 +0000)]
*** empty log message ***

19 years ago*** empty log message ***
Jim Meyering [Sat, 9 Apr 2005 11:57:02 +0000 (11:57 +0000)]
*** empty log message ***

19 years ago(rm invocation): Say that --recursive removes
Jim Meyering [Sat, 9 Apr 2005 11:56:55 +0000 (11:56 +0000)]
(rm invocation): Say that --recursive removes
listed directories too, not just their contents.

19 years ago(usage): Mention that --recursive removes listed
Jim Meyering [Sat, 9 Apr 2005 10:39:17 +0000 (10:39 +0000)]
(usage): Mention that --recursive removes listed
directories too, not just their contents.
Say that by default, rm does not remove directories.

19 years ago*** empty log message ***
Jim Meyering [Sat, 9 Apr 2005 07:25:06 +0000 (07:25 +0000)]
*** empty log message ***

19 years ago(sc_system_h_headers): Propagate exit status through trap.
Jim Meyering [Sat, 9 Apr 2005 07:24:49 +0000 (07:24 +0000)]
(sc_system_h_headers): Propagate exit status through trap.

19 years agoDon't include "timespec.h". system.h does that.
Jim Meyering [Sat, 9 Apr 2005 07:23:50 +0000 (07:23 +0000)]
Don't include "timespec.h".  system.h does that.

19 years ago(iread, iwrite): Use char * buffer, not void *, so we can do pointer
Paul Eggert [Sat, 9 Apr 2005 06:16:14 +0000 (06:16 +0000)]
(iread, iwrite): Use char * buffer, not void *, so we can do pointer
arithmetic on it.

19 years agoRegenerate.
Paul Eggert [Sat, 9 Apr 2005 05:03:01 +0000 (05:03 +0000)]
Regenerate.

19 years agoSignal-handling cleanup motivated by core dumps in dd.
Paul Eggert [Sat, 9 Apr 2005 05:00:40 +0000 (05:00 +0000)]
Signal-handling cleanup motivated by core dumps in dd.

19 years ago(SA_NOCLDSTOP): Define to 0 if not defined.
Paul Eggert [Sat, 9 Apr 2005 04:57:37 +0000 (04:57 +0000)]
(SA_NOCLDSTOP): Define to 0 if not defined.
All uses changed.
(siginterrupt) [! HAVE_SIGINTERRUPT]: New macro.
(main) [! SA_NOCLDSTOP]: Use it.

19 years agoRemove all uses of signals; modern hosts have
Paul Eggert [Sat, 9 Apr 2005 04:57:15 +0000 (04:57 +0000)]
Remove all uses of signals; modern hosts have
/dev/random and don't need this gorp.
Do not include signal.h.
(env, sigill_handler, isaac_seed_machdep): Remove.  All uses removed.

19 years ago(SA_NOCLDSTOP): Define to 0 if not defined.
Paul Eggert [Sat, 9 Apr 2005 04:56:10 +0000 (04:56 +0000)]
(SA_NOCLDSTOP): Define to 0 if not defined.
All uses changed.
(siginterrupt) [! HAVE_SIGINTERRUPT]: New macro.
(main) [! SA_NOCLDSTOP]: Use it.