From: Jay Freeman (saurik) Date: Thu, 29 Nov 2007 11:46:49 +0000 (+0000) Subject: Doh. X-Git-Url: https://git.saurik.com/minimal.git/commitdiff_plain/50b825894d028eac1015c3e4d3f974d43eb022d0 Doh. --- diff --git a/platform.h b/platform.h deleted file mode 100644 index a9faa14..0000000 --- a/platform.h +++ /dev/null @@ -1,66 +0,0 @@ -/* Minimal - the simplest thing that could possibly work - * Copyright (C) 2007 Jay Freeman (saurik) -*/ - -/* - * Redistribution and use in source and binary - * forms, with or without modification, are permitted - * provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the - * above copyright notice, this list of conditions - * and the following disclaimer. - * 2. Redistributions in binary form must reproduce the - * above copyright notice, this list of conditions - * and the following disclaimer in the documentation - * and/or other materials provided with the - * distribution. - * 3. The name of the author may not be used to endorse - * or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, - * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR - * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN - * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF - * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#define _assert(expr) \ - do if (!(expr)) { \ - fprintf(stderr, "%s(%u): _assert(%u:%s)\n", __FILE__, __LINE__, errno, #expr); \ - exit(1); \ - } while (false) - -#define _syscall(expr) \ - do if ((long) (expr) != -1) \ - break; \ - else switch (errno) { \ - case EINTR: \ - continue; \ - default: \ - _assert(false); \ - } while (true) - -#define _forever \ - for (;;) - -#define _trace() \ - printf("_trace(%s:%u)\n", __FILE__, __LINE__) - -#define _not(type) \ - ((type) ~ (type) 0) - -#include -#include -#include -#include diff --git a/stdlib.h b/stdlib.h new file mode 100644 index 0000000..a9faa14 --- /dev/null +++ b/stdlib.h @@ -0,0 +1,66 @@ +/* Minimal - the simplest thing that could possibly work + * Copyright (C) 2007 Jay Freeman (saurik) +*/ + +/* + * Redistribution and use in source and binary + * forms, with or without modification, are permitted + * provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the + * above copyright notice, this list of conditions + * and the following disclaimer. + * 2. Redistributions in binary form must reproduce the + * above copyright notice, this list of conditions + * and the following disclaimer in the documentation + * and/or other materials provided with the + * distribution. + * 3. The name of the author may not be used to endorse + * or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, + * BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR + * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN + * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF + * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#define _assert(expr) \ + do if (!(expr)) { \ + fprintf(stderr, "%s(%u): _assert(%u:%s)\n", __FILE__, __LINE__, errno, #expr); \ + exit(1); \ + } while (false) + +#define _syscall(expr) \ + do if ((long) (expr) != -1) \ + break; \ + else switch (errno) { \ + case EINTR: \ + continue; \ + default: \ + _assert(false); \ + } while (true) + +#define _forever \ + for (;;) + +#define _trace() \ + printf("_trace(%s:%u)\n", __FILE__, __LINE__) + +#define _not(type) \ + ((type) ~ (type) 0) + +#include +#include +#include +#include diff --git a/string.h b/string.h index c3a9724..6a64597 100644 --- a/string.h +++ b/string.h @@ -1,3 +1,5 @@ +#include + char *strndup_(const char *src, int len) { char *dst = malloc(len + 1); _assert(dst != NULL);