view fix-casts.sh @ 26937:74c9f4f79825

Add 'jabber' to the signals output and NULL checking so it won't crash on Windows I'm baffled, but I currently get this signal output for the jabber-receiving-message signal: (22:27:44) jabber: Recv (ssl)(307): <message from='paul.aurich@gmail.com/desktop35DEABC4' to='paul@darkrain42.org/Testing' type='chat' id='purpleabb8c602'><active xmlns='http://jabber.org/protocol/chatstates'/><nos:x value='disabled' xmlns:nos='google:nosave'/><arc:record otr='false' xmlns:arc='http://jabber.org/protocol/archive'/></message> (22:27:44) signals test: received message (type=chat, id=purpleabb8c602, from=(null) to=chat) (nil) presence and IQ are fine...
author Paul Aurich <paul@darkrain42.org>
date Fri, 22 May 2009 05:31:46 +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