Files
nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libsbuf/patches/0001-darwin-compatibility.patch
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

138 lines
5.1 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
diff '--color=auto' -ur a/subr_prf.c b/subr_prf.c
--- a/subr_prf.c 2024-09-04 20:07:10.149623000 -0400
+++ b/subr_prf.c 2024-09-04 20:14:10.265336775 -0400
@@ -64,8 +64,8 @@
#else /* !_KERNEL */
#include <errno.h>
#endif
-#include <sys/ctype.h>
-#include <sys/sbuf.h>
+#include <ctype.h>
+#include <usbuf.h>
#ifdef DDB
#include <ddb/ddb.h>
diff '--color=auto' -ur a/subr_sbuf.c b/subr_sbuf.c
--- a/subr_sbuf.c 2024-09-04 20:07:10.149810000 -0400
+++ b/subr_sbuf.c 2024-09-04 20:22:20.289037135 -0400
@@ -50,7 +50,7 @@
#include <string.h>
#endif /* _KERNEL */
-#include <sys/sbuf.h>
+#include <usbuf.h>
#ifdef _KERNEL
static MALLOC_DEFINE(M_SBUF, "sbuf", "string buffers");
@@ -96,6 +96,18 @@
#define SBUF_MAXEXTENDINCR 4096
#endif
+/* Per https://cgit.freebsd.org/src/commit/?id=8fa6abb6f4f64f4f23e2920e2aea7996566851a4 */
+#define roundup2 __builtin_align_up
+/* From https://cgit.freebsd.org/src/tree/sys/sys/cdefs.h?id=8fa6abb6f4f64f4f23e2920e2aea7996566851a4 */
+#define __predict_false(exp) __builtin_expect((exp),0)
+
+/* These symbols are exported even though the functions arent defined in the public header.
+ Redefine them for consistency. */
+#define sbuf_count_drain usbuf_count_drain
+#define sbuf_drain usbuf_drain
+#define sbuf_nl_terminate usbuf_nl_terminate
+#define sbuf_put_bytes usbuf_put_bytes
+
/*
* Debugging support
*/
diff '--color=auto' -ur a/usbuf.h b/usbuf.h
--- a/usbuf.h 2024-09-04 20:07:10.150177000 -0400
+++ b/usbuf.h 2024-09-04 20:13:26.469610458 -0400
@@ -33,6 +33,50 @@
#include <sys/_types.h>
+#include <stdarg.h>
+
+#define sbuf_new usbuf_new
+#define sbuf_clear usbuf_clear
+#define sbuf_setpos usbuf_setpos
+#define sbuf_bcat usbuf_bcat
+#define sbuf_bcpy usbuf_bcpy
+#define sbuf_cat usbuf_cat
+#define sbuf_cpy usbuf_cpy
+#define sbuf_printf usbuf_printf
+#define sbuf_vprintf usbuf_vprintf
+#define sbuf_putc usbuf_putc
+#define sbuf_set_drain usbuf_set_drain
+#define sbuf_trim usbuf_trim
+#define sbuf_error usbuf_error
+#define sbuf_finish usbuf_finish
+#define sbuf_data usbuf_data
+#define sbuf_len usbuf_len
+#define sbuf_done usbuf_done
+#define sbuf_delete usbuf_delete
+#define sbuf_clear_flags usbuf_clear_flags
+#define sbuf_get_flags usbuf_get_flags
+#define sbuf_set_flags usbuf_set_flags
+#define sbuf_start_section usbuf_start_section
+#define sbuf_end_section usbuf_end_section
+#define sbuf_hexdump usbuf_hexdump
+#define sbuf_putbuf usbuf_putbuf
+#define sbuf_printf_drain usbuf_printf_drain
+
+#define SBUF_FIXEDLEN USBUF_FIXEDLEN
+#define SBUF_AUTOEXTEND USBUF_AUTOEXTEND
+#define SBUF_INCLUDENUL USBUF_INCLUDENUL
+#define SBUF_DRAINTOEOR USBUF_DRAINTOEOR
+#define SBUF_NOWAIT USBUF_NOWAIT
+#define SBUF_USRFLAGMSK USBUF_USRFLAGMSK
+#define SBUF_DYNAMIC USBUF_DYNAMIC
+#define SBUF_FINISHED USBUF_FINISHED
+#define SBUF_DYNSTRUCT USBUF_DYNSTRUCT
+#define SBUF_INSECTION USBUF_INSECTION
+#define SBUF_DRAINATEOL USBUF_DRAINATEOL
+
+#define sbuf usbuf
+#define sbuf_drain_func usbuf_drain_func
+
struct sbuf;
typedef int (sbuf_drain_func)(void *, const char *, int);
@@ -46,17 +90,17 @@
int s_error; /* current error code */
ssize_t s_size; /* size of storage buffer */
ssize_t s_len; /* current length of string */
-#define SBUF_FIXEDLEN 0x00000000 /* fixed length buffer (default) */
-#define SBUF_AUTOEXTEND 0x00000001 /* automatically extend buffer */
-#define SBUF_INCLUDENUL 0x00000002 /* nulterm byte is counted in len */
-#define SBUF_DRAINTOEOR 0x00000004 /* use section 0 as drain EOR marker */
-#define SBUF_NOWAIT 0x00000008 /* Extend with non-blocking malloc */
-#define SBUF_USRFLAGMSK 0x0000ffff /* mask of flags the user may specify */
-#define SBUF_DYNAMIC 0x00010000 /* s_buf must be freed */
-#define SBUF_FINISHED 0x00020000 /* set by sbuf_finish() */
-#define SBUF_DYNSTRUCT 0x00080000 /* sbuf must be freed */
-#define SBUF_INSECTION 0x00100000 /* set by sbuf_start_section() */
-#define SBUF_DRAINATEOL 0x00200000 /* drained contents ended in \n */
+#define USBUF_FIXEDLEN 0x00000000 /* fixed length buffer (default) */
+#define USBUF_AUTOEXTEND 0x00000001 /* automatically extend buffer */
+#define USBUF_INCLUDENUL 0x00000002 /* nulterm byte is counted in len */
+#define USBUF_DRAINTOEOR 0x00000004 /* use section 0 as drain EOR marker */
+#define USBUF_NOWAIT 0x00000008 /* Extend with non-blocking malloc */
+#define USBUF_USRFLAGMSK 0x0000ffff /* mask of flags the user may specify */
+#define USBUF_DYNAMIC 0x00010000 /* s_buf must be freed */
+#define USBUF_FINISHED 0x00020000 /* set by sbuf_finish() */
+#define USBUF_DYNSTRUCT 0x00080000 /* sbuf must be freed */
+#define USBUF_INSECTION 0x00100000 /* set by sbuf_start_section() */
+#define USBUF_DRAINATEOL 0x00200000 /* drained contents ended in \n */
int s_flags; /* flags */
ssize_t s_sect_len; /* current length of section */
ssize_t s_rec_off; /* current record start offset */
@@ -88,7 +132,7 @@
int sbuf_cpy(struct sbuf *, const char *);
int sbuf_printf(struct sbuf *, const char *, ...)
__printflike(2, 3);
-int sbuf_vprintf(struct sbuf *, const char *, __va_list)
+int sbuf_vprintf(struct sbuf *, const char *, va_list)
__printflike(2, 0);
int sbuf_nl_terminate(struct sbuf *);
int sbuf_putc(struct sbuf *, int);