---
name: "assign"
section: "3"
platform: "linux"
package: "libowfat-dev"
version: "0.32-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/assign"
---

# assign(3)

assign an integer value, check for truncation

## NAME

assign - assign an integer value, check for truncation

## SYNTAX

**#include \<libowfat/rangecheck.h\>**

int **assign**(dest,a);

## DESCRIPTION

If a and dest have the same type, or the value of a is representable in the type of dest, do dest=a and return 0.

Otherwise, return 1.

Note: This is a macro, so dest does not have to be a pointer.

## BUGS

In the multiplication functions, a return value of 1 signals success and 0 failure. In add\_of, sub\_of and assign it's the other way around.

## SEE ALSO

[add\_of(3)](/add_of/3.md), [sub\_of(3)](/sub_of/3.md), [imult16(3)](/imult16/3.md), [umult16(3)](/umult16/3.md), [imult32(3)](/imult32/3.md), [umult32(3)](/umult32/3.md), [imult64(3)](/imult64/3.md), [umult64(3)](/umult64/3.md)
