Skip to content

Doesn't correctly convert 0 XAH to sto using float_sto #586

@tequdev

Description

@tequdev

Issue Description

Steps to Reproduce

#include "hookapi.h"

int64_t hook(uint32_t reserved) {
  _g(1, 1);

  uint8_t buf[8];

   uint64_t float1 = 0;

  // 1000000000000000 * 10^*(-16)  =  0.1
  // uint64_t float1 = 6071852297695428608; // underflow case

  int64_t result = float_sto(SBUF(buf), 0, 0, 0, 0, float1, 0);

  trace_num(SBUF("result"), (int64_t)result); // 0
  trace(SBUF("buf"), SBUF(buf), 1);  // 0000000000000000

  return accept(0, 0, 0);
}

Expected Result

result = 8
buf = 4000000000000000

or

result = <some error code>
buf = 0000000000000000

Actual Result

result = 0
buf = 0000000000000000

Environment

2025.7.9-release+1951

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions