RSeries astromech firmware
StringUtils.h
Go to the documentation of this file.
1 #ifndef StringUtils_h_
2 #define StringUtils_h_
3 
4 int atoi(const char* cmd, int numdigits)
5 {
6  int result = 0;
7  for (int i = 0; i < numdigits; i++)
8  result = result*10 + (cmd[i]-'0');
9  return result;
10 }
11 
12 int32_t strtol(const char* cmd, const char** endptr)
13 {
14  bool sign = false;
15  int32_t result = 0;
16  if (*cmd == '-')
17  {
18  cmd++;
19  sign = true;
20  }
21  while (isdigit(*cmd))
22  {
23  result = result*10L + (*cmd-'0');
24  cmd++;
25  }
26  *endptr = cmd;
27  return (sign) ? -result : result;
28 }
29 
30 uint32_t strtolu(const char* cmd, const char** endptr)
31 {
32  uint32_t result = 0;
33  while (isdigit(*cmd))
34  {
35  result = result*10L + (*cmd-'0');
36  cmd++;
37  }
38  *endptr = cmd;
39  return result;
40 }
41 
42 uint32_t strtolu(char* cmd, char** endptr)
43 {
44  uint32_t result = 0;
45  while (isdigit(*cmd))
46  {
47  result = result*10L + (*cmd-'0');
48  cmd++;
49  }
50  *endptr = cmd;
51  return result;
52 }
53 
54 bool startswith(const char* &cmd, const char* str)
55 {
56  size_t len = strlen(str);
57  if (strncmp(cmd, str, len) == 0)
58  {
59  cmd += len;
60  return true;
61  }
62  return false;
63 }
64 
65 bool startswith(char* &cmd, const char* str)
66 {
67  size_t len = strlen(str);
68  if (strncmp(cmd, str, len) == 0)
69  {
70  cmd += len;
71  return true;
72  }
73  return false;
74 }
75 
76 bool startswith_P(const char* &cmd, PROGMEMString str)
77 {
78  size_t len = strlen_P((const char*)str);
79  if (strncmp_P(cmd, (const char*)str, len) == 0)
80  {
81  cmd += len;
82  return true;
83  }
84  return false;
85 }
86 #endif
startswith
bool startswith(const char *&cmd, const char *str)
Definition: StringUtils.h:54
strtolu
uint32_t strtolu(const char *cmd, const char **endptr)
Definition: StringUtils.h:30
strtol
int32_t strtol(const char *cmd, const char **endptr)
Definition: StringUtils.h:12
PROGMEMString
const typedef __FlashStringHelper * PROGMEMString
Definition: ReelTwo.h:235
startswith_P
bool startswith_P(const char *&cmd, PROGMEMString str)
Definition: StringUtils.h:76
atoi
int atoi(const char *cmd, int numdigits)
Definition: StringUtils.h:4