Index: protocols/account.c
===================================================================
--- protocols/account.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/account.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -81,5 +81,5 @@
 	if( strcmp( prpl->name, "oscar" ) == 0 )
 	{
-		if( isdigit( a->user[0] ) )
+		if( g_ascii_isdigit( a->user[0] ) )
 			strcpy( tag, "icq" );
 		else
@@ -417,5 +417,5 @@
 	
 	/* Format: /[0-9]+([*+][0-9]+(<[0-9+])?)?/ */
-	while( *value && isdigit( *value ) )
+	while( *value && g_ascii_isdigit( *value ) )
 		p->start = p->start * 10 + *value++ - '0';
 	
@@ -433,5 +433,5 @@
 	
 	/* + or * the delay by this number every time. */
-	while( *value && isdigit( *value ) )
+	while( *value && g_ascii_isdigit( *value ) )
 		p->step = p->step * 10 + *value++ - '0';
 	
@@ -444,5 +444,5 @@
 	p->max = 0;
 	value ++;
-	while( *value && isdigit( *value ) )
+	while( *value && g_ascii_isdigit( *value ) )
 		p->max = p->max * 10 + *value++ - '0';
 	
Index: protocols/jabber/jabber_util.c
===================================================================
--- protocols/jabber/jabber_util.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/jabber/jabber_util.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -321,5 +321,5 @@
 			return FALSE;
 		}
-		if( tolower( jid1[i] ) != tolower( jid2[i] ) )
+		if( g_ascii_tolower( jid1[i] ) != g_ascii_tolower( jid2[i] ) )
 		{
 			return FALSE;
@@ -342,5 +342,5 @@
 	   it's Unicode but feck Unicode. :-P So stop once we see a slash. */
 	for( i = 0; i < len && orig[i] != '/' ; i ++ )
-		new[i] = tolower( orig[i] );
+		new[i] = g_ascii_tolower( orig[i] );
 	for( ; orig[i]; i ++ )
 		new[i] = orig[i];
Index: protocols/jabber/sasl.c
===================================================================
--- protocols/jabber/sasl.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/jabber/sasl.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -187,5 +187,5 @@
 	len = strlen( field );
 	
-	while( isspace( *data ) || *data == ',' )
+	while( g_ascii_isspace( *data ) || *data == ',' )
 		data ++;
 	
@@ -210,5 +210,5 @@
 			if( data[i] == ',' )
 			{
-				while( isspace( data[i] ) || data[i] == ',' )
+				while( g_ascii_isspace( data[i] ) || data[i] == ',' )
 					i ++;
 				
Index: protocols/msn/msn.c
===================================================================
--- protocols/msn/msn.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/msn/msn.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -377,5 +377,5 @@
 	g_tree_insert( md->domaintree, bu->handle, bu );
 	
-	for( handle = bu->handle; isdigit( *handle ); handle ++ );
+	for( handle = bu->handle; g_ascii_isdigit( *handle ); handle ++ );
 	if( *handle == ':' )
 	{
Index: protocols/msn/ns.c
===================================================================
--- protocols/msn/ns.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/msn/ns.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -581,5 +581,5 @@
 		ic->flags |= OPT_PONGED;
 	}
-	else if( isdigit( cmd[0][0] ) )
+	else if( g_ascii_isdigit( cmd[0][0] ) )
 	{
 		int num = atoi( cmd[0] );
@@ -997,5 +997,5 @@
 	/* This might be a federated contact. Get its network number,
 	   prefixed to bu->handle with a colon. Default is 1. */
-	for( handle = bu->handle; isdigit( *handle ); handle ++ )
+	for( handle = bu->handle; g_ascii_isdigit( *handle ); handle ++ )
 		type = type * 10 + *handle - '0';
 	if( *handle == ':' )
Index: protocols/msn/sb.c
===================================================================
--- protocols/msn/sb.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/msn/sb.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -506,5 +506,5 @@
 	else if( strcmp( cmd[0], "CAL" ) == 0 )
 	{
-		if( num_parts < 4 || !isdigit( cmd[3][0] ) )
+		if( num_parts < 4 || !g_ascii_isdigit( cmd[3][0] ) )
 		{
 			msn_sb_destroy( sb );
@@ -645,5 +645,5 @@
 		}
 	}
-	else if( isdigit( cmd[0][0] ) )
+	else if( g_ascii_isdigit( cmd[0][0] ) )
 	{
 		int num = atoi( cmd[0] );
Index: protocols/oscar/auth.c
===================================================================
--- protocols/oscar/auth.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/oscar/auth.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -125,5 +125,5 @@
 		return -EINVAL;
 
-	if (isdigit(sn[0]) && set_getbool(&ic->acc->set, "old_icq_auth"))
+	if (g_ascii_isdigit(sn[0]) && set_getbool(&ic->acc->set, "old_icq_auth"))
 		return goddamnicq(sess, conn, sn);
 
Index: protocols/oscar/oscar.c
===================================================================
--- protocols/oscar/oscar.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/oscar/oscar.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -368,5 +368,5 @@
 {
 	set_t *s;
-	gboolean icq = isdigit(acc->user[0]);
+	gboolean icq = g_ascii_isdigit(acc->user[0]);
 	
 	if (icq) {
@@ -394,5 +394,5 @@
 	struct oscar_data *odata = ic->proto_data = g_new0(struct oscar_data, 1);
 
-	if (isdigit(acc->user[0]))
+	if (g_ascii_isdigit(acc->user[0]))
 		odata->icq = TRUE;
 	else
@@ -2500,9 +2500,9 @@
 	char * chatname, *s;
 	
-	chatname = g_strdup_printf("%s%s%d", isdigit(*ic->acc->user) ? "icq" : "",
+	chatname = g_strdup_printf("%s%s%d", g_ascii_isdigit(*ic->acc->user) ? "icq" : "",
 	                           ic->acc->user, chat_id++);
 	
 	for (s = chatname; *s; s ++)
-		if (!isalnum(*s))
+		if (!g_ascii_isalnum(*s))
 			*s = '0';
 	
Index: protocols/oscar/oscar_util.c
===================================================================
--- protocols/oscar/oscar_util.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/oscar/oscar_util.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -57,5 +57,5 @@
 				curPtr2++;
 		} else {
-			if ( toupper(*curPtr1) != toupper(*curPtr2))
+			if ( g_ascii_toupper(*curPtr1) != g_ascii_toupper(*curPtr2))
 				return 1;
 			curPtr1++;
Index: protocols/purple/purple.c
===================================================================
--- protocols/purple/purple.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/purple/purple.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -61,5 +61,5 @@
 		while( *a == '_' ) a ++;
 		while( *b == '_' ) b ++;
-		if( tolower( *a ) != tolower( *b ) )
+		if( g_ascii_tolower( *a ) != g_ascii_tolower( *b ) )
 			return FALSE;
 		
@@ -1148,5 +1148,5 @@
 				{
 					n = strlen( value ) - 1;
-					while( isspace( value[n] ) )
+					while( g_ascii_isspace( value[n] ) )
 						n --;
 					g_string_append_len( info, value, n + 1 );
Index: protocols/skype/skype.c
===================================================================
--- protocols/skype/skype.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/skype/skype.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -514,5 +514,5 @@
 				char *iptr = sd->info_sex;
 				while (*iptr++)
-					*iptr = tolower(*iptr);
+					*iptr = g_ascii_tolower(*iptr);
 				g_string_append_printf(st,
 					"Gender: %s\n", sd->info_sex);
Index: protocols/twitter/twitter.c
===================================================================
--- protocols/twitter/twitter.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/twitter/twitter.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -459,7 +459,7 @@
 
 			strcpy(pin, message);
-			for (s = pin + sizeof(pin) - 2; s > pin && isspace(*s); s--)
+			for (s = pin + sizeof(pin) - 2; s > pin && g_ascii_isspace(*s); s--)
 				*s = '\0';
-			for (s = pin; *s && isspace(*s); s++) {
+			for (s = pin; *s && g_ascii_isspace(*s); s++) {
 			}
 
Index: protocols/yahoo/yahoo_httplib.c
===================================================================
--- protocols/yahoo/yahoo_httplib.c	(revision 6f10697380c620065731a5beece95c0f5bd652a0)
+++ protocols/yahoo/yahoo_httplib.c	(revision 6b13103dad92d505e038c268af66aeb04b7b4d87)
@@ -152,5 +152,5 @@
 static int isurlchar(unsigned char c)
 {
-	return (isalnum(c));
+	return (g_ascii_isalnum(c));
 }
 
