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

source "${PORTAGE_BIN_PATH:-/usr/lib/portage/bin}"/isolated-functions.sh

if ! ___eapi_has_dosed; then
	die "'${0##*/}' has been banned for EAPI '$EAPI'"
	exit 1
fi

if [[ $# -lt 1 ]] ; then
	echo "!!! ${0##*/}: at least one argument needed" >&2
	exit 1
fi

if ! ___eapi_has_prefix_variables; then
	ED=${D}
fi

ret=0
file_found=0
mysed="s:${ED}::g"

for x in "$@" ; do
	y=$ED${x#/}
	if [ -e "${y}" ] ; then
		if [ -f "${y}" ] ; then
			file_found=1
			sed -i -e "${mysed}" "${y}"
		else
			echo "${y} is not a regular file!" >&2
			false
		fi
		((ret|=$?))
	else
		mysed="${x}"
	fi
done

if [ $file_found = 0 ] ; then
	echo "!!! ${0##*/}: $y does not exist" 1>&2
	((ret|=1))
fi

exit $ret
