Even Microsoft added snprintf to Visual C++ in 2015 (not that that matters for R).
-Bill On Sat, Jan 21, 2023 at 2:47 AM Duncan Murdoch <murdoch.dun...@gmail.com> wrote: > On 21/01/2023 5:33 a.m., Holger Hoefling wrote: > > Hi, > > > > thanks for the tip! Is that available everywhere or do I need to set > > compiler requirements? > > You shouldn't need any special requirements. I think this was > standardized in C99, which is supported by default in R. Not sure which > C++ version adopted it, but it's available there too. > > Duncan Murdoch > > > > > Best > > > > Holger Hoefling > > > > On Sat, Jan 21, 2023 at 11:27 AM Duncan Murdoch > > <murdoch.dun...@gmail.com <mailto:murdoch.dun...@gmail.com>> wrote: > > > > On 21/01/2023 5:15 a.m., Holger Hoefling wrote: > > > Hi, > > > > > > In my recent re-submission with a bug-fix of the hdf5r package, I > > got a new > > > set of warnings from the compiler, one being that I shouldn't be > > using > > > 'sprintf'. > > > > > > Is there a simple replacement that I can use? > > > > You should use snprintf() which has an extra argument to state the > size > > of the buffer receiving the string. For example, > > > > char text[32]; > > sprintf(text, "%.4g", value); > > > > could be written as > > > > char text[32]; > > snprintf(text, 32, "%.4g", value); > > > > This will write a string with at most 31 characters before the NUL at > > the end, and avoids the possibility of a buffer overrun. > > > > Duncan Murdoch > > > > ______________________________________________ > R-package-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-package-devel > [[alternative HTML version deleted]] ______________________________________________ R-package-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-package-devel