Commit dc18746c authored by Benno Schulenberg's avatar Benno Schulenberg
Browse files

tweaks: retype, rename, and reshuffle a function

parent c92b9be6
Showing with 20 additions and 19 deletions
+20 -19
...@@ -1214,7 +1214,7 @@ void do_insertfile(void) ...@@ -1214,7 +1214,7 @@ void do_insertfile(void)
#ifndef NANO_TINY #ifndef NANO_TINY
if (!execute) if (!execute)
#endif #endif
if (check_poshistory(answer, &priorline, &priorcol)) if (has_old_position(answer, &priorline, &priorcol))
do_gotolinecolumn(priorline, priorcol, FALSE, FALSE); do_gotolinecolumn(priorline, priorcol, FALSE, FALSE);
} }
#endif /* !DISABLE_HISTORIES */ #endif /* !DISABLE_HISTORIES */
...@@ -3146,27 +3146,28 @@ void update_poshistory(char *filename, ssize_t lineno, ssize_t xpos) ...@@ -3146,27 +3146,28 @@ void update_poshistory(char *filename, ssize_t lineno, ssize_t xpos)
free(fullpath); free(fullpath);
} }
/* Check the recorded last file positions to see if the given file /* Check whether the given file matches an existing entry in the recorded
* matches an existing entry. If so, return 1 and set line and column * last file positions. If not, return FALSE. If yes, return TRUE and
* to the retrieved values. Otherwise, return 0. */ * set line and column to the retrieved values. */
int check_poshistory(const char *file, ssize_t *line, ssize_t *column) bool has_old_position(const char *file, ssize_t *line, ssize_t *column)
{ {
poshiststruct *posptr; poshiststruct *posptr = position_history;
char *fullpath = get_full_path(file); char *fullpath = get_full_path(file);
if (fullpath == NULL) if (fullpath == NULL)
return 0; return FALSE;
while (posptr != NULL && strcmp(posptr->filename, fullpath) != 0)
posptr = posptr->next;
for (posptr = position_history; posptr != NULL; posptr = posptr->next) {
if (!strcmp(posptr->filename, fullpath)) {
*line = posptr->lineno;
*column = posptr->xno;
free(fullpath);
return 1;
}
}
free(fullpath); free(fullpath);
return 0;
if (posptr == NULL)
return FALSE;
*line = posptr->lineno;
*column = posptr->xno;
return TRUE;
} }
/* Load the recorded file positions from ~/.nano/filepos_history. */ /* Load the recorded file positions from ~/.nano/filepos_history. */
......
...@@ -2606,7 +2606,7 @@ int main(int argc, char **argv) ...@@ -2606,7 +2606,7 @@ int main(int argc, char **argv)
else if (ISSET(POS_HISTORY)) { else if (ISSET(POS_HISTORY)) {
ssize_t savedposline, savedposcol; ssize_t savedposline, savedposcol;
/* If edited before, restore the last cursor position. */ /* If edited before, restore the last cursor position. */
if (check_poshistory(argv[i], &savedposline, &savedposcol)) if (has_old_position(argv[i], &savedposline, &savedposcol))
do_gotolinecolumn(savedposline, savedposcol, do_gotolinecolumn(savedposline, savedposcol,
FALSE, FALSE); FALSE, FALSE);
} }
...@@ -2640,7 +2640,7 @@ int main(int argc, char **argv) ...@@ -2640,7 +2640,7 @@ int main(int argc, char **argv)
else if (ISSET(POS_HISTORY)) { else if (ISSET(POS_HISTORY)) {
ssize_t savedposline, savedposcol; ssize_t savedposline, savedposcol;
/* If the file was edited before, restore the last cursor position. */ /* If the file was edited before, restore the last cursor position. */
if (check_poshistory(argv[optind], &savedposline, &savedposcol)) if (has_old_position(argv[optind], &savedposline, &savedposcol))
do_gotolinecolumn(savedposline, savedposcol, FALSE, FALSE); do_gotolinecolumn(savedposline, savedposcol, FALSE, FALSE);
} }
#endif #endif
......
...@@ -354,7 +354,7 @@ int check_dotnano(void); ...@@ -354,7 +354,7 @@ int check_dotnano(void);
void load_poshistory(void); void load_poshistory(void);
void save_poshistory(void); void save_poshistory(void);
void update_poshistory(char *filename, ssize_t lineno, ssize_t xpos); void update_poshistory(char *filename, ssize_t lineno, ssize_t xpos);
int check_poshistory(const char *file, ssize_t *line, ssize_t *column); bool has_old_position(const char *file, ssize_t *line, ssize_t *column);
#endif #endif
/* Some functions in global.c. */ /* Some functions in global.c. */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment