From 1c4c4e955ecb312fef7bda58d15d4a6314d6fd40 Mon Sep 17 00:00:00 2001 From: dougb Date: Wed, 2 Nov 2011 04:21:20 +0000 Subject: If the user is moving from any other time zone to UTC we need to delete any old /var/db/zoneinfo file that may exist so that tzsetup -r does the right thing. --- usr.sbin/tzsetup/tzsetup.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'usr.sbin/tzsetup') diff --git a/usr.sbin/tzsetup/tzsetup.c b/usr.sbin/tzsetup/tzsetup.c index 8251470..5a9ea0a 100644 --- a/usr.sbin/tzsetup/tzsetup.c +++ b/usr.sbin/tzsetup/tzsetup.c @@ -565,6 +565,18 @@ install_zoneinfo_file(const char *zoneinfo_file) return (DITEM_FAILURE | DITEM_RECREATE); } + if (unlink(path_db) < 0 && errno != ENOENT) { + snprintf(title, sizeof(title), "Error"); + snprintf(prompt, sizeof(prompt), + "Could not delete %s: %s", path_db, + strerror(errno)); + if (usedialog) + dialog_mesgbox(title, prompt, 8, 72); + else + fprintf(stderr, "%s\n", prompt); + + return (DITEM_FAILURE | DITEM_RECREATE); + } return (DITEM_LEAVE_MENU); } -- cgit v1.1