xref: /optee_os/lib/libutils/isoc/fwrite.c (revision 405a5072d8bd25c18fd151d97e452d6863786f03)
1*405a5072SJerome Forissier // SPDX-License-Identifier: BSD-2-Clause
2*405a5072SJerome Forissier /*
3*405a5072SJerome Forissier  * Copyright (c) 2020, Huawei Technologies Co., Ltd
4*405a5072SJerome Forissier  */
5*405a5072SJerome Forissier 
6*405a5072SJerome Forissier #include <stdio.h>
7*405a5072SJerome Forissier #include <stdlib.h>
8*405a5072SJerome Forissier #include <unistd.h>
9*405a5072SJerome Forissier 
fwrite(const void * ptr,size_t size,size_t nmemb,FILE * stream)10*405a5072SJerome Forissier size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)
11*405a5072SJerome Forissier {
12*405a5072SJerome Forissier 	int fd = 0;
13*405a5072SJerome Forissier 
14*405a5072SJerome Forissier 	if (stream == stdout)
15*405a5072SJerome Forissier 		fd = 1;
16*405a5072SJerome Forissier 	else if (stream == stderr)
17*405a5072SJerome Forissier 		fd = 2;
18*405a5072SJerome Forissier 	else
19*405a5072SJerome Forissier 		abort();
20*405a5072SJerome Forissier 
21*405a5072SJerome Forissier 	return write(fd, ptr, size * nmemb);
22*405a5072SJerome Forissier }
23