Author: ivan
Date: Fri May 22 22:09:04 2026
New Revision: 1934523

Log:
Remove several type casts by using more appropriate type.

* subversion/libsvn_diff/diff_file.c
  (offset_in_chunk): Return apr_size_t instead of apr_off_t -- offset in chunk
   cannot be larger than 128 KB.
  (read_chunk): Use apr_size_t instead of apr_off_t for LENGTH argument.
   Remove typecast.
  (increment_chunk): Use apr_size_t instead of apr_off_t for LENGTH local
   variable. 
  (find_identical_suffix): Use apr_size_t[4] instead of apr_off_t[4] for
   LENGTH local variable.
  (datasources_open): Use apr_size_t[4] instead of apr_off_t[4] for
   LENGTH local variable. Remove now redundant type cast.

Modified:
   subversion/trunk/subversion/libsvn_diff/diff_file.c

Modified: subversion/trunk/subversion/libsvn_diff/diff_file.c
==============================================================================
--- subversion/trunk/subversion/libsvn_diff/diff_file.c Fri May 22 21:42:24 
2026        (r1934522)
+++ subversion/trunk/subversion/libsvn_diff/diff_file.c Fri May 22 22:09:04 
2026        (r1934523)
@@ -142,7 +142,7 @@ offset_to_chunk(apr_off_t offset)
   return offset >> CHUNK_SHIFT;
 }
 
-static APR_INLINE apr_off_t
+static APR_INLINE apr_size_t
 offset_in_chunk(apr_off_t offset)
 {
   return offset & (CHUNK_SIZE - 1);
@@ -153,14 +153,14 @@ offset_in_chunk(apr_off_t offset)
  */
 static APR_INLINE svn_error_t *
 read_chunk(apr_file_t *file,
-           char *buffer, apr_off_t length,
+           char *buffer, apr_size_t length,
            apr_off_t offset, apr_pool_t *scratch_pool)
 {
   /* XXX: The final offset may not be the one we asked for.
    * XXX: Check.
    */
   SVN_ERR(svn_io_file_seek(file, APR_SET, &offset, scratch_pool));
-  return svn_io_file_read_full2(file, buffer, (apr_size_t) length,
+  return svn_io_file_read_full2(file, buffer, length,
                                 NULL, NULL, scratch_pool);
 }
 
@@ -281,7 +281,7 @@ map_or_read_file(apr_file_t **file,
 static svn_error_t *
 increment_chunk(struct file_info *file, apr_pool_t *pool)
 {
-  apr_off_t length;
+  apr_size_t length;
   apr_off_t last_chunk = offset_to_chunk(file->size);
 
   if (file->chunk == -1)
@@ -482,7 +482,7 @@ find_identical_suffix(apr_off_t *suffix_
                       apr_size_t file_len, apr_pool_t *pool)
 {
   struct file_info file_for_suffix[4] = { { 0 }  };
-  apr_off_t length[4];
+  apr_size_t length[4];
   apr_off_t suffix_min_chunk0;
   apr_off_t suffix_min_offset0;
   apr_off_t min_file_size;
@@ -663,7 +663,7 @@ datasources_open(void *baton,
 {
   svn_diff__file_baton_t *file_baton = baton;
   struct file_info files[4];
-  apr_off_t length[4];
+  apr_size_t length[4];
 #ifndef SVN_DISABLE_PREFIX_SUFFIX_SCANNING
   svn_boolean_t reached_one_eof;
 #endif
@@ -685,7 +685,7 @@ datasources_open(void *baton,
       SVN_ERR(svn_io_file_size_get(&filesize, file->file, file_baton->pool));
       file->size = filesize;
       length[i] = filesize > CHUNK_SIZE ? CHUNK_SIZE : filesize;
-      file->buffer = apr_palloc(file_baton->pool, (apr_size_t) length[i]);
+      file->buffer = apr_palloc(file_baton->pool, length[i]);
       SVN_ERR(read_chunk(file->file, file->buffer,
                          length[i], 0, file_baton->pool));
       file->endp = file->buffer + length[i];

Reply via email to