Description: pointer/integer casts. There are callback functions getting general argument as (void *) which should be interpreted as int. Index: smf-tools/usr/src/cmd/svc/svcs/explain.c =================================================================== --- smf-tools.orig/usr/src/cmd/svc/svcs/explain.c 2012-10-08 04:25:33.000000000 +0400 +++ smf-tools/usr/src/cmd/svc/svcs/explain.c 2012-11-05 05:09:17.954844654 +0400 @@ -1184,7 +1184,7 @@ if (svcp->active) { (void) fprintf(stderr, gettext("Dependency cycle detected:\n" " svc:/%s:%s\n"), svcp->svcname, svcp->instname); - return ((int)canfailp != 0 ? UU_WALK_ERROR : UU_WALK_NEXT); + return ((intptr_t)canfailp != 0 ? UU_WALK_ERROR : UU_WALK_NEXT); } if (svcp->causes != NULL) @@ -1253,7 +1253,7 @@ if (r != 0) { assert(r == ELOOP); svcp->active = 0; - return ((int)canfailp != 0 ? + return ((intptr_t)canfailp != 0 ? UU_WALK_ERROR : UU_WALK_NEXT); } } else { @@ -1276,7 +1276,7 @@ if (r != 0) { assert(r == ELOOP); svcp->active = 0; - return ((int)canfailp != 0 ? + return ((intptr_t)canfailp != 0 ? UU_WALK_ERROR : UU_WALK_NEXT); } } else { @@ -2093,7 +2093,7 @@ assert(r == 0); assert(ip != NULL); - print_service(ip, (int)verbose); + print_service(ip, (intptr_t)verbose == 0 ? 0 : 1); return (0); } @@ -2123,7 +2123,7 @@ /* Call print_service() for each operand. */ err = scf_walk_fmri(h, argc, argv, SCF_WALK_MULTIPLE, - print_service_cb, (void *)verbose, &exit_status, uu_warn); + print_service_cb, (void *)((intptr_t)verbose), &exit_status, uu_warn); if (err != 0) { uu_warn(gettext( "failed to iterate over instances: %s\n"),