MCPcopy Create free account
hub / github.com/F-Stack/f-stack / db_set_cmd

Function db_set_cmd

freebsd/ddb/db_variables.c:131–171  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

129}
130
131void
132db_set_cmd(db_expr_t dummy1, bool dummy2, db_expr_t dummy3, char *dummy4)
133{
134 struct db_variable *vp;
135 db_expr_t value;
136 int t;
137
138 t = db_read_token();
139 if (t == tEOL) {
140 for (vp = db_vars; vp < db_evars; vp++) {
141 if (!db_read_variable(vp, &value)) {
142 db_printf("$%s\n", vp->name);
143 continue;
144 }
145 db_printf("$%-8s = %ld\n",
146 vp->name, (unsigned long)value);
147 }
148 return;
149 }
150 if (t != tDOLLAR) {
151 db_error("Unknown variable\n");
152 return;
153 }
154 if (!db_find_variable(&vp)) {
155 db_error("Unknown variable\n");
156 return;
157 }
158
159 t = db_read_token();
160 if (t != tEQ)
161 db_unread_token(t);
162
163 if (!db_expression(&value)) {
164 db_error("No value\n");
165 return;
166 }
167 if (db_read_token() != tEOL)
168 db_error("?\n");
169
170 db_write_variable(vp, value);
171}

Callers

nothing calls this directly

Calls 8

db_read_tokenFunction · 0.85
db_read_variableFunction · 0.85
db_printfFunction · 0.85
db_errorFunction · 0.85
db_find_variableFunction · 0.85
db_unread_tokenFunction · 0.85
db_expressionFunction · 0.85
db_write_variableFunction · 0.85

Tested by

no test coverage detected