# HG changeset patch # User Michael Albinus # Date 1216614458 0 # Node ID 5129bcf1c53e44716fe93475aaa6eb2615f71e20 # Parent 0807daabeb14176e3d0af217d86f34aebd92ccd0 * dbusbind.c (Fdbus_register_signal): Use sprintf + strcat instead only sprintf. diff -r 0807daabeb14 -r 5129bcf1c53e src/dbusbind.c --- a/src/dbusbind.c Mon Jul 21 04:20:56 2008 +0000 +++ b/src/dbusbind.c Mon Jul 21 04:27:38 2008 +0000 @@ -1314,6 +1314,7 @@ DBusConnection *connection; int i; char rule[DBUS_MAXIMUM_MATCH_RULE_LENGTH]; + char x[DBUS_MAXIMUM_MATCH_RULE_LENGTH]; DBusError derror; /* Check parameters. */ @@ -1366,17 +1367,24 @@ /* Add unique name and path to the rule if they are non-nil. */ if (!NILP (uname)) - sprintf (rule, "%s,sender='%s'", rule, SDATA (uname)); + { + sprintf (x, ",sender='%s'", SDATA (uname)); + strcat (rule, x); + } if (!NILP (path)) - sprintf (rule, "%s,path='%s'", rule, SDATA (path)); + { + sprintf (x, ",path='%s'", SDATA (path)); + strcat (rule, x); + } /* Add arguments to the rule if they are non-nil. */ for (i = 6; i < nargs; ++i) if (!NILP (args[i])) { CHECK_STRING (args[i]); - sprintf (rule, "%s,arg%d='%s'", rule, i-6, SDATA (args[i])); + sprintf (x, ",arg%d='%s'", i-6, SDATA (args[i])); + strcat (rule, x); } /* Add the rule to the bus. */