static const char *next_history(uint *cursor) { uint i = ptrnext(*cursor); if (i == history_next) return ""; // can't let the cursor hit the head *cursor = i; return history_line(i); }
static void add_history(const char *line) { // reject some stuff if (line[0] == 0) return; uint last = ptrprev(history_next); if (strcmp(line, history_line(last)) == 0) return; strlcpy(history_line(history_next), line, LINE_LEN); history_next = ptrnext(history_next); }
static void add_history(const char *line) { // reject some stuff if (line[0] == 0) return; uint last = ptrprev(history_next); if (strcmp(line, history_line(last)) == 0) return; char* hl = history_line(history_next); strncpy(hl, line, LINE_LEN-1); hl[LINE_LEN-1] = '\0'; history_next = ptrnext(history_next); }