diff options
author | San Jacobs | 2022-07-28 05:12:34 +0200 |
---|---|---|
committer | San Jacobs | 2022-07-28 05:12:34 +0200 |
commit | 044cdef2122faa384717f98449ec7a4018c14cde (patch) | |
tree | dc2c306d334446b956ba894b6dbe6d8f5d44e95a | |
parent | 6d9d1ef96d4188ad6e5b201b39c31d742c99d147 (diff) | |
download | satscalc-044cdef2122faa384717f98449ec7a4018c14cde.tar.gz satscalc-044cdef2122faa384717f98449ec7a4018c14cde.tar.bz2 satscalc-044cdef2122faa384717f98449ec7a4018c14cde.zip |
Bugfixes
-rwxr-xr-x | src/time.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/time.cpp b/src/time.cpp index 7a9f5f5..f9a1a6e 100755 --- a/src/time.cpp +++ b/src/time.cpp @@ -154,21 +154,22 @@ workday::workday(const moment& previous_wrap, splitpoints[5] = splitpoints[3]; } - std::sort(splitpoints, splitpoints + 10); + moment splitpoints_sorted[10]; + std::copy(splitpoints, splitpoints+10, splitpoints_sorted); + std::sort(splitpoints_sorted, splitpoints_sorted + 10); int j = 0; for(int i = 0; i<10; i++) { - const moment* each_moment = &splitpoints[i]; + const moment* each_moment = &splitpoints_sorted[i]; //std::cout << "Splitting: " << timeprint(*each_moment) << "\t\tJ: " << j << "\t\tI: " << i << std::endl; - if(*each_moment > call && *each_moment < wrap) { + // If each splitpoint moment is within the workday, and is not equal to the start of the current block + if(*each_moment > call && *each_moment < wrap && *each_moment != initial_block.start) { blocks[j++] = timesplit(initial_block, *each_moment); } } //std::cout << "Splitting finished." << std::endl; - // TODO: Clean away all timeblocks that are 0 in length - blocks[j++] = initial_block; total_timeblocks = j; |