#!/bin/bash
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$

mysed="s:${D}::g"

for x in "$@" ; do
	y="${D}${x}"
	if [ -e "${y}" ] ; then
		if [ -f "${y}" ] ; then
			sed -i -e "${mysed}" "${y}"
		else
			echo "${y} is not a regular file!"
			exit 1
		fi
	else
		mysed="${x}"
	fi
done
