util-linux/cal-Correctly-center-the-year.patch

213 lines
13 KiB
Diff

From b90829918891af8a3207bdc54a25326481b2fa6e Mon Sep 17 00:00:00 2001
From: Aurelien LAJOIE <orel@melix.net>
Date: Sat, 28 Mar 2020 23:33:40 +0100
Subject: [PATCH 186/389] cal: Correctly center the year
Signed-off-by: Aurelien LAJOIE <orel@melix.net>
---
misc-utils/cal.c | 7 +++----
tests/expected/cal/weeknum-ymjw | 14 +++++++-------
tests/expected/cal/weeknum-ysjw | 14 +++++++-------
tests/expected/cal/year-ymj | 2 +-
tests/expected/cal/year-ymjw | 2 +-
tests/expected/cal/year-ysj | 2 +-
tests/expected/cal/year-ysjw | 2 +-
7 files changed, 21 insertions(+), 22 deletions(-)
diff --git a/misc-utils/cal.c b/misc-utils/cal.c
index 7286003..7cd6545 100644
--- a/misc-utils/cal.c
+++ b/misc-utils/cal.c
@@ -907,11 +907,10 @@ static void monthly(const struct cal_control *ctl)
static void yearly(const struct cal_control *ctl)
{
char out[FMT_ST_CHARS];
- int year_width = 0;
+ int year_width;
- year_width += (ctl->week_width + 1) * (ctl->julian ? 2 : 3);
- if (ctl->julian)
- year_width--;
+ year_width = ctl->months_in_row * (ctl->week_width - 1) +
+ (ctl->months_in_row - 1) * ctl->gutter_width;
if (ctl->header_year) {
snprintf(out, sizeof(out), "%04d", ctl->req.year);
diff --git a/tests/expected/cal/weeknum-ymjw b/tests/expected/cal/weeknum-ymjw
index d4a1072..bcf9a1e 100644
--- a/tests/expected/cal/weeknum-ymjw
+++ b/tests/expected/cal/weeknum-ymjw
@@ -1,5 +1,5 @@
Julian - Monday-based week with week numbers
- 2001
+ 2001
January February March
Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
@@ -33,7 +33,7 @@ Julian - Monday-based week with week numbers
43 295 296 297 298 299 300 301 47 323 324 325 326 327 328 329 51 351 352 353 354 355 356 357
44 302 303 304 48 330 331 332 333 334 52 358 359 360 361 362 363 364
1 365
- 2002
+ 2002
January February March
Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
@@ -67,7 +67,7 @@ Julian - Monday-based week with week numbers
43 294 295 296 297 298 299 300 47 322 323 324 325 326 327 328 51 350 351 352 353 354 355 356
44 301 302 303 304 48 329 330 331 332 333 334 52 357 358 359 360 361 362 363
1 364 365
- 2003
+ 2003
January February March
Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
@@ -101,7 +101,7 @@ Julian - Monday-based week with week numbers
43 293 294 295 296 297 298 299 47 321 322 323 324 325 326 327 52 356 357 358 359 360 361 362
44 300 301 302 303 304 48 328 329 330 331 332 333 334 1 363 364 365
- 2009
+ 2009
January February March
Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
@@ -135,7 +135,7 @@ Julian - Monday-based week with week numbers
43 292 293 294 295 296 297 298 47 320 321 322 323 324 325 326 52 355 356 357 358 359 360 361
44 299 300 301 302 303 304 48 327 328 329 330 331 332 333 53 362 363 364 365
49 334
- 2010
+ 2010
January February March
Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
@@ -169,7 +169,7 @@ Julian - Monday-based week with week numbers
42 291 292 293 294 295 296 297 47 326 327 328 329 330 331 332 51 354 355 356 357 358 359 360
43 298 299 300 301 302 303 304 48 333 334 52 361 362 363 364 365
- 2011
+ 2011
January February March
Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
@@ -203,7 +203,7 @@ Julian - Monday-based week with week numbers
42 290 291 292 293 294 295 296 47 325 326 327 328 329 330 331 51 353 354 355 356 357 358 359
43 297 298 299 300 301 302 303 48 332 333 334 52 360 361 362 363 364 365
44 304
- 2012
+ 2012
January February March
Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
diff --git a/tests/expected/cal/weeknum-ysjw b/tests/expected/cal/weeknum-ysjw
index 16b91ad..b5a8527 100644
--- a/tests/expected/cal/weeknum-ysjw
+++ b/tests/expected/cal/weeknum-ysjw
@@ -1,5 +1,5 @@
Julian - Sunday-based week with week numbers
- 2001
+ 2001
January February March
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
@@ -33,7 +33,7 @@ Julian - Sunday-based week with week numbers
43 294 295 296 297 298 299 300 47 322 323 324 325 326 327 328 51 350 351 352 353 354 355 356
44 301 302 303 304 48 329 330 331 332 333 334 52 357 358 359 360 361 362 363
53 364 365
- 2002
+ 2002
January February March
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
@@ -67,7 +67,7 @@ Julian - Sunday-based week with week numbers
43 293 294 295 296 297 298 299 47 321 322 323 324 325 326 327 52 356 357 358 359 360 361 362
44 300 301 302 303 304 48 328 329 330 331 332 333 334 53 363 364 365
- 2003
+ 2003
January February March
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
@@ -101,7 +101,7 @@ Julian - Sunday-based week with week numbers
43 292 293 294 295 296 297 298 47 320 321 322 323 324 325 326 52 355 356 357 358 359 360 361
44 299 300 301 302 303 304 48 327 328 329 330 331 332 333 53 362 363 364 365
49 334
- 2009
+ 2009
January February March
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
@@ -135,7 +135,7 @@ Julian - Sunday-based week with week numbers
43 291 292 293 294 295 296 297 48 326 327 328 329 330 331 332 52 354 355 356 357 358 359 360
44 298 299 300 301 302 303 304 49 333 334 53 361 362 363 364 365
- 2010
+ 2010
January February March
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
@@ -169,7 +169,7 @@ Julian - Sunday-based week with week numbers
43 290 291 292 293 294 295 296 48 325 326 327 328 329 330 331 52 353 354 355 356 357 358 359
44 297 298 299 300 301 302 303 49 332 333 334 53 360 361 362 363 364 365
45 304
- 2011
+ 2011
January February March
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
@@ -203,7 +203,7 @@ Julian - Sunday-based week with week numbers
43 289 290 291 292 293 294 295 48 324 325 326 327 328 329 330 52 352 353 354 355 356 357 358
44 296 297 298 299 300 301 302 49 331 332 333 334 53 359 360 361 362 363 364 365
45 303 304
- 2012
+ 2012
January February March
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
diff --git a/tests/expected/cal/year-ymj b/tests/expected/cal/year-ymj
index caa3db0..f3b7143 100644
--- a/tests/expected/cal/year-ymj
+++ b/tests/expected/cal/year-ymj
@@ -1,5 +1,5 @@
Julian - Monday-based week
- 2006
+ 2006
January February March
Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
diff --git a/tests/expected/cal/year-ymjw b/tests/expected/cal/year-ymjw
index b62e167..e6a569e 100644
--- a/tests/expected/cal/year-ymjw
+++ b/tests/expected/cal/year-ymjw
@@ -1,5 +1,5 @@
Julian - Monday-based week with week numbers
- 2006
+ 2006
January February March
Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun
diff --git a/tests/expected/cal/year-ysj b/tests/expected/cal/year-ysj
index 080e257..2b40099 100644
--- a/tests/expected/cal/year-ysj
+++ b/tests/expected/cal/year-ysj
@@ -1,5 +1,5 @@
Julian - Sunday-based week
- 2006
+ 2006
January February March
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
diff --git a/tests/expected/cal/year-ysjw b/tests/expected/cal/year-ysjw
index 69dbae3..800ec0c 100644
--- a/tests/expected/cal/year-ysjw
+++ b/tests/expected/cal/year-ysjw
@@ -1,5 +1,5 @@
Julian - Sunday-based week with week numbers
- 2006
+ 2006
January February March
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue Wed Thu Fri Sat
--
1.8.3.1