While using strlnlen() here will guard against the insane notion that progname could be longer than PATH_MAX, it won't prevent fprintf from outputting an insane number of characters for progname should it be an unbounded string.
there's no way that nstr won't be terminated in the first 80 characters because the snprintf 3 lines above guarantees it. so strnlen() is kinda useless here.
@araujo the format string "%.*s" can be used to bound the length of string printed. Similar to the "%*s" padding entries that follow, two arguments are passed to printf for this format: int length, and (const) char * string. Only the first length bytes are formatted.
That said, I don't think strnlen() is useful here, so the simpler thing to do is just leave it alone.