}
-static
+
env_item_t *envlist_search(const __memx char *name)
{
- return bsearch(name, env_list, entrycount,
+ char *p = (char *) name;
+
+#ifdef __MEMX
+ char buf[CONFIG_SYS_ENV_NAMELEN+1];
+
+ if (__builtin_avr_flash_segment(name) != -1) {
+ p = buf;
+ while ((*p++ = *name++) != '\0')
+ ;
+ p = buf;
+ }
+#endif /* __MEMX */
+
+ return bsearch(p, env_list, entrycount,
sizeof(env_item_t), comp_env_key_item);
}
* Returns -1 in case of error, or length of printed string
*/
static
-int env_print(char *name)
+int env_print(const __memx char *name)
{
int len = -1;
* @param value Value to set it to
* @return 0 if ok, 1 on error
*/
-int setenv_hex(const char *varname, unsigned long value)
+int setenv_hex(const __memx char *varname, unsigned long value)
{
char str[sizeof(unsigned long) *2 + 1];