diff mbox series

[LEDE-DEV,1/2] service: add func for string config change check

Message ID 1518350821-104337-1-git-send-email-yszhou4tech@gmail.com
State Changes Requested
Delegated to: John Crispin
Headers show
Series [LEDE-DEV,1/2] service: add func for string config change check | expand

Commit Message

Yousong Zhou Feb. 11, 2018, 12:07 p.m. UTC
Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
---
 service/instance.c | 14 ++++++--------
 1 file changed, 6 insertions(+), 8 deletions(-)

Comments

John Crispin Feb. 11, 2018, 1:48 p.m. UTC | #1
Hi

could you resend this with a description text ? I figured out what the 
patch does but it would be nice to have it as part of the commit history.

same for the group id patch please ...

     John


On 11/02/18 13:07, Yousong Zhou wrote:
> Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
> ---
>   service/instance.c | 14 ++++++--------
>   1 file changed, 6 insertions(+), 8 deletions(-)
>
> diff --git a/service/instance.c b/service/instance.c
> index 12c2efe..c3f8b56 100644
> --- a/service/instance.c
> +++ b/service/instance.c
> @@ -588,6 +588,11 @@ instance_restart(struct service_instance *in)
>   	uloop_timeout_set(&in->timeout, in->term_timeout * 1000);
>   }
>   
> +static bool string_changed(const char *a, const char *b)
> +{
> +	return !((!a && !b) || (a && b && !strcmp(a, b)));
> +}
> +
>   static bool
>   instance_config_changed(struct service_instance *in, struct service_instance *in_new)
>   {
> @@ -615,14 +620,7 @@ instance_config_changed(struct service_instance *in, struct service_instance *in
>   	if (in->gid != in_new->gid)
>   		return true;
>   
> -	if (in->pidfile && in_new->pidfile)
> -		if (strcmp(in->pidfile, in_new->pidfile))
> -			return true;
> -
> -	if (in->pidfile && !in_new->pidfile)
> -		return true;
> -
> -	if (!in->pidfile && in_new->pidfile)
> +	if (string_changed(in->pidfile, in_new->pidfile))
>   		return true;
>   
>   	if (in->respawn_retry != in_new->respawn_retry)
diff mbox series

Patch

diff --git a/service/instance.c b/service/instance.c
index 12c2efe..c3f8b56 100644
--- a/service/instance.c
+++ b/service/instance.c
@@ -588,6 +588,11 @@  instance_restart(struct service_instance *in)
 	uloop_timeout_set(&in->timeout, in->term_timeout * 1000);
 }
 
+static bool string_changed(const char *a, const char *b)
+{
+	return !((!a && !b) || (a && b && !strcmp(a, b)));
+}
+
 static bool
 instance_config_changed(struct service_instance *in, struct service_instance *in_new)
 {
@@ -615,14 +620,7 @@  instance_config_changed(struct service_instance *in, struct service_instance *in
 	if (in->gid != in_new->gid)
 		return true;
 
-	if (in->pidfile && in_new->pidfile)
-		if (strcmp(in->pidfile, in_new->pidfile))
-			return true;
-
-	if (in->pidfile && !in_new->pidfile)
-		return true;
-
-	if (!in->pidfile && in_new->pidfile)
+	if (string_changed(in->pidfile, in_new->pidfile))
 		return true;
 
 	if (in->respawn_retry != in_new->respawn_retry)