spa.c revision 5aeb94743e3be0c51e86f73096334611ae3a058e