From 41719b45e4df4b59a04aa605a43486e44e158f57 Mon Sep 17 00:00:00 2001 From: Hadley Wickham Date: Mon, 5 May 2025 14:32:26 -0500 Subject: [PATCH] Possible fix for CRAN warning --- src/cpp11.cpp | 6 +++--- src/readstat/spss/readstat_por_write.c | 8 +++++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/cpp11.cpp b/src/cpp11.cpp index 1ab93464..f2823b66 100644 --- a/src/cpp11.cpp +++ b/src/cpp11.cpp @@ -110,9 +110,9 @@ extern "C" SEXP _haven_write_xpt_(SEXP data, SEXP path, SEXP version, SEXP name, extern "C" { /* .Call calls */ -extern SEXP is_tagged_na_(void *, void *); -extern SEXP na_tag_(void *); -extern SEXP tagged_na_(void *); +extern SEXP is_tagged_na_(SEXP, SEXP); +extern SEXP na_tag_(SEXP); +extern SEXP tagged_na_(SEXP); static const R_CallMethodDef CallEntries[] = { {"_haven_df_parse_dta_file", (DL_FUNC) &_haven_df_parse_dta_file, 6}, diff --git a/src/readstat/spss/readstat_por_write.c b/src/readstat/spss/readstat_por_write.c index cae2af01..db33db99 100644 --- a/src/readstat/spss/readstat_por_write.c +++ b/src/readstat/spss/readstat_por_write.c @@ -203,10 +203,12 @@ static readstat_error_t por_emit_header(readstat_writer_t *writer, por_write_ctx memset(vanity, '0', sizeof(vanity)); memcpy(vanity[1], "ASCII SPSS PORT FILE", 20); - strncpy(vanity[1] + 20, writer->file_label, 20); - if (file_label_len < 20) + if (file_label_len >= 20) { + memcpy(vanity[1] + 20, writer->file_label, 20); + } else { + memcpy(vanity[1] + 20, writer->file_label, file_label_len); memset(vanity[1] + 20 + file_label_len, ' ', 20 - file_label_len); - + } por_write_bytes(writer, vanity, sizeof(vanity)); char lookup[256];