logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma git clone https://hacktivis.me/git/pleroma.git
commit: 967afa064bb0dc85c054495b795a57a13cdf3b3c
parent aa0a5ffb4849880b5adbcc9188de01ef778381e3
Author: href <href+git-pleroma@random.sh>
Date:   Fri, 21 Aug 2020 17:02:57 +0000

Fix truncated images

Diffstat:

Mlib/pleroma/helpers/media_helper.ex16+++++++++++++---
1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/lib/pleroma/helpers/media_helper.ex b/lib/pleroma/helpers/media_helper.ex @@ -19,14 +19,24 @@ defmodule Pleroma.Helpers.MediaHelper do """ pid = Port.open({:spawn, cmd}, [:use_stdio, :in, :stream, :exit_status, :binary]) + loop_recv(pid) + end + + defp loop_recv(pid) do + loop_recv(pid, <<>>) + end + defp loop_recv(pid, acc) do receive do {^pid, {:data, data}} -> - send(pid, {self(), :close}) - {:ok, data} + loop_recv(pid, acc <> data) - {^pid, {:exit_status, status}} when status > 0 -> + {^pid, {:exit_status, 0}} -> + {:ok, acc} + + {^pid, {:exit_status, status}} -> {:error, status} end end + end