X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=afh_recv.c;h=92e9e8394c31143d892a94434e7daa0c3380f3c7;hp=657a205737595f370eeb238813a7cd2c009064dc;hb=093dda1824631372587d107d64601389027c6187;hpb=0879c9de4eaf8c78131c243d8e9fec013df0d14a diff --git a/afh_recv.c b/afh_recv.c index 657a2057..92e9e839 100644 --- a/afh_recv.c +++ b/afh_recv.c @@ -59,7 +59,8 @@ static int afh_execute(struct btr_node *btrn, const char *cmd, char **result) return ret; if (x >= pard->afhi.chunks_total) return -ERRNO_TO_PARA_ERROR(EINVAL); - pard->first_chunk = pard->current_chunk = x; + pard->first_chunk = afh_get_start_chunk(x, &pard->afhi); + pard->current_chunk = pard->first_chunk; return 1; } return -E_BTR_NAVAIL; @@ -109,9 +110,12 @@ static int afh_recv_open(struct receiver_node *rn) if (PARA_ABS(conf->begin_chunk_arg) >= afhi->chunks_total) goto out_clear_afhi; if (conf->begin_chunk_arg >= 0) - pard->first_chunk = conf->begin_chunk_arg; + pard->first_chunk = afh_get_start_chunk( + conf->begin_chunk_arg, &pard->afhi); else - pard->first_chunk = afhi->chunks_total + conf->begin_chunk_arg; + pard->first_chunk = afh_get_start_chunk( + afhi->chunks_total + conf->begin_chunk_arg, + &pard->afhi); if (conf->end_chunk_given) { ret = -ERRNO_TO_PARA_ERROR(EINVAL); if (PARA_ABS(conf->end_chunk_arg) > afhi->chunks_total)