save only global processes on global zone ps

Save only processes that are running in the global zone on Solaris.
There's no need to cast isspace()'s parameter to int !  Yes, it does take an int parameter and yes it is being passed a char, but casting to (int) does no good.
However, given that `*sp` is a char and it's unspecified whether that's signed or unsigned, you *do* need to cast it to an unsigned char, since isspace (and its friends) take an int with "the value of an unsigned char or EOF".  It may be simpler to simply declare `const unsigned char *sp` and cast it when initialising.