- rxa += rel_pos;
- cnt -= rel_pos;
- if (cnt < 0 || rxa->datum_len <= MAX_FULL_DATUM
- || rxa->datum[0] != XSTATE_ABBREV) {
- rprintf(FERROR, "recv_xattr_request: internal abbrev error!\n");
+ num += rel_pos;
+ while (cnt && rxa->num < num) {
+ rxa++;
+ cnt--;
+ }
+ if (!cnt || rxa->num != num) {
+ rprintf(FERROR, "[%s] could not find xattr #%d for %s\n",
+ who_am_i(), num, f_name(file, NULL));
+ exit_cleanup(RERR_STREAMIO);
+ }
+ if (rxa->datum_len <= MAX_FULL_DATUM || rxa->datum[0] != XSTATE_ABBREV) {
+ rprintf(FERROR, "[%s] internal abbrev error!\n", who_am_i());