summary refs log tree commit diff
path: root/edit.c
diff options
context:
space:
mode:
Diffstat (limited to 'edit.c')
-rw-r--r--edit.c22
1 files changed, 18 insertions, 4 deletions
diff --git a/edit.c b/edit.c
index 446e0e9..e142507 100644
--- a/edit.c
+++ b/edit.c
@@ -14,17 +14,31 @@
  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
  */
 
-#include <err.h>
+#include <assert.h>
+#include <limits.h>
 #include <stdio.h>
 #include <stdlib.h>
-#include <sysexits.h>
+#include <wchar.h>
 
 #include "chat.h"
 
+enum { Cap = 512 };
+static wchar_t buf[Cap] = L"foo\0033bar\3baz";
+static size_t len = 12;
+static size_t pos = 6;
+
 const char *editHead(void) {
-	return "foo\0033bar";
+	static char mbs[MB_LEN_MAX * Cap];
+	const wchar_t *ptr = buf;
+	size_t n = wcsnrtombs(mbs, &ptr, pos, sizeof(mbs), NULL);
+	assert(n != (size_t)-1);
+	return mbs;
 }
 
 const char *editTail(void) {
-	return "baz\3";
+	static char mbs[MB_LEN_MAX * Cap];
+	const wchar_t *ptr = &buf[pos];
+	size_t n = wcsnrtombs(mbs, &ptr, len - pos, sizeof(mbs), NULL);
+	assert(n != (size_t)-1);
+	return mbs;
 }
follow=1'>Simplify transpose swapJune McEnroe 2020-02-12Add C-t transposeJune McEnroe 2020-02-12Add C-v and M-vJune McEnroe 2020-02-12Allow for arguments to open/copy utilitiesJune McEnroe 2020-02-12Handle RPL_AWAYJune McEnroe 2020-02-11Support monochromatic terminalsJune McEnroe 2020-02-11Add .gz to chroot-man scriptJune McEnroe 2020-02-11Add -R restricted flagJune McEnroe 2020-02-11Add chroot targetJune McEnroe 2020-02-11Exit focus and paste modes on err exitJune McEnroe 2020-02-11Add startup GPLv3 note and URLJune McEnroe 2020-02-11Make sure -D_GNU_SOURCE ends up in CFLAGS on LinuxJune McEnroe 2020-02-11Add note about setting PKG_CONFIG_PATHJune McEnroe 2020-02-11Rename query ID on nick changeJune McEnroe 2020-02-11Call completeClear when closing a windowJune McEnroe 2020-02-11Don't insert color codes for non-mentionsJune McEnroe 2020-02-11Take first two words in colorMentionsJune McEnroe 2020-02-11Use time_t for save signatureJune McEnroe 2020-02-11Set self.nick to * initiallyJune McEnroe 2020-02-11Define ColorCap instead of hardcoding 100June McEnroe 2020-02-11Move hash to top of chat.hJune McEnroe 2020-02-11Move base64 out of chat.hJune McEnroe 2020-02-11Move XDG_SUBDIR out of chat.hJune McEnroe 2020-02-11Fix whois idle unit calculationJune McEnroe 2020-02-11Cast towupper to wchar_tJune McEnroe 2020-02-11Cast set but unused variables to voidJune McEnroe 2020-02-11Declare strlcatJune McEnroe 2020-02-11Check if VDSUSP existsJune McEnroe 2020-02-11Fix completeReplace iterationJune McEnroe 2020-02-11Use pkg(8) to configure on FreeBSDJune McEnroe 2020-02-11Remove legacy codeJune McEnroe 2020-02-11Add INSTALLING section to READMEJune McEnroe