[Linux-decnet-commit] CVS: dnprogs/apps copynodes.c,1.4,1.5
Brought to you by:
chrissie_c,
ph3-der-loewe
From: Christine C. <chr...@us...> - 2008-09-04 15:47:52
|
Update of /cvsroot/linux-decnet/dnprogs/apps In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29306/apps Modified Files: copynodes.c Log Message: Don't crash if we can't resolve the node name. and dont print out the header either. Index: copynodes.c =================================================================== RCS file: /cvsroot/linux-decnet/dnprogs/apps/copynodes.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** copynodes.c 4 Sep 2008 13:03:19 -0000 1.4 --- copynodes.c 4 Sep 2008 15:47:19 -0000 1.5 *************** *** 57,73 **** exec_node = getnodebyaddr((char*)exec_addr->a_addr, 2, AF_DECnet); - // Print header - printf("\ - #\n\ - # DECnet hosts file\n\ - #\n\ - #Node Node Name Node Line Line\n\ - #Type Address Tag Name Tag Device\n\ - #----- ------- ----- ----- ----- ------\n"); - - // Print exec line - printf("executor\t%d.%d\t\tname\t\t%s\tline\t%s\n", - nodeaddr >> 10, nodeaddr & 0x1FF, exec_node->n_name, exec_dev); - memset(&accessdata, 0, sizeof(accessdata)); memset(&sockaddr, 0, sizeof(sockaddr)); --- 57,60 ---- *************** *** 85,88 **** --- 72,80 ---- np = getnodebyname(nodename); + if (!np) + { + fprintf(stderr, "Cannot find node name '%s'\n", nodename); + return -1; + } if ((sockfd=socket(AF_DECnet, SOCK_SEQPACKET, DNPROTO_NSP)) == -1) *************** *** 91,94 **** --- 83,100 ---- } + + // Print header + printf("\ + #\n\ + # DECnet hosts file\n\ + #\n\ + #Node Node Name Node Line Line\n\ + #Type Address Tag Name Tag Device\n\ + #----- ------- ----- ----- ----- ------\n"); + + // Print exec line + printf("executor\t%d.%d\t\tname\t\t%s\tline\t%s\n", + nodeaddr >> 10, nodeaddr & 0x1FF, exec_node->n_name, exec_dev); + /* Connect to network Management Listener */ sockaddr.sdn_family = AF_DECnet; |