[Github-comments] [geany/geany] Preventing destroying of symbolic/hard links in Windows OS. (#1270)

Matthew Brush notifications at xxxxx
Sat Oct 22 01:39:27 UTC 2016


codebrainz commented on this pull request.



> @@ -1955,37 +1961,51 @@ static gchar *write_data_to_disk(const gchar *locale_filename,
 		/* Use POSIX API for unsafe saving (GVFS-unsafe) */
 		/* The error handling is taken from glib-2.26.0 gfileutils.c */
 		errno = 0;
-		fp = g_fopen(locale_filename, "wb");
+		fp = g_fopen(locale_filename, "w+b"); // we can not destroy  symbolic/hard links

The [linked document](http://www.cplusplus.com/reference/cstdio/fopen/) says for "w+":

> write/update: Create an empty file and open it for update (both for input and output). If a file with the same name already exists its contents are discarded and the file is treated as a new empty file.

And my [man pages say](http://man7.org/linux/man-pages/man3/fopen.3.html):

> Open  for  reading  and writing.  The file is created if it does not exist, otherwise it is truncated.  The stream is  positioned at the beginning of the file.

Both sources seem to agree that the file is truncated for both "w" and "w+". Am I being dense?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/geany/geany/pull/1270
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.geany.org/pipermail/github-comments/attachments/20161021/1c6eb440/attachment.html>


More information about the Github-comments mailing list