sled

Једноставни уређивач текста
git clone https://git.sr.ht/~strahinja/sled
Дневник | Датотеке | Референце | ПРОЧИТАЈМЕ | ЛИЦЕНЦА

чување 064966a62fa3e31682b6dad26753042fe02181b9
родитељ 1fda024f044428ed14fa8ed37c72f07fb6d36c95
Аутор: Страхиња Радић <contact@strahinja.org>
Датум:   Sun,  3 Mar 2024 09:12:26 +0100

Move strlcpy,strlcat declarations to util.h; add lstat call to save_file

Signed-off-by: Страхиња Радић <contact@strahinja.org>

Diffstat:
Msled.c | 13+++++--------
Mutil.h | 7+++++++
измењених датотека: 2, додавања: 12(+), брисања: 8(-)

diff --git a/sled.c b/sled.c @@ -59,13 +59,6 @@ extern const char* prompt_overwrite; extern const char* prompt_reread_dirty; extern const char* program_name; -#ifndef strlcpy -size_t strlcpy(char* dst, const char* src, size_t dsize); -#endif -#ifndef strlcat -size_t strlcat(char* dst, const char* src, size_t dsize); -#endif - int clear_selection(struct DrawState* state); int cp(const char* from, const char* to); int create_file(struct DrawState* dstate); @@ -1036,6 +1029,10 @@ save_file(struct DrawState* state) return SAVE_ERR_CANT_OPEN_FILE; #ifdef CREATE_BACKUPS + if (lstat(state->rfn_len > 0 ? state->real_filename : state->filename, + &st) + < 0) + return SAVE_ERR_CANT_STAT_FILE; #ifdef BACKUP_FAIL_OK if (state->backup_possible) { @@ -1059,7 +1056,7 @@ save_file(struct DrawState* state) if (symlink(state->real_filename, state->filename) == -1) return SAVE_ERR_CANT_SYMLINK; } - if (!new_file) + if (!state->new_file) chmod(state->rfn_len > 0 ? state->real_filename : state->filename, st.st_mode); diff --git a/util.h b/util.h @@ -49,6 +49,13 @@ enum { ACT_WRITING, ACT_READING }; extern int utlerrno; +#ifndef strlcpy +size_t strlcpy(char* dst, const char* src, size_t dsize); +#endif +#ifndef strlcat +size_t strlcat(char* dst, const char* src, size_t dsize); +#endif + size_t u8_string_to_unicode(uint32_t* us, const char* s, const size_t max); size_t unicode_string_to_u8(char* s, const uint32_t* us, const size_t max); size_t u32_strlen(const uint32_t* s);