+ fixed no_set_aspath_prepend() to correctly match existing "set" statement
diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog
index c1f12d6..3fa3837 100644
--- a/bgpd/ChangeLog
+++ b/bgpd/ChangeLog
@@ -1,3 +1,9 @@
+2007-12-18 Denis Ovsienko
+
+	* bgp_routemap.c: (no_set_aspath_prepend) This command cancelled
+	  existing "set" command regardless if "no set" matched it or not.
+	  Fixed.
+
 2007-11-13 Paul Jakma <paul.jakma@sun.com>
 
 	* bgp_main.c: Small fix, format string parameters should never
diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c
index d51375b..b246e2a 100644
--- a/bgpd/bgp_routemap.c
+++ b/bgpd/bgp_routemap.c
@@ -3018,7 +3018,16 @@
        "Prepend string for a BGP AS-path attribute\n"
        "Prepend to the as-path\n")
 {
-  return bgp_route_set_delete (vty, vty->index, "as-path prepend", NULL);
+  int ret;
+  char *str;
+
+  if (argc == 0)
+    return bgp_route_set_delete (vty, vty->index, "as-path prepend", NULL);
+
+  str = argv_concat (argv, argc, 0);
+  ret = bgp_route_set_delete (vty, vty->index, "as-path prepend", str);
+  XFREE (MTYPE_TMP, str);
+  return ret;
 }
 
 ALIAS (no_set_aspath_prepend,