summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/erasurecode.c26
1 files changed, 14 insertions, 12 deletions
diff --git a/src/erasurecode.c b/src/erasurecode.c
index 65b4456..129ea4b 100644
--- a/src/erasurecode.c
+++ b/src/erasurecode.c
@@ -562,18 +562,20 @@ int liberasurecode_decode(int desc,
goto out;
}
- /*
- * Try to re-assebmle the original data before attempting a decode
- */
- ret = fragments_to_string(k, m,
- available_fragments, num_fragments,
- out_data, out_data_len);
-
- /* shss (ntt_backend) must force to decode */
- // TODO: Add a frag and function to handle whether the backend want to decode or not.
- if (ret == 0 && instance->common.id != 5) {
- /* We were able to get the original data without decoding! */
- goto out;
+ if (instance->common.id != 5) {
+ /* shss (ntt_backend) must force to decode */
+ // TODO: Add a frag and function to handle whether the backend want to decode or not.
+ /*
+ * Try to re-assebmle the original data before attempting a decode
+ */
+ ret = fragments_to_string(k, m,
+ available_fragments, num_fragments,
+ out_data, out_data_len);
+
+ if (ret == 0) {
+ /* We were able to get the original data without decoding! */
+ goto out;
+ }
}
/*