diff options
-rwxr-xr-x | 2ff | 28 |
1 files changed, 20 insertions, 8 deletions
@@ -5,20 +5,32 @@ if [ "$#" -ne 0 ]; then fi TMP=$(mktemp) -cat > "$TMP"; +cat > "$TMP" -FORMAT=$(file -ib "$TMP" | cut -d ";" -f 1); +if [ "$(head -c 8 "$TMP")" = "farbfeld" ]; then + cat < "$TMP" + exit 0 +fi + +FORMAT=$(file -ib "$TMP" | cut -d ";" -f 1) case "$FORMAT" in - image/png) png2ff < "$TMP"; ret=$? ;; - image/jpeg) jpg2ff < "$TMP"; ret=$? ;; - *) convert "$TMP" png:- 2>/dev/null | png2ff 2>/dev/null; ret=$? ;; +image/png) + png2ff < "$TMP" + ;; +image/jpeg) + jpg2ff < "$TMP" + ;; +*) + convert "$TMP" png:- 2>/dev/null | png2ff 2>/dev/null + ;; esac -rm "$TMP"; +ret=$? +rm "$TMP" if [ $ret -ne 0 ]; then - printf "%s: failed to convert %s\n" "$0" "$FORMAT" >&2; + printf "%s: failed to convert from %s\n" "$0" "$FORMAT" >&2 fi -exit $ret; +exit $ret |