[DTrace-devel] [PATCH 2/7] strtab: make internal structures private

Eugene Loh eugene.loh at oracle.com
Thu Jul 27 15:54:33 UTC 2023


Reviewed-by: Eugene Loh <eugene.loh at oracle.com>

On 7/27/23 11:28, Kris Van Hees via DTrace-devel wrote:
> Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
> ---
>   libdtrace/dt_strtab.c | 19 +++++++++++++++++++
>   libdtrace/dt_strtab.h | 19 +------------------
>   2 files changed, 20 insertions(+), 18 deletions(-)
>
> diff --git a/libdtrace/dt_strtab.c b/libdtrace/dt_strtab.c
> index aeece0d7..73cb8294 100644
> --- a/libdtrace/dt_strtab.c
> +++ b/libdtrace/dt_strtab.c
> @@ -14,6 +14,25 @@
>   #include <dt_string.h>
>   #include <dt_impl.h>
>   
> +typedef struct dt_strhash {
> +	const char *str_data;		/* pointer to actual string data */
> +	ulong_t str_buf;		/* index of string data buffer */
> +	size_t str_off;			/* offset in bytes of this string */
> +	size_t str_len;			/* length in bytes of this string */
> +	struct dt_strhash *str_next;	/* next string in hash chain */
> +} dt_strhash_t;
> +
> +struct dt_strtab {
> +	dt_strhash_t **str_hash;	/* array of hash buckets */
> +	ulong_t str_hashsz;		/* size of hash bucket array */
> +	char **str_bufs;		/* array of buffer pointers */
> +	char *str_ptr;			/* pointer to current buffer location */
> +	ulong_t str_nbufs;		/* size of buffer pointer array */
> +	size_t str_bufsz;		/* size of individual buffer */
> +	ulong_t str_nstrs;		/* total number of strings in strtab */
> +	size_t str_size;		/* total size of strings in bytes */
> +};
> +
>   static int
>   dt_strtab_grow(dt_strtab_t *sp)
>   {
> diff --git a/libdtrace/dt_strtab.h b/libdtrace/dt_strtab.h
> index 9cde73b9..92970d19 100644
> --- a/libdtrace/dt_strtab.h
> +++ b/libdtrace/dt_strtab.h
> @@ -15,24 +15,7 @@
>   extern "C" {
>   #endif
>   
> -typedef struct dt_strhash {
> -	const char *str_data;		/* pointer to actual string data */
> -	ulong_t str_buf;		/* index of string data buffer */
> -	size_t str_off;			/* offset in bytes of this string */
> -	size_t str_len;			/* length in bytes of this string */
> -	struct dt_strhash *str_next;	/* next string in hash chain */
> -} dt_strhash_t;
> -
> -typedef struct dt_strtab {
> -	dt_strhash_t **str_hash;	/* array of hash buckets */
> -	ulong_t str_hashsz;		/* size of hash bucket array */
> -	char **str_bufs;		/* array of buffer pointers */
> -	char *str_ptr;			/* pointer to current buffer location */
> -	ulong_t str_nbufs;		/* size of buffer pointer array */
> -	size_t str_bufsz;		/* size of individual buffer */
> -	ulong_t str_nstrs;		/* total number of strings in strtab */
> -	size_t str_size;		/* total size of strings in bytes */
> -} dt_strtab_t;
> +typedef struct dt_strtab	dt_strtab_t;
>   
>   typedef ssize_t dt_strtab_write_f(const char *, size_t, size_t, void *);
>   



More information about the DTrace-devel mailing list