summaryrefslogtreecommitdiff
path: root/lib/common-functions
diff options
context:
space:
mode:
Diffstat (limited to 'lib/common-functions')
-rwxr-xr-xlib/common-functions21
1 files changed, 12 insertions, 9 deletions
diff --git a/lib/common-functions b/lib/common-functions
index 73628b7..b8eb383 100755
--- a/lib/common-functions
+++ b/lib/common-functions
@@ -768,7 +768,7 @@ extract_pkgname_epoch_pkgver_pkgrel_sub_pkgrel_arch_from_package_name() {
# shellcheck disable=SC2120
irc_say() {
local channel
- local channel_in_pipe
+ local content
if [ -z "$1" ]; then
channel='#archlinux32'
else
@@ -778,18 +778,21 @@ irc_say() {
[ "$(date '+%s')" -gt "$(cat "${work_dir}/irc-shut-up")" ]; then
rm "${work_dir}/irc-shut-up"
fi
+ content=$(cat)
+ if [ "$2" = 'copy' ]; then
+ printf '%s\n' "${content}"
+ fi
if [ -s "${work_dir}/irc-shut-up" ] && \
[ -z "${channel%%#*}" ]; then
- channel_in_pipe='/dev/null'
- else
- channel_in_pipe="${irc_dir}/${channel}/in"
+ return
fi
if [ -p "${irc_dir}/${channel}/in" ]; then
- if [ "$2" = 'copy' ]; then
- pee cat 'sponge '"${channel_in_pipe}"
- else
- sponge "${channel_in_pipe}"
- fi
+ printf '%s\n' "${content}" \
+ | sponge "${irc_dir}/${channel}/in"
+ else
+ printf '%s\n' "${content}" \
+ sed 's@^@/j '"${channel}"' @' \
+ | sponge "${irc_dir}/${channel}/in"
fi
}