1 | // |
1 | // |
2 | // $Id: dhcping.c,v 1.1 2004/07/26 00:46:09 root Exp $ |
2 | // $Id: dhcping.c,v 1.2 2004/07/26 02:49:32 root Exp $ |
3 | // |
3 | // |
4 | |
4 | |
5 | /* |
5 | /* |
6 | * Copyright 2000, 2001, 2002 by Edwin Groothuis, edwin@mavetju.org |
6 | * Copyright 2000, 2001, 2002 by Edwin Groothuis, edwin@mavetju.org |
7 | * |
7 | * |
… | |
… | |
107 | case 'V': VERBOSE=1;break; |
107 | case 'V': VERBOSE=1;break; |
108 | case 'o': if (opt > MAX_OPTIONS) { |
108 | case 'o': if (opt > MAX_OPTIONS) { |
109 | printf ("Exceeded maximum options parameter(%d).\n", MAX_OPTIONS); |
109 | printf ("Exceeded maximum options parameter(%d).\n", MAX_OPTIONS); |
110 | break; |
110 | break; |
111 | } |
111 | } |
112 | char x[100+MAX_DATA]; |
112 | char format[100+MAX_DATA]; |
113 | sprintf (x, "%%d:%%%ds", MAX_DATA); |
113 | sprintf (format, "%%u:%%%ds", MAX_DATA); |
114 | sscanf (optarg, x, &cmdlineopts[opt].option, cmdlineopts[opt].data); |
114 | sscanf (optarg, format, &cmdlineopts[opt].option, cmdlineopts[opt].data); |
115 | printf ("optarg: %s, opt: %d, cmd1: %d, cmd2: %s, x: %s" |
115 | opt++; |
116 | , optarg, opt, cmdlineopts[opt].option, cmdlineopts[opt++].data, x); |
|
|
117 | break; |
116 | break; |
118 | case 'S': sscanf (optarg, "%63s", sname);break; |
117 | case 'S': sscanf (optarg, "%63s", sname);break; |
119 | } |
118 | } |
120 | } |
119 | } |
121 | |
120 | |
… | |
… | |
354 | serveridentifier[2],serveridentifier[3]); |
353 | serveridentifier[2],serveridentifier[3]); |
355 | addpacket(pktbuf,msgbuf,6); |
354 | addpacket(pktbuf,msgbuf,6); |
356 | } |
355 | } |
357 | /* command line options */ |
356 | /* command line options */ |
358 | while (opt--) { |
357 | while (opt--) { |
359 | sprintf (msgbuf, "%c%c%s", cmdlineopts[opt].option, (char *)(strlen (cmdlineopts[opt].data) + 1), cmdlineopts[opt].data); |
358 | sprintf (msgbuf, "%c%c", cmdlineopts[opt].option, (char *)(strlen (cmdlineopts[opt].data))); |
|
|
359 | memcpy (&msgbuf[2], cmdlineopts[opt].data, strlen (cmdlineopts[opt].data)); |
360 | addpacket(pktbuf, msgbuf, 2 + strlen (cmdlineopts[opt].data) + 1); |
360 | addpacket(pktbuf, msgbuf, 2 + strlen (cmdlineopts[opt].data)); |
361 | } |
361 | } |
362 | } |
362 | } |
363 | |
363 | |
364 | /* client-identifier */ |
364 | /* client-identifier */ |
365 | // sprintf(msgbuf,"%c%c%c%c%c%c%c%c",61,6, |
365 | // sprintf(msgbuf,"%c%c%c%c%c%c%c%c",61,6, |