summaryrefslogtreecommitdiff
path: root/indra/test/writestr.h
diff options
context:
space:
mode:
authornat-goodspeed <nat@lindenlab.com>2024-06-04 14:53:57 -0400
committerGitHub <noreply@github.com>2024-06-04 14:53:57 -0400
commitb0f5401adb755b305669b16d6589639f79721626 (patch)
treed38f28d6d45835a7889438bb1fe1035049d8bedb /indra/test/writestr.h
parent316bc0bdf30514a0c6894ef7c2859e79bf02a546 (diff)
parent9e6cf32add0a857b4e28c638bd378a8d3f70fcdb (diff)
Merge pull request #1555 from secondlife/lua-timers
Add timer support to the Lua viewer
Diffstat (limited to 'indra/test/writestr.h')
-rwxr-xr-xindra/test/writestr.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/indra/test/writestr.h b/indra/test/writestr.h
new file mode 100755
index 0000000000..df1dab2f10
--- /dev/null
+++ b/indra/test/writestr.h
@@ -0,0 +1,39 @@
+/**
+ * @file writestr.h
+ * @author Nat Goodspeed
+ * @date 2024-05-21
+ * @brief writestr() function for when iostream isn't set up
+ *
+ * $LicenseInfo:firstyear=2024&license=viewerlgpl$
+ * Copyright (c) 2024, Linden Research, Inc.
+ * $/LicenseInfo$
+ */
+
+#if ! defined(LL_WRITESTR_H)
+#define LL_WRITESTR_H
+
+#include "stringize.h"
+
+#ifndef LL_WINDOWS
+
+#include <unistd.h>
+
+#else // LL_WINDOWS
+
+#include <io.h>
+inline
+int write(int fd, const void* buffer, unsigned int count)
+{
+ return _write(fd, buffer, count);
+}
+
+#endif // LL_WINDOWS
+
+template <typename... ARGS>
+auto writestr(int fd, ARGS&&... args)
+{
+ std::string str{ stringize(std::forward<ARGS>(args)..., '\n') };
+ return write(fd, str.data(), str.length());
+}
+
+#endif /* ! defined(LL_WRITESTR_H) */