history state added
[CleanReadLine.git] / Clean System Files / readLine.c
index b72d31a..c81e7db 100644 (file)
@@ -56,6 +56,28 @@ void cleanUsingHistory(){
        using_history();
 }
 
+void cleanGetState(int *offset, int *num, int *flags){
+       *offset = history_get_history_state()->offset;
+       *num = history_get_history_state()->length;
+       *flags = history_get_history_state()->flags;
+}
+
+void cleanGetHistoryItem(int num, CleanString *line, CleanString *timestamp){
+       ;
+       char *cs_line = history_get_history_state()->entries[num]->line;
+       char *cs_stamp = history_get_history_state()->entries[num]->timestamp;
+
+       CleanStringVariable(cleanLine, strlen(cs_line));
+       *line = (CleanString) cleanLine;
+       memcpy(CleanStringCharacters(cleanLine), cs_line, strlen(cs_line));
+       CleanStringLength(cleanLine) = strlen(cs_line);
+
+       CleanStringVariable(cleanTimestamp, strlen(cs_stamp));
+       *timestamp = (CleanString) cleanTimestamp;
+       memcpy(CleanStringCharacters(cleanTimestamp), cs_stamp, strlen(cs_stamp));
+       CleanStringLength(cleanTimestamp) = strlen(cs_stamp);
+}
+
 void cleanAddHistory(CleanString entry){
        char *cs_entry = cleanStringToCString(entry);
        add_history(cs_entry);