subsurface/core
Berthold Stoeger f142e9a9c6 core: C++-ify membuffer
C-style memory management is a pain and nearly nobody seems to get
it right. Add a C++-version of membuffer that frees the buffer
when it gets out-of-scope. Originally, I was thinking about
conditionally adding a constructor/destructor pair when compiling
with C++. But then decided to create a derived class membufferpp,
because it would be extremely confusing to have behavioral change
when changing a source from from C to C++ or vice-versa.

Also add a comment about the dangers of returned pointer: They
become dangling on changes to the membuffer.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2021-07-23 11:22:43 -07:00
..
settings cloudstorage: try to pick between multiple cloud servers 2021-04-19 12:51:01 -07:00
subsurface-qt core: remove DiveObjectHelper 2020-12-17 13:03:56 -08:00
android.cpp build-system/android: remove libusb at QTest 2020-04-25 13:18:41 -07:00
btdiscovery.cpp core/ble: add auto detection for Aladin A2 2021-07-20 09:28:38 -07:00
btdiscovery.h bluetooth discovery: report more information about progress 2020-09-30 16:40:41 -07:00
checkcloudconnection.cpp cleanup: don't hardcode array length 2021-04-19 12:51:01 -07:00
checkcloudconnection.h cloudstorage: try alternative server if first connection fails 2021-04-19 12:51:01 -07:00
cloudstorage.cpp cloudstorage: remove ancient SSL hack 2021-04-19 12:51:01 -07:00
cloudstorage.h get rid of some foreach and Q_FOREACH constructs 2019-04-12 12:59:17 +03:00
CMakeLists.txt core: C++-ify membuffer 2021-07-23 11:22:43 -07:00
cochran.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
cochran.h
color.cpp profile: rename GF_LINE color to DURATION_LINE 2021-05-08 13:40:24 +02:00
color.h profile: rename GF_LINE color to DURATION_LINE 2021-05-08 13:40:24 +02:00
compressibility.r
configuredivecomputer.cpp cleanup: use pointer-to-function connect() in ConfigureDiveComputer 2020-10-06 10:38:45 -07:00
configuredivecomputer.h cleanup: use pointer-to-function connect() in ConfigureDiveComputer 2020-10-06 10:38:45 -07:00
configuredivecomputerthreads.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
configuredivecomputerthreads.h
connectionlistmodel.cpp core/bt: ensure that BT/BLE addresses with name sort first 2020-05-15 04:05:06 +03:00
connectionlistmodel.h Mobile: reinstate roleNames function in ConnectionListModel 2019-04-16 23:43:14 +12:00
datatrak.c core: keep tank infos in a dynamic table 2020-12-13 11:49:59 -08:00
datatrak.h
deco.c planner: pass in_planner argument to decoMode() 2021-02-17 07:26:55 -08:00
deco.h planner: pass in_planner argument to decoMode() 2021-02-17 07:26:55 -08:00
device.cpp core: don't construct std::string from null in device.cpp 2020-11-04 15:53:15 -08:00
device.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
devicedetails.cpp
devicedetails.h
display.h profile: move adding of ceiling-violation-event 2021-01-10 15:57:39 -08:00
dive.c core: sanitize pressure-sensor cylinder ids in fixup_dive() 2021-07-19 10:13:51 -07:00
dive.h desktop: Add the capability to copy / paste dive number and date / time. 2021-05-19 15:15:34 -07:00
divecomputer.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
divecomputer.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
divefilter.cpp cleanup: ensure DiveFilter is consistent when created 2021-01-01 12:38:50 -08:00
divefilter.h filter: provide function that returns all shown dives 2020-12-29 08:34:09 -08:00
divelist.c core: initialize dive selection after resetting the data 2021-03-31 13:54:23 +02:00
divelist.h planner: pass in_planner argument to add_segment() 2021-02-17 07:26:55 -08:00
divelogexportlogic.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
divelogexportlogic.h
divemode.h Cleanup: move planner/deco related declarations planner/deco.h 2019-08-08 16:26:31 -07:00
divesite-helper.cpp
divesite.c mobile/edit: don't add dive site twice to table 2020-03-17 14:05:24 -07:00
divesite.h cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
divesitehelpers.cpp cleanup: use taxonomy_get_value() instead of taxonomy_get_index() 2020-09-06 12:59:54 -07:00
divesitehelpers.h [Bug #2934] Geo Lookup - support for remote dive sites 2020-09-05 17:34:15 +02:00
downloadfromdcthread.cpp core: fix incorrect QString::asprintf/vasprintf usage 2020-11-17 12:56:40 -08:00
downloadfromdcthread.h downloader: small improvements 2020-12-03 13:26:55 -08:00
equipment.c core: correct AL* tankinfo sizes. 2020-12-17 08:10:56 -08:00
equipment.h core: keep tank infos in a dynamic table 2020-12-13 11:49:59 -08:00
errorhelper.c Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
errorhelper.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
event.c cleanup: break out event-related code into event.[c|h] 2020-10-25 13:59:52 -07:00
event.h cleanup: break out event-related code into event.[c|h] 2020-10-25 13:59:52 -07:00
exif.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
exif.h
extradata.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
file.c cloudstorage: some cleanup of cloud url handling 2021-04-19 12:51:01 -07:00
file.h devices: create device nodes in parsers 2020-10-24 09:51:37 -07:00
filterconstraint.cpp core: move formatting of day-of-week to string-format.cpp 2021-01-01 21:10:10 +01:00
filterconstraint.h filter: add tank size filter constraint 2020-10-03 10:29:15 -07:00
filterpreset.cpp filter: remove filter_preset_table_t 2020-10-17 09:04:20 -07:00
filterpreset.h filter: remove filter_preset_table_t 2020-10-17 09:04:20 -07:00
format.cpp core: C++-ify membuffer 2021-07-23 11:22:43 -07:00
format.h
fulltext.cpp filter: implement importing of filter presets 2020-09-29 16:13:03 -07:00
fulltext.h fulltext: remember original query 2020-09-29 16:13:03 -07:00
gas-model.c Cleanup: replace macro by inline function in gas-model.c 2019-08-08 15:22:09 -07:00
gas.c Use PSCR gas when computing O2 toxicity 2021-03-12 22:24:23 +01:00
gas.h Use PSCR gas when computing O2 toxicity 2021-03-12 22:24:23 +01:00
gaspressures.c cleanup: constify populate_pressure_information() 2021-01-20 10:01:50 -08:00
gaspressures.h cleanup: constify populate_pressure_information() 2021-01-20 10:01:50 -08:00
gettext.h
gettextfromc.cpp
gettextfromc.h
git-access.c cloudstorage: update remote if cloud server changes 2021-04-19 12:51:01 -07:00
git-access.h cleanup: don't hardcode array length 2021-04-19 12:51:01 -07:00
gpslocation.cpp mobile/debugging: copy GPS fixes to clipboard 2021-01-23 13:19:11 -08:00
gpslocation.h mobile/debugging: copy GPS fixes to clipboard 2021-01-23 13:19:11 -08:00
imagedownloader.cpp core: add "transparent" parameter to renderSVGIcon 2021-01-01 21:10:10 +01:00
imagedownloader.h
import-cobalt.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
import-csv.c cleanup: move variable declaration closer to use 2020-10-26 19:27:03 -07:00
import-csv.h parser: add device_table to parser state 2020-10-24 09:51:37 -07:00
import-divinglog.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
import-seac.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
import-shearwater.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
import-suunto.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
interpolate.h cleanup: move interpolate inline function to its own header file 2020-10-25 13:59:52 -07:00
ios.cpp cloud-storage: simplify creation of git authorship 2020-04-09 17:05:44 -07:00
libdivecomputer.c cleanup: remove unused function argument 2020-10-26 19:27:03 -07:00
libdivecomputer.h divecomputer: add device_table pointer to device_data_t 2020-10-24 09:51:37 -07:00
liquivision.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
load-git.c parser: don't create samples with invalid cylinder ids 2021-07-19 10:13:51 -07:00
macos.c cloud-storage: simplify creation of git authorship 2020-04-09 17:05:44 -07:00
membuffer.cpp core: C++-ify membuffer 2021-07-23 11:22:43 -07:00
membuffer.h core: C++-ify membuffer 2021-07-23 11:22:43 -07:00
metadata.cpp cleanup: remove getDivesInTrip() in qthelper.cpp 2020-12-29 08:34:09 -08:00
metadata.h
metrics.cpp desktop: cache photo and geo icons 2021-02-10 14:33:15 -08:00
metrics.h desktop: cache photo and geo icons 2021-02-10 14:33:15 -08:00
ostctools.c cleanup: move sort_dive_table declaration to divetable.h 2020-10-25 13:59:52 -07:00
parse-gpx.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
parse-gpx.h cleanup: only include QString in desktop-widgets/importgps.h 2020-05-01 09:42:31 -07:00
parse-xml.c core: use int16_t for sensor-id 2021-07-23 11:16:00 -07:00
parse.c parser: don't create samples with invalid cylinder ids 2021-07-19 10:13:51 -07:00
parse.h cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
picture.c core/picture: don't compile all on mobile 2020-11-19 17:18:33 -08:00
picture.h core: move picture-related function from dive.c to picture.c 2020-05-06 13:58:09 -07:00
pictureobj.cpp media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
pictureobj.h media: add small C++ helper describing a picture struct 2020-05-06 13:58:09 -07:00
planner.c The planner should not always ascent from the depth of 2021-05-07 08:16:41 -07:00
planner.h cleanup: move DECOTIMESTEP from dive.h to planner.h 2020-05-01 09:42:31 -07:00
plannernotes.c planner: pass in_planner argument to decoMode() 2021-02-17 07:26:55 -08:00
pref.c cloudstorage: try to pick between multiple cloud servers 2021-04-19 12:51:01 -07:00
pref.h cloudstorage: some cleanup of cloud url handling 2021-04-19 12:51:01 -07:00
profile.c core: add a special NO_SENSOR value for sample::sensor 2021-07-19 10:13:51 -07:00
profile.h cleanup: constify create_plot_info_new() 2021-01-20 10:01:50 -08:00
qt-ble.cpp Use QtBluetooth enums from their namespace 2021-03-12 08:41:31 -08:00
qt-ble.h cleanup: remove dc_user_device_t 2020-10-24 09:51:37 -07:00
qt-gui.h mobile/UI: remember the system default font size 2021-01-19 12:35:29 -08:00
qt-init.cpp cleanup: remove getDivesInTrip() in qthelper.cpp 2020-12-29 08:34:09 -08:00
qthelper.cpp cloudstorage: create consistent local directory names 2021-04-19 12:51:01 -07:00
qthelper.h cloudstorage: update remote if cloud server changes 2021-04-19 12:51:01 -07:00
qtserialbluetooth.cpp Use QtBluetooth enums from their namespace 2021-03-12 08:41:31 -08:00
sample.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
sample.h core: use int16_t for sensor-id 2021-07-23 11:16:00 -07:00
save-git.c cleanup: don't save PASCAL pressure units to git 2021-01-02 10:26:29 -08:00
save-html.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
save-html.h Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
save-profiledata.c Fix CSV for profile export 2020-04-18 13:41:29 +02:00
save-profiledata.h Cleanup: move file-related function declarations to file.h 2019-08-08 16:26:31 -07:00
save-xml.c xml parsing: add XML_PARSE_HUGE flag to xmlReadMemory() 2021-04-21 08:39:29 -07:00
selection.cpp selection: when changing current dive make sure it is selected 2020-09-20 18:23:57 -07:00
selection.h selection: create global single_selected_trip() function 2020-05-03 15:02:21 -07:00
serial_ftdi.c core: fix libdivecomputer dc_custom callbacks structures 2020-06-18 09:05:13 -07:00
serial_usb_android.cpp android/usb: remove "autoselect driver" option for unknown VID/PIDs 2020-03-16 07:58:20 -07:00
serial_usb_android.h android/usb: pass in the UsbDevice when downloading 2020-03-16 07:58:20 -07:00
sha1.c
sha1.h
ssrf.h core: remove LOG_STP from mobile 2019-12-13 07:04:00 -05:00
statistics.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
statistics.h cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
string-format.cpp core: move formatting of day-of-week to string-format.cpp 2021-01-01 21:10:10 +01:00
string-format.h core: move formatting of day-of-week to string-format.cpp 2021-01-01 21:10:10 +01:00
strndup.h
strtod.c
structured_list.h media: use table instead of linked list for media 2020-05-06 13:58:09 -07:00
subsurface-string.h
subsurface-time.h cleanup: const-ify utc_mktime() 2020-12-29 08:34:09 -08:00
subsurfacestartup.c cleanup: move pref related structs and functions to pref.c 2021-01-02 10:26:29 -08:00
subsurfacestartup.h cleanup: move application flags to core/subsurfacehelper.h 2020-10-25 13:59:52 -07:00
subsurfacesysinfo.cpp cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -07:00
subsurfacesysinfo.h cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -07:00
table.h media: create sort_picture_table function via macro 2020-05-06 13:58:09 -07:00
tag.c Don't expose 'detach_buffer()' to membuffer users 2019-10-27 12:42:54 -07:00
tag.h Cleanup: move tag functions into own translation unit 2019-06-19 13:11:10 -07:00
taxonomy.c cleanup: make taxonomy_index_for_category() local to taxonomy.c 2020-09-06 12:59:54 -07:00
taxonomy.h cleanup: make taxonomy_index_for_category() local to taxonomy.c 2020-09-06 12:59:54 -07:00
time.c cleanup: const-ify utc_mktime() 2020-12-29 08:34:09 -08:00
timer.c Add timestamps to libdivecomputer.log 2020-03-10 17:42:54 -07:00
timer.h Add timestamps to libdivecomputer.log 2020-03-10 17:42:54 -07:00
trip.c cleanup: fix over-eager Coverity warnings 2020-10-25 13:58:03 -07:00
trip.h selection: add selection flag for trips 2020-05-03 15:02:21 -07:00
uemis-downloader.c cleanup: initialize all members of weightsystem 2020-10-26 19:27:03 -07:00
uemis.c cleanup: split out divecomputer functions from dive.c 2020-10-25 13:59:52 -07:00
uemis.h
units.c cleanup: move definition of get_units() to core/unit.c 2021-01-02 10:26:29 -08:00
units.h Implement Seac SeacSync databaser parser. 2020-09-04 15:54:08 +03:00
unix.c cleanup: remove system includes from dive.c 2020-10-25 13:59:52 -07:00
uploadDiveLogsDE.cpp Fix coverity reported memory leaks 2021-07-19 09:07:48 -07:00
uploadDiveLogsDE.h Cleanup: remove const bool parameters and return types 2020-02-09 12:13:18 -08:00
uploadDiveShare.cpp core: divehare avoid race problem. 2019-12-12 10:10:01 -05:00
uploadDiveShare.h core: divehare change slot names 2019-12-12 10:10:01 -05:00
version.c
version.h
videoframeextractor.cpp Cleanup: move error reporting function declarations to errorhelper.h 2019-08-08 16:26:30 -07:00
videoframeextractor.h
webservice.h
windows.c cleanup: refactor subsurfacesysinfo.cpp 2020-10-27 16:18:09 -07:00
windowtitleupdate.cpp
windowtitleupdate.h
worldmap-options.h
worldmap-save.c cleanup: move dive_table from dive.h to divelist.h 2020-05-01 09:42:31 -07:00
worldmap-save.h Cleanup: remove const bool parameters and return types 2020-02-09 12:13:18 -08:00
xmlparams.cpp core: add a small helper-struct that keeps track of xml-parameters 2020-10-23 18:17:02 -07:00
xmlparams.h core: add a small helper-struct that keeps track of xml-parameters 2020-10-23 18:17:02 -07:00
xmp_parser.cpp cleanup: move declaration of utc_mk* functions to new subsurface-time.h header 2020-05-01 09:42:31 -07:00
xmp_parser.h