From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 7850) id 090F53858D20; Mon, 5 Jun 2023 21:27:50 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 090F53858D20 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable From: Indu Bhagat To: bfd-cvs@sourceware.org, gdb-cvs@sourceware.org Subject: [binutils-gdb] libsframe: avoid unnecessary type casts X-Act-Checkin: binutils-gdb X-Git-Author: Indu Bhagat X-Git-Refname: refs/heads/master X-Git-Oldrev: 3c5e824b9cee93a987a77906240c509add260a0d X-Git-Newrev: 1466e49f7de4642859f2bf5e31d9a22b845b7797 Message-Id: <20230605212750.090F53858D20@sourceware.org> Date: Mon, 5 Jun 2023 21:27:50 +0000 (GMT) X-BeenThere: binutils-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Binutils-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Jun 2023 21:27:50 -0000 https://sourceware.org/git/gitweb.cgi?p=3Dbinutils-gdb.git;h=3D1466e49f7de4= 642859f2bf5e31d9a22b845b7797 commit 1466e49f7de4642859f2bf5e31d9a22b845b7797 Author: Indu Bhagat Date: Mon Jun 5 14:16:02 2023 -0700 libsframe: avoid unnecessary type casts =20 Change the data type of some of the members of the sframe_decoder_ctx and sframe_encoder_ctx data structures to use the applicable data types explicitly. Current implementation in libsframe does type casts, which seem unnecessary. =20 libsframe/ * libsframe/sframe-impl.h (struct sframe_decoder_ctx): Use applicable data type explicitly. (struct sframe_encoder_ctx): Likewise. Use same style of comments consistently. * libsframe/sframe.c (struct sf_fde_tbl): Define without typedef. (struct sf_fre_tbl): Likewise. (sframe_decode): Remove unnecessary type casts. (sframe_encoder_get_funcdesc_at_index): Likewise. (sframe_encoder_add_fre): Likewise. (sframe_encoder_add_funcdesc): Likewise. (sframe_sort_funcdesc): Likewise. (sframe_encoder_write_sframe): Likewise. Diff: --- libsframe/sframe-impl.h | 25 +++++++++++++++++-------- libsframe/sframe.c | 34 +++++++++++++++++----------------- 2 files changed, 34 insertions(+), 25 deletions(-) diff --git a/libsframe/sframe-impl.h b/libsframe/sframe-impl.h index b179680115c..06b4a89da67 100644 --- a/libsframe/sframe-impl.h +++ b/libsframe/sframe-impl.h @@ -35,9 +35,9 @@ struct sframe_decoder_ctx /* SFrame header. */ sframe_header sfd_header; /* SFrame function desc entries table. */ - uint32_t *sfd_funcdesc; + sframe_func_desc_entry *sfd_funcdesc; /* SFrame FRE table. */ - void *sfd_fres; + char *sfd_fres; /* Number of bytes needed for SFrame FREs. */ int sfd_fre_nbytes; /* Reference to the internally malloc'd buffer, if any, for endian flipp= ing @@ -45,14 +45,23 @@ struct sframe_decoder_ctx void *sfd_buf; }; =20 +typedef struct sf_fde_tbl sf_fde_tbl; +typedef struct sf_fre_tbl sf_fre_tbl; + struct sframe_encoder_ctx { - sframe_header sfe_header; /* SFrame header. */ - uint32_t *sfe_funcdesc; /* SFrame function desc entries table. */ - sframe_frame_row_entry *sfe_fres; /* SFrame FRE table. */ - uint32_t sfe_fre_nbytes; /* Number of bytes needed for SFrame FREs. */ - char *sfe_data; /* SFrame data buffer. */ - size_t sfe_data_size; /* Size of the SFrame data buffer. */ + /* SFrame header. */ + sframe_header sfe_header; + /* SFrame function desc entries table. */ + sf_fde_tbl *sfe_funcdesc; + /* SFrame FRE table. */ + sf_fre_tbl *sfe_fres; + /* Number of bytes needed for SFrame FREs. */ + uint32_t sfe_fre_nbytes; + /* SFrame output data buffer. */ + char *sfe_data; + /* Size of the SFrame output data buffer. */ + size_t sfe_data_size; }; =20 #ifdef __cplusplus diff --git a/libsframe/sframe.c b/libsframe/sframe.c index a97c64f7a9b..b05fed97e61 100644 --- a/libsframe/sframe.c +++ b/libsframe/sframe.c @@ -25,19 +25,19 @@ #include "sframe-impl.h" #include "swap.h" =20 -typedef struct sf_funidx_tbl +struct sf_fde_tbl { unsigned int count; unsigned int alloced; sframe_func_desc_entry entry[1]; -} sf_funidx_tbl; +}; =20 -typedef struct sf_fre_tbl +struct sf_fre_tbl { unsigned int count; unsigned int alloced; sframe_frame_row_entry entry[1]; -} sf_fre_tbl; +}; =20 #define _sf_printflike_(string_index,first_to_check) \ __attribute__ ((__format__ (__printf__, (string_index), (first_to_chec= k)))) @@ -867,7 +867,7 @@ sframe_decode (const char *sf_buf, size_t sf_size, int = *errp) frame_buf +=3D (fidx_size); =20 /* Handle the SFrame Frame Row Entry section. */ - dctx->sfd_fres =3D malloc (sfheaderp->sfh_fre_len); + dctx->sfd_fres =3D (char *) malloc (sfheaderp->sfh_fre_len); if (dctx->sfd_fres =3D=3D NULL) { sframe_ret_set_errno (errp, SFRAME_ERR_NOMEM); @@ -1217,7 +1217,7 @@ sframe_encoder_get_funcdesc_at_index (sframe_encoder_= ctx *encoder, sframe_func_desc_entry *fde =3D NULL; if (func_idx < sframe_encoder_get_num_fidx (encoder)) { - sf_funidx_tbl *func_tbl =3D (sf_funidx_tbl *) encoder->sfe_funcdesc; + sf_fde_tbl *func_tbl =3D encoder->sfe_funcdesc; fde =3D func_tbl->entry + func_idx; } return fde; @@ -1351,7 +1351,7 @@ sframe_encoder_add_fre (sframe_encoder_ctx *encoder, return sframe_set_errno (&err, SFRAME_ERR_FDE_NOTFOUND); =20 fre_type =3D sframe_get_fre_type (fdep); - sf_fre_tbl *fre_tbl =3D (sf_fre_tbl *) encoder->sfe_fres; + sf_fre_tbl *fre_tbl =3D encoder->sfe_fres; =20 if (fre_tbl =3D=3D NULL) { @@ -1402,7 +1402,7 @@ sframe_encoder_add_fre (sframe_encoder_ctx *encoder, esz =3D sframe_fre_entry_size (frep, fre_type); fre_tbl->count++; =20 - encoder->sfe_fres =3D (void *) fre_tbl; + encoder->sfe_fres =3D fre_tbl; encoder->sfe_fre_nbytes +=3D esz; =20 ehp =3D sframe_encoder_get_header (encoder); @@ -1432,7 +1432,7 @@ sframe_encoder_add_funcdesc (sframe_encoder_ctx *enco= der, uint32_t num_fres __attribute__ ((unused))) { sframe_header *ehp; - sf_funidx_tbl *fd_info; + sf_fde_tbl *fd_info; size_t fd_tbl_sz; int err =3D 0; =20 @@ -1440,12 +1440,12 @@ sframe_encoder_add_funcdesc (sframe_encoder_ctx *en= coder, if (encoder =3D=3D NULL) return sframe_set_errno (&err, SFRAME_ERR_INVAL); =20 - fd_info =3D (sf_funidx_tbl *) encoder->sfe_funcdesc; + fd_info =3D encoder->sfe_funcdesc; ehp =3D sframe_encoder_get_header (encoder); =20 if (fd_info =3D=3D NULL) { - fd_tbl_sz =3D (sizeof (sf_funidx_tbl) + fd_tbl_sz =3D (sizeof (sf_fde_tbl) + (number_of_entries * sizeof (sframe_func_desc_entry))); fd_info =3D malloc (fd_tbl_sz); if (fd_info =3D=3D NULL) @@ -1458,7 +1458,7 @@ sframe_encoder_add_funcdesc (sframe_encoder_ctx *enco= der, } else if (fd_info->count =3D=3D fd_info->alloced) { - fd_tbl_sz =3D (sizeof (sf_funidx_tbl) + fd_tbl_sz =3D (sizeof (sf_fde_tbl) + ((fd_info->alloced + number_of_entries) * sizeof (sframe_func_desc_entry))); fd_info =3D realloc (fd_info, fd_tbl_sz); @@ -1488,7 +1488,7 @@ sframe_encoder_add_funcdesc (sframe_encoder_ctx *enco= der, #endif fd_info->entry[fd_info->count].sfde_func_info =3D func_info; fd_info->count++; - encoder->sfe_funcdesc =3D (void *) fd_info; + encoder->sfe_funcdesc =3D fd_info; ehp->sfh_num_fdes++; return 0; =20 @@ -1507,7 +1507,7 @@ sframe_sort_funcdesc (sframe_encoder_ctx *encoder) =20 ehp =3D sframe_encoder_get_header (encoder); /* Sort and write out the FDE table. */ - sf_funidx_tbl *fd_info =3D (sf_funidx_tbl *) encoder->sfe_funcdesc; + sf_fde_tbl *fd_info =3D encoder->sfe_funcdesc; if (fd_info) { qsort (fd_info->entry, fd_info->count, @@ -1613,7 +1613,7 @@ sframe_encoder_write_sframe (sframe_encoder_ctx *enco= der) size_t esz =3D 0; sframe_header *ehp; unsigned char flags; - sf_funidx_tbl *fd_info; + sf_fde_tbl *fd_info; sf_fre_tbl *fr_info; uint32_t i, num_fdes; uint32_t j, num_fres; @@ -1630,8 +1630,8 @@ sframe_encoder_write_sframe (sframe_encoder_ctx *enco= der) ehp =3D sframe_encoder_get_header (encoder); hdr_size =3D sframe_get_hdr_size (ehp); =20 - fd_info =3D (sf_funidx_tbl *) encoder->sfe_funcdesc; - fr_info =3D (sf_fre_tbl *) encoder->sfe_fres; + fd_info =3D encoder->sfe_funcdesc; + fr_info =3D encoder->sfe_fres; =20 /* Sanity checks: - buffers must be malloc'd by the caller. */