view fix-casts.sh @ 28327:c7aaad89a2f8

jabber: Re-arrange the code that detects legacy servers so that we don't stomp over "Host Unknown" errors. Legacy servers don't send <stream:features>, so we need to notice when we've finished the opening <stream:stream> tag and, if there was no version, start authentication right then. This was causingon other valid errors (like the server complaining it's not who we think it is) to be replaced by a complaint "You require encryption...". Closes #10450. This seems to work in all the cases I've tested (including with jabberd14).
author Paul Aurich <paul@darkrain42.org>
date Tue, 06 Oct 2009 03:25:26 +0000
parents c3ca613ab550
children
line wrap: on
line source

#!/bin/sh

if [ $# -eq 0 ]; then
	echo "Usage: `basename "$0"` PurpleFoo..."
	echo
	echo "This script searches the *current working directory* and replaces casts"
	echo "with GObject-style type checking and casting macros."
	echo 'For example, "(PurpleBuddy *)b" becomes "PURPLE_BUDDY(b)".'
	exit 0
fi

for struct in $* ; do
	cast=`echo $struct | sed "s|[A-Z]|_\0|g" | tr "a-z" "A-Z" | sed "s|^_||"`
	for file in `grep -rl "([[:space:]]*$struct[[:space:]]*\*[[:space:]]*)" . --include=*.c --exclude=purple-client-bindings.c` ; do
		sed -i "s|([[:space:]]*$struct[[:space:]]*\*[[:space:]]*)[[:space:]]*(|$cast(|g" $file
		sed -i "s|([[:space:]]*$struct[[:space:]]*\*[[:space:]]*)[[:space:]]*\([^(][^,);]*\)|$cast(\1)|g" $file
	done
done