30
30
#include <locale.h>
33
s_string_new (const char * s) {
33
s_string_new (const schar * s) {
37
37
size_t s_len = strlen (s);
38
char * ret_val = malloc (s_len + 1);
38
schar * ret_val = malloc (s_len + 1);
39
39
strcpy (ret_val, s);
44
s_string_new_fmt (const char * format, ...) {
45
char * buffer = malloc (strlen (format) + 512);
46
char * ret_val = NULL;
44
s_string_new_fmt (const schar * format, ...) {
45
schar * buffer = malloc (strlen (format) + 512);
46
schar * ret_val = NULL;
48
48
va_start(args, format);
49
49
vsprintf (buffer, format, args);
50
ret_val = strdup (buffer);
50
ret_val = s_string_new (buffer);
57
s_string_new_with_len (const char * s, size_t len) {
58
char * ret_val = malloc (len + 1);
57
s_string_new_with_len (const schar * s, size_t len) {
58
schar * ret_val = malloc (len + 1);
59
ret_val[len + 1] = 0x0;
59
60
strncpy (ret_val, s, len);
64
65
s_current_time (void) {
65
char * ret_val = malloc (21);
66
schar * ret_val = malloc (21);
66
67
time_t t = time (NULL);
67
68
strftime (ret_val, 21, "%F %T", localtime (&t));
73
s_string_is_equal (const schar * a, const schar * b) {
72
82
s_ustring_to_string (const suchar * us) {
79
89
* This should not be used. If you need to use this, uncomment it.
80
90
* I am conveting to something more sane than wchar_t.
83
93
s_wstring_to_string (const wchar_t * ws) {
84
94
s_err_print ("Using depricated function: s_wstring_to_string ().\n"
85
95
"Do not use s_wstring_to_string, as it is platform "
88
98
"use s_ustring_to_string instead of this.\n");
94
104
mbstate_t mbstate;
95
105
memset (&mbstate, 0, sizeof (mbstate));
109
schar * saved_locale;
102
112
size_t old_locale_len;
103
113
old_locale = setlocale (LC_ALL, NULL);
104
114
old_locale_len = strlen (old_locale) + 1;