diff options
author | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-14 14:24:46 +0200 |
---|---|---|
committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2017-07-14 14:24:46 +0200 |
commit | 1ea6b3f237295a7e7dae3a46a4d07b41a6453c04 (patch) | |
tree | a8803b2d31a56e6d5296c1d1880205525a015c45 /bgpd/bgp_debug.c | |
parent | Merge remote-tracking branch 'origin/master' into evpn_plus_struct_attr (diff) | |
parent | Merge pull request #813 from opensourcerouting/newline-redux (diff) | |
download | frr-1ea6b3f237295a7e7dae3a46a4d07b41a6453c04.tar.xz frr-1ea6b3f237295a7e7dae3a46a4d07b41a6453c04.zip |
Merge remote-tracking branch 'origin/master' into evpn_plus_struct_attr
Diffstat (limited to 'bgpd/bgp_debug.c')
-rw-r--r-- | bgpd/bgp_debug.c | 158 |
1 files changed, 79 insertions, 79 deletions
diff --git a/bgpd/bgp_debug.c b/bgpd/bgp_debug.c index dceba119a..f9e67d96c 100644 --- a/bgpd/bgp_debug.c +++ b/bgpd/bgp_debug.c @@ -257,7 +257,7 @@ bgp_debug_list_print (struct vty *vty, const char *desc, struct list *list) } } - vty_out (vty, VTYNL); + vty_out (vty, "\n"); } /* Print the command to enable the debug for each peer/prefix this debug is @@ -277,14 +277,14 @@ bgp_debug_list_conf_print (struct vty *vty, const char *desc, struct list *list) { if (filter->host) { - vty_outln (vty, "%s %s", desc, filter->host); + vty_out (vty, "%s %s\n", desc, filter->host); write++; } if (filter->p) { - vty_outln (vty, "%s %s/%d", desc, + vty_out (vty, "%s %s/%d\n", desc, inet_ntop (filter->p->family, &filter->p->u.prefix, buf, INET6_ADDRSTRLEN), filter->p->prefixlen); write++; @@ -294,7 +294,7 @@ bgp_debug_list_conf_print (struct vty *vty, const char *desc, struct list *list) if (!write) { - vty_outln (vty, "%s", desc); + vty_out (vty, "%s\n", desc); write++; } @@ -590,7 +590,7 @@ DEFUN (debug_bgp_as4, else { TERM_DEBUG_ON (as4, AS4); - vty_outln (vty, "BGP as4 debugging is on"); + vty_out (vty, "BGP as4 debugging is on\n"); } return CMD_SUCCESS; } @@ -608,7 +608,7 @@ DEFUN (no_debug_bgp_as4, else { TERM_DEBUG_OFF (as4, AS4); - vty_outln (vty, "BGP as4 debugging is off"); + vty_out (vty, "BGP as4 debugging is off\n"); } return CMD_SUCCESS; } @@ -626,7 +626,7 @@ DEFUN (debug_bgp_as4_segment, else { TERM_DEBUG_ON (as4, AS4_SEGMENT); - vty_outln (vty, "BGP as4 segment debugging is on"); + vty_out (vty, "BGP as4 segment debugging is on\n"); } return CMD_SUCCESS; } @@ -645,7 +645,7 @@ DEFUN (no_debug_bgp_as4_segment, else { TERM_DEBUG_OFF (as4, AS4_SEGMENT); - vty_outln (vty, "BGP as4 segment debugging is off"); + vty_out (vty, "BGP as4 segment debugging is off\n"); } return CMD_SUCCESS; } @@ -665,7 +665,7 @@ DEFUN (debug_bgp_neighbor_events, else { TERM_DEBUG_ON (neighbor_events, NEIGHBOR_EVENTS); - vty_outln (vty, "BGP neighbor-events debugging is on"); + vty_out (vty, "BGP neighbor-events debugging is on\n"); } return CMD_SUCCESS; } @@ -688,7 +688,7 @@ DEFUN (debug_bgp_neighbor_events_peer, if (bgp_debug_list_has_entry(bgp_debug_neighbor_events_peers, host, NULL)) { - vty_outln (vty, "BGP neighbor-events debugging is already enabled for %s", + vty_out (vty, "BGP neighbor-events debugging is already enabled for %s\n", host); return CMD_SUCCESS; } @@ -700,7 +700,7 @@ DEFUN (debug_bgp_neighbor_events_peer, else { TERM_DEBUG_ON (neighbor_events, NEIGHBOR_EVENTS); - vty_outln (vty, "BGP neighbor-events debugging is on for %s", host); + vty_out (vty, "BGP neighbor-events debugging is on for %s\n", host); } return CMD_SUCCESS; } @@ -720,7 +720,7 @@ DEFUN (no_debug_bgp_neighbor_events, else { TERM_DEBUG_OFF (neighbor_events, NEIGHBOR_EVENTS); - vty_outln (vty, "BGP neighbor-events debugging is off"); + vty_out (vty, "BGP neighbor-events debugging is off\n"); } return CMD_SUCCESS; } @@ -754,9 +754,9 @@ DEFUN (no_debug_bgp_neighbor_events_peer, } if (found_peer) - vty_outln (vty, "BGP neighbor-events debugging is off for %s", host); + vty_out (vty, "BGP neighbor-events debugging is off for %s\n", host); else - vty_outln (vty, "BGP neighbor-events debugging was not enabled for %s", + vty_out (vty, "BGP neighbor-events debugging was not enabled for %s\n", host); return CMD_SUCCESS; @@ -775,7 +775,7 @@ DEFUN (debug_bgp_nht, else { TERM_DEBUG_ON (nht, NHT); - vty_outln (vty, "BGP nexthop tracking debugging is on"); + vty_out (vty, "BGP nexthop tracking debugging is on\n"); } return CMD_SUCCESS; } @@ -793,7 +793,7 @@ DEFUN (no_debug_bgp_nht, else { TERM_DEBUG_OFF (nht, NHT); - vty_outln (vty, "BGP nexthop tracking debugging is off"); + vty_out (vty, "BGP nexthop tracking debugging is off\n"); } return CMD_SUCCESS; } @@ -813,7 +813,7 @@ DEFUN (debug_bgp_keepalive, else { TERM_DEBUG_ON (keepalive, KEEPALIVE); - vty_outln (vty, "BGP keepalives debugging is on"); + vty_out (vty, "BGP keepalives debugging is on\n"); } return CMD_SUCCESS; } @@ -836,7 +836,7 @@ DEFUN (debug_bgp_keepalive_peer, if (bgp_debug_list_has_entry(bgp_debug_keepalive_peers, host, NULL)) { - vty_outln (vty, "BGP keepalive debugging is already enabled for %s", + vty_out (vty, "BGP keepalive debugging is already enabled for %s\n", host); return CMD_SUCCESS; } @@ -848,7 +848,7 @@ DEFUN (debug_bgp_keepalive_peer, else { TERM_DEBUG_ON (keepalive, KEEPALIVE); - vty_outln (vty, "BGP keepalives debugging is on for %s", host); + vty_out (vty, "BGP keepalives debugging is on for %s\n", host); } return CMD_SUCCESS; } @@ -868,7 +868,7 @@ DEFUN (no_debug_bgp_keepalive, else { TERM_DEBUG_OFF (keepalive, KEEPALIVE); - vty_outln (vty, "BGP keepalives debugging is off"); + vty_out (vty, "BGP keepalives debugging is off\n"); } return CMD_SUCCESS; } @@ -902,9 +902,9 @@ DEFUN (no_debug_bgp_keepalive_peer, } if (found_peer) - vty_outln (vty, "BGP keepalives debugging is off for %s", host); + vty_out (vty, "BGP keepalives debugging is off for %s\n", host); else - vty_outln (vty, "BGP keepalives debugging was not enabled for %s", host); + vty_out (vty, "BGP keepalives debugging was not enabled for %s\n", host); return CMD_SUCCESS; } @@ -929,7 +929,7 @@ DEFPY (debug_bgp_bestpath_prefix, if (bgp_debug_list_has_entry(bgp_debug_bestpath_prefixes, NULL, bestpath)) { - vty_outln (vty, "BGP bestpath debugging is already enabled for %s", bestpath_str); + vty_out (vty, "BGP bestpath debugging is already enabled for %s\n", bestpath_str); return CMD_SUCCESS; } @@ -942,7 +942,7 @@ DEFPY (debug_bgp_bestpath_prefix, else { TERM_DEBUG_ON (bestpath, BESTPATH); - vty_outln (vty, "BGP bestpath debugging is on for %s", bestpath_str); + vty_out (vty, "BGP bestpath debugging is on for %s\n", bestpath_str); } return CMD_SUCCESS; @@ -969,7 +969,7 @@ DEFUN (no_debug_bgp_bestpath_prefix, if (!ret) { prefix_free(argv_p); - vty_outln (vty, "%% Malformed Prefix"); + vty_out (vty, "%% Malformed Prefix\n"); return CMD_WARNING_CONFIG_FAILED; } @@ -986,16 +986,16 @@ DEFUN (no_debug_bgp_bestpath_prefix, else { TERM_DEBUG_OFF (bestpath, BESTPATH); - vty_outln (vty, "BGP bestpath debugging (per prefix) is off"); + vty_out (vty, "BGP bestpath debugging (per prefix) is off\n"); } } } if (found_prefix) - vty_outln (vty, "BGP bestpath debugging is off for %s", + vty_out (vty, "BGP bestpath debugging is off for %s\n", argv[idx_ipv4_ipv6_prefixlen]->arg); else - vty_outln (vty, "BGP bestpath debugging was not enabled for %s", + vty_out (vty, "BGP bestpath debugging was not enabled for %s\n", argv[idx_ipv4_ipv6_prefixlen]->arg); return CMD_SUCCESS; @@ -1016,7 +1016,7 @@ DEFUN (no_debug_bgp_bestpath, else { TERM_DEBUG_OFF (bestpath, BESTPATH); - vty_outln (vty, "BGP bestpath debugging is off"); + vty_out (vty, "BGP bestpath debugging is off\n"); } return CMD_SUCCESS; } @@ -1042,7 +1042,7 @@ DEFUN (debug_bgp_update, { TERM_DEBUG_ON (update, UPDATE_IN); TERM_DEBUG_ON (update, UPDATE_OUT); - vty_outln (vty, "BGP updates debugging is on"); + vty_out (vty, "BGP updates debugging is on\n"); } return CMD_SUCCESS; } @@ -1075,12 +1075,12 @@ DEFUN (debug_bgp_update_direct, if (strncmp ("i", argv[idx_in_out]->arg, 1) == 0) { TERM_DEBUG_ON (update, UPDATE_IN); - vty_outln (vty, "BGP updates debugging is on (inbound)"); + vty_out (vty, "BGP updates debugging is on (inbound)\n"); } else { TERM_DEBUG_ON (update, UPDATE_OUT); - vty_outln (vty, "BGP updates debugging is on (outbound)"); + vty_out (vty, "BGP updates debugging is on (outbound)\n"); } } return CMD_SUCCESS; @@ -1118,7 +1118,7 @@ DEFUN (debug_bgp_update_direct_peer, { if (bgp_debug_list_has_entry(bgp_debug_update_in_peers, host, NULL)) { - vty_outln (vty, "BGP inbound update debugging is already enabled for %s", + vty_out (vty, "BGP inbound update debugging is already enabled for %s\n", host); return CMD_SUCCESS; } @@ -1128,7 +1128,7 @@ DEFUN (debug_bgp_update_direct_peer, { if (bgp_debug_list_has_entry(bgp_debug_update_out_peers, host, NULL)) { - vty_outln (vty, "BGP outbound update debugging is already enabled for %s", + vty_out (vty, "BGP outbound update debugging is already enabled for %s\n", host); return CMD_SUCCESS; } @@ -1173,13 +1173,13 @@ DEFUN (debug_bgp_update_direct_peer, if (inbound) { TERM_DEBUG_ON (update, UPDATE_IN); - vty_outln (vty, "BGP updates debugging is on (inbound) for %s", + vty_out (vty, "BGP updates debugging is on (inbound) for %s\n", argv[idx_peer]->arg); } else { TERM_DEBUG_ON (update, UPDATE_OUT); - vty_outln (vty, "BGP updates debugging is on (outbound) for %s", + vty_out (vty, "BGP updates debugging is on (outbound) for %s\n", argv[idx_peer]->arg); } } @@ -1208,7 +1208,7 @@ DEFUN (no_debug_bgp_update_direct, else { TERM_DEBUG_OFF (update, UPDATE_IN); - vty_outln (vty, "BGP updates debugging is off (inbound)"); + vty_out (vty, "BGP updates debugging is off (inbound)\n"); } } else @@ -1222,7 +1222,7 @@ DEFUN (no_debug_bgp_update_direct, else { TERM_DEBUG_OFF (update, UPDATE_OUT); - vty_outln (vty, "BGP updates debugging is off (outbound)"); + vty_out (vty, "BGP updates debugging is off (outbound)\n"); } } @@ -1265,7 +1265,7 @@ DEFUN (no_debug_bgp_update_direct_peer, else { TERM_DEBUG_OFF (update, UPDATE_IN); - vty_outln (vty, "BGP updates debugging (inbound) is off"); + vty_out (vty, "BGP updates debugging (inbound) is off\n"); } } } @@ -1282,7 +1282,7 @@ DEFUN (no_debug_bgp_update_direct_peer, else { TERM_DEBUG_OFF (update, UPDATE_OUT); - vty_outln (vty, "BGP updates debugging (outbound) is off"); + vty_out (vty, "BGP updates debugging (outbound) is off\n"); } } @@ -1309,16 +1309,16 @@ DEFUN (no_debug_bgp_update_direct_peer, if (found_peer) if (inbound) - vty_outln (vty, "BGP updates debugging (inbound) is off for %s", host); + vty_out (vty, "BGP updates debugging (inbound) is off for %s\n", host); else - vty_outln (vty, "BGP updates debugging (outbound) is off for %s", + vty_out (vty, "BGP updates debugging (outbound) is off for %s\n", host); else if (inbound) - vty_outln (vty, "BGP updates debugging (inbound) was not enabled for %s", + vty_out (vty, "BGP updates debugging (inbound) was not enabled for %s\n", host); else - vty_outln (vty, "BGP updates debugging (outbound) was not enabled for %s", + vty_out (vty, "BGP updates debugging (outbound) was not enabled for %s\n", host); return CMD_SUCCESS; @@ -1344,7 +1344,7 @@ DEFUN (debug_bgp_update_prefix, if (!ret) { prefix_free(argv_p); - vty_outln (vty, "%% Malformed Prefix"); + vty_out (vty, "%% Malformed Prefix\n"); return CMD_WARNING_CONFIG_FAILED; } @@ -1354,7 +1354,7 @@ DEFUN (debug_bgp_update_prefix, if (bgp_debug_list_has_entry(bgp_debug_update_prefixes, NULL, argv_p)) { - vty_outln (vty, "BGP updates debugging is already enabled for %s", + vty_out (vty, "BGP updates debugging is already enabled for %s\n", argv[idx_ipv4_ipv6_prefixlen]->arg); return CMD_SUCCESS; } @@ -1368,7 +1368,7 @@ DEFUN (debug_bgp_update_prefix, else { TERM_DEBUG_ON (update, UPDATE_PREFIX); - vty_outln (vty, "BGP updates debugging is on for %s", + vty_out (vty, "BGP updates debugging is on for %s\n", argv[idx_ipv4_ipv6_prefixlen]->arg); } @@ -1397,7 +1397,7 @@ DEFUN (no_debug_bgp_update_prefix, if (!ret) { prefix_free(argv_p); - vty_outln (vty, "%% Malformed Prefix"); + vty_out (vty, "%% Malformed Prefix\n"); return CMD_WARNING_CONFIG_FAILED; } @@ -1414,16 +1414,16 @@ DEFUN (no_debug_bgp_update_prefix, else { TERM_DEBUG_OFF (update, UPDATE_PREFIX); - vty_outln (vty, "BGP updates debugging (per prefix) is off"); + vty_out (vty, "BGP updates debugging (per prefix) is off\n"); } } } if (found_prefix) - vty_outln (vty, "BGP updates debugging is off for %s", + vty_out (vty, "BGP updates debugging is off for %s\n", argv[idx_ipv4_ipv6_prefixlen]->arg); else - vty_outln (vty, "BGP updates debugging was not enabled for %s", + vty_out (vty, "BGP updates debugging was not enabled for %s\n", argv[idx_ipv4_ipv6_prefixlen]->arg); return CMD_SUCCESS; @@ -1455,7 +1455,7 @@ DEFUN (no_debug_bgp_update, TERM_DEBUG_OFF (update, UPDATE_IN); TERM_DEBUG_OFF (update, UPDATE_OUT); TERM_DEBUG_OFF (update, UPDATE_PREFIX); - vty_outln (vty, "BGP updates debugging is off"); + vty_out (vty, "BGP updates debugging is off\n"); } return CMD_SUCCESS; } @@ -1473,7 +1473,7 @@ DEFUN (debug_bgp_zebra, else { TERM_DEBUG_ON (zebra, ZEBRA); - vty_outln (vty, "BGP zebra debugging is on"); + vty_out (vty, "BGP zebra debugging is on\n"); } return CMD_SUCCESS; } @@ -1498,7 +1498,7 @@ DEFUN (debug_bgp_zebra_prefix, if (!ret) { prefix_free(argv_p); - vty_outln (vty, "%% Malformed Prefix"); + vty_out (vty, "%% Malformed Prefix\n"); return CMD_WARNING_CONFIG_FAILED; } @@ -1507,7 +1507,7 @@ DEFUN (debug_bgp_zebra_prefix, if (bgp_debug_list_has_entry(bgp_debug_zebra_prefixes, NULL, argv_p)) { - vty_outln (vty, "BGP zebra debugging is already enabled for %s", + vty_out (vty, "BGP zebra debugging is already enabled for %s\n", argv[idx_ipv4_ipv6_prefixlen]->arg); return CMD_SUCCESS; } @@ -1519,7 +1519,7 @@ DEFUN (debug_bgp_zebra_prefix, else { TERM_DEBUG_ON (zebra, ZEBRA); - vty_outln (vty, "BGP zebra debugging is on for %s", + vty_out (vty, "BGP zebra debugging is on for %s\n", argv[idx_ipv4_ipv6_prefixlen]->arg); } @@ -1541,7 +1541,7 @@ DEFUN (no_debug_bgp_zebra, else { TERM_DEBUG_OFF (zebra, ZEBRA); - vty_outln (vty, "BGP zebra debugging is off"); + vty_out (vty, "BGP zebra debugging is off\n"); } return CMD_SUCCESS; } @@ -1568,7 +1568,7 @@ DEFUN (no_debug_bgp_zebra_prefix, if (!ret) { prefix_free(argv_p); - vty_outln (vty, "%% Malformed Prefix"); + vty_out (vty, "%% Malformed Prefix\n"); return CMD_WARNING_CONFIG_FAILED; } @@ -1583,16 +1583,16 @@ DEFUN (no_debug_bgp_zebra_prefix, else { TERM_DEBUG_OFF (zebra, ZEBRA); - vty_outln (vty, "BGP zebra debugging is off"); + vty_out (vty, "BGP zebra debugging is off\n"); } } } if (found_prefix) - vty_outln (vty, "BGP zebra debugging is off for %s", + vty_out (vty, "BGP zebra debugging is off for %s\n", argv[idx_ipv4_ipv6_prefixlen]->arg); else - vty_outln (vty, "BGP zebra debugging was not enabled for %s", + vty_out (vty, "BGP zebra debugging was not enabled for %s\n", argv[idx_ipv4_ipv6_prefixlen]->arg); return CMD_SUCCESS; @@ -1610,7 +1610,7 @@ DEFUN (debug_bgp_allow_martians, else { TERM_DEBUG_ON (allow_martians, ALLOW_MARTIANS); - vty_outln (vty, "BGP allow_martian next hop debugging is on"); + vty_out (vty, "BGP allow_martian next hop debugging is on\n"); } return CMD_SUCCESS; } @@ -1628,7 +1628,7 @@ DEFUN (no_debug_bgp_allow_martians, else { TERM_DEBUG_OFF (allow_martians, ALLOW_MARTIANS); - vty_outln (vty, "BGP allow martian next hop debugging is off"); + vty_out (vty, "BGP allow martian next hop debugging is off\n"); } return CMD_SUCCESS; } @@ -1647,7 +1647,7 @@ DEFUN (debug_bgp_update_groups, else { TERM_DEBUG_ON (update_groups, UPDATE_GROUPS); - vty_outln (vty, "BGP update-groups debugging is on"); + vty_out (vty, "BGP update-groups debugging is on\n"); } return CMD_SUCCESS; } @@ -1665,7 +1665,7 @@ DEFUN (no_debug_bgp_update_groups, else { TERM_DEBUG_OFF (update_groups, UPDATE_GROUPS); - vty_outln (vty, "BGP update-groups debugging is off"); + vty_out (vty, "BGP update-groups debugging is off\n"); } return CMD_SUCCESS; } @@ -1698,7 +1698,7 @@ DEFUN (no_debug_bgp, TERM_DEBUG_OFF (neighbor_events, NEIGHBOR_EVENTS); TERM_DEBUG_OFF (zebra, ZEBRA); TERM_DEBUG_OFF (allow_martians, ALLOW_MARTIANS); - vty_outln (vty, "All possible debugging has been turned off"); + vty_out (vty, "All possible debugging has been turned off\n"); return CMD_SUCCESS; } @@ -1710,13 +1710,13 @@ DEFUN (show_debugging_bgp, DEBUG_STR BGP_STR) { - vty_outln (vty, "BGP debugging status:"); + vty_out (vty, "BGP debugging status:\n"); if (BGP_DEBUG (as4, AS4)) - vty_outln (vty, " BGP as4 debugging is on"); + vty_out (vty, " BGP as4 debugging is on\n"); if (BGP_DEBUG (as4, AS4_SEGMENT)) - vty_outln (vty, " BGP as4 aspath segment debugging is on"); + vty_out (vty, " BGP as4 aspath segment debugging is on\n"); if (BGP_DEBUG (bestpath, BESTPATH)) bgp_debug_list_print (vty, " BGP bestpath debugging is on", @@ -1731,10 +1731,10 @@ DEFUN (show_debugging_bgp, bgp_debug_neighbor_events_peers); if (BGP_DEBUG (nht, NHT)) - vty_outln (vty, " BGP next-hop tracking debugging is on"); + vty_out (vty, " BGP next-hop tracking debugging is on\n"); if (BGP_DEBUG (update_groups, UPDATE_GROUPS)) - vty_outln (vty, " BGP update-groups debugging is on"); + vty_out (vty, " BGP update-groups debugging is on\n"); if (BGP_DEBUG (update, UPDATE_PREFIX)) bgp_debug_list_print (vty, " BGP updates debugging is on", @@ -1753,8 +1753,8 @@ DEFUN (show_debugging_bgp, bgp_debug_zebra_prefixes); if (BGP_DEBUG (allow_martians, ALLOW_MARTIANS)) - vty_outln (vty, " BGP allow martian next hop debugging is on"); - vty_out (vty, VTYNL); + vty_out (vty, " BGP allow martian next hop debugging is on\n"); + vty_out (vty, "\n"); return CMD_SUCCESS; } @@ -1809,13 +1809,13 @@ bgp_config_write_debug (struct vty *vty) if (CONF_BGP_DEBUG (as4, AS4)) { - vty_outln (vty, "debug bgp as4"); + vty_out (vty, "debug bgp as4\n"); write++; } if (CONF_BGP_DEBUG (as4, AS4_SEGMENT)) { - vty_outln (vty, "debug bgp as4 segment"); + vty_out (vty, "debug bgp as4 segment\n"); write++; } @@ -1839,13 +1839,13 @@ bgp_config_write_debug (struct vty *vty) if (CONF_BGP_DEBUG (nht, NHT)) { - vty_outln (vty, "debug bgp nht"); + vty_out (vty, "debug bgp nht\n"); write++; } if (CONF_BGP_DEBUG (update_groups, UPDATE_GROUPS)) { - vty_outln (vty, "debug bgp update-groups"); + vty_out (vty, "debug bgp update-groups\n"); write++; } @@ -1871,7 +1871,7 @@ bgp_config_write_debug (struct vty *vty) { if (!bgp_debug_zebra_prefixes || list_isempty(bgp_debug_zebra_prefixes)) { - vty_outln (vty, "debug bgp zebra"); + vty_out (vty, "debug bgp zebra\n"); write++; } else @@ -1883,7 +1883,7 @@ bgp_config_write_debug (struct vty *vty) if (CONF_BGP_DEBUG (allow_martians, ALLOW_MARTIANS)) { - vty_outln (vty, "debug bgp allow-martians"); + vty_out (vty, "debug bgp allow-martians\n"); write++; } |