On 06/12/2019 5:48 a.m., Sebastian SOSA wrote:
Dear all,
I am trying to submit my R package on CRAN however I have a specific Linux
warning message related to a Rcpp function I found online and included in my
package:
https://gallery.rcpp.org/articles/faster-data-frame-creation/
More specifically, the issue is related to sprint (lines 7 and 14) and is the
following:
list_to_df.cpp:40:28: warning: '%d' directive writing between 1 and 10 bytes
into a region of size 4 [-Wformat-overflow=]
I don't know what this is about and it will be difficult to me to try to solve
it as I am on a Windows machine. Thanks in advance for your help.
The message says that the value being written could be as long as 10
bytes: probably because int could be 64 bits. You have declared the
space to hold the result to be 5 bytes long (including the terminating
null byte). That assumes that the integer is less than 9999.
One solution would probably be to declare the name to be "char
name[11]". Even though you'll never see a dataframe big enough to need
that, it will make the compiler happy.
Another solution might be to tell the compiler that you only handle
values up to 9999; I don't know how to do that.
Duncan Murdoch
______________________________________________
R-package-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-package-devel