cosmopolitan/third_party/python/Python/getcopyright.c
Justine Tunney 046c7ebd4a Improve locks and signals
- Introduce fast spinlock API
- Double rand64() perf w/ spinlock
- Improve raise() on New Technology
- Support gettid() across platforms
- Implement SA_NODEFER on New Technology
- Move the lock intrinsics into LIBC_INTRIN
- Make SIGTRAP recoverable on New Technology
- Block SIGCHLD in wait4() on New Technology
- Add threading prototypes for XNU and FreeBSD
- Rewrite abort() fixing its minor bugs on XNU/NT
- Shave down a lot of the content in libc/bits/bits.h
- Let signal handlers modify CPU registers on New Technology
2022-04-12 05:20:17 -07:00

40 lines
1.7 KiB
C

/*-*- mode:c;indent-tabs-mode:nil;c-basic-offset:4;tab-width:8;coding:utf-8 -*-│
│vi: set net ft=c ts=4 sts=4 sw=4 fenc=utf-8 :vi│
╞══════════════════════════════════════════════════════════════════════════════╡
│ Python 3 │
│ https://docs.python.org/3/license.html │
╚─────────────────────────────────────────────────────────────────────────────*/
#include "libc/bits/weaken.h"
#include "libc/intrin/cmpxchg.h"
#include "libc/stdio/append.internal.h"
#include "libc/str/str.h"
#include "third_party/python/Include/pylifecycle.h"
/* clang-format off */
asm(".ident\t\"\\n\\n\
Python 3.6 (https://docs.python.org/3/license.html)\\n\
Copyright (c) 2001-2021 Python Software Foundation.\\n\
All Rights Reserved.\\n\
Copyright (c) 2000 BeOpen.com.\\n\
All Rights Reserved.\\n\
Copyright (c) 1995-2001 Corporation for National Research Initiatives.\\n\
All Rights Reserved.\\n\
Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam.\\n\
All Rights Reserved.\"");
extern const char kLegalNotices[];
const char *
Py_GetCopyright(void)
{
const char *p;
static bool once;
static char *res;
if (_cmpxchg(&once, 0, 1)) {
appends(&res, "");
for (p = *weaken(kLegalNotices); *p; p += strlen(p) + 1) {
appends(&res, p);
}
}
return res;
}