-
Notifications
You must be signed in to change notification settings - Fork 4
/
dec-to-u32.c
49 lines (44 loc) · 1.08 KB
/
dec-to-u32.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/* This file is part of the Theseus distribution.
* Copyright 2020 Joshua E. Hill <[email protected]>
*
* Licensed under the 3-clause BSD license. For details, see the LICENSE file.
*
* Author(s)
* Joshua E. Hill, UL VS LLC.
* Joshua E. Hill, KeyPair Consulting, Inc. <[email protected]>
*/
#include <assert.h>
#include <limits.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdnoreturn.h>
#include <string.h>
#include <sysexits.h>
#include "precision.h"
/*
noreturn static void useageExit(void) {
fprintf(stderr, "Usage:\n");
fprintf(stderr, "dec-to-u32\n");
fprintf(stderr, "The values are expected to be provided via stdin, one per line.\n");
exit(EX_USAGE);
}
*/
int main(void) {
uint32_t data;
int res;
uint32_t indata;
assert(PRECISION(UINT_MAX) == 32);
while (feof(stdin) == 0) {
res = scanf("%u\n", &indata);
data = (uint32_t)indata;
if (res == 1) {
if (fwrite(&data, sizeof(uint32_t), 1, stdout) != 1) {
perror("Can't write to stdout");
exit(EX_OSERR);
}
}
}
return (0);
}