[07/25] drivers/media: Use static const char arrays

Message ID 6b7055a2e53510e8903828a53cad300a7d5bb912.1284406638.git.joe@perches.com (mailing list archive)
State Superseded, archived
Headers

Commit Message

Joe Perches Sept. 13, 2010, 7:47 p.m. UTC
  Signed-off-by: Joe Perches <joe@perches.com>
---
 drivers/media/video/zoran/zoran_device.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
  

Comments

Mauro Carvalho Chehab Sept. 13, 2010, 9:50 p.m. UTC | #1
Em 13-09-2010 16:47, Joe Perches escreveu:
> Signed-off-by: Joe Perches <joe@perches.com>
> ---
>  drivers/media/video/zoran/zoran_device.c |    5 ++---
>  1 files changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/media/video/zoran/zoran_device.c b/drivers/media/video/zoran/zoran_device.c
> index 6f846ab..ea8a1e9 100644
> --- a/drivers/media/video/zoran/zoran_device.c
> +++ b/drivers/media/video/zoran/zoran_device.c
> @@ -1470,8 +1470,7 @@ zoran_irq (int             irq,
>  		    (zr->codec_mode == BUZ_MODE_MOTION_DECOMPRESS ||
>  		     zr->codec_mode == BUZ_MODE_MOTION_COMPRESS)) {
>  			if (zr36067_debug > 1 && (!zr->frame_num || zr->JPEG_error)) {
> -				char sc[] = "0000";
> -				char sv[5];
> +				char sv[sizeof("0000")];
>  				int i;
>  
>  				printk(KERN_INFO
> @@ -1481,7 +1480,7 @@ zoran_irq (int             irq,
>  				       zr->jpg_settings.field_per_buff,
>  				       zr->JPEG_missed);
>  
> -				strcpy(sv, sc);
> +				strcpy(sv, "0000");
>  				for (i = 0; i < 4; i++) {
>  					if (le32_to_cpu(zr->stat_com[i]) & 1)
>  						sv[i] = '1';

This looks ugly to me, as someone may change the string at strcpy and not change at sizeof.
Could you please try to work on a better alternative?

The cleaner way seems to be to rewrite it as:

#define BUZ_MODE_STAT	4

char sv[BUZ_MODE_STAT + 1];
...
for (i = 0; i < BUZ_MODE_STAT; i++)
	sv[i] = (le32_to_cpu(zr->stat_com[i]) & 1)? '1' : '0';



Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Patch

diff --git a/drivers/media/video/zoran/zoran_device.c b/drivers/media/video/zoran/zoran_device.c
index 6f846ab..ea8a1e9 100644
--- a/drivers/media/video/zoran/zoran_device.c
+++ b/drivers/media/video/zoran/zoran_device.c
@@ -1470,8 +1470,7 @@  zoran_irq (int             irq,
 		    (zr->codec_mode == BUZ_MODE_MOTION_DECOMPRESS ||
 		     zr->codec_mode == BUZ_MODE_MOTION_COMPRESS)) {
 			if (zr36067_debug > 1 && (!zr->frame_num || zr->JPEG_error)) {
-				char sc[] = "0000";
-				char sv[5];
+				char sv[sizeof("0000")];
 				int i;
 
 				printk(KERN_INFO
@@ -1481,7 +1480,7 @@  zoran_irq (int             irq,
 				       zr->jpg_settings.field_per_buff,
 				       zr->JPEG_missed);
 
-				strcpy(sv, sc);
+				strcpy(sv, "0000");
 				for (i = 0; i < 4; i++) {
 					if (le32_to_cpu(zr->stat_com[i]) & 1)
 						sv[i] = '1';