diff options
Diffstat (limited to 'docs/keeploc_t.txt')
-rw-r--r-- | docs/keeploc_t.txt | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/docs/keeploc_t.txt b/docs/keeploc_t.txt new file mode 100644 index 00000000..fc98a2db --- /dev/null +++ b/docs/keeploc_t.txt @@ -0,0 +1,22 @@ +typedef struct keeploc_t { + char *key; + int top_ln; + int crs_ln; + struct keeploc_t *next; +} keeploc_t; + +keeploc_t 是一個 linked list,紀錄不同的 key(字串)所對應到的游標位置。 + + + +keeploc_t *getkeep(char *s, int def_topline, int def_cursline); + + 給定一個字串 s 當 key(不存在則新增),傳回對應的 keeploc_t。 + + 1.如果 def_cursline >= 0,表示要從目前的 keeplist 中找出 key s 所對應到的 keeploc_t 並傳回。 + 如果該筆記錄的 curse position 不合法,則會先設為 1。沒找到則依下面的動作 + 新增。 + + 2.如果 def_cursline < 0,代表要新增一筆記錄。 + 將 def_cursline 取絕對值。然後把參數中的 def_* 填入新記錄中。 + 傳回這筆新記錄。 |