summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Guenther <guenther@cvs.openbsd.org>2023-08-11 04:51:37 +0000
committerPhilip Guenther <guenther@cvs.openbsd.org>2023-08-11 04:51:37 +0000
commit152ca3c3a9312cfdca5be562b61a42f869980a96 (patch)
treec2ecd8cd69ee895f9f7780ca749d497725de7eff
parent311e3dfb6d89c06c46a8b5c618c0cbe155ae72ba (diff)
msdosfs_times() doesn't need to copy timespecs onto the stack: just
mark unix2dostime()'s first argument as a pointer to const and skip the copies. ok millert@
-rw-r--r--usr.sbin/makefs/msdos/direntry.h6
-rw-r--r--usr.sbin/makefs/msdos/msdosfs_conv.c4
-rw-r--r--usr.sbin/makefs/msdos/msdosfs_vnops.c10
3 files changed, 10 insertions, 10 deletions
diff --git a/usr.sbin/makefs/msdos/direntry.h b/usr.sbin/makefs/msdos/direntry.h
index 36e097f2ab1..77f8d7dd657 100644
--- a/usr.sbin/makefs/msdos/direntry.h
+++ b/usr.sbin/makefs/msdos/direntry.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: direntry.h,v 1.2 2021/12/23 04:37:12 jsg Exp $ */
+/* $OpenBSD: direntry.h,v 1.3 2023/08/11 04:51:36 guenther Exp $ */
/* $NetBSD: direntry.h,v 1.13 1997/10/17 11:23:45 ws Exp $ */
/*-
@@ -121,8 +121,8 @@ struct winentry {
#define DD_YEAR_MASK 0xFE00 /* year - 1980 */
#define DD_YEAR_SHIFT 9
-void unix2dostime(struct timespec *tsp, int minuteswest, u_int16_t *ddp,
- u_int16_t *dtp, u_int8_t *dhp);
+void unix2dostime(const struct timespec *tsp, int minuteswest,
+ u_int16_t *ddp, u_int16_t *dtp, u_int8_t *dhp);
int unix2dosfn(u_char *un, u_char dn[11], int unlen, u_int gen);
int unix2winfn(u_char *un, int unlen, struct winentry *wep, int cnt,
int chksum);
diff --git a/usr.sbin/makefs/msdos/msdosfs_conv.c b/usr.sbin/makefs/msdos/msdosfs_conv.c
index a07f1486d6c..7b73c19bd6e 100644
--- a/usr.sbin/makefs/msdos/msdosfs_conv.c
+++ b/usr.sbin/makefs/msdos/msdosfs_conv.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: msdosfs_conv.c,v 1.2 2021/10/06 00:40:41 deraadt Exp $ */
+/* $OpenBSD: msdosfs_conv.c,v 1.3 2023/08/11 04:51:36 guenther Exp $ */
/* $NetBSD: msdosfs_conv.c,v 1.24 1997/10/17 11:23:54 ws Exp $ */
/*-
@@ -91,7 +91,7 @@ u_short lastdtime;
* file timestamps. The passed in unix time is assumed to be in GMT.
*/
void
-unix2dostime(struct timespec *tsp, int minuteswest, u_int16_t *ddp,
+unix2dostime(const struct timespec *tsp, int minuteswest, u_int16_t *ddp,
u_int16_t *dtp, u_int8_t *dhp)
{
time_t t;
diff --git a/usr.sbin/makefs/msdos/msdosfs_vnops.c b/usr.sbin/makefs/msdos/msdosfs_vnops.c
index 901c9855e3b..51c00f6cf22 100644
--- a/usr.sbin/makefs/msdos/msdosfs_vnops.c
+++ b/usr.sbin/makefs/msdos/msdosfs_vnops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: msdosfs_vnops.c,v 1.9 2021/10/06 00:40:41 deraadt Exp $ */
+/* $OpenBSD: msdosfs_vnops.c,v 1.10 2023/08/11 04:51:36 guenther Exp $ */
/* $NetBSD: msdosfs_vnops.c,v 1.17 2016/01/30 09:59:27 mlelstv Exp $ */
/*-
@@ -93,10 +93,10 @@ static void
msdosfs_times(struct msdosfsmount *pmp, struct denode *dep,
const struct stat *st)
{
- struct timespec at = st->st_atimespec;
- struct timespec mt = st->st_mtimespec;
- unix2dostime(&at, pmp->pm_minuteswest, &dep->de_ADate, NULL, NULL);
- unix2dostime(&mt, pmp->pm_minuteswest, &dep->de_MDate, &dep->de_MTime, NULL);
+ unix2dostime(&st->st_atim, pmp->pm_minuteswest, &dep->de_ADate,
+ NULL, NULL);
+ unix2dostime(&st->st_mtim, pmp->pm_minuteswest, &dep->de_MDate,
+ &dep->de_MTime, NULL);
}
/*