Hi, The attached patch changes vasnprintf.c to avoid using %n in the general case, ie when the return value of snprintf is usable. This should help if more systems decide to make tighten %n usage. There are plans for that in OpenBSD land. The existing comments in vasnprintf.c mention systems where gl_SNPRINTF_RETVAL_C99 and gl_SNPRINTF_TRUNCATION_C99 pass. This patch only considers the usability of the return value of snprintf, as lack of truncation seems to be a different problem (apparently handled later in the code). The patch is kept short so that no copyright assignement is needed, but further cleanup can be done. For example the list of systems where %n is avoided could be shortened.