summary refs log tree commit diff
path: root/bin
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2022-04-13 21:13:53 -0400
committerJune McEnroe <june@causal.agency>2022-04-13 21:13:53 -0400
commite52265294d05dd5d8de07b78889c9b89f27601ef (patch)
tree5a461ec8770e77be145235c9207734f7884f12aa /bin
parentUpdate "Care" (diff)
downloadsrc-e52265294d05dd5d8de07b78889c9b89f27601ef.tar.gz
src-e52265294d05dd5d8de07b78889c9b89f27601ef.zip
Swap dates so the difference is always positive
Diffstat (limited to '')
-rw-r--r--bin/when.y10
1 files changed, 9 insertions, 1 deletions
diff --git a/bin/when.y b/bin/when.y
index a9f6d1ed..64859da7 100644
--- a/bin/when.y
+++ b/bin/when.y
@@ -103,6 +103,15 @@ static struct tm dateSub(struct tm date, struct tm scalar) {
 }
 
 static struct tm dateDiff(struct tm a, struct tm b) {
+	time_t atime = timegm(&a), btime = timegm(&b);
+	if (atime < btime) {
+		struct tm x = a;
+		a = b;
+		b = x;
+		time_t xtime = atime;
+		atime = btime;
+		btime = xtime;
+	}
 	struct tm diff = {
 		.tm_year = a.tm_year - b.tm_year,
 		.tm_mon = a.tm_mon - b.tm_mon,
@@ -117,7 +126,6 @@ static struct tm dateDiff(struct tm a, struct tm b) {
 		diff.tm_mday = 0;
 		while (dateAdd(b, diff).tm_mday != a.tm_mday) diff.tm_mday++;
 	}
-	time_t atime = timegm(&a), btime = timegm(&b);
 	diff.tm_yday = (atime - btime) / 24 / 60 / 60;
 	return diff;
 }
/src/commit/bin/catsh/catsh.7?id=ae49ab76619a175d6b28bfd330936e5c2913a93b&follow=1'>Consolidate catsh history documentationJune McEnroe 2019-06-19Set LESS=FRXJune McEnroe This is how git invokes less by default. I think I want this everywhere. This allows color, exits if the input fits on one screen, and doesn't clear the screen. 2019-06-16Alias date=ddateJune McEnroe Will I regret this? 2019-06-15Set sensitivity by slot in TF2June McEnroe 2019-06-15Add AcceptanceJune McEnroe 2019-06-07Add variables to bitJune McEnroe 2019-06-05Add A Closed and Common OrbitJune McEnroe 2019-06-02Add RebornJune McEnroe 2019-05-30Add bit to bin.7June McEnroe 2019-05-30Simplify and build bitJune McEnroe lex is a waste of time. 2019-05-29Add xx -p optionJune McEnroe 2019-05-27Add FrontierJune McEnroe 2019-05-27Break nicks with ZWNJJune McEnroe This should prevent bad wrapping. 2019-05-26Add DawnJune McEnroe 2019-05-20Declare vasprintf(3) for GNUJune McEnroe who the fuck is scraeming "#define _GNU_SOURCE" at my house. show yourself, coward. i will never #define _GNU_SOURCE 2019-05-20Fix comparison warning in ttpreJune McEnroe 2019-05-20Add AuthorityJune McEnroe 2019-05-19Specify precedence of unary versions of operatorsJune McEnroe 2019-05-18Add compound assignment operators to orderJune McEnroe 2019-05-15Support simple assignment in orderJune McEnroe 2019-05-15Implement sizeof in orderJune McEnroe 2019-05-15Add orderJune McEnroe 2019-05-12Add T suffix in bitJune McEnroe 2019-05-10Highlight yacc and lex files as CJune McEnroe Their %-prefixed directives should probably be highlighted Macro. 2019-05-10Use val instead of suboptargJune McEnroe suboptarg doesn't exist in GNU. Hopefully BSD getsubopt also sets val on failure? 2019-05-09Add Parable of the SowerJune McEnroe 2019-05-07Add bit without buildJune McEnroe Need to do some stuff in the Makefile for lex and yacc and generating HTML pages for it. 2019-05-04Fix MANDIR typoJune McEnroe 2019-05-04Move relay to binJune McEnroe