projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
2007-04-27 Jonathan Chambers <joncham@gmail.com>
[mono.git]
/
eglib
/
src
/
gstr.c
diff --git
a/eglib/src/gstr.c
b/eglib/src/gstr.c
index 976c3967d670416c28dd815dd900956de48a8f22..3990eadc1da8d4e7de6fefc7ba71b0da1924c88e 100644
(file)
--- a/
eglib/src/gstr.c
+++ b/
eglib/src/gstr.c
@@
-26,6
+26,7
@@
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
* OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
+#include <config.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>
@@
-35,7
+36,18
@@
gchar *
g_strndup (const gchar *str, gsize n)
{
gchar *
g_strndup (const gchar *str, gsize n)
{
+#ifdef HAVE_STRNDUP
return strndup (str, n);
return strndup (str, n);
+#else
+ if (str) {
+ char *retval = malloc(n+1);
+ if (retval) {
+ strncpy(retval, str, n)[n] = 0;
+ }
+ return retval;
+ }
+ return NULL;
+#endif
}
void
}
void
@@
-63,8
+75,8
@@
g_strv_length(gchar **str_array)
gboolean
g_str_has_suffix(const gchar *str, const gchar *suffix)
{
gboolean
g_str_has_suffix(const gchar *str, const gchar *suffix)
{
-
gin
t str_length;
-
gin
t suffix_length;
+
size_
t str_length;
+
size_
t suffix_length;
g_return_val_if_fail(str != NULL, FALSE);
g_return_val_if_fail(suffix != NULL, FALSE);
g_return_val_if_fail(str != NULL, FALSE);
g_return_val_if_fail(suffix != NULL, FALSE);
@@
-80,8
+92,8
@@
g_str_has_suffix(const gchar *str, const gchar *suffix)
gboolean
g_str_has_prefix(const gchar *str, const gchar *prefix)
{
gboolean
g_str_has_prefix(const gchar *str, const gchar *prefix)
{
-
gin
t str_length;
-
gin
t prefix_length;
+
size_
t str_length;
+
size_
t prefix_length;
g_return_val_if_fail(str != NULL, FALSE);
g_return_val_if_fail(prefix != NULL, FALSE);
g_return_val_if_fail(str != NULL, FALSE);
g_return_val_if_fail(prefix != NULL, FALSE);
@@
-132,10
+144,10
@@
g_strerror (gint errnum)
gchar *
g_strconcat (const gchar *first, ...)
{
gchar *
g_strconcat (const gchar *first, ...)
{
- g_return_val_if_fail (first != NULL, NULL);
va_list args;
va_list args;
-
in
t total = 0;
+
size_
t total = 0;
char *s, *ret;
char *s, *ret;
+ g_return_val_if_fail (first != NULL, NULL);
total += strlen (first);
va_start (args, first);
total += strlen (first);
va_start (args, first);
@@
-166,7
+178,7
@@
g_strsplit (const gchar *string, const gchar *delimiter, gint max_tokens)
gchar *strtok_save, **vector;
gchar *token, *token_c;
gint size = 1;
gchar *strtok_save, **vector;
gchar *token, *token_c;
gint size = 1;
-
gin
t token_length;
+
size_
t token_length;
g_return_val_if_fail(string != NULL, NULL);
g_return_val_if_fail(delimiter != NULL, NULL);
g_return_val_if_fail(string != NULL, NULL);
g_return_val_if_fail(delimiter != NULL, NULL);
@@
-227,8
+239,8
@@
g_strsplit (const gchar *string, const gchar *delimiter, gint max_tokens)
gchar *
g_strreverse (gchar *str)
{
gchar *
g_strreverse (gchar *str)
{
-
guin
t len, half;
-
gin
t i;
+
size_
t len, half;
+
size_
t i;
gchar c;
if (str == NULL)
gchar c;
if (str == NULL)
@@
-250,7
+262,7
@@
g_strjoin (const gchar *separator, ...)
{
va_list args;
char *res, *s;
{
va_list args;
char *res, *s;
-
in
t len, slen;
+
size_
t len, slen;
if (separator != NULL)
slen = strlen (separator);
if (separator != NULL)
slen = strlen (separator);
@@
-288,7
+300,7
@@
gchar *
g_strjoinv (const gchar *separator, gchar **str_array)
{
char *res;
g_strjoinv (const gchar *separator, gchar **str_array)
{
char *res;
-
in
t slen, len, i;
+
size_
t slen, len, i;
if (separator != NULL)
slen = strlen (separator);
if (separator != NULL)
slen = strlen (separator);
@@
-318,7
+330,7
@@
g_strjoinv (const gchar *separator, gchar **str_array)
gchar *
g_strchug (gchar *str)
{
gchar *
g_strchug (gchar *str)
{
-
gin
t len;
+
size_
t len;
gchar *tmp;
if (str == NULL)
gchar *tmp;
if (str == NULL)
@@
-399,7
+411,7
@@
g_snprintf(gchar *string, gulong n, gchar const *format, ...)
return ret;
}
return ret;
}
-static const char
const
hx [] = { '0', '1', '2', '3', '4', '5', '6', '7',
+static const char hx [] = { '0', '1', '2', '3', '4', '5', '6', '7',
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
static gboolean
'8', '9', 'A', 'B', 'C', 'D', 'E', 'F' };
static gboolean
@@
-419,14
+431,14
@@
char_needs_encoding (char c)
gchar *
g_filename_to_uri (const gchar *filename, const gchar *hostname, GError **error)
{
gchar *
g_filename_to_uri (const gchar *filename, const gchar *hostname, GError **error)
{
-
in
t n;
+
size_
t n;
char *ret, *rp;
const char *p;
g_return_val_if_fail (filename != NULL, NULL);
if (hostname != NULL)
char *ret, *rp;
const char *p;
g_return_val_if_fail (filename != NULL, NULL);
if (hostname != NULL)
- g_warning ("eglib: g_filename_to_uri: hostname not handled");
+ g_warning ("
%s", "
eglib: g_filename_to_uri: hostname not handled");
if (*filename != '/'){
if (error != NULL)
if (*filename != '/'){
if (error != NULL)
@@
-479,7
+491,7
@@
g_filename_from_uri (const gchar *uri, gchar **hostname, GError **error)
g_return_val_if_fail (uri != NULL, NULL);
if (hostname != NULL)
g_return_val_if_fail (uri != NULL, NULL);
if (hostname != NULL)
- g_warning ("eglib: g_filename_from_uri: hostname not handled");
+ g_warning ("
%s", "
eglib: g_filename_from_uri: hostname not handled");
if (strncmp (uri, "file:///", 8) != 0){
if (error != NULL)
if (strncmp (uri, "file:///", 8) != 0){
if (error != NULL)
@@
-507,7
+519,7
@@
g_filename_from_uri (const gchar *uri, gchar **hostname, GError **error)
for (p = uri + 8, r = result + 1; *p; p++){
if (*p == '%'){
for (p = uri + 8, r = result + 1; *p; p++){
if (*p == '%'){
- *r++ = (
decode (p [1]) << 4) | decode (p [2]
);
+ *r++ = (
char)((decode (p [1]) << 4) | decode (p [2])
);
p += 2;
} else
*r++ = *p;
p += 2;
} else
*r++ = *p;
@@
-522,7
+534,7
@@
g_strdown (gchar *string)
g_return_if_fail (string != NULL);
while (*string){
g_return_if_fail (string != NULL);
while (*string){
- *string = tolower (*string);
+ *string =
(gchar)
tolower (*string);
string++;
}
}
string++;
}
}
@@
-553,7
+565,7
@@
g_ascii_strdown (const gchar *str, gssize len)
gint
g_ascii_strncasecmp (const gchar *s1, const gchar *s2, gsize n)
{
gint
g_ascii_strncasecmp (const gchar *s1, const gchar *s2, gsize n)
{
-
int
i;
+
gsize
i;
g_return_val_if_fail (s1 != NULL, 0);
g_return_val_if_fail (s2 != NULL, 0);
g_return_val_if_fail (s1 != NULL, 0);
g_return_val_if_fail (s2 != NULL, 0);
@@
-592,10
+604,12
@@
g_strdelimit (gchar *string, const gchar *delimiters, gchar new_delimiter)
return string;
}
return string;
}
-#ifndef HAVE_STRLCPY
gsize
g_strlcpy (gchar *dest, const gchar *src, gsize dest_size)
{
gsize
g_strlcpy (gchar *dest, const gchar *src, gsize dest_size)
{
+#ifdef HAVE_STRLCPY
+ return strlcpy (dest, src, dest_size);
+#else
gchar *d;
const gchar *s;
gchar c;
gchar *d;
const gchar *s;
gchar c;
@@
-622,8
+636,8
@@
g_strlcpy (gchar *dest, const gchar *src, gsize dest_size)
/* we need to return the length of src here */
while (*s++) ; /* instead of a plain strlen, we use 's' */
return s - src - 1;
/* we need to return the length of src here */
while (*s++) ; /* instead of a plain strlen, we use 's' */
return s - src - 1;
-}
#endif
#endif
+}
static const gchar escaped_dflt [256] = {
1, 1, 1, 1, 1, 1, 1, 1, 'b', 't', 'n', 1, 'f', 'r', 1, 1,
static const gchar escaped_dflt [256] = {
1, 1, 1, 1, 1, 1, 1, 1, 'b', 't', 'n', 1, 'f', 'r', 1, 1,
@@
-650,7
+664,7
@@
g_strescape (const gchar *source, const gchar *exceptions)
gchar escaped [256];
const gchar *ptr;
gchar c;
gchar escaped [256];
const gchar *ptr;
gchar c;
-
int
op;
+
gchar
op;
gchar *result;
gchar *res_ptr;
gchar *result;
gchar *res_ptr;
@@
-692,3
+706,14
@@
g_strdup (const gchar *str)
return strdup (str);
}
return strdup (str);
}
+gint
+g_ascii_xdigit_value (gchar c)
+{
+ return ((isxdigit (c) == 0) ? -1 :
+ ((c >= '0' && c <= '9') ? (c - '0') :
+ ((c >= 'a' && c <= 'f') ? (c - 'a' + 10) :
+ (c - 'A' + 10))));
+}
+
+
+