Re: [PATCH iproute2] tunnel: Return constant string without copying it

2018-01-18 Thread Serhey Popovych
Serhey Popovych wrote:

> We return constant string from tnl_strproto(), no need
> to copy it to temporary buffer and then return such
> buffer as const: return constant string instead.
> 
> Signed-off-by: Serhey Popovych 

This change should be ignored: now it is a part of series
of patches with cover letter subject:

  "ip/tunnel: Improve tunnel parameters printing"

since v2.

> ---
>  ip/tunnel.c |   25 +++--
>  1 file changed, 7 insertions(+), 18 deletions(-)
> 
> diff --git a/ip/tunnel.c b/ip/tunnel.c
> index f860103..946a36c 100644
> --- a/ip/tunnel.c
> +++ b/ip/tunnel.c
> @@ -39,33 +39,22 @@
>  
>  const char *tnl_strproto(__u8 proto)
>  {
> - static char buf[16];
> -
>   switch (proto) {
>   case IPPROTO_IPIP:
> - strcpy(buf, "ip");
> - break;
> + return "ip";
>   case IPPROTO_GRE:
> - strcpy(buf, "gre");
> - break;
> + return "gre";
>   case IPPROTO_IPV6:
> - strcpy(buf, "ipv6");
> - break;
> + return "ipv6";
>   case IPPROTO_ESP:
> - strcpy(buf, "esp");
> - break;
> + return "esp";
>   case IPPROTO_MPLS:
> - strcpy(buf, "mpls");
> - break;
> + return "mpls";
>   case 0:
> - strcpy(buf, "any");
> - break;
> + return "any";
>   default:
> - strcpy(buf, "unknown");
> - break;
> + return "unknown";
>   }
> -
> - return buf;
>  }
>  
>  int tnl_get_ioctl(const char *basedev, void *p)
> 




signature.asc
Description: OpenPGP digital signature


[PATCH iproute2] tunnel: Return constant string without copying it

2018-01-12 Thread Serhey Popovych
We return constant string from tnl_strproto(), no need
to copy it to temporary buffer and then return such
buffer as const: return constant string instead.

Signed-off-by: Serhey Popovych 
---
 ip/tunnel.c |   25 +++--
 1 file changed, 7 insertions(+), 18 deletions(-)

diff --git a/ip/tunnel.c b/ip/tunnel.c
index f860103..946a36c 100644
--- a/ip/tunnel.c
+++ b/ip/tunnel.c
@@ -39,33 +39,22 @@
 
 const char *tnl_strproto(__u8 proto)
 {
-   static char buf[16];
-
switch (proto) {
case IPPROTO_IPIP:
-   strcpy(buf, "ip");
-   break;
+   return "ip";
case IPPROTO_GRE:
-   strcpy(buf, "gre");
-   break;
+   return "gre";
case IPPROTO_IPV6:
-   strcpy(buf, "ipv6");
-   break;
+   return "ipv6";
case IPPROTO_ESP:
-   strcpy(buf, "esp");
-   break;
+   return "esp";
case IPPROTO_MPLS:
-   strcpy(buf, "mpls");
-   break;
+   return "mpls";
case 0:
-   strcpy(buf, "any");
-   break;
+   return "any";
default:
-   strcpy(buf, "unknown");
-   break;
+   return "unknown";
}
-
-   return buf;
 }
 
 int tnl_get_ioctl(const char *basedev, void *p)
-- 
1.7.10.4