diff options
-rw-r--r-- | Makefile | 8 | ||||
-rw-r--r-- | fb-helper.sh.in | 20 |
2 files changed, 28 insertions, 0 deletions
@@ -13,8 +13,16 @@ fb: fb.in sed 's|@VERSION@|$(VERSION)|; s|@LIBDIR@|$(LIBDIR)|' $< > $@ chmod 755 $@ +ifdef LIBCURL fb-helper: fb-helper.c $(CC) $(CFLAGS) $(LIBCURL) -DVERSION=\"$(VERSION)\" -o $@ $< +else +fb-helper: fb-helper.sh.in + @echo "libcurl not found. using shell helper..." + @[ -n "$(VERSION)" ] || (echo "Error: version detection failed"; exit 1) + sed 's|@VERSION@|$(VERSION)|; s|@LIBDIR@|$(LIBDIR)|' $< > $@ + chmod 755 $@ +endif fb.1: fb.pod pod2man -c "" $< $@ diff --git a/fb-helper.sh.in b/fb-helper.sh.in new file mode 100644 index 0000000..3a4e3b2 --- /dev/null +++ b/fb-helper.sh.in @@ -0,0 +1,20 @@ +#!/bin/sh + +mode=$1 +url=$2 +file=$3 + +USERAGENT="fb-client/shell-@VERSION@" +CURLOPTS="-n -L -A $USERAGENT" + +if [ "$mode" = "u" ]; then + basefilename=`basename -- "$file"` + if [ `stat -c %s -- "$file"` -eq "0" ] || echo "$basefilename" | grep -F -q ","; then + basefilename=`echo "$basefilename" | tr -d ,` + curl $CURLOPTS -F "file=@-;filename=$basefilename" "$url" < "$file" -o /dev/stdout + else + curl $CURLOPTS -F "file=@$file" "$url" -o /dev/stdout + fi +else + curl $CURLOPTS "$url" +fi |