• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. Identify Empty File in Skill

Stats

  • Locked Locked
  • Replies 3
  • Subscribers 143
  • Views 6371
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Identify Empty File in Skill

amaru
amaru over 2 years ago

Hi everyone,

I reading a file by following command:

while(gets(LinValue myFile)

;;; body 

);while ends

When file is empty, I am getting following error : 

*Error* range: argument #1 should be a number (type template = "n") - nil
*Error* load: error while loading file - "*string*"

I am checking the file with isFile(myFile), but my file exists but is empty. How can I check if file is empty using SKILL? or any other solution to this problem.

Thanks in advance

Amar

  • Cancel
Parents
  • mbracht
    mbracht over 2 years ago

    Hi,

    I do not get this error for an empty file, may I see the entire code please.

    Max

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • amaru
    amaru over 2 years ago in reply to mbracht

    Thank you Matthias and Max for your response.

    fileLength is exactly what I was looking for. Thank you Matthias.

    Max,

    After you pointed out, I again debugged the issue and found out that the error was not due to while(gets(... ...)). 

    Actually there were some variables which needs to be assigned inside while loop and then following command was invoked ::

    geAddHilightLabel(evalstring(highlightID) X1:Y1 "someSignal" "centerCenter" "R0" "stick" 0.01 t)

    X1 and Y1 were nil because code didn't gone inside the loop, that is why the error was coming. I am sorry, I didn't looked carefully earlier. 

    I was making a file through some linux functions and sometimes they can be empty isFIle(....) was not working for me. But now fileLength is working as expected.

    Thanks again

    Amar

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • amaru
    amaru over 2 years ago in reply to mbracht

    Thank you Matthias and Max for your response.

    fileLength is exactly what I was looking for. Thank you Matthias.

    Max,

    After you pointed out, I again debugged the issue and found out that the error was not due to while(gets(... ...)). 

    Actually there were some variables which needs to be assigned inside while loop and then following command was invoked ::

    geAddHilightLabel(evalstring(highlightID) X1:Y1 "someSignal" "centerCenter" "R0" "stick" 0.01 t)

    X1 and Y1 were nil because code didn't gone inside the loop, that is why the error was coming. I am sorry, I didn't looked carefully earlier. 

    I was making a file through some linux functions and sometimes they can be empty isFIle(....) was not working for me. But now fileLength is working as expected.

    Thanks again

    Amar

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
No Data

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information