subsurface/core
Berthold Stoeger 04f38d61d7 Clean up system_default_filename()
In the old implementation there were two static C-style strings, filename
and path, which were initialized to NULL and filled on first call of
the function (i.e. singletons).

There is no sense in having two static variables indicating whether
this function was called previously. Moreover, there is no point
in remembering filename accross function calls, because it is not
used once path is set to a non-NULL value.

Therefore, make the filename variable non-static and calculate it only on
first invocation (as indicated by a NULL path). Moreover, free() the filename
variable after its use to fix a memory leak of the old code.

The windows code is slightly different in that the temporary filename is
not dynamically allocated.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2017-11-22 19:22:29 +01:00
..
subsurface-qt Make handling of booleans consistent on the C++-side of preferences 2017-11-20 20:56:13 +01:00
android.cpp win32: optimize the console and logging logic 2017-11-03 07:49:11 -07:00
btdiscovery.cpp Introduce mode field in Bluetooth device selection dialog 2017-11-16 14:26:51 +01:00
btdiscovery.h mobile: enable switching BT on/off during session. 2017-10-12 09:43:40 +02:00
checkcloudconnection.cpp Typo of translated string 2017-06-23 07:55:58 +09:00
checkcloudconnection.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
cloudstorage.cpp Constify strings in pref.h 2017-11-18 21:57:33 +01:00
cloudstorage.h Remove bogus member that hides global variable 2017-10-26 20:44:02 +02:00
CMakeLists.txt Move error reporting into its own source file 2017-10-26 14:37:38 +02:00
cochran.c Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
cochran.h Cochran import: better support for older models 2017-05-31 21:53:00 -07:00
color.cpp Display gas density instead of SAC in planner 2017-05-26 15:52:04 -07:00
color.h Display gas density instead of SAC in planner 2017-05-26 15:52:04 -07:00
compressibility.r Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
configuredivecomputer.cpp Save Subsurface version to libdivecomputer logfile 2017-09-28 08:51:34 +02:00
configuredivecomputer.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
configuredivecomputerthreads.cpp Fix typo: LENGHT -> LENGTH 2017-11-17 15:29:42 +01:00
configuredivecomputerthreads.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
connectionlistmodel.cpp Add function to clear connectionModel data 2017-10-12 09:32:12 +02:00
connectionlistmodel.h Add function to clear connectionModel data 2017-10-12 09:32:12 +02:00
datatrak.c datatrak.c: don't use POSIX %m format for sscanf() in dtrak_prepare_data() 2017-06-11 15:56:41 -07:00
datatrak.h Datatrak import rework: Add another memory size ckeck 2017-05-07 07:48:12 -07:00
deco.c More VPMB state in special structure 2017-10-01 23:58:55 +03:00
deco.h Assemble global state of planner in a struct 2017-05-26 15:44:36 -07:00
device.c Init every struct sample with default values 2017-11-13 20:50:10 -08:00
device.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
devicedetails.cpp Implement OSTC4 specific settings 2017-05-04 10:50:15 -07:00
devicedetails.h Implement OSTC4 specific settings 2017-05-04 10:50:15 -07:00
display.h Display values in info box only if value is interesting 2017-11-13 20:50:10 -08:00
dive.c Constify strings in pref.h 2017-11-18 21:57:33 +01:00
dive.h Make handling of booleans consistent on the C++-side of preferences 2017-11-20 20:56:13 +01:00
divecomputer.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
divecomputer.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
divelist.c CNS calculation fix 2017-10-18 23:19:13 +02:00
divelist.h init_deco correctly identify previous dives and report overlapping dives 2017-10-18 23:19:13 +02:00
divelogexportlogic.cpp Creation of dive duration string and surface interval string 2017-05-26 15:50:52 -07:00
divelogexportlogic.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
divesite.c divesite.c: use NULL instead of 0 for char* buffers 2017-10-05 12:06:13 -07:00
divesite.cpp Taxonomy: Don't access empty entries when printing the tags 2017-10-17 06:12:07 -04:00
divesite.h Tags for geo references: Nicer look, translations and warning message 2017-10-17 06:12:07 -04:00
divesitehelpers.cpp Reverse geo lookup string for http://api.geonames.org corrected 2017-10-16 03:43:02 -08:00
divesitehelpers.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
downloadfromdcthread.cpp Make Bluetooth naming consistent 2017-11-13 20:48:17 -08:00
downloadfromdcthread.h Make Bluetooth naming consistent 2017-11-13 20:48:17 -08:00
equipment.c Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
errorhelper.c Set error callback helper 2017-10-26 14:37:39 +02:00
exif.cpp Image import: Make Exif handling more tolerant, better info,... 2017-05-06 08:07:16 -07:00
exif.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
file.c Inform user if there was no dive profile in DL7/ZXU file 2017-09-11 07:21:43 -07:00
file.h Datatrak import rework: changes of file.c and file.h 2017-05-07 07:48:12 -07:00
gas-model.c Compute and display gas density 2017-05-26 15:52:04 -07:00
gaspressures.c Properly declare 'has_gaschange_event()' function 2017-11-17 15:25:26 +01:00
gaspressures.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
gettext.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
gettextfromc.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
gettextfromc.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
git-access.c Add a useful error message if we fail to connect to cloud server 2017-10-30 12:27:29 -07:00
git-access.h Clean up git storage update messages 2017-06-18 01:00:30 -07:00
gpslocation.cpp Use lrint() for all degrees_t related rounding 2017-10-09 13:38:58 +03:00
gpslocation.h Mobile: honour location service time threshold 2017-07-25 22:12:19 +09:00
helpers.h Creation of dive duration string and surface interval string 2017-05-26 15:50:52 -07:00
imagedownloader.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
imagedownloader.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
isocialnetworkintegration.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
isocialnetworkintegration.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
libdivecomputer.c During DC import reset cns, ndl, other values inbetween dives 2017-11-16 08:32:46 +01:00
libdivecomputer.h QML UI: add dev_info data to AppLog 2017-07-09 12:50:22 -07:00
linux.c Clean up system_default_filename() 2017-11-22 19:22:29 +01:00
liquivision.c Safeguards for Liquivision import 2017-10-07 08:36:10 -07:00
load-git.c Don't add separate country field, use taxonomy 2017-10-04 08:05:09 -07:00
macos.c Clean up system_default_filename() 2017-11-22 19:22:29 +01:00
membuffer.c Fix crash when text empty 2017-10-08 19:41:54 +03:00
membuffer.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
metrics.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
metrics.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
ostctools.c Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
parse-xml.c Fix warning 2017-11-10 10:31:19 +01:00
planner.c Planner don't add minimum gas switch time more than once 2017-11-09 10:43:03 +01:00
planner.h Move planner notes to separate file 2017-05-26 15:44:36 -07:00
plannernotes.c Trivial: fix indentation 2017-11-19 00:21:45 +01:00
pluginmanager.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
pluginmanager.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
pref.h Make handling of booleans consistent on the C-side of preferences 2017-11-20 20:56:13 +01:00
prefs-macros.h Display units in dive list table based on prefs option 2017-10-09 11:49:29 +03:00
profile.c Don't show cylinder pressures for other dive computers 2017-11-17 15:25:26 +01:00
profile.h Profile support for multiple concurrent pressure sensors 2017-07-27 14:45:58 -07:00
qt-ble.cpp Better error message on BLE connection timeout 2017-11-13 20:44:26 -08:00
qt-ble.h iOS build: need to more includes 2017-07-19 06:21:23 -07:00
qt-gui.h Remove dead code 2017-11-19 12:20:43 -08:00
qt-init.cpp Don't show localization warning unless verbose 2017-10-20 06:51:51 -04:00
qthelper.cpp Constify strings in pref.h 2017-11-18 21:57:33 +01:00
qthelper.h Cache all Buehlmann factors 2017-08-29 06:49:44 -07:00
qthelperfromc.h Add details about key libraries when showing version 2017-11-09 16:21:31 -08:00
qtserialbluetooth.cpp Fix typo: successfull -> successful and succesfully -> successfully 2017-11-20 10:01:15 +01:00
save-git.c Init every struct sample with default values 2017-11-13 20:50:10 -08:00
save-html.c Unify sample pressure and o2pressure as pressure[2] array 2017-07-20 17:32:54 -07:00
save-html.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
save-xml.c Init every struct sample with default values 2017-11-13 20:50:10 -08:00
serial_ftdi.c Implemented serial_set_break for FTDI 2017-09-06 08:30:48 -07:00
sha1.c Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
sha1.h Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
statistics.c Mark missing translations 2017-10-29 20:00:53 +01:00
statistics.h Creation of dive duration string and surface interval string 2017-05-26 15:50:52 -07:00
strndup.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
strtod.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
subsurfacestartup.c Copy default filename string when assigning to default preferences 2017-11-22 19:22:14 +01:00
subsurfacestartup.h subsurface-startup: expose print_version() in the header 2017-11-16 14:26:14 +01:00
subsurfacesysinfo.cpp Random whitespace cleanup 2017-05-27 11:07:20 -07:00
subsurfacesysinfo.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
taxonomy.c Fix two bugs in taxonomy_set_country 2017-10-07 08:16:53 -07:00
taxonomy.h Add taxonomy helper functions 2017-10-04 08:05:09 -07:00
time.c Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
uemis-downloader.c Resolve type confusion 2017-07-17 16:50:03 -07:00
uemis.c Start cleaning up sensor indexing for multiple sensors 2017-07-21 16:33:19 -07:00
uemis.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
units.h Fix typo: LENGHT -> LENGTH 2017-11-17 15:29:42 +01:00
version.c Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
version.h Move subsurface-core to core and qt-mobile to mobile-widgets 2016-04-04 22:33:58 -07:00
webservice.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
windows.c Clean up system_default_filename() 2017-11-22 19:22:29 +01:00
windowtitleupdate.cpp Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
windowtitleupdate.h Add SPDX header to remaining core files 2017-04-29 13:32:55 -07:00
worldmap-options.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00
worldmap-save.c worldmap-save: don't use an API key 2017-07-30 16:28:30 -07:00
worldmap-save.h Add SPDX header to core C files 2017-04-29 13:32:55 -07:00