/*	A part of the Native C Library for Windows NT
	Copyright 2007-2015 PC GO Ld.
	Copyright 2026 Rivoreo

	This program is free software; you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation; either version 2 of the License, or (at
	your option) any later version.

	This program is distributed in the hope that it will be useful, but
	WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
	General Public License for more details.
*/

#include <errno.h>
#include <stdio.h>
#include <string.h>

void perror(const char *s) {
	char buffer[1024];
	const char *colon;
	const char *errstring;

	if(!s || !*s) s = colon = "";
	else colon = ": ";

	errstring = _gnu_strerror_r(errno, buffer, sizeof buffer);

	// TODO: implement the stdio and replace this with fprintf
	printf("%s%s%s\n", s, colon, errstring);
}
