From 517bc45d044a80a60c7264a22085496d99ab7c44 Mon Sep 17 00:00:00 2001 From: Robert Drehmel Date: Thu, 17 Jun 2004 14:07:16 +0000 Subject: Use strlcpy(3) to replace the idiomatic strncpy(d, s, l); d[l - 1] = '\0'; statements. --- pw/psdate.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) (limited to 'pw/psdate.c') diff --git a/pw/psdate.c b/pw/psdate.c index f97253b..3f4c010 100644 --- a/pw/psdate.c +++ b/pw/psdate.c @@ -234,8 +234,8 @@ parse_date(time_t dt, char const * str) * Skip past any weekday prefix */ weekday(&str); - str = strncpy(tmp, str, sizeof tmp - 1); - tmp[sizeof tmp - 1] = '\0'; + strlcpy(tmp, str, sizeof(tmp)); + str = tmp; T = localtime(&dt); /* @@ -275,19 +275,15 @@ parse_date(time_t dt, char const * str) if ((q = strpbrk(p, " \t")) != NULL) { /* Time first? */ int l = q - str; - strncpy(timestr, str, l); - timestr[l] = '\0'; - strncpy(datestr, q + 1, sizeof datestr); - datestr[sizeof datestr - 1] = '\0'; + strlcpy(timestr, str, l + 1); + strlcpy(datestr, q + 1, sizeof(datestr)); parse_time(timestr, &T->tm_hour, &T->tm_min, &T->tm_sec); parse_datesub(datestr, &T->tm_mday, &T->tm_mon, &T->tm_year); } else if ((q = strrchr(tmp, ' ')) != NULL) { /* Time last */ int l = q - tmp; - strncpy(timestr, q + 1, sizeof timestr); - timestr[sizeof timestr - 1] = '\0'; - strncpy(datestr, tmp, l); - datestr[l] = '\0'; + strlcpy(timestr, q + 1, sizeof(timestr)); + strlcpy(datestr, tmp, l + 1); } else /* Bail out */ return dt; parse_time(timestr, &T->tm_hour, &T->tm_min, &T->tm_sec); -- cgit v1.2.3