📄 finsh_var.c.svn-base
字号:
#include <finsh.h>#include "finsh_var.h"struct finsh_var global_variable[FINSH_VARIABLE_MAX];int finsh_var_init(){ memset(global_variable, 0, sizeof(global_variable)); return 0;}int finsh_var_insert(const char* name, int type){ int i, empty; empty = -1; for (i = 0; i < FINSH_VARIABLE_MAX; i ++) { /* there is a same name variable exist. */ if (strncmp(global_variable[i].name, name, FINSH_NAME_MAX) == 0) return -1; if (global_variable[i].type == finsh_type_unknown && empty == -1) { empty = i; } } /* there is no empty entry */ if (empty == -1) return -1; /* insert entry */ strncpy(global_variable[empty].name, name, FINSH_NAME_MAX); global_variable[empty].type = type; /* return the offset */ return empty;}int finsh_var_delete(const char* name){ int i; for (i = 0; i < FINSH_VARIABLE_MAX; i ++) { if (strncpy(global_variable[i].name, name, FINSH_NAME_MAX) == 0) break; } /* can't find variable */ if (i == FINSH_VARIABLE_MAX) return -1; memset(&global_variable[i], 0, sizeof(struct finsh_var)); return 0;}struct finsh_var* finsh_var_lookup(const char* name){ int i; for (i = 0; i < FINSH_VARIABLE_MAX; i ++) { if (strncmp(global_variable[i].name, name, FINSH_NAME_MAX) == 0) break; } /* can't find variable */ if (i == FINSH_VARIABLE_MAX) return NULL; return &global_variable[i];}struct finsh_sysvar* finsh_sysvar_lookup(const char* name){ int i; i = 0; while (global_sysvar_table[i].name != NULL) { if (strncmp(global_sysvar_table[i].name, name, strlen(name)) == 0) break; /* move to next variable */ i++; } /* can't find variable */ if (global_sysvar_table[i].name == NULL) return NULL; return &global_sysvar_table[i];}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -