summaryrefslogtreecommitdiff
path: root/src/times.cc
Commit message (Collapse)AuthorAgeFilesLines
* Add new --align-intervals option.Ian20202024-08-061-6/+16
|
* Update copyright yearAlexis Hildebrandt2023-02-021-1/+1
| | | | [skip ci]
* Update copyright statement for 2022Alexis Hildebrandt2022-07-021-1/+1
|
* Use correct int return type for stream input operationskanreki2021-12-081-11/+4
| | | | | | | | This makes it safe to compare results to -1 to indicate EOF, regardless of whether char is considered signed or unsigned; and so eliminates compiler warnings on platforms such as ARM. Fixes bug #2058.
* Fix some typosMartin Michlmayr2020-05-161-1/+1
|
* Fix buffer overflow when evaluating pricing dateSarah Jamie Lewis2020-04-271-0/+4
|
* Format annotations using format that can be parsedOleg Bulatov2019-11-271-0/+2
| | | | | | | | | | | | | | | | | I expect an output of `ledger print` to be consumable by ledger. But on the next journal ``` 2019/11/25 * test Foo 1 AAPL {1.00 EUR} [2019/11/24] Bar ``` it prints [19-Nov-24], which it does not understand with default options. With this patch it prints [2019/11/24].
* Add support for '%F' date format specifierMichael Budde2019-04-021-7/+7
| | | | | | | | | '%F' is equivalent to '%Y-%m-%d'. Using the '%F' format without this change this would not give any hard errors but instead give dates with wrong years because the 'has_year' trait would not be correctly detected and thus parsed dates would get set to the current year. Fixes #1775
* Remove dead codeMichael Budde2019-04-021-9/+0
|
* Fix possible stack overflow in date parsing routineMichael Budde2019-01-261-1/+3
| | | | | | | | | | | | | | | It is possible to create a stack overflow by giving a date that is longer than the buffer that is used during date parsing because the length of the input string is not checked. The `VERIFY` macro is only enabled when debug-mode is enabled and the `--verify-memory` argument is used. Prevent the issue by always checking the input string length and discarding dates that does not fit in the buffer as invalid. This issue has been assigned CVE-2017-12482. Fixes #1224
* Remove unused development code related to USE_BOOST_FACETSTim Landscheidt2019-01-171-81/+2
| | | | | The code can be accessed by Git history and reused in a branch if necessary.
* Remove TOK_A_YEAR tokenChristoph Dittmann2018-06-101-23/+8
| | | | | | | | | | | | | | | | This fixes #1626. The tokenizer eagerly classifies 4-digit integers as TOK_A_YEAR tokens. In some contexts such as "every 1000 years", this causes errors. I think the tokenizer does not have enough information available to distinguish between integers and years. After this patch, the tokenizer will always classify integers as TOK_INT tokens. The "has 4 digits" heuristic to determine if an integer is a year is moved to the place where it's actually needed (and it can be slightly more generic there, too).
* [misc] Update year in copyright notice to 2017Alexis Hildebrandt2018-01-271-1/+1
| | | | [ci skip]
* [misc] Update year in copyright notice to 2017Alexis Hildebrandt2017-01-051-1/+1
| | | | [ci skip]
* Fix build under Cygwin.Ivan Vanyushkin2016-09-291-1/+1
|
* Fix build under msys32; add Appveyor continuous buildEvan Mallory2016-09-171-1/+1
| | | | | | | | | | | | * Appveyor is a continuous integration platform for Windows that is free for open source projects. See latest test build here: https://ci.appveyor.com/project/Evan/ledger/build/artifacts * Changed WIN32 to _WIN32 because this article http://nadeausoftware.com/articles/2012/01/c_c_tip_how_use_compiler_predefined_macros_detect_operating_system claims that it is defined by the greatest number of compilers. * Modified HAVE_ISATTY and other system defines so that system.hh compiles when cmake fails to find the relevant function. * Add missing include in test/unit/t_value.cc Almost all tests fail when you run them on msys32. I will address that in a future PR.
* days - do not stabalize periods spacified in daysPeter Pickford2016-03-131-12/+26
| | | | | | | | weeks - calculate start date for finding period using remainer 400/periodlength to reduce number of iterations (perhaps this ought to follow the same conventio as years months and quarters) add sample period command tests add add day period tests for forecasts and budgets add week period tests for forecasts and budgets - these do not change
* [misc] Update year in copyright notice to 2016Alexis Hildebrandt2016-01-021-1/+1
| | | | [ci skip]
* Bump copyright notice to 2015Alexis Hildebrandt2014-12-271-1/+1
| | | | | | The following script makes it a no-brainer: % NEXT_YEAR=2015; ag -l 'Copyright.*Wiegley' \ | xargs sed -i '' -e "s/\(Copyright.*\)-20[0-9]\{2\}/\1-${NEXT_YEAR}/"
* Add ISO 8601 date as recognized date stringMartin Michlmayr2014-10-021-0/+1
| | | | | | | | Dates specified via --begin and --end are converted to a value expression using an ISO 8601 (yyyy-mm-dd) date, but this date was not recognized by ledger. Bug fix for #1072
* Fix period expression parsing for month to month without yearMartin Michlmayr2014-10-021-2/+1
| | | | Bug fix for #1074, a regression introduced by the fix for bug #375
* Check whether a month is followed by a yearMartin Michlmayr2014-05-301-0/+11
| | | | Bug fix for #375
* Bump copyright information to 2014Alexis Hildebrandt2014-02-021-1/+1
|
* Source changes needed for Microsoft Visual C++ compatibility.Tim Crews2013-06-141-0/+4
| | | | Includes an implementation of strptime, compiled only for Win32 platform.
* Bump copyright information to 2013John Wiegley2013-02-181-1/+1
|
* Converted the Ledger build system to use CMakeJohn Wiegley2012-05-201-7/+7
|
* Switch to using Boost.FormatJohn Wiegley2012-05-141-7/+7
|
* Fixed a hidden memory corruption bugJohn Wiegley2012-05-141-4/+4
|
* Allow --input-date-format to specify separatorsJohn Wiegley2012-03-191-3/+8
| | | | Fixes #650
* Increased file copyrights to 2012John Wiegley2012-02-291-1/+1
|
* Corrected problem with parsing of leap daysJohn Wiegley2012-02-281-0/+1
|
* Rewrite the way interval reports are generatedJohn Wiegley2012-02-281-5/+9
|
* Added debug code for debugging interval reportsJohn Wiegley2012-02-281-0/+11
|
* Removed unneeded default casesJohn Wiegley2012-02-171-9/+0
|
* Fixes for variable shadowing (27/28)John Wiegley2012-02-171-3/+3
|
* Fixes for variable shadowing (26/28)John Wiegley2012-02-171-2/+1
|
* Cleanup whitespaceJohn Wiegley2011-08-181-1/+1
|
* Removed unused variablesJohn Wiegley2011-08-181-4/+1
|
* Clarified an #ifdefJohn Wiegley2011-04-111-0/+3
|
* Parse %m/%d/%Y %H:%M:%S as an input date/timeJohn Wiegley2010-12-041-2/+9
| | | | This is to support reading of Timelog files.
* Improvements to time period parsingJohn Wiegley2010-06-211-8/+190
| | | | | Things like "since last month" and "4 weeks ago", and "since 4 weeks ago" are now all working.
* Added missing call to resolve_end() in find_periodJohn Wiegley2010-06-201-0/+2
|
* --input-date-format now affects dates with timesJohn Wiegley2010-06-201-1/+8
|
* Support period expressions "this/next/last week"John Wiegley2010-06-141-14/+28
|
* Allow period exprs "from today", "until tomorrow"John Wiegley2010-06-141-0/+10
|
* Support period expressions like "last 4 weeks"John Wiegley2010-06-141-12/+37
|
* Fix to allow time periods like "every 14 days"John Wiegley2010-06-141-1/+1
|
* Revised how Ledger handles the "current year"John Wiegley2010-06-141-33/+22
| | | | | Now when the Y directive sets the current year for a region, it affects everything, as if the clock really were set back to that year.
* Added a missing break statementJohn Wiegley2010-06-131-0/+1
| | | | This broke the meaning of -p "this month".
* Option --input-date-format adds to candidate listJohn Wiegley2010-06-131-2/+2
|