#!/bin/sh

. /etc/control.d/functions

CONFIG=/etc/ld.so.preload
LIBDIR="/$(getconf SLIB)/libelogind.so.0"

new_summary "preload libelogind before each program"

new_help enabled "Enable libelogind preload"
new_help disabled "Disable libelogind preload"

case "$*" in
	enabled)
		[ -e "$CONFIG" ] && grep -Fxqs -e "$LIBDIR" "$CONFIG" ||
			printf '%s\n' "$LIBDIR" >> "$CONFIG"
		;;
	disabled)
		if grep -Fxqs -e "$LIBDIR" "$CONFIG"; then
			STR="$LIBDIR"
			[ -n "${STR##*[\[\].*&^\$\\\\/]*}" ] ||
				STR="$(printf '%s' "$STR" |sed -e 's/[].*&^$[\/]/\\&/g')"
			sed -i --follow-symlinks -e "\\#^$STR\$#d" -- "$CONFIG"
		fi
		;;
	status)
		[ -e "$CONFIG" ] && grep -Fxqs -e "$LIBDIR" "$CONFIG" &&
			echo enabled ||
			echo disabled
		;;
	list)
		control_list
		;;
	summary)
		control_summary
		;;
	help|'help '*)
		control_help "${REQUEST#help}"
		;;
esac
