[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ns] bug in mobilenode.cc ?



Yes, you are right. Thanks for the bug report. We'll update the code and 
post a patch.

--Padma

On Wed, 12 Dec 2001, Wings wrote:


> 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
> 

-- 
------------------------------------------------ 
Be true to your work, your word, and your friend. 
--Thoreau

Padmaparna Haldar