# [PATCH] blame: provide type of fingerprints pointer

2 messages from 2020-02-23 to 2020-02-24. Participants: René Scharfe, Barret Rhoden.
Thread: https://gitlist.dev/t/52874

## René Scharfe, 2020-02-23 16:56

Subject: [PATCH] blame: provide type of fingerprints pointer
Message-ID: <22735441-50e1-5f00-ba12-539b3e9e4916@web.de>
URL: https://gitlist.dev/e/22735441-50e1-5f00-ba12-539b3e9e4916%40web.de

```
The fingerprints member of struct blame_origin is a void pointer that is
only ever used to reference objects of type struct fingerprint.  Declare
its type to allow the compiler to do type checks.  We can keep its type
opaque in blame.h, though -- only functions in blame.c need to know the
actual definition of struct fingerprint.

Signed-off-by: René Scharfe <l.s.r@web.de>
---
 blame.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/blame.h b/blame.h
index 4a9e1270b0..089b181ff2 100644
--- a/blame.h
+++ b/blame.h
@@ -16,6 +16,8 @@
 #define BLAME_DEFAULT_MOVE_SCORE	20
 #define BLAME_DEFAULT_COPY_SCORE	40

+struct fingerprint;
+
 /*
  * One blob in a commit that is being suspected
  */
@@ -52,7 +54,7 @@ struct blame_origin {
 	struct blame_entry *suspects;
 	mmfile_t file;
 	int num_lines;
-	void *fingerprints;
+	struct fingerprint *fingerprints;
 	struct object_id blob_oid;
 	unsigned short mode;
 	/* guilty gets set when shipping any suspects to the final
--
2.25.1

```

## Barret Rhoden, 2020-02-24 15:09

Subject: Re: [PATCH] blame: provide type of fingerprints pointer
Message-ID: <ddaa7ab8-c07b-7718-815f-12ff048a89f7@google.com>
URL: https://gitlist.dev/e/ddaa7ab8-c07b-7718-815f-12ff048a89f7%40google.com
In-Reply-To: <22735441-50e1-5f00-ba12-539b3e9e4916@web.de>

```
On 2/23/20 11:56 AM, René Scharfe wrote:
> The fingerprints member of struct blame_origin is a void pointer that is
> only ever used to reference objects of type struct fingerprint.  Declare
> its type to allow the compiler to do type checks.  We can keep its type
> opaque in blame.h, though -- only functions in blame.c need to know the
> actual definition of struct fingerprint.

Reviewed-by: Barret Rhoden <brho@google.com>

Thanks.

> 
> Signed-off-by: René Scharfe <l.s.r@web.de>
> ---
>   blame.h | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/blame.h b/blame.h
> index 4a9e1270b0..089b181ff2 100644
> --- a/blame.h
> +++ b/blame.h
> @@ -16,6 +16,8 @@
>   #define BLAME_DEFAULT_MOVE_SCORE	20
>   #define BLAME_DEFAULT_COPY_SCORE	40
> 
> +struct fingerprint;
> +
>   /*
>    * One blob in a commit that is being suspected
>    */
> @@ -52,7 +54,7 @@ struct blame_origin {
>   	struct blame_entry *suspects;
>   	mmfile_t file;
>   	int num_lines;
> -	void *fingerprints;
> +	struct fingerprint *fingerprints;
>   	struct object_id blob_oid;
>   	unsigned short mode;
>   	/* guilty gets set when shipping any suspects to the final
> --
> 2.25.1
> 


```
