]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - util.c
Refactor some util/platform usage and extend file system file interface to accept...
[xonotic/gmqcc.git] / util.c
diff --git a/util.c b/util.c
index 113bc93bdca5ef5fa30457b401e67fc02dfb6a45..32051a3f0d70997e24c36cb30fc284728cfc7bf6 100644 (file)
--- a/util.c
+++ b/util.c
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  * SOFTWARE.
  */
+#define GMQCC_PLATFORM_HEADER
 #include <string.h>
 #include <stdlib.h>
 #include <string.h>
 #include <stdlib.h>
+#include <stdarg.h>
 
 #include "gmqcc.h"
 #include "platform.h"
 
 #include "gmqcc.h"
 #include "platform.h"
@@ -225,9 +227,21 @@ size_t util_optimizationtostr(const char *in, char *out, size_t outsz) {
     return util_strtransform(in, out, outsz, "_ ", 'a'-'A');
 }
 
     return util_strtransform(in, out, outsz, "_ ", 'a'-'A');
 }
 
+int util_snprintf(char *str, size_t size, const char *fmt, ...) {
+    va_list  arg;
+    int      ret;
+
+    va_start(arg, fmt);
+    ret = platform_vsnprintf(str, size, fmt, arg);
+    va_end(arg);
+
+    return ret;
+}
+
 int util_asprintf(char **ret, const char *fmt, ...) {
     va_list  args;
     int      read;
 int util_asprintf(char **ret, const char *fmt, ...) {
     va_list  args;
     int      read;
+
     va_start(args, fmt);
     read = platform_vasprintf(ret, fmt, args);
     va_end  (args);
     va_start(args, fmt);
     read = platform_vasprintf(ret, fmt, args);
     va_end  (args);
@@ -235,6 +249,37 @@ int util_asprintf(char **ret, const char *fmt, ...) {
     return read;
 }
 
     return read;
 }
 
+int util_sscanf(const char *str, const char *format, ...) {
+    va_list  args;
+    int      read;
+
+    va_start(args, format);
+    read = platform_vsscanf(str, format, args);
+    va_end(args);
+
+    return read;
+}
+
+char *util_strncpy(char *dest, const char *src, size_t n) {
+    return platform_strncpy(dest, src, n);
+}
+char *util_strncat(char *dest, const char *src, size_t n) {
+    return platform_strncat(dest, src, n);
+}
+char *util_strcat(char *dest, const char *src) {
+    return platform_strcat(dest, src);
+}
+const char *util_strerror(int err) {
+    return platform_strerror(err);
+}
+
+const struct tm *util_localtime(const time_t *timer) {
+    return platform_localtime(timer);
+}
+const char *util_ctime(const time_t *timer) {
+    return platform_ctime(timer);
+}
+
 void util_seed(uint32_t value) {
     srand((int)value);
 }
 void util_seed(uint32_t value) {
     srand((int)value);
 }