
This does not yet include support for the //go:embed directive added in this release. * Makefile.am (check-runtime): Don't create check-runtime-dir. (mostlyclean-local): Don't remove check-runtime-dir. (check-go-tool, check-vet): Copy in go.mod and modules.txt. (check-cgo-test, check-carchive-test): Add go.mod file. * Makefile.in: Regenerate. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/280172
42 lines
958 B
C
42 lines
958 B
C
/* signame.c -- get the name of a signal
|
|
|
|
Copyright 2012 The Go Authors. All rights reserved.
|
|
Use of this source code is governed by a BSD-style
|
|
license that can be found in the LICENSE file. */
|
|
|
|
#include <string.h>
|
|
|
|
#include "runtime.h"
|
|
#include "arch.h"
|
|
#include "malloc.h"
|
|
|
|
String Signame (intgo sig) __asm__ (GOSYM_PREFIX "syscall.Signame");
|
|
|
|
String
|
|
Signame (intgo sig)
|
|
{
|
|
const char* s = NULL;
|
|
char buf[100];
|
|
size_t len;
|
|
byte *data;
|
|
String ret;
|
|
|
|
#if defined(HAVE_STRSIGNAL)
|
|
s = strsignal (sig);
|
|
#endif
|
|
|
|
if (s == NULL)
|
|
{
|
|
snprintf(buf, sizeof buf, "signal %ld", (long) sig);
|
|
s = buf;
|
|
}
|
|
len = __builtin_strlen (s);
|
|
data = runtime_mallocgc (len, nil, false);
|
|
__builtin_memcpy (data, s, len);
|
|
// lowercase first letter: Bad -> bad, but STREAM -> STREAM.
|
|
if ('A' <= data[0] && data[0] <= 'Z' && 'a' <= data[1] && data[1] <= 'z')
|
|
data[0] += 'a' - 'A';
|
|
ret.str = data;
|
|
ret.len = len;
|
|
return ret;
|
|
}
|