소스 검색

config: use ptrdiff_t for all field-offset members.

Previously we used int here, but it is more correct to use
ptrdiff_t.  (This never actually matters for our code in practice,
since the structure we are managing here never exceed INT_MAX in
size.)
Nick Mathewson 4 년 전
부모
커밋
539158f2be
2개의 변경된 파일5개의 추가작업 그리고 3개의 파일을 삭제
  1. 1 1
      src/app/config/confparse.h
  2. 4 2
      src/lib/conf/conftypes.h

+ 1 - 1
src/app/config/confparse.h

@@ -72,7 +72,7 @@ typedef struct config_format_t {
   const struct_member_t *extra;
   /** The position of a config_suite_t pointer within the toplevel object,
    * or -1 if there is no such pointer. */
-  int config_suite_offset;
+  ptrdiff_t config_suite_offset;
 } config_format_t;
 
 /**

+ 4 - 2
src/lib/conf/conftypes.h

@@ -33,6 +33,8 @@
 #include "lib/conf/conftesting.h"
 #endif
 
+#include <stddef.h>
+
 /** Enumeration of types which option values can take */
 typedef enum config_type_t {
   CONFIG_TYPE_STRING = 0,   /**< An arbitrary string. */
@@ -89,7 +91,7 @@ typedef struct struct_member_t {
    * Offset of this field within the structure.  Compute this with
    * offsetof(structure, fieldname).
    **/
-  int offset;
+  ptrdiff_t offset;
 } struct_member_t;
 
 /**
@@ -102,7 +104,7 @@ typedef struct struct_member_t {
 typedef struct struct_magic_decl_t {
   const char *typename;
   uint32_t magic_val;
-  int magic_offset;
+  ptrdiff_t magic_offset;
 } struct_magic_decl_t;
 
 /**