From 3d26edd8e9e0ea1960696b0734803a694e23dfc0 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 28 Jul 2012 07:23:54 -0700 Subject: [PATCH] utimens: use extern-inline * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h. * lib/utimens.h: Add copyright notice, since this is now large enough to copyright. Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. (_GL_UTIMENS_INLINE): New macro. Use it instead of 'static inline'. * modules/utimens (Depends-on): Add extern-inline. --- ChangeLog | 7 +++++++ lib/utimens.c | 1 + lib/utimens.h | 30 +++++++++++++++++++++++++++++- modules/utimens | 1 + 4 files changed, 38 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 2b5add781..a00e44582 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,12 @@ 2012-08-01 Paul Eggert + utimens: use extern-inline + * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h. + * lib/utimens.h: Add copyright notice, since this is now large enough + to copyright. Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. + (_GL_UTIMENS_INLINE): New macro. Use it instead of 'static inline'. + * modules/utimens (Depends-on): Add extern-inline. + u64: use extern-inline * lib/u64.c: New file. * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. diff --git a/lib/utimens.c b/lib/utimens.c index c126b9551..f06918cc2 100644 --- a/lib/utimens.c +++ b/lib/utimens.c @@ -21,6 +21,7 @@ #include +#define _GL_UTIMENS_INLINE _GL_EXTERN_INLINE #include "utimens.h" #include diff --git a/lib/utimens.h b/lib/utimens.h index 8c47cf93f..80343166c 100644 --- a/lib/utimens.h +++ b/lib/utimens.h @@ -1,3 +1,22 @@ +/* Set file access and modification times. + + Copyright 2012 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 the + Free Software Foundation; either version 3 of the License, or any + later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Written by Paul Eggert. */ + #include int fdutimens (int, char const *, struct timespec const [2]); int utimens (char const *, struct timespec const [2]); @@ -7,13 +26,22 @@ int lutimens (char const *, struct timespec const [2]); # include # include +_GL_INLINE_HEADER_BEGIN + int fdutimensat (int fd, int dir, char const *name, struct timespec const [2], int atflag); +#ifndef _GL_UTIMENS_INLINE +# define _GL_UTIMENS_INLINE _GL_INLINE +#endif + /* Using this function makes application code slightly more readable. */ -static inline int +_GL_UTIMENS_INLINE int lutimensat (int dir, char const *file, struct timespec const times[2]) { return utimensat (dir, file, times, AT_SYMLINK_NOFOLLOW); } + +_GL_INLINE_HEADER_END + #endif diff --git a/modules/utimens b/modules/utimens index accd74b1d..8797774dc 100644 --- a/modules/utimens +++ b/modules/utimens @@ -10,6 +10,7 @@ m4/utimes.m4 Depends-on: errno +extern-inline fcntl-h fstat lstat -- 2.11.0