X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/057817cb1dc71416bc798b5cd592acfcea87efaa..0dd441e803f3563839541e7526f8294032aa7743:/avr/env.c diff --git a/avr/env.c b/avr/env.c index 9ea355f..3b299c4 100644 --- a/avr/env.c +++ b/avr/env.c @@ -1,20 +1,15 @@ /* * (C) Copyright 2014 Leo C. * - * SPDX-License-Identifier: GPL-2.0+ + * SPDX-License-Identifier: GPL-2.0 */ -#include "common.h" -#include -#include +#include "env.h" #include #include "config.h" #include "debug.h" -#include "xmalloc.h" #include "crc.h" -#include "command.h" -#include "env.h" #define ENV_SIZE (CONFIG_ENV_SIZE - sizeof(uint16_t) -1) @@ -33,11 +28,12 @@ const FLASH char default_env[] = { ENV_BAUDRATE "=" "115200" DELIM ENV_BOOTDELAY "=" "3" DELIM - ENV_BOOTCMD "=" "reset; loadf; go ${startaddr}" DELIM + ENV_BOOTCMD "=" "pin ${pins}; loadcpm3; go ${startaddress}" DELIM ENV_CPM3_SYSFILE "=" CONFIG_CPM3_SYSFILE DELIM ENV_PINALIAS "=" "0:PG5,1:PG4,2:PB4,3:PB5,4:PB6,5:PB7," "6:PG3,7:PG2,8:PG1,9:PG0,10:PE7" DELIM ENV_STARTADDRESS "=" "0" DELIM + "pins" "=" "2,8 low 9 high 3 2" DELIM DELIM }; @@ -197,7 +193,7 @@ int envlist_import(uint8_t flags) return -1; } - np = (char *) xmalloc(len+1); + np = (char *) malloc(len+1); if (np == NULL) { printf_P(PSTR("## Can't malloc %d bytes\n"), len+1); return 1; @@ -316,7 +312,7 @@ int env_init(void) } -char *getenv(const MEMX char *name) +char *getenv_str(const MEMX char *name) { env_item_t *ep; char *ret = NULL; @@ -449,7 +445,7 @@ int env_print(const MEMX char *name) * @return 0 if ok, 1 on error */ static -command_ret_t _do_env_set(int flag, int argc, char * const argv[]) +command_ret_t _do_env_set(uint_fast8_t flag, int argc, char * const argv[]) { int i, len; char *name, *value, *valp, *p; @@ -486,7 +482,7 @@ command_ret_t _do_env_set(int flag, int argc, char * const argv[]) for (i = 2, len += 1; i < argc; ++i) len += strlen(argv[i]) + 1; - value = xmalloc(len); + value = malloc(len); if (value == NULL) { printf_P(PSTR("## Can't malloc %d bytes\n"), len); return CMD_RET_FAILURE; @@ -624,7 +620,25 @@ unsigned long getenv_ulong(const MEMX char *name, int base, unsigned long defaul } -command_ret_t do_env_print(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +/* + * Read an environment variable as a boolean + */ +bool getenv_yesno(const MEMX char *name) +{ + char *s = getenv_str(name); + + if (s == NULL) + return false; + + return strchr_P(PSTR("1yYtT"), *s) != NULL; + +/* + return *s == '1' || *s == 'y' || *s == 'Y' || *s == 't' || *s == 'T' ? + 1 : 0; +*/ +} + +command_ret_t do_env_print(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[]) { command_ret_t rc = CMD_RET_SUCCESS; @@ -653,7 +667,7 @@ command_ret_t do_env_print(cmd_tbl_t *cmdtp, int flag, int argc, char * const ar } -command_ret_t do_env_set(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +command_ret_t do_env_set(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[]) { (void) cmdtp; @@ -664,7 +678,7 @@ command_ret_t do_env_set(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv } -command_ret_t do_env_default(cmd_tbl_t *cmdtp, int flag, +command_ret_t do_env_default(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[]) { (void) cmdtp; (void) flag; (void) argc; (void) argv; @@ -682,7 +696,7 @@ command_ret_t do_env_default(cmd_tbl_t *cmdtp, int flag, } -command_ret_t do_env_save(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) +command_ret_t do_env_save(cmd_tbl_t *cmdtp, uint_fast8_t flag, int argc, char * const argv[]) { (void) cmdtp; (void) flag; (void) argc; (void) argv;