Post Reply 
 
Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
isset always returns true !
2016-07-14, 11:38
Post: #1
isset always returns true !
Hi,

I checkout to compile and run iPXE at the commit

commit bb9961fb548068f769c666970c1de6c68743ed07
Author: Michael Brown <mcb30@ipxe.org>
Date: Tue Jun 26 14:49:26 2012 +0100

[test] Add self-tests for TCP/IP checksum calculation

Signed-off-by: Michael Brown <mcb30@ipxe.org>


However I found the command "isset" always true although the value does not exist and the loop never ends.

#!ipxe
set idx:int32 0
:loop isset ${net${idx}/mac} || goto loop_done
echo net${idx} is a ${net${idx}/chip} with MAC ${net${idx}/mac}
inc idx && goto loop
:loop_done


The problem does not happen with the latest iPXE, could you hep to point out the commit that fixed above issue in old iPXE.

Thanks,
Brs,
Naruto
Find all posts by this user
Quote this message in a reply
2016-07-14, 14:03
Post: #2
RE: isset always returns true !
(2016-07-14 11:38)naruto Wrote:  I checkout to compile and run iPXE at the commit

commit bb9961fb548068f769c666970c1de6c68743ed07
Author: Michael Brown <mcb30@ipxe.org>
Date: Tue Jun 26 14:49:26 2012 +0100


However I found the command "isset" always true although the value does not exist and the loop never ends.

#!ipxe
set idx:int32 0
:loop isset ${net${idx}/mac} || goto loop_done
echo net${idx} is a ${net${idx}/chip} with MAC ${net${idx}/mac}
inc idx && goto loop
:loop_done

You are building a four-year old version of iPXE. The "inc" command does not even exist in the version that you are building. Nor does the ability to place commands on the same line as a loop label.

Use the current version of iPXE.

Michael
Visit this user's website Find all posts by this user
Quote this message in a reply
2016-07-14, 15:29
Post: #3
RE: isset always returns true !
(2016-07-14 14:03)mcb30 Wrote:  
(2016-07-14 11:38)naruto Wrote:  I checkout to compile and run iPXE at the commit

commit bb9961fb548068f769c666970c1de6c68743ed07
Author: Michael Brown <mcb30@ipxe.org>
Date: Tue Jun 26 14:49:26 2012 +0100


However I found the command "isset" always true although the value does not exist and the loop never ends.

#!ipxe
set idx:int32 0
:loop isset ${net${idx}/mac} || goto loop_done
echo net${idx} is a ${net${idx}/chip} with MAC ${net${idx}/mac}
inc idx && goto loop
:loop_done

You are building a four-year old version of iPXE. The "inc" command does not even exist in the version that you are building. Nor does the ability to place commands on the same line as a loop label.

Use the current version of iPXE.

Michael

Hi Michael,

Thanks alot

Ffor "inc" command, I add my own function to increase, it can work. You mean I should add the commit to allow the ability to place commands on the same line as a loop label here: https://git.ipxe.org/ipxe.git/commit/31f...2316d4a18c

to make it work?
Find all posts by this user
Quote this message in a reply
2016-07-14, 15:37
Post: #4
RE: isset always returns true !
(2016-07-14 15:29)naruto Wrote:  Ffor "inc" command, I add my own function to increase, it can work. You mean I should add the commit to allow the ability to place commands on the same line as a loop label here: https://git.ipxe.org/ipxe.git/commit/31f...2316d4a18c
to make it work?

No, I mean exactly what I said. You should use the current version of iPXE.

Michael
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 




User(s) browsing this thread: 1 Guest(s)