* set a new password for finsh * * @param password new password * * @return result, RT_EOK on OK, -RT_ERROR on the new password length is less than * FINSH_PASSWORD_MIN or greater than FINSH_PASSWORD_MAX */
| 303 | * FINSH_PASSWORD_MIN or greater than FINSH_PASSWORD_MAX |
| 304 | */ |
| 305 | rt_err_t finsh_set_password(const char *password) |
| 306 | { |
| 307 | rt_base_t level; |
| 308 | rt_size_t pw_len = rt_strlen(password); |
| 309 | |
| 310 | if (pw_len < FINSH_PASSWORD_MIN || pw_len > FINSH_PASSWORD_MAX) |
| 311 | return -RT_ERROR; |
| 312 | |
| 313 | level = rt_hw_interrupt_disable(); |
| 314 | rt_strncpy(shell->password, password, FINSH_PASSWORD_MAX); |
| 315 | rt_hw_interrupt_enable(level); |
| 316 | |
| 317 | return RT_EOK; |
| 318 | } |
| 319 | |
| 320 | /** |
| 321 | * get the finsh password |
no test coverage detected