Skip to content

Implement missing PROGMEM / _P functions in pgmspace.h  #204

Open
@matthijskooijman

Description

@matthijskooijman

Pgmspace.h provides implementations for functions like memcpy_P, which is the PROGMEM version of memcpy. On AVR, these functions handle loading data from flash (PROGMEM) into RAM before operating on it, on other platforms and in arduino_ci, these are just no-ops wrapper functions.

In #144, these wrappers were changed from macros to inline functions. However, for some of the less common functions (like memccpy), the to-be-wrapped function (without the _P) was not available when compiling under CYGWIN. It was not clear why exactly, since the header files they were defined in did seem to contain the proper declarations and the needed macros for them also seemed set. To prevent stalling merging that PR, these problematic function wrappers were just disabled in pgmspace.h, but it would be good to reintroduce (uncomment) them and make them work on cygwin too.

Metadata

Metadata

Assignees

No one assigned

    Labels

    arduino mocksCompilation mocks for the Arduino librarybugSomething isn't workingsome OSesOnly affects some OSes

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions