glibc/sysdeps/unix/utime.c
Roland McGrath a182affdd9 Wed Feb 21 02:25:07 1996 Roland McGrath <roland@charlie-brown.gnu.ai.mit.edu>
* Rules (others): Depend on $(extra-objs), $(install-lib),
	$(install-bin), $(install-sbin), in object directory.

	* Makeconfig (link-libc): Don't pass -rpath option with default
	path, since ld.so should use the same default.
	* Makerules (build-shlib): Likewise.

	* Makerules (make-target-directory): Use mkinstalldirs.

	* sysdeps/mach/i386/sysdep.h: Include unix/i386/sysdep.h to
	redefine ENTRY et al.

	* sysdeps/unix/sysv/linux/i386/sysdep.h (NO_UNDERSCORES, ENTRY):
	Macros removed.  The code in unix/i386/sysdep.h should now suffice.

	* sysdeps/unix/i386/sysdep.h (ALIGNARG): New macro, defns for
	[HAVE_ELF] and not.
	(ENTRY): Use it in .align directive.
	(CALL_MCOUNT): New macro, empty unless [PROF].
	(ENTRY): Do CALL_MCOUNT just after the label.

	* Makeconfig (CPPFLAGS-.po): New variable, use -DPROF so assembly
	code can call mcount.

Tue Feb 20 23:05:16 1996  Roland McGrath  <roland@charlie-brown.gnu.ai.mit.edu>

	* time/private.h, time/zdump.c, time/zic.c: Updated verbatim from ADO;
	translation markings are now integrated in his distribution.

	* stdlib/strtod.c (round_and_return): Add missing (mp_limb) 1 cast.

	* po: New directory where `LANG.po' files for message translations
	will reside.
	* po/SYS_libc.pot: New file, template of message strings as in source.
	* MakeTAGS: New rules to build po/SYS_libc.pot automatically from
	the source using xgettext.
	* Makerules ($(..)po/%.pot): New rule.
	* manual/Makefile (../po/manual.pot): New target, make it empty.

	* sysdeps/unix/bsd/alarm.c: Moved to sysdeps/unix/alarm.c.
	* sysdeps/unix/bsd/nice.c: Moved to sysdeps/unix/nice.c.
	* sysdeps/unix/bsd/stime.c: Moved to sysdeps/unix/stime.c.
	* sysdeps/unix/bsd/time.c: Moved to sysdeps/unix/time.c.
	* sysdeps/unix/bsd/utime.c: Moved to sysdeps/unix/utime.c.
1996-02-22 15:52:20 +00:00

51 lines
1.5 KiB
C

/* Copyright (C) 1991, 1994 Free Software Foundation, Inc.
This file is part of the GNU C Library.
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
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <ansidecl.h>
#include <sysdep.h>
#include <errno.h>
#include <utime.h>
#include <time.h>
#include <sys/types.h>
#include <sys/time.h>
/* Set the access and modification times of FILE to those given in TIMES.
If TIMES is NULL, set them to the current time. */
int
DEFUN(utime, (file, times), CONST char *file AND CONST struct utimbuf *times)
{
struct timeval timevals[2];
if (times != NULL)
{
timevals[0].tv_sec = (long int) times->actime;
timevals[0].tv_usec = 0L;
timevals[1].tv_sec = (long int) times->modtime;
timevals[1].tv_usec = 0L;
}
else
{
if (__gettimeofday (&timevals[0], NULL) < 0)
return -1;
timevals[1] = timevals[0];
}
return __utimes (file, timevals);
}