AceTime  0.5
Date and time classes for Arduino that support timezones from the TZ Database, and a system clock that can synchronize from an NTP server or an RTC chip.
flash.cpp
1 #include "flash.h"
2 
3 #if defined(ESP8266) || defined(ESP32)
4 
5 const char* strchr_P(const char* s, int c) {
6  char cc = c;
7  while (true) {
8  char d = pgm_read_byte(s);
9  if (cc == d) return s;
10  if (!d) return nullptr;
11  s++;
12  }
13 }
14 
15 const char* strrchr_P(const char* s, int c) {
16  char cc = c;
17  const char* found = nullptr;
18  while (true) {
19  char d = pgm_read_byte(s);
20  if (cc == d) found = s;
21  if (!d) break;
22  s++;
23  }
24  return found;
25 }
26 
27 #endif