Ruby  3.1.4p223 (2023-03-30 revision HEAD)
strerror.c
1 /* public domain rewrite of strerror(3) */
2 
3 #include "ruby/missing.h"
4 
5 extern int sys_nerr;
6 extern char *sys_errlist[];
7 
8 static char msg[50];
9 
10 char *
11 strerror(int error)
12 {
13  if (error <= sys_nerr && error > 0) {
14  return sys_errlist[error];
15  }
16  snprintf(msg, sizeof(msg), "Unknown error (%d)", error);
17  return msg;
18 }