[MEDIA] Use standard integer types

Message ID 4c32e020-1da4-5fbd-a445-121d361bd1e0@selasky.org (mailing list archive)
State Changes Requested, archived
Headers
Series [MEDIA] Use standard integer types |

Commit Message

Hans Petter Selasky July 20, 2020, 6:10 p.m. UTC
  Fixes compilation under FreeBSD.

Signed-off-by: Hans Petter Selasky <hps@selasky.org>
---
  utils/common/keymap.h | 10 ++++++----
  1 file changed, 6 insertions(+), 4 deletions(-)
  

Comments

Sean Young July 21, 2020, 7:57 a.m. UTC | #1
On Mon, Jul 20, 2020 at 08:10:18PM +0200, Hans Petter Selasky wrote:
> Fixes compilation under FreeBSD.

This looks good, but there are other places which uses the same types:

https://git.linuxtv.org/v4l-utils.git/tree/utils/keytable/keytable.c#n58

https://git.linuxtv.org/v4l-utils.git/tree/utils/keytable/keytable.c#n85

Do these not affect the build?

> 
> Signed-off-by: Hans Petter Selasky <hps@selasky.org>
> ---
>  utils/common/keymap.h | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/utils/common/keymap.h b/utils/common/keymap.h
> index 99833827..dc198bc1 100644
> --- a/utils/common/keymap.h
> +++ b/utils/common/keymap.h
> @@ -2,6 +2,8 @@
>  #ifndef __KEYMAP_H
>  #define __KEYMAP_H

Your patch got mangled, there two spaces before the # on these two lines.

Thanks

Sean

> 
> +#include <stdint.h>
> +
>  struct keymap {
>  	struct keymap *next;
>  	char *name;
> @@ -20,16 +22,16 @@ struct protocol_param {
> 
>  struct scancode_entry {
>  	struct scancode_entry *next;
> -	u_int64_t scancode;
> +	uint64_t scancode;
>  	char *keycode;
>  };
> 
>  struct raw_entry {
>  	struct raw_entry *next;
> -	u_int64_t scancode;
> -	u_int32_t raw_length;
> +	uint64_t scancode;
> +	uint32_t raw_length;
>  	char *keycode;
> -	u_int32_t raw[1];
> +	uint32_t raw[1];
>  };
> 
>  void free_keymap(struct keymap *map);
> -- 
> 2.27.0
  
Hans Petter Selasky July 21, 2020, 10:46 a.m. UTC | #2
On 2020-07-21 09:57, Sean Young wrote:
> On Mon, Jul 20, 2020 at 08:10:18PM +0200, Hans Petter Selasky wrote:
>> Fixes compilation under FreeBSD.
> 
> This looks good, but there are other places which uses the same types:
> 
> https://git.linuxtv.org/v4l-utils.git/tree/utils/keytable/keytable.c#n58
> 
> https://git.linuxtv.org/v4l-utils.git/tree/utils/keytable/keytable.c#n85
> 
> Do these not affect the build?
> 

I'll have a look. I currently have some scripts to fix the types in all 
C-files, before building on FreeBSD, so this may got missed. I'll update 
my patch.

--HPS
  
Hans Petter Selasky July 21, 2020, 10:53 a.m. UTC | #3
Fixes compilation under FreeBSD.

Signed-off-by: Hans Petter Selasky <hps@selasky.org>
---
  utils/common/keymap.h     | 10 ++++++----
  utils/keytable/keytable.c | 24 ++++++++++++------------
  2 files changed, 18 insertions(+), 16 deletions(-)

diff --git a/utils/common/keymap.h b/utils/common/keymap.h
index 99833827..dc198bc1 100644
--- a/utils/common/keymap.h
+++ b/utils/common/keymap.h
@@ -2,6 +2,8 @@
  #ifndef __KEYMAP_H
  #define __KEYMAP_H

+#include <stdint.h>
+
  struct keymap {
  	struct keymap *next;
  	char *name;
@@ -20,16 +22,16 @@ struct protocol_param {

  struct scancode_entry {
  	struct scancode_entry *next;
-	u_int64_t scancode;
+	uint64_t scancode;
  	char *keycode;
  };

  struct raw_entry {
  	struct raw_entry *next;
-	u_int64_t scancode;
-	u_int32_t raw_length;
+	uint64_t scancode;
+	uint32_t raw_length;
  	char *keycode;
-	u_int32_t raw[1];
+	uint32_t raw[1];
  };

  void free_keymap(struct keymap *map);
diff --git a/utils/keytable/keytable.c b/utils/keytable/keytable.c
index 3df5fcf2..cb91f1f0 100644
--- a/utils/keytable/keytable.c
+++ b/utils/keytable/keytable.c
@@ -55,11 +55,11 @@

  struct input_keymap_entry_v2 {
  #define KEYMAP_BY_INDEX	(1 << 0)
-	u_int8_t  flags;
-	u_int8_t  len;
-	u_int16_t index;
-	u_int32_t keycode;
-	u_int8_t  scancode[32];
+	uint8_t  flags;
+	uint8_t  len;
+	uint16_t index;
+	uint32_t keycode;
+	uint8_t  scancode[32];
  };

  #ifndef input_event_sec
@@ -82,7 +82,7 @@ struct input_keymap_entry_v2 {
  struct keytable_entry {
  	// 64 bit int which can printed with %llx
  	unsigned long long scancode;
-	u_int32_t keycode;
+	uint32_t keycode;
  	struct keytable_entry *next;
  };

@@ -1376,7 +1376,7 @@ static int get_input_protocol_version(int fd)
  static void clear_table(int fd)
  {
  	int i, j;
-	u_int32_t codes[2];
+	uint32_t codes[2];
  	struct input_keymap_entry_v2 entry;

  	/* Clears old table */
@@ -1463,7 +1463,7 @@ static void display_proto(struct rc_device *rc_dev)
  }


-static char *get_event_name(struct parse_event *event, u_int16_t code)
+static char *get_event_name(struct parse_event *event, uint16_t code)
  {
  	struct parse_event *p;

@@ -1647,14 +1647,14 @@ static void display_table_v2(struct rc_device 
*rc_dev, int fd)
  		if (ioctl(fd, EVIOCGKEYCODE_V2, &entry) == -1)
  			break;

-		if (entry.len == sizeof(u_int32_t)) {
-			u_int32_t temp;
+		if (entry.len == sizeof(uint32_t)) {
+			uint32_t temp;

  			memcpy(&temp, entry.scancode, sizeof(temp));

  			scancode = temp;
-		} else if (entry.len == sizeof(u_int64_t)) {
-			u_int64_t temp;
+		} else if (entry.len == sizeof(uint64_t)) {
+			uint64_t temp;

  			memcpy(&temp, entry.scancode, sizeof(temp));
  
Sean Young July 21, 2020, 5:07 p.m. UTC | #4
On Tue, Jul 21, 2020 at 12:53:42PM +0200, Hans Petter Selasky wrote:
> Fixes compilation under FreeBSD.

Thanks, applied.

Sean

> 
> Signed-off-by: Hans Petter Selasky <hps@selasky.org>
> ---
>  utils/common/keymap.h     | 10 ++++++----
>  utils/keytable/keytable.c | 24 ++++++++++++------------
>  2 files changed, 18 insertions(+), 16 deletions(-)
> 
> diff --git a/utils/common/keymap.h b/utils/common/keymap.h
> index 99833827..dc198bc1 100644
> --- a/utils/common/keymap.h
> +++ b/utils/common/keymap.h
> @@ -2,6 +2,8 @@
>  #ifndef __KEYMAP_H
>  #define __KEYMAP_H
> 
> +#include <stdint.h>
> +
>  struct keymap {
>  	struct keymap *next;
>  	char *name;
> @@ -20,16 +22,16 @@ struct protocol_param {
> 
>  struct scancode_entry {
>  	struct scancode_entry *next;
> -	u_int64_t scancode;
> +	uint64_t scancode;
>  	char *keycode;
>  };
> 
>  struct raw_entry {
>  	struct raw_entry *next;
> -	u_int64_t scancode;
> -	u_int32_t raw_length;
> +	uint64_t scancode;
> +	uint32_t raw_length;
>  	char *keycode;
> -	u_int32_t raw[1];
> +	uint32_t raw[1];
>  };
> 
>  void free_keymap(struct keymap *map);
> diff --git a/utils/keytable/keytable.c b/utils/keytable/keytable.c
> index 3df5fcf2..cb91f1f0 100644
> --- a/utils/keytable/keytable.c
> +++ b/utils/keytable/keytable.c
> @@ -55,11 +55,11 @@
> 
>  struct input_keymap_entry_v2 {
>  #define KEYMAP_BY_INDEX	(1 << 0)
> -	u_int8_t  flags;
> -	u_int8_t  len;
> -	u_int16_t index;
> -	u_int32_t keycode;
> -	u_int8_t  scancode[32];
> +	uint8_t  flags;
> +	uint8_t  len;
> +	uint16_t index;
> +	uint32_t keycode;
> +	uint8_t  scancode[32];
>  };
> 
>  #ifndef input_event_sec
> @@ -82,7 +82,7 @@ struct input_keymap_entry_v2 {
>  struct keytable_entry {
>  	// 64 bit int which can printed with %llx
>  	unsigned long long scancode;
> -	u_int32_t keycode;
> +	uint32_t keycode;
>  	struct keytable_entry *next;
>  };
> 
> @@ -1376,7 +1376,7 @@ static int get_input_protocol_version(int fd)
>  static void clear_table(int fd)
>  {
>  	int i, j;
> -	u_int32_t codes[2];
> +	uint32_t codes[2];
>  	struct input_keymap_entry_v2 entry;
> 
>  	/* Clears old table */
> @@ -1463,7 +1463,7 @@ static void display_proto(struct rc_device *rc_dev)
>  }
> 
> 
> -static char *get_event_name(struct parse_event *event, u_int16_t code)
> +static char *get_event_name(struct parse_event *event, uint16_t code)
>  {
>  	struct parse_event *p;
> 
> @@ -1647,14 +1647,14 @@ static void display_table_v2(struct rc_device
> *rc_dev, int fd)
>  		if (ioctl(fd, EVIOCGKEYCODE_V2, &entry) == -1)
>  			break;
> 
> -		if (entry.len == sizeof(u_int32_t)) {
> -			u_int32_t temp;
> +		if (entry.len == sizeof(uint32_t)) {
> +			uint32_t temp;
> 
>  			memcpy(&temp, entry.scancode, sizeof(temp));
> 
>  			scancode = temp;
> -		} else if (entry.len == sizeof(u_int64_t)) {
> -			u_int64_t temp;
> +		} else if (entry.len == sizeof(uint64_t)) {
> +			uint64_t temp;
> 
>  			memcpy(&temp, entry.scancode, sizeof(temp));
> 
> -- 
> 2.27.0
  

Patch

diff --git a/utils/common/keymap.h b/utils/common/keymap.h
index 99833827..dc198bc1 100644
--- a/utils/common/keymap.h
+++ b/utils/common/keymap.h
@@ -2,6 +2,8 @@ 
  #ifndef __KEYMAP_H
  #define __KEYMAP_H

+#include <stdint.h>
+
  struct keymap {
  	struct keymap *next;
  	char *name;
@@ -20,16 +22,16 @@  struct protocol_param {

  struct scancode_entry {
  	struct scancode_entry *next;
-	u_int64_t scancode;
+	uint64_t scancode;
  	char *keycode;
  };

  struct raw_entry {
  	struct raw_entry *next;
-	u_int64_t scancode;
-	u_int32_t raw_length;
+	uint64_t scancode;
+	uint32_t raw_length;
  	char *keycode;
-	u_int32_t raw[1];
+	uint32_t raw[1];
  };

  void free_keymap(struct keymap *map);