CodeAnt AI home pagelight logodark logo
  • Support
  • Dashboard
  • Dashboard
Documentation
API Reference
Start Here
  • What is CodeAnt?
  • Join Community
Setup
  • Github
  • Bitbucket
  • Gitlab
  • Azure Devops
Pull Request Review
  • Features
  • Customize Review
  • Quality Gates
  • Integrations
Scan center
  • Code Security
  • Code Quality
  • Cloud Security
  • Engineering Productivity
Integrations
  • Jira
  • Test Coverage
  • CI/CD
IDE
  • Setup
  • Review
  • Enhancements
Rule Reference
  • Compliance
  • Anti-Patterns
  • Code Governance
  • Infrastructure Security Database
  • Application Security Database
    • Apex
    • Bash
    • C
    • Clojure
    • Cpp
    • Csharp
    • Dockerfile
    • Elixir
    • Fingerprints
    • Generic
    • Go
    • Html
    • Java
    • Javascript
    • Json
    • Kotlin
    • Ocaml
      • Lang
        • Best practice
        • Compatibility
        • Correctness
        • Performance
        • Portability
        • Security
    • Php
    • Problem-based-packs
    • Python
    • Ruby
    • Rust
    • Scala
    • Solidity
    • Swift
    • Terraform
    • Typescript
    • Yaml
Resources
  • Open Source
  • Blogs
Lang

Portability

broken-input-line

‘input_line’ leaves a ‘\r’ (CR) character when reading lines from a Windows text file, whose lines end in “\r\n” (CRLF). This is a problem for any Windows file that is being read either on a Unix-like platform or on Windows in binary mode. If the code already takes care of removing any trailing ‘\r’ after reading the line, add a ’(* nosemgrep *)’ comment to disable this warning.

prefer-read-in-binary-mode

‘open_in’ behaves differently on Windows and on Unix-like systems with respect to line endings. To get the same behavior everywhere, use ‘open_in_bin’ or ‘open_in_gen [Open_binary]’. If you really want CRLF-to-LF translations to take place when running on Windows, use ‘open_in_gen [Open_text]’.

prefer-write-in-binary-mode

‘open_out’ behaves differently on Windows and on Unix-like systems with respect to line endings. To get the same behavior everywhere, use ‘open_out_bin’ or ‘open_out_gen [Open_binary]’. If you really want LF-to-CRLF translations to take place when running on Windows, use ‘open_out_gen [Open_text]’.

not-portable-tmp-string

You should probably use Filename.get_temp_dirname().
PerformanceSecurity
twitterlinkedin
Powered by Mintlify
Assistant
Responses are generated using AI and may contain mistakes.