Lioncash
c0c0e412e0
Core/ConfigManager: Use forward declarations where applicable
...
Avoids dragging in IniFile, EXI device and SI device headers in this header which is
quite widely used throughout the codebase.
This also uncovered a few cases where indirect inclusions were being
relied upon, which this also fixes.
2019-06-07 19:54:39 -04:00
Léo Lam
617747e905
Merge pull request #8113 from lioncash/ini-key
...
Common/IniFile: Simplify Set()
2019-05-23 12:15:30 +02:00
Lioncash
2ae370fc37
IniFile: Prevent potential out-of-bounds access in ParseLine()
...
While current usages of ParseLine aren't problematic, this is still a
public function that can be used for other purposes. Essentially makes
the function handle potential external inputs a little nicer.
2019-05-22 21:09:11 -04:00
Lioncash
869acb96c6
Common/IniFile: Simplify Set()
...
We can just utilize map's insert_or_assign() function and check the
return value to determine whether or not we need to insert the key into
the keys_order vector.
2019-05-22 20:58:49 -04:00
Filip Gawin
49fe9f5db1
Use empty instead of size
2019-02-13 00:03:49 +01:00
Jordan Woyak
a464025bba
IniFile: Minor cleanup. Removed unused function. Improved template usage.
2018-12-26 20:15:32 -06:00
Léo Lam
7e79bf97ab
IniFile: Use templates for Get()
...
Gets rid of duplicated code.
2018-06-03 14:53:56 +02:00
Léo Lam
cba32b12e7
IniFile: Use templates for Set()
2018-06-03 14:53:56 +02:00
Léo Lam
fc0193c4b1
Move Config ValueToString to StringUtil
...
An identical implementation is used by IniFile, so move those functions
to StringUtil. A future commit will modify IniFile to use them.
2018-06-03 14:10:52 +02:00
Léo Lam
90f8265497
Replace StringFromInt with std::to_string
...
Updated version of #47 . Android should support to_string now that
we use a modern version of libc++ when building.
2017-07-05 13:49:33 +02:00
JosJuice
cf94ce6305
Add a namespace to OpenFStream
...
For consistency with the other functions in FileUtil.h.
2017-06-15 21:34:04 +02:00
Lioncash
29ca22905b
IniFile: Replace a character erase with pop_back()
...
Same thing, more straightforward.
2017-03-22 19:32:10 -04:00
Lioncash
35959bdaf9
IniFile: Replace string joining code with JoinString
2017-03-22 19:30:15 -04:00
Lioncash
b92871111a
IniFile: std::move a std::string in GetLines
...
Also gets rid of an unnecessary string copy.
2017-03-22 19:09:25 -04:00
Lioncash
dbdf693c81
IniFile: Use character literals instead of string literals where applicable
...
Character overloads are generally better overall (range checks aren't
necessary, etc).
2017-03-22 19:03:17 -04:00
Lioncash
d8998b6392
IniFile: Provide an rvalue reference overload for SetLines
...
Allows moving in vectors instead of performing an unnecessary copy.
2017-03-22 18:49:13 -04:00
Lioncash
46d74a7760
IniFile: Make Section's string constructor instances take strings by value
...
As the name is immediately stored into a class member, a move here is a
better choice.
This also moves the constructor implementations into the cpp file to
avoid an otherwise unnecessary inclusion in the header. This is also
likely a better choice as Section contains several non-trivial members,
so this would avoid potentially inlining a bunch of setup and teardown
code related to them as a side-benefit.
2017-03-22 18:47:19 -04:00
Ryan Houdek
ead8be9d19
Move IniFile section chunk handling to IniFile::Section
2017-03-05 15:47:23 +01:00
Lioncash
beec40f178
IniFile: Handle s64/u64 values
2017-02-25 00:03:20 -05:00
JosJuice
bc2b9f4c3c
Translate Swedish in example strings to English
2017-02-04 22:51:01 +01:00
Pierre Bourdon
3570c7f03a
Reformat all the things. Have fun with merge conflicts.
2016-06-24 10:43:46 +02:00
Lioncash
822cf2bcbf
IniFile: Mark getter functions as const
2015-08-19 22:27:18 -04:00
JosJuice
990d61b786
Skip reading UTF-8 BOM at the beginning of INI files
2015-06-05 18:32:58 +02:00
comex
35ca27f1cd
Fix bug where Gecko codes would be "enabled by default"
...
Actually caused by IniFiles::GetLines leaving the output vector in its
old state if the section wasn't found, and Gecko::LoadCodes not checking
the return value. Fix by moving lines->clear() up.
2015-06-02 19:04:04 -04:00
Tillmann Karras
30ebb2459e
Set copyright year to when a file was created
2015-05-25 13:22:31 +02:00
Tillmann Karras
cefcb0ace9
Update license headers to GPLv2+
2015-05-25 13:22:31 +02:00
Lioncash
eacf741051
DolphinWX/Common: Change some find_first_of usages to find
...
It's unnecessary to use find_first_of when all you're searching for is a single character.
2015-03-24 08:32:44 -04:00
Lioncash
e07679114b
Use emplace_* functions where in-place construction is preferable
2015-02-04 11:39:08 -05:00
Stevoisiak
b25e1a2eb4
Various formatting and consistency fixes
2014-11-13 22:42:18 -05:00
Rachel Bryk
345b608d64
Change IniFile::Section::Set() with default value to use a template.
2014-09-04 03:29:49 -04:00
Ryan Houdek
6bdc32c54a
Add the VideoCommon PostProcessing class.
...
This class loads all the common PP shader configuration options and passes those options through to a inherited class that OpenGL or D3D will have.
Makes it so all the common code for PP shaders is in VideoCommon instead of duplicating the code across each backend.
2014-08-13 01:05:10 -05:00
Jordan Woyak
516369594f
Store ini sections in a std::list (rather than vector) to prevent unexpected pointer invalidation with use of GetOrCreateSection.
2014-06-24 12:37:38 -05:00
Lioncash
f05d3f6e5d
Use only section-based ini reading.
2014-06-16 01:31:23 -04:00
Lioncash
eca70d1562
Get rid of the temporary buffer in IniFile's Load function.
...
std::getline is the string-based equivalent.
2014-05-28 20:26:15 -04:00
Rachel Bryk
80ab567a5b
When reading an ini file, if there is an error, check if it is simply because the eof was reached.
2014-05-28 14:06:18 -04:00
Rachel Bryk
0782d106db
Check for errors when reading lines from ini files.
...
Fixes issue 7283.
2014-05-23 03:17:19 -04:00
Lioncash
d0bd4119d1
Use size_t in std::string operations in IniFile.cpp, not int
2014-05-14 20:38:08 -04:00
Tillmann Karras
fa3cc05753
Turn some non-const refs into pointers
2014-03-17 02:55:57 +01:00
Matthew Parlane
31cfc73a09
Fixes spacing for "for", "while", "switch" and "if"
...
Also moved && and || to ends of lines instead of start.
Fixed misc vertical alignments and some { needed newlining.
2014-03-11 00:35:07 +13:00
Tillmann Karras
d802d39281
clang-modernize -use-nullptr
...
and s/\bNULL\b/nullptr/g for *.cpp/h/mm files not compiled on my machine
2014-03-09 21:14:26 +01:00
Tillmann Karras
315a8ba1c0
Various changes suggested by cppcheck
...
- remove unused variables
- reduce the scope where it makes sense
- correct limits (did you know that strcat()'s last parameter does not
include the \0 that is always added?)
- set some free()'d pointers to NULL
2014-02-28 12:43:20 +01:00
Pierre Bourdon
83b7bb64aa
Make Common/ mostly IWYU clean (and fix errors in rest of the project detected by this change).
2014-02-22 23:37:29 +01:00
Pierre Bourdon
3f9c38d231
Fix more header sorting issues in Common/ (now check-includes clean).
2014-02-20 01:01:10 +01:00
Lioncash
2afe215271
Convert all includes to relative paths.
2014-02-18 02:19:10 -05:00
Tillmann Karras
404624bf0b
Turn loops into range-based form
...
and some things suggested by cppcheck and compiler warnings.
2014-02-13 09:05:50 +01:00
Matthew Parlane
3fe05e0a9f
Fix IniFile to use string& instead of char*
...
Also removes .c_str() usages where found.
2014-02-13 17:06:30 +13:00
Jasper St. Pierre
34692ab826
Remove unnecessary Src/ folders
2013-12-31 14:03:19 -05:00