Codebase list libhdate / 021b8b3
New upstream release: 1.6.02 - manpage.patch dropped (merged upstream) - patch fix_3 dropped (merged upstream) - nested_extern.patch dropped (merged upstream) - missing_format.patch dropped (merged upstream)' Tzafrir Cohen 7 years ago
10 changed file(s) with 445 addition(s) and 523 deletion(s). Raw diff Collapse all Expand all
0 libhdate (1.6-4) UNRELEASED; urgency=medium
1
0 libhdate (1.6.02-1) UNRELEASED; urgency=medium
1
2 * New upstream release:
3 - manpage.patch dropped (merged upstream)
4 - patch fix_3 dropped (merged upstream)
5 - nested_extern.patch dropped (merged upstream)
6 - missing_format.patch dropped (merged upstream)
27 * Remove some Multiarch settings. A temporary workaround for now.
38 (Closes: #807516, #818539)
49 * misc:Pre-Depends' instead of multiarch-support
77 * The perl and python bindings were not using the values of those
88 variables.
99
10 --- a/configure.in
11 +++ b/configure.in
12 @@ -33,7 +33,6 @@ AC_C_CONST
13 AC_CONFIG_MACRO_DIR([m4])
14 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
15
16 -CFLAGS=
17 LIBS=-lm
18
19 dnl =======================================================================================
20 --- a/configure
21 +++ b/configure
22 @@ -12466,7 +12466,6 @@ fi
23
24
25
26 -CFLAGS=
27 LIBS=-lm
28
29
3010 --- a/bindings/perl/Makefile.am
3111 +++ b/bindings/perl/Makefile.am
3212 @@ -11,8 +11,8 @@ all-am: hdate.so
4222 swig -perl -c++ hdate.i
4323 --- a/bindings/perl/Makefile.in
4424 +++ b/bindings/perl/Makefile.in
45 @@ -402,8 +402,8 @@ uninstall-am:
25 @@ -1,9 +1,8 @@
26 -# Makefile.in generated by automake 1.11.6 from Makefile.am.
27 +# Makefile.in generated by automake 1.15 from Makefile.am.
28 # @configure_input@
29
30 -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
31 -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
32 -# Foundation, Inc.
33 +# Copyright (C) 1994-2014 Free Software Foundation, Inc.
34 +
35 # This Makefile.in is free software; the Free Software Foundation
36 # gives unlimited permission to copy and/or distribute it,
37 # with or without modifications, as long as this notice is preserved.
38 @@ -15,23 +14,61 @@
39
40 @SET_MAKE@
41 VPATH = @srcdir@
42 -am__make_dryrun = \
43 - { \
44 - am__dry=no; \
45 +am__is_gnu_make = { \
46 + if test -z '$(MAKELEVEL)'; then \
47 + false; \
48 + elif test -n '$(MAKE_HOST)'; then \
49 + true; \
50 + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
51 + true; \
52 + else \
53 + false; \
54 + fi; \
55 +}
56 +am__make_running_with_option = \
57 + case $${target_option-} in \
58 + ?) ;; \
59 + *) echo "am__make_running_with_option: internal error: invalid" \
60 + "target option '$${target_option-}' specified" >&2; \
61 + exit 1;; \
62 + esac; \
63 + has_opt=no; \
64 + sane_makeflags=$$MAKEFLAGS; \
65 + if $(am__is_gnu_make); then \
66 + sane_makeflags=$$MFLAGS; \
67 + else \
68 case $$MAKEFLAGS in \
69 *\\[\ \ ]*) \
70 - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
71 - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
72 - *) \
73 - for am__flg in $$MAKEFLAGS; do \
74 - case $$am__flg in \
75 - *=*|--*) ;; \
76 - *n*) am__dry=yes; break;; \
77 - esac; \
78 - done;; \
79 + bs=\\; \
80 + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
81 + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
82 + esac; \
83 + fi; \
84 + skip_next=no; \
85 + strip_trailopt () \
86 + { \
87 + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
88 + }; \
89 + for flg in $$sane_makeflags; do \
90 + test $$skip_next = yes && { skip_next=no; continue; }; \
91 + case $$flg in \
92 + *=*|--*) continue;; \
93 + -*I) strip_trailopt 'I'; skip_next=yes;; \
94 + -*I?*) strip_trailopt 'I';; \
95 + -*O) strip_trailopt 'O'; skip_next=yes;; \
96 + -*O?*) strip_trailopt 'O';; \
97 + -*l) strip_trailopt 'l'; skip_next=yes;; \
98 + -*l?*) strip_trailopt 'l';; \
99 + -[dEDm]) skip_next=yes;; \
100 + -[JT]) skip_next=yes;; \
101 + esac; \
102 + case $$flg in \
103 + *$$target_option*) has_opt=yes; break;; \
104 esac; \
105 - test $$am__dry = yes; \
106 - }
107 + done; \
108 + test $$has_opt = yes
109 +am__make_dryrun = (target_option=n; $(am__make_running_with_option))
110 +am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
111 pkgdatadir = $(datadir)/@PACKAGE@
112 pkgincludedir = $(includedir)/@PACKAGE@
113 pkglibdir = $(libdir)/@PACKAGE@
114 @@ -51,7 +88,6 @@ POST_UNINSTALL = :
115 build_triplet = @build@
116 host_triplet = @host@
117 subdir = bindings/perl
118 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
119 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
120 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
121 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
122 @@ -63,9 +99,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/g
123 $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
124 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
125 $(ACLOCAL_M4)
126 +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
127 mkinstalldirs = $(install_sh) -d
128 CONFIG_CLEAN_FILES =
129 CONFIG_CLEAN_VPATH_FILES =
130 +AM_V_P = $(am__v_P_@AM_V@)
131 +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
132 +am__v_P_0 = false
133 +am__v_P_1 = :
134 +AM_V_GEN = $(am__v_GEN_@AM_V@)
135 +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
136 +am__v_GEN_0 = @echo " GEN " $@;
137 +am__v_GEN_1 =
138 +AM_V_at = $(am__v_at_@AM_V@)
139 +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
140 +am__v_at_0 = @
141 +am__v_at_1 =
142 SOURCES =
143 DIST_SOURCES =
144 am__can_run_installinfo = \
145 @@ -73,9 +122,12 @@ am__can_run_installinfo = \
146 n|no|NO) false;; \
147 *) (install-info --version) >/dev/null 2>&1;; \
148 esac
149 +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
150 +am__DIST_COMMON = $(srcdir)/Makefile.in
151 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
152 ACLOCAL = @ACLOCAL@
153 AMTAR = @AMTAR@
154 +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
155 AR = @AR@
156 AUTOCONF = @AUTOCONF@
157 AUTOHEADER = @AUTOHEADER@
158 @@ -123,6 +175,7 @@ LN_S = @LN_S@
159 LTLIBICONV = @LTLIBICONV@
160 LTLIBINTL = @LTLIBINTL@
161 LTLIBOBJS = @LTLIBOBJS@
162 +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
163 MAINT = @MAINT@
164 MAKEINFO = @MAKEINFO@
165 MANIFEST_TOOL = @MANIFEST_TOOL@
166 @@ -222,6 +275,7 @@ pdfdir = @pdfdir@
167 prefix = @prefix@
168 program_transform_name = @program_transform_name@
169 psdir = @psdir@
170 +runstatedir = @runstatedir@
171 sbindir = @sbindir@
172 sharedstatedir = @sharedstatedir@
173 srcdir = @srcdir@
174 @@ -248,7 +302,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_
175 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bindings/perl/Makefile'; \
176 $(am__cd) $(top_srcdir) && \
177 $(AUTOMAKE) --gnu bindings/perl/Makefile
178 -.PRECIOUS: Makefile
179 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
180 @case '$?' in \
181 *config.status*) \
182 @@ -272,11 +325,11 @@ mostlyclean-libtool:
183
184 clean-libtool:
185 -rm -rf .libs _libs
186 -tags: TAGS
187 -TAGS:
188 +tags TAGS:
189 +
190 +ctags CTAGS:
191
192 -ctags: CTAGS
193 -CTAGS:
194 +cscope cscopelist:
195
196
197 distdir: $(DISTFILES)
198 @@ -414,23 +467,26 @@ uninstall-am:
199 .MAKE: install-am install-strip
200
201 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
202 - distclean distclean-generic distclean-libtool distdir dvi \
203 - dvi-am html html-am info info-am install install-am \
204 - install-data install-data-am install-data-local install-dvi \
205 - install-dvi-am install-exec install-exec-am install-html \
206 - install-html-am install-info install-info-am install-man \
207 - install-pdf install-pdf-am install-ps install-ps-am \
208 - install-strip installcheck installcheck-am installdirs \
209 - maintainer-clean maintainer-clean-generic mostlyclean \
210 - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
211 - uninstall uninstall-am
212 + cscopelist-am ctags-am distclean distclean-generic \
213 + distclean-libtool distdir dvi dvi-am html html-am info info-am \
214 + install install-am install-data install-data-am \
215 + install-data-local install-dvi install-dvi-am install-exec \
216 + install-exec-am install-html install-html-am install-info \
217 + install-info-am install-man install-pdf install-pdf-am \
218 + install-ps install-ps-am install-strip installcheck \
219 + installcheck-am installdirs maintainer-clean \
220 + maintainer-clean-generic mostlyclean mostlyclean-generic \
221 + mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
222 + uninstall-am
223 +
224 +.PRECIOUS: Makefile
225
226
46227 @WITH_PERL_TRUE@all-am: hdate.so
47228
48229 @WITH_PERL_TRUE@hdate.so: hdate_wrap.cxx
68249 swig -python -c++ hdate.i
69250 --- a/bindings/python/Makefile.in
70251 +++ b/bindings/python/Makefile.in
71 @@ -402,8 +402,8 @@ uninstall-am:
252 @@ -1,9 +1,8 @@
253 -# Makefile.in generated by automake 1.11.6 from Makefile.am.
254 +# Makefile.in generated by automake 1.15 from Makefile.am.
255 # @configure_input@
256
257 -# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
258 -# 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software
259 -# Foundation, Inc.
260 +# Copyright (C) 1994-2014 Free Software Foundation, Inc.
261 +
262 # This Makefile.in is free software; the Free Software Foundation
263 # gives unlimited permission to copy and/or distribute it,
264 # with or without modifications, as long as this notice is preserved.
265 @@ -15,23 +14,61 @@
266
267 @SET_MAKE@
268 VPATH = @srcdir@
269 -am__make_dryrun = \
270 - { \
271 - am__dry=no; \
272 +am__is_gnu_make = { \
273 + if test -z '$(MAKELEVEL)'; then \
274 + false; \
275 + elif test -n '$(MAKE_HOST)'; then \
276 + true; \
277 + elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
278 + true; \
279 + else \
280 + false; \
281 + fi; \
282 +}
283 +am__make_running_with_option = \
284 + case $${target_option-} in \
285 + ?) ;; \
286 + *) echo "am__make_running_with_option: internal error: invalid" \
287 + "target option '$${target_option-}' specified" >&2; \
288 + exit 1;; \
289 + esac; \
290 + has_opt=no; \
291 + sane_makeflags=$$MAKEFLAGS; \
292 + if $(am__is_gnu_make); then \
293 + sane_makeflags=$$MFLAGS; \
294 + else \
295 case $$MAKEFLAGS in \
296 *\\[\ \ ]*) \
297 - echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
298 - | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
299 - *) \
300 - for am__flg in $$MAKEFLAGS; do \
301 - case $$am__flg in \
302 - *=*|--*) ;; \
303 - *n*) am__dry=yes; break;; \
304 - esac; \
305 - done;; \
306 + bs=\\; \
307 + sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
308 + | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
309 + esac; \
310 + fi; \
311 + skip_next=no; \
312 + strip_trailopt () \
313 + { \
314 + flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
315 + }; \
316 + for flg in $$sane_makeflags; do \
317 + test $$skip_next = yes && { skip_next=no; continue; }; \
318 + case $$flg in \
319 + *=*|--*) continue;; \
320 + -*I) strip_trailopt 'I'; skip_next=yes;; \
321 + -*I?*) strip_trailopt 'I';; \
322 + -*O) strip_trailopt 'O'; skip_next=yes;; \
323 + -*O?*) strip_trailopt 'O';; \
324 + -*l) strip_trailopt 'l'; skip_next=yes;; \
325 + -*l?*) strip_trailopt 'l';; \
326 + -[dEDm]) skip_next=yes;; \
327 + -[JT]) skip_next=yes;; \
328 + esac; \
329 + case $$flg in \
330 + *$$target_option*) has_opt=yes; break;; \
331 esac; \
332 - test $$am__dry = yes; \
333 - }
334 + done; \
335 + test $$has_opt = yes
336 +am__make_dryrun = (target_option=n; $(am__make_running_with_option))
337 +am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
338 pkgdatadir = $(datadir)/@PACKAGE@
339 pkgincludedir = $(includedir)/@PACKAGE@
340 pkglibdir = $(libdir)/@PACKAGE@
341 @@ -51,7 +88,6 @@ POST_UNINSTALL = :
342 build_triplet = @build@
343 host_triplet = @host@
344 subdir = bindings/python
345 -DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
346 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
347 am__aclocal_m4_deps = $(top_srcdir)/m4/gettext.m4 \
348 $(top_srcdir)/m4/iconv.m4 $(top_srcdir)/m4/intlmacosx.m4 \
349 @@ -63,9 +99,22 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/g
350 $(top_srcdir)/m4/progtest.m4 $(top_srcdir)/configure.in
351 am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
352 $(ACLOCAL_M4)
353 +DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
354 mkinstalldirs = $(install_sh) -d
355 CONFIG_CLEAN_FILES =
356 CONFIG_CLEAN_VPATH_FILES =
357 +AM_V_P = $(am__v_P_@AM_V@)
358 +am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
359 +am__v_P_0 = false
360 +am__v_P_1 = :
361 +AM_V_GEN = $(am__v_GEN_@AM_V@)
362 +am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
363 +am__v_GEN_0 = @echo " GEN " $@;
364 +am__v_GEN_1 =
365 +AM_V_at = $(am__v_at_@AM_V@)
366 +am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
367 +am__v_at_0 = @
368 +am__v_at_1 =
369 SOURCES =
370 DIST_SOURCES =
371 am__can_run_installinfo = \
372 @@ -73,9 +122,12 @@ am__can_run_installinfo = \
373 n|no|NO) false;; \
374 *) (install-info --version) >/dev/null 2>&1;; \
375 esac
376 +am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
377 +am__DIST_COMMON = $(srcdir)/Makefile.in
378 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
379 ACLOCAL = @ACLOCAL@
380 AMTAR = @AMTAR@
381 +AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
382 AR = @AR@
383 AUTOCONF = @AUTOCONF@
384 AUTOHEADER = @AUTOHEADER@
385 @@ -123,6 +175,7 @@ LN_S = @LN_S@
386 LTLIBICONV = @LTLIBICONV@
387 LTLIBINTL = @LTLIBINTL@
388 LTLIBOBJS = @LTLIBOBJS@
389 +LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@
390 MAINT = @MAINT@
391 MAKEINFO = @MAKEINFO@
392 MANIFEST_TOOL = @MANIFEST_TOOL@
393 @@ -222,6 +275,7 @@ pdfdir = @pdfdir@
394 prefix = @prefix@
395 program_transform_name = @program_transform_name@
396 psdir = @psdir@
397 +runstatedir = @runstatedir@
398 sbindir = @sbindir@
399 sharedstatedir = @sharedstatedir@
400 srcdir = @srcdir@
401 @@ -248,7 +302,6 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_
402 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu bindings/python/Makefile'; \
403 $(am__cd) $(top_srcdir) && \
404 $(AUTOMAKE) --gnu bindings/python/Makefile
405 -.PRECIOUS: Makefile
406 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
407 @case '$?' in \
408 *config.status*) \
409 @@ -272,11 +325,11 @@ mostlyclean-libtool:
410
411 clean-libtool:
412 -rm -rf .libs _libs
413 -tags: TAGS
414 -TAGS:
415 +tags TAGS:
416 +
417 +ctags CTAGS:
418
419 -ctags: CTAGS
420 -CTAGS:
421 +cscope cscopelist:
422
423
424 distdir: $(DISTFILES)
425 @@ -414,23 +467,26 @@ uninstall-am:
426 .MAKE: install-am install-strip
427
428 .PHONY: all all-am check check-am clean clean-generic clean-libtool \
429 - distclean distclean-generic distclean-libtool distdir dvi \
430 - dvi-am html html-am info info-am install install-am \
431 - install-data install-data-am install-data-local install-dvi \
432 - install-dvi-am install-exec install-exec-am install-html \
433 - install-html-am install-info install-info-am install-man \
434 - install-pdf install-pdf-am install-ps install-ps-am \
435 - install-strip installcheck installcheck-am installdirs \
436 - maintainer-clean maintainer-clean-generic mostlyclean \
437 - mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
438 - uninstall uninstall-am
439 + cscopelist-am ctags-am distclean distclean-generic \
440 + distclean-libtool distdir dvi dvi-am html html-am info info-am \
441 + install install-am install-data install-data-am \
442 + install-data-local install-dvi install-dvi-am install-exec \
443 + install-exec-am install-html install-html-am install-info \
444 + install-info-am install-man install-pdf install-pdf-am \
445 + install-ps install-ps-am install-strip installcheck \
446 + installcheck-am installdirs maintainer-clean \
447 + maintainer-clean-generic mostlyclean mostlyclean-generic \
448 + mostlyclean-libtool pdf pdf-am ps ps-am tags-am uninstall \
449 + uninstall-am
450 +
451 +.PRECIOUS: Makefile
452
453
72454 @WITH_PYTHON_TRUE@all-am: _hdate.so
73455
74456 @WITH_PYTHON_TRUE@_hdate.so: hdate_wrap.cxx
79461
80462 @WITH_PYTHON_TRUE@hdate_wrap.cxx: hdate.i
81463 @WITH_PYTHON_TRUE@ swig -python -c++ hdate.i
464 --- a/configure.in
465 +++ b/configure.in
466 @@ -33,7 +33,6 @@ AC_C_CONST
467 AC_CONFIG_MACRO_DIR([m4])
468 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
469
470 -CFLAGS=" -Wall -g -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -O1 -fstack-protector --param ssp-buffer-size=4 -fPIE -pie"
471 LIBS=-lm
472
473 dnl =======================================================================================
3131 if (colorize) colorize_element(ELEMENT_WEEKDAY_NAMES);
3232 for (column = 1; column < 7; column++) print_dow_column(column);
3333 if (colorize) colorize_element(ELEMENT_SHABBAT_NAME);
34 @@ -1149,27 +1149,15 @@ void print_week( int jd, const int month
34 @@ -1149,31 +1149,15 @@ void print_week( int jd, const int month
3535
3636
3737
4343 - hdate_struct h;
4444 - int calendar_line;
4545 - int max_calendar_lines = 4;
46 - int previous_month, next_month;
46 - /// the initializations on next line aren't truly necessary, but they do
47 - /// suppress warning "may be used uninitialized in this function [-Wmaybe-uninitialized]"
48 - int previous_month = 1, next_month = 1;
4749 - int previous_year, next_year;
48 - int jd_current_month, jd_previous_month, jd_next_month;
50 - /// the initializations on next line aren't truly necessary, but they do
51 - /// suppress warning "may be used uninitialized in this function [-Wmaybe-uninitialized]"
52 - int jd_current_month, jd_previous_month = 1, jd_next_month = 1;
4953 -
5054 - void how_many_calendar_lines( int month, int start_dow )
5155 +void how_many_calendar_lines( int month, int start_dow, int *max_calendar_lines )
6266 break;
6367 case 1:
6468 case 3:
65 @@ -1177,12 +1165,24 @@ int print_calendar ( const int current_m
69 @@ -1177,14 +1165,30 @@ int print_calendar ( const int current_m
6670 case 7:
6771 case 8:
6872 case 10:
7175 + case 12: if (start_dow > 5) *max_calendar_lines = 6;
7276 + else if (*max_calendar_lines == 4) *max_calendar_lines = 5;
7377 break;
78 - case 2: if (start_dow > 1 && max_calendar_lines == 4) max_calendar_lines = 5;
79 + case 2: if (start_dow > 1 && *max_calendar_lines == 4) *max_calendar_lines = 5;
80 break;
7481 }
7582 }
7683
8289 + hdate_struct h;
8390 + int calendar_line;
8491 + int max_calendar_lines = 4;
85 + int previous_month, next_month;
92 + /// the initializations on next line aren't truly necessary, but they do
93 + /// suppress warning "may be used uninitialized in this function [-Wmaybe-uninitialized]"
94 + int previous_month = 1, next_month = 1;
8695 + int previous_year, next_year;
87 + int jd_current_month, jd_previous_month, jd_next_month;
96 + /// the initializations on next line aren't truly necessary, but they do
97 + /// suppress warning "may be used uninitialized in this function [-Wmaybe-uninitialized]"
98 + int jd_current_month, jd_previous_month = 1, jd_next_month = 1;
8899 +
89100 /*********************************************************
90101 * Preliminaries:
119130 --- a/examples/hcal/local_functions.c
120131 +++ b/examples/hcal/local_functions.c
121132 @@ -646,62 +646,50 @@ file. Attempting to create a config file
122 #include <sys/stat.h>
123 #include <sys/types.h> // for mkdir,
133 }
134
124135
125136 -/************************************************************
126137 -* Open config file, or create one
33 --- a/Makefile.am
44 +++ b/Makefile.am
55 @@ -12,7 +12,7 @@ SUBDIRS = po docs src examples bindings
6 pkgconfigdir = $(libdir)/pkgconfig
7 pkgconfig_DATA = libhdate.pc
6 libhdate_LDFLAGS = -z relro -z now
7
88
99 -libhdatedocdir = ${prefix}/share/doc/libhdate
1010 +libhdatedocdir = ${prefix}/share/doc/libhdate1
+0
-15
debian/patches/fix_3 less more
0 Description: Fixes an endless with hcal -3
1 Author: Tzafrir Cohen <tzafrir@debian.org>
2
3 On hcal -3 we get padding < 0, and hence an endless loop as it is unsigned.
4 --- a/examples/hcal/hcal.c
5 +++ b/examples/hcal/hcal.c
6 @@ -656,7 +656,7 @@ void print_header_month_line_stdout( con
7 /**************************************************
8 * print padding
9 *************************************************/
10 - for (j = 1; j < padding; j++) printf(" ");
11 + for (j = 1; j < (int)padding; j++) printf(" ");
12
13
14 /**************************************************
+0
-399
debian/patches/manpage.patch less more
0 Description: Fix a hyphen used as minus sign (thanks lintian)
1 Author: Lior Kaplan <kaplan@debian.org>
2
3 --- a/docs/man/man1/hcal.1
4 +++ b/docs/man/man1/hcal.1
5 @@ -7,13 +7,13 @@ hcal \- displays a Hebrew / Gregorian ca
6 .B hcal
7 [options] [coordinates [timezone]] [[mm] yyyy]
8 .TP
9 -coordinates: -l [NS]yy[.yyy] -L [EW]xx[.xxx]
10 +coordinates: \-l [NS]yy[.yyy] \-L [EW]xx[.xxx]
11 .RE
12 .RS 7
13 - -l [NS]yy[:mm[:ss]] -L [EW]xx[:mm[:ss]]
14 + \-l [NS]yy[:mm[:ss]] \-L [EW]xx[:mm[:ss]]
15 .RE
16 .RS 7
17 -timezone: -z nn[( .nn | :mm )]
18 +timezone: \-z nn[( .nn | :mm )]
19 .PP
20 .SH "DESCRIPTION"
21 .B hcal
22 @@ -34,78 +34,78 @@ will interpret the given date as a Hebre
23 .PP
24 .SH "OPTIONS"
25 .TP 18
26 -.B \-1 --one-month
27 -over-ride config file setting if you had set option --three-month as a default there
28 +.B \-1 \-\-one\-month
29 +over-ride config file setting if you had set option \-\-three\-month as a default there
30 .TP
31 -.B \-3 --three-month
32 +.B \-3 \-\-three\-month
33 output previous/next months, side by side. requires 127 columns
34 .TP
35 -.B \-b --bidi
36 +.B \-b \-\-bidi
37 output Hebrew information in Hebrew , in reverse
38 .RE
39 .RS 7
40 -.B \ \ \ --visual
41 +.B \ \ \ \-\-visual
42 \ sequence
43 .P
44 .RE
45 .RS 7
46 -.B \ \ \ --no-bidi
47 +.B \ \ \ \-\-no\-bidi
48 \ over-ride config file setting if you had set
49 .RE
50 .RS 7
51 -.B \ \ \ --no-visual
52 -\ option -bidi as a default there
53 +.B \ \ \ \-\-no\-visual
54 +\ option \-\-bidi as a default there
55 .TP 18
56 -.B \-c --colorize
57 +.B \-c \-\-colorize
58 output in calming, muted tones
59 .RE
60 .RS 7
61 -.B \ \ \ --no-color
62 +.B \ \ \ \-\-no\-color
63 \ over-ride config file setting
64 .TP 18
65 -.B \-d --diaspora
66 +.B \-d \-\-diaspora
67 use diaspora reading and holidays. Only relevant if hcal is using location information indicating an Israeli timezone
68 .TP
69 -.B \-f --footnote
70 +.B \-f \-\-footnote
71 output descriptive notes of holidays
72 .RE
73 .RS 7
74 -.B \ \ \ --no-footnote
75 +.B \ \ \ \-\-no\-footnote
76 \ over-ride config file setting
77 .TP 18
78 -.B \-h --html
79 +.B \-h \-\-html
80 output in html format to stdout
81 .RE
82 .RS 7
83 -.B \ \ \ --no-html
84 +.B \ \ \ \-\-no\-html
85 \ over-ride config file setting
86 .TP 18
87 -.B \-H --hebrew
88 -output Hebrew information in Hebrew, in 'logical' sequence. If this displays in reverse for you, use option -b
89 +.B \-H \-\-hebrew
90 +output Hebrew information in Hebrew, in 'logical' sequence. If this displays in reverse for you, use option \-b
91 .TP
92 -.B \-I --israel
93 +.B \-I \-\-israel
94 override a diaspora default. Only relevant if hcal is using location information indicating other than an Israeli timezone
95 .TP
96 .B \-i
97 use external css file "./hcal.css" for html output
98 .TP
99 -.B \ \ \ \--no-reverse
100 +.B \ \ \ \-\-no\-reverse
101 do not highlight today's date
102 .TP
103 -.B \-p --parasha
104 +.B \-p \-\-parasha
105 output week's parasha on each calendar row
106 .TP
107 -.B \-s --shabbat
108 +.B \-s \-\-shabbat
109 output Shabbat times and parshiot
110 .TP
111 -.B \-l --latitude
112 +.B \-l \-\-latitude
113 [NS]yy[.yyy] decimal degrees, or [NS]yy[:mm[:ss]] degrees, minutes, seconds. Negative values are South
114 .TP
115 -.B \-L --longitude
116 +.B \-L \-\-longitude
117 [EW]xx[.xxx] decimal degrees, or [EW]xx[:mm[:ss]] degrees, minutes, seconds. Negative values are West
118 .TP
119 -.B \-z --timezone
120 -\+/-UTC. Notation may be in decimal hours ( hh[.hh] ) or hours, minutes ( hh[:mm] )
121 +.B \-z \-\-timezone
122 +\+/\-UTC. Notation may be in decimal hours ( hh[.hh] ) or hours, minutes ( hh[:mm] )
123 .SH NOTES
124 .SS "HOLIDAYS"
125 .PP
126 @@ -153,7 +153,7 @@ Gregorian and Hebrew dates, as follows:
127 \ Other Israeli National days
128 .RE
129 .P
130 -Use the -f (--footnote) option to have hcal describe what any particular day is marking.
131 +Use the \-f (\-\-footnote) option to have hcal describe what any particular day is marking.
132 .SS LOCATIONS
133 If you want
134 .B hcal
135 @@ -164,9 +164,9 @@ requires location and time zone informat
136 uses your computer's local time zone information as an indicator, and either picks a city in that time zone, or defaults to the equator at the center of that time zone. If
137 .B hcal
138 can't even retrieve time zone information from your computer, it defaults to Tel-Aviv. For other locations, use the
139 -.B -l -L
140 +.B \-l \-L
141 option pair. For other timezones, use the
142 -.B -z
143 +.B \-z
144 option. Co-ordinates and standard time zones for some common locations are listed below.
145 .PP
146 The current defaults include:
147 @@ -174,7 +174,7 @@ The current defaults include:
148 Timezone Default city Lattitude Longitude
149 .RE
150 .RS 12
151 --5 New York City 40 \-74
152 +\-5 New York City 40 \-74
153 .RE
154 .RS 12
155 0 London 51 0
156 @@ -191,19 +191,19 @@ Timezone Default city Lattitude Lo
157 .PP
158 Useful locations and time zones
159 .RS 6
160 -Jerusalem 31, 35, 2 Buenos Aires 34, -58, -3
161 +Jerusalem 31, 35, 2 Buenos Aires 34, \-58, \-3
162 .RE
163 .RS 6
164 Tel Aviv 32, 34, 2 Hong Kong 22, 114, 8
165 .RE
166 .RS 6
167 -Haifa 32, 34, 2 Los Angeles 34, -118, -8
168 +Haifa 32, 34, 2 Los Angeles 34, \-118, \-8
169 .RE
170 .RS 6
171 -Beer Sheva 31, 34, 2 Sao Paolo 23, -46, -3
172 +Beer Sheva 31, 34, 2 Sao Paolo 23, \-46, \-3
173 .RE
174 .RS 6
175 -Ashdod 31, 34, 2 Toronto 43, -79 -5
176 +Ashdod 31, 34, 2 Toronto 43, \-79 \-5
177 .RS 6
178 .RE
179 Tiberias 32, 35, 2
180 @@ -233,18 +233,18 @@ The timezone support is currenlty primit
181 .TP 10
182 .B Historical
183 The software does not yet account for the phenomenon and complications of the "Gregorian transition" from the prior, Julian calendar, which effectively caused an instantaneous 'loss' of two weeks for all gentiles affected. Countries (eg. Poland, Spain and Italy) began adopting the Gregorian calendar on 8 Tishrei 5343 (4 October 1582CE), although many did not transition until the 56th century (1752 CE, eg. UK colonies, Sweden). Russia did not adopt the Gregorian calendar until 5678 (1918 CE) and Turkey did not until 5687 (December, 1926 CE). Many other countries made the transition on other dates. Keep in mind that Russia invaded part of Poland, undoing, for the interim, the Gregorian transition for (only) that part of Poland; Also important to remember in this regard is that Eretz Ysroel was part of the Turkish Ottoman empire until the British mandate (5677 (1917CE)). Until all this is accounted for adequately by this application, refer to '
184 -.B ncal -p
185 +.B ncal \-p
186 \' for a basic table of country transitions. However, keep in mind that European borders underwent many changes during the 426 years in question, so the accuracy of your data will depend on accurate knowledge of whether any particular date at any specific location was Julian or Gregorian.
187 .SH "EXAMPLES"
188 .TP 3
189 1. Display a 2012ce year's calendar, three-months wide, in color.
190 .RS 6
191 -.B hcal -3c 2012
192 +.B hcal \-3c 2012
193 .RE
194 .HP 3
195 2. Display the current month's calendar, with Shabbat times, parshiot, footnoted holiday identification, with Hebrew information in Hebrew, and all in "calming", "muted" color-tones.
196 .RS 6
197 -.B hcal -csfH
198 +.B hcal \-csfH
199 .SH "SEE ALSO"
200 mlterm(1), hdate(1), hebcal(1), date(1), ncal(1), cal(1), remind(1)
201 .SH "AUTHORS"
202 --- a/docs/man/man3/hdate.h.3
203 +++ b/docs/man/man3/hdate.h.3
204 @@ -999,7 +999,7 @@ a static string with name of translator,
205 .PP
206 helper function to find hebrew locale \fBReturns:\fP
207 .RS 4
208 -0 - latin locale, -1 - hebrew locale
209 +0 - latin locale, \-1 - hebrew locale
210 .RE
211 .PP
212
213 --- a/docs/man/man1/hdate.1
214 +++ b/docs/man/man1/hdate.1
215 @@ -9,13 +9,13 @@ hdate \- displays Hebrew date informatio
216 .B hdate
217 [options] [coordinates [timezone]] [ julian_day ]
218 .TP
219 -coordinates: -l [NS]yy[.yyy] -L [EW]xx[.xxx]
220 +coordinates: \-l [NS]yy[.yyy] \-L [EW]xx[.xxx]
221 .RE
222 .RS 7
223 - -l [NS]yy[:mm[:ss]] -L [EW]xx[:mm[:ss]]
224 + \-l [NS]yy[:mm[:ss]] \-L [EW]xx[:mm[:ss]]
225 .RE
226 .RS 7
227 -timezone: -z nn[( .nn | :mm )]
228 +timezone: \-z nn[( .nn | :mm )]
229 .PP
230 .SH "DESCRIPTION"
231 .B hdate
232 @@ -45,79 +45,79 @@ will interpret it as the "Julian day num
233 .PP
234 .SH "OPTIONS"
235 .TP 18
236 -.B \-b --bidi
237 +.B \-b \-\-bidi
238 output Hebrew information in Hebrew, but in reverse
239 .RE
240 .RS 7
241 -.B \ \ \ --visual
242 +.B \ \ \ \-\-visual
243 \ sequence.
244 .TP 18
245 .B \-c
246 print Shabbat start/end times. Shabbat starts 20 min before sunset,
247 and ends when three stars are out.
248 .TP
249 -.B \-d --diaspora
250 +.B \-d \-\-diaspora
251 use diaspora reading and holidays.
252 .TP
253 -.B \-h --holidays
254 +.B \-h \-\-holidays
255 print holidays.
256 .TP
257 .B \-H
258 Print only if it is a holiday.
259 .TP
260 -.B \-i --ical
261 +.B \-i \-\-ical
262 use iCal formatted output.
263 .TP
264 -.B \-j --julian
265 +.B \-j \-\-julian
266 print Julian day number.
267 .TP
268 -.B \-o --omer
269 +.B \-o \-\-omer
270 print Sefirat Ha Omer
271 .TP
272 -.B \-q --quiet-alerts
273 +.B \-q \-\-quiet\-alerts
274 quiet. suppress warning messages
275 .TP
276 -.B \-r --parasha
277 +.B \-r \-\-parasha
278 print weekly reading for Shabbat.
279 .TP
280 .B \-R
281 print only if the weekly reading is read on that Shabbat
282 .TP
283 -.B \-s --sun
284 +.B \-s \-\-sun
285 print sunrise/sunset times.
286 .TP
287 -.B \-S --short-format
288 +.B \-S \-\-short\-format
289 print using short format.
290 .TP
291 .B \-t
292 print day times: first light, talit, sunrise, mid day, sunset, first stars, three stars
293 .TP
294 -.B \-T --table
295 +.B \-T \-\-table
296 print tabular output. All data for each requested day will be output on a single comma-delimited line.
297 Most suitable for piping, or export to spreadsheets\n\n\
298 .TP
299 -.B \-l --latitude
300 +.B \-l \-\-latitude
301 [NS]yy[.yyy] decimal degrees, or [NS]yy[:mm[:ss]] degrees, minutes, seconds. Negative values are South
302 .TP
303 -.B \-L --longitude
304 +.B \-L \-\-longitude
305 [EW]xx[.xxx] decimal degrees, or [EW]xx[:mm[:ss]] degrees, minutes, seconds. Negative values are West
306 .TP
307 -.B \-z --timezone
308 -\+/-UTC. Notation may be in decimal hours ( hh[.hh] ) or hours, minutes ( hh[:mm] )
309 +.B \-z \-\-timezone
310 +\+/\-UTC. Notation may be in decimal hours ( hh[.hh] ) or hours, minutes ( hh[:mm] )
311 .TP
312 -.B \ \ --hebrew
313 +.B \ \ \-\-hebrew
314 forces Hebrew to print in Hebrew characters
315 .TP
316 -.B \ \ --yom
317 +.B \ \ \-\-yom
318 force Hebrew prefix to Hebrew day of week
319 .TP
320 -.B \ \ --leshabbat
321 +.B \ \ \-\-leshabbat
322 insert parasha between day of week and day
323 .TP
324 -.B \ \ --leseder
325 +.B \ \ \-\-leseder
326 insert parasha between day of week and day
327 .TP
328 -.B \ \ --not-sunset-aware
329 +.B \ \ \-\-not\-sunset\-aware
330 don't display next day if after sunset
331 .SH NOTES
332 .SS LOCATIONS
333 @@ -130,9 +130,9 @@ requires location and time zone informat
334 uses your computer's local time zone information as an indicator, and either picks a city in that time zone, or defaults to the equator at the center of that time zone. If
335 .B hdate
336 can't even retrieve time zone information from your computer, it defaults to Tel-Aviv. For other locations, use the
337 -.B -l -L
338 +.B \-l \-L
339 option pair. For other timezones, use the
340 -.B -z
341 +.B \-z
342 option. Co-ordinates and standard time zones for some common locations are listed below.
343 .PP
344 The current defaults include:
345 @@ -140,7 +140,7 @@ The current defaults include:
346 Timezone Default city Lattitude Longitude
347 .RE
348 .RS 12
349 --5 New York City 40 \-74
350 +\-5 New York City 40 \-74
351 .RE
352 .RS 12
353 0 London 51 0
354 @@ -157,19 +157,19 @@ Timezone Default city Lattitude Lo
355 .PP
356 Useful locations and time zones
357 .RS 6
358 -Jerusalem 31, 35, 2 Buenos Aires 34, -58, -3
359 +Jerusalem 31, 35, 2 Buenos Aires 34, \-58, \-3
360 .RE
361 .RS 6
362 Tel Aviv 32, 34, 2 Hong Kong 22, 114, 8
363 .RE
364 .RS 6
365 -Haifa 32, 34, 2 Los Angeles 34, -118, -8
366 +Haifa 32, 34, 2 Los Angeles 34, \-118, \-8
367 .RE
368 .RS 6
369 -Beer Sheva 31, 34, 2 Sao Paolo 23, -46, -3
370 +Beer Sheva 31, 34, 2 Sao Paolo 23, \-46, \-3
371 .RE
372 .RS 6
373 -Ashdod 31, 34, 2 Toronto 43, -79 -5
374 +Ashdod 31, 34, 2 Toronto 43, \-79 \-5
375 .RS 6
376 .RE
377 Tiberias 32, 35, 2
378 @@ -199,17 +199,17 @@ The timezone support is currenlty primit
379 .TP 10
380 .B Historical
381 The software does not yet account for the phenomenon and complications of the "Gregorian transition" from the prior, Julian calendar, which effectively caused an instantaneous 'loss' of two weeks for all gentiles affected. Countries (eg. Poland, Spain and Italy) began adopting the Gregorian calendar on 8 Tishrei 5343 (4 October 1582CE), although many did not transition until the 56th century (1752 CE, eg. UK colonies, Sweden). Russia did not adopt the Gregorian calendar until 5678 (1918 CE) and Turkey did not until 5687 (December, 1926 CE). Many other countries made the transition on other dates. Keep in mind that Russia invaded part of Poland, undoing, for the interim, the Gregorian transition for (only) that part of Poland; Also important to remember in this regard is that Eretz Ysroel was part of the Turkish Ottoman empire until the British mandate (5677 (1917CE)). Until all this is accounted for adequately by this application, refer to '
382 -.B ncal -p
383 +.B ncal \-p
384 \' for a basic table of country transitions. However, keep in mind that European borders underwent many changes during the 426 years in question, so the accuracy of your data will depend on accurate knowledge of whether any particular date at any specific location was Julian or Gregorian.
385 .SH "EXAMPLES"
386 1. Create an iCal calendar of the holidays of year 2025.
387 .RS 6
388 -.B hdate -Hi 2025
389 +.B hdate \-Hi 2025
390 .RE
391 .HP 3
392 2. Print out the weekly readings and sunset/sunrise times for Eilat, on April 2031.
393 .RS 6
394 -.B hdate -sR 4 2031 -l29 -L34 -z2
395 +.B hdate \-sR 4 2031 \-l29 \-L34 \-z2
396 .RE
397 .SH "SEE ALSO"
398 mlterm(1), hcal(1), hebcal(1), date(1), ncal(1), cal(1), remind(1)
+0
-17
debian/patches/missing_format.patch less more
0 Description: Use an explicit format string when printing config file
1 Author: Tzafrir Cohen <tzafrir@debian.org>
2
3 The call to print the default configuration text to the configuration file
4 should use an explicit "%s". However the text comes from the code and does
5 not happen to contain any '%' sign, so it is not explitable.
6 --- a/examples/hcal/local_functions.c
7 +++ b/examples/hcal/local_functions.c
8 @@ -676,7 +676,7 @@ FILE* get_config_file( const char* confi
9 error(0, errno, "%s: %s", N_("failure attempting to create config file"), config_file_path);
10 return;
11 }
12 - fprintf(config_file, default_config_file_text);
13 + fprintf(config_file, "%s", default_config_file_text);
14 error(0,0,"%s: %s",N_("config file created"), config_file_path);
15 if (fclose(config_file) != 0) error(0,errno,"%s %s",N_("failure closing"),config_file_name);
16 }
+0
-31
debian/patches/nested_extern.patch less more
0 Description: Do not include headers inside a function.
1 Author: Tzafrir Cohen <tzafrir@debian.org>
2
3 If you #include unistd.h inside a function, the declerations made in it
4 can be considered nested functions.
5 --- a/examples/hcal/local_functions.c
6 +++ b/examples/hcal/local_functions.c
7 @@ -641,6 +641,11 @@ file. Attempting to create a config file
8 }
9
10
11 +#include <pwd.h> // for get pwuid
12 +#include <unistd.h> // for getuid
13 +#include <sys/stat.h>
14 +#include <sys/types.h> // for mkdir,
15 +
16 /************************************************************
17 * Open config file, or create one
18 * - returns filepointer or NULL
19 @@ -650,11 +655,6 @@ FILE* get_config_file( const char* confi
20 const char* config_file_name,
21 const char* default_config_file_text )
22 {
23 -#include <pwd.h> // for get pwuid
24 -#include <unistd.h> // for getuid
25 -#include <sys/stat.h>
26 -#include <sys/types.h> // for mkdir,
27 -
28 size_t path_len;
29
30 char* config_home_path_name = "";
00 docdir.patch
11 ld-as-needed.patch
2 manpage.patch
3 fix_3
42 time_t.patch
53 typos.patch
64 cflags.patch
75 duplicate_gnu_source.patch
86 size_t.patch
9 nested_extern.patch
10 missing_format.patch
117 clang.patch
55
66 #define DEBUG 0
77 #if DEBUG
8 -printf("\nrevstr: entry: sourcelen = %d, source = %s\n",source_len, source);
8 -printf("\nrevstr: entry: sourcelen = %ld, source = %s\n",source_len, source);
99 +printf("\nrevstr: entry: sourcelen = %zd, source = %s\n",source_len, source);
1010 #endif
1111
1212 if (source == NULL) {error(0,0,"revstr: source buffer pointer is NULL"); exit(0);};
13 - if (source_len <= 0) {error(0,0,"revstr: source_len parameter invalid, %d",source_len); exit(0);};
13 - if (source_len <= 0) {error(0,0,"revstr: source_len parameter invalid, %ld",source_len); exit(0);};
1414 + if (source_len <= 0) {error(0,0,"revstr: source_len parameter invalid, %zd",source_len); exit(0);};
1515
1616 size_t i,j;
1919 memcpy(source, temp_buff, source_len);
2020 source[source_len] = '\0';
2121 #if DEBUG
22 -printf("\nrevstr: before free(tempbuff): sourcelen = %d, source = %s\n",source_len, source);
22 -printf("\nrevstr: before free(tempbuff): sourcelen = %ld, source = %s\n",source_len, source);
2323 +printf("\nrevstr: before free(tempbuff): sourcelen = %zd, source = %s\n",source_len, source);
2424 #endif
2525 free(temp_buff);
2626 return;
27 --- a/examples/hcal/hcal.c
28 +++ b/examples/hcal/hcal.c
29 @@ -1135,7 +1135,7 @@ void print_week( int jd, const int month
30 // padding - FIXME - spaces are single-byte, while
31 // the Hebrew characters are two bytes
32 const int margin_max = 15;
33 - printf("%*s%s", (margin_max - shabbat_name_str_len/2)," ", shabbat_name_buffer);
34 + printf("%*s%s", (int) (margin_max - shabbat_name_str_len/2)," ", shabbat_name_buffer);
35
36 free(shabbat_name_buffer);
37 }
38 @@ -1344,7 +1344,7 @@ int print_month ( const int month, const
39 // padding - FIXME - spaces are single-byte, while
40 // the Hebrew characters are two bytes
41 const int margin_max = 16; // 15 fails because of jabotinsky in july
42 - printf("%*s%s\n", (margin_max - holiday_str_len/2)," ", holiday_buffer);
43 + printf("%*s%s\n", (int) (margin_max - holiday_str_len/2)," ", holiday_buffer);
44
45 free(holiday_buffer);
46 }