[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ns] bug in mobilenode.cc ?
Dear ns-users,
In mobilenode.cc : (ns-version2.1b8)
Line2 and Line28 have the same if-statement (strcmp(argv[1], "addif") ),why?
Factually, Line28 have never run.
But Line28 seems to add WirelessPhy.
I don't have any idea about this. Could anyone help me to know why?
At MobileNode::command
===
1: } else if(argc == 3) {
2: if(strcmp(argv[1], "addif") == 0) {
3: WiredPhy* phyp =
(WiredPhy*)TclObject::lookup(argv[2]);
4: if(phyp == 0)
5: return TCL_ERROR;
6: phyp->insertnode(&ifhead_);
7: phyp->setnode(this);
8: return TCL_OK;
9: } else if (strcmp(argv[1], "setsleeptime") == 0) {
10:
energy_model()->afe()->set_sleeptime(atof(argv[2]));
11:
energy_model()->afe()->set_sleepseed(atof(argv[2]));
12: return TCL_OK;
13: } else if (strcmp(argv[1], "setenergy") == 0) {
14: energy_model()->setenergy(atof(argv[2]));
15: return TCL_OK;
16: } else if (strcmp(argv[1], "settalive") == 0) {
17: energy_model()->max_inroute_time() =
atof(argv[2]);
18: return TCL_OK;
19: } else if (strcmp(argv[1], "maxttl") == 0) {
20: energy_model()->maxttl() = atoi(argv[2]);
21: return TCL_OK;
22: } else if(strcmp(argv[1], "radius") == 0) {
23: radius_ = strtod(argv[2],NULL);
24: return TCL_OK;
25: } else if(strcmp(argv[1], "random-motion") == 0) {
26: random_motion_ = atoi(argv[2]);
27: return TCL_OK;
28: } else if(strcmp(argv[1], "addif") == 0) {
29: WirelessPhy *n = (WirelessPhy*)
30: TclObject::lookup(argv[2]);
31: if(n == 0)
32: return TCL_ERROR;
33: n->insertnode(&ifhead_);
34: n->setnode(this);
35: return TCL_OK;
===
--
Best Regard,
Wings