- #ifdef HAVE_LINUX_XATTRS
-- write_abbrevint(f, rxa->name_len);
-- write_abbrevint(f, rxa->datum_len);
-+ write_abbrevint30(f, rxa->name_len);
-+ write_abbrevint30(f, rxa->datum_len);
- write_buf(f, rxa->name, rxa->name_len);
- #else
- /* We strip the rsync prefix from disguised namespaces
- * and put everything else in the user namespace. */
- if (HAS_PREFIX(rxa->name, RSYNC_PREFIX)
- && rxa->name[RPRE_LEN] != '%') {
-- write_abbrevint(f, rxa->name_len - RPRE_LEN);
-- write_abbrevint(f, rxa->datum_len);
-+ write_abbrevint30(f, rxa->name_len - RPRE_LEN);
-+ write_abbrevint30(f, rxa->datum_len);
- write_buf(f, rxa->name + RPRE_LEN, rxa->name_len - RPRE_LEN);
- } else {
-- write_abbrevint(f, rxa->name_len + UPRE_LEN);
-- write_abbrevint(f, rxa->datum_len);
-+ write_abbrevint30(f, rxa->name_len + UPRE_LEN);
-+ write_abbrevint30(f, rxa->datum_len);
+ size_t name_len = rxa->name_len;
+ const char *name = rxa->name;
+@@ -410,8 +421,8 @@ int send_xattr(stat_x *sxp, int f)
+ name_len += UPRE_LEN;
+ }
+ #endif
+- write_varint(f, name_len);
+- write_varint(f, rxa->datum_len);
++ write_varint30(f, name_len);
++ write_varint30(f, rxa->datum_len);
+ #ifndef HAVE_LINUX_XATTRS
+ if (name_len > rxa->name_len) {