0
0
mirror of https://github.com/netwide-assembler/nasm.git synced 2025-10-10 00:25:06 -04:00
Files
nasm/asm/rdstrnum.c
H. Peter Anvin 23ce05f906 treewide: replace verbose copyright headers with SPDX tags
SPDX is an international standard for documenting software license
requirements. Remove the existing headers and replace with a brief
SPDX preamble.

See: https://spdx.dev/use/specifications/

The script used to convert the files is added to "tools", and the
file header templates in headers/ are updated.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2025-10-01 11:45:31 -07:00

32 lines
697 B
C

/* SPDX-License-Identifier: BSD-2-Clause */
/* Copyright 1996-2016 The NASM Authors - All Rights Reserved */
/*
* rdstrnum.c
*
* This converts a NASM string to an integer, used when a string
* is used in an integer constant context. This is a binary conversion,
* not a conversion from a numeric constant in text form.
*/
#include "compiler.h"
#include "nasmlib.h"
#include "nasm.h"
int64_t readstrnum(char *str, int length, bool *warn)
{
int64_t charconst = 0;
int i;
*warn = false;
if (length > 8) {
*warn = true;
length = 8;
}
for (i = 0; i < length; i++)
charconst += (uint64_t)((uint8_t)(*str++)) << (i*8);
return charconst;
}