9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/*
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Use is subject to license terms.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/*
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Copyright (c) 2004 by Internet Systems Consortium, Inc. ("ISC")
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Copyright (c) 2000 by Internet Software Consortium, Inc.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib *
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * Permission to use, copy, modify, and distribute this software for any
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * purpose with or without fee is hereby granted, provided that the above
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * copyright notice and this permission notice appear in all copies.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib *
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#include <port_before.h>
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#include <stdio.h>
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#include <isc/misc.h>
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#include <port_after.h>
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#ifndef HAVE_MOVEFILE
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/*
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * rename() is lame (can't overwrite an existing file) on some systems.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib * use movefile() instead, and let lame OS ports do what they need to.
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib */
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibint
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaibisc_movefile(const char *oldname, const char *newname) {
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib return (rename(oldname, newname));
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib}
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#else
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib static int os_port_has_isc_movefile = 1;
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib#endif
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib
9525b14bcdeb5b5f6f95ab27c2f48f18bd2ec829Rao Shoaib/*! \file */