The example proper usage of snprintf(3) (under Caveats) evokes a warning when compiled with -Wextra. I presume casting ret to unsigned int would be safe, but I'll defer to those who know the nuances.
#include<stdio.h> int foo(char* string) { char buffer[128]; int ret = snprintf(buffer, sizeof(buffer), "%s", string); if (ret == -1 || ret >= sizeof(buffer)) return 1; return 0; } % cc -c -Wextra foo.c foo.c: In function 'foo': foo.c:7: warning: comparison between signed and unsigned