aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAiden Woodruff <aiden.woodruff@gmail.com>2018-07-28 12:31:25 -0500
committerAiden Woodruff <aiden.woodruff@gmail.com>2018-07-28 12:31:25 -0500
commitdace9aa3265b95725e5541bed89367fdca873b06 (patch)
tree74d2484c10a1790c038340cdeb68ed8f9ac1bc75
parent6e1426c210179228110672dc2fc4d3f23a7788f1 (diff)
downloadlife-dace9aa3265b95725e5541bed89367fdca873b06.tar.gz
life-dace9aa3265b95725e5541bed89367fdca873b06.tar.bz2
life-dace9aa3265b95725e5541bed89367fdca873b06.zip
Moved life.man to life.6life-1.3.3
Updated life.6 version Removed info link in life.6 Tagged and tarballed life-1.3.3.tar.gz Signed-off-by: Aiden Woodruff <aiden.woodruff@gmail.com>
-rw-r--r--Makefile.am2
-rw-r--r--Makefile.in48
-rw-r--r--cmdline-life.c112
-rw-r--r--cmdline-life.h15
-rwxr-xr-xconfigure197
-rw-r--r--configure.ac2
-rw-r--r--life-1.3.2.tar.gz0
-rw-r--r--life-1.3.3.tar.gzbin0 -> 115061 bytes
-rw-r--r--life.6 (renamed from life.man)16
9 files changed, 316 insertions, 76 deletions
diff --git a/Makefile.am b/Makefile.am
index 3eea097..e9bb78a 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,5 +3,5 @@ bin_PROGRAMS = life
3life_SOURCES = life.c cmdline-life.c updatemap.c menus.c 3life_SOURCES = life.c cmdline-life.c updatemap.c menus.c
4life_CFLAGS = -I$(srcdir) 4life_CFLAGS = -I$(srcdir)
5include_HEADERS = life.h updatemap.h menus.h cmdline-life.h 5include_HEADERS = life.h updatemap.h menus.h cmdline-life.h
6man_MANS = life.man 6man_MANS = life.6
7EXTRA_DIST = $(man_MANS) 7EXTRA_DIST = $(man_MANS)
diff --git a/Makefile.in b/Makefile.in
index 324cc3e..20279d8 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -101,7 +101,7 @@ mkinstalldirs = $(install_sh) -d
101CONFIG_HEADER = config.h 101CONFIG_HEADER = config.h
102CONFIG_CLEAN_FILES = 102CONFIG_CLEAN_FILES =
103CONFIG_CLEAN_VPATH_FILES = 103CONFIG_CLEAN_VPATH_FILES =
104am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(manmdir)" \ 104am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man6dir)" \
105 "$(DESTDIR)$(includedir)" 105 "$(DESTDIR)$(includedir)"
106PROGRAMS = $(bin_PROGRAMS) 106PROGRAMS = $(bin_PROGRAMS)
107am_life_OBJECTS = life-life.$(OBJEXT) life-cmdline-life.$(OBJEXT) \ 107am_life_OBJECTS = life-life.$(OBJEXT) life-cmdline-life.$(OBJEXT) \
@@ -176,7 +176,7 @@ am__uninstall_files_from_dir = { \
176 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \ 176 || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
177 $(am__cd) "$$dir" && rm -f $$files; }; \ 177 $(am__cd) "$$dir" && rm -f $$files; }; \
178 } 178 }
179manmdir = $(mandir)/manm 179man6dir = $(mandir)/man6
180NROFF = nroff 180NROFF = nroff
181MANS = $(man_MANS) 181MANS = $(man_MANS)
182HEADERS = $(include_HEADERS) 182HEADERS = $(include_HEADERS)
@@ -204,7 +204,7 @@ CSCOPE = cscope
204AM_RECURSIVE_TARGETS = cscope 204AM_RECURSIVE_TARGETS = cscope
205am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \ 205am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.h.in AUTHORS \
206 COPYING ChangeLog INSTALL NEWS README compile depcomp \ 206 COPYING ChangeLog INSTALL NEWS README compile depcomp \
207 install-sh mdate-sh missing texinfo.tex 207 install-sh missing
208DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) 208DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
209distdir = $(PACKAGE)-$(VERSION) 209distdir = $(PACKAGE)-$(VERSION)
210top_distdir = $(distdir) 210top_distdir = $(distdir)
@@ -314,7 +314,7 @@ AM_OPTIONS = gnu
314life_SOURCES = life.c cmdline-life.c updatemap.c menus.c 314life_SOURCES = life.c cmdline-life.c updatemap.c menus.c
315life_CFLAGS = -I$(srcdir) 315life_CFLAGS = -I$(srcdir)
316include_HEADERS = life.h updatemap.h menus.h cmdline-life.h 316include_HEADERS = life.h updatemap.h menus.h cmdline-life.h
317man_MANS = life.man 317man_MANS = life.6
318EXTRA_DIST = $(man_MANS) 318EXTRA_DIST = $(man_MANS)
319all: config.h 319all: config.h
320 $(MAKE) $(AM_MAKEFLAGS) all-am 320 $(MAKE) $(AM_MAKEFLAGS) all-am
@@ -496,49 +496,49 @@ life-menus.obj: menus.c
496@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='menus.c' object='life-menus.obj' libtool=no @AMDEPBACKSLASH@ 496@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='menus.c' object='life-menus.obj' libtool=no @AMDEPBACKSLASH@
497@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 497@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
498@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(life_CFLAGS) $(CFLAGS) -c -o life-menus.obj `if test -f 'menus.c'; then $(CYGPATH_W) 'menus.c'; else $(CYGPATH_W) '$(srcdir)/menus.c'; fi` 498@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(life_CFLAGS) $(CFLAGS) -c -o life-menus.obj `if test -f 'menus.c'; then $(CYGPATH_W) 'menus.c'; else $(CYGPATH_W) '$(srcdir)/menus.c'; fi`
499install-manm: $(man_MANS) 499install-man6: $(man_MANS)
500 @$(NORMAL_INSTALL) 500 @$(NORMAL_INSTALL)
501 @list1=''; \ 501 @list1=''; \
502 list2='$(man_MANS)'; \ 502 list2='$(man_MANS)'; \
503 test -n "$(manmdir)" \ 503 test -n "$(man6dir)" \
504 && test -n "`echo $$list1$$list2`" \ 504 && test -n "`echo $$list1$$list2`" \
505 || exit 0; \ 505 || exit 0; \
506 echo " $(MKDIR_P) '$(DESTDIR)$(manmdir)'"; \ 506 echo " $(MKDIR_P) '$(DESTDIR)$(man6dir)'"; \
507 $(MKDIR_P) "$(DESTDIR)$(manmdir)" || exit 1; \ 507 $(MKDIR_P) "$(DESTDIR)$(man6dir)" || exit 1; \
508 { for i in $$list1; do echo "$$i"; done; \ 508 { for i in $$list1; do echo "$$i"; done; \
509 if test -n "$$list2"; then \ 509 if test -n "$$list2"; then \
510 for i in $$list2; do echo "$$i"; done \ 510 for i in $$list2; do echo "$$i"; done \
511 | sed -n '/\.m[a-z]*$$/p'; \ 511 | sed -n '/\.6[a-z]*$$/p'; \
512 fi; \ 512 fi; \
513 } | while read p; do \ 513 } | while read p; do \
514 if test -f $$p; then d=; else d="$(srcdir)/"; fi; \ 514 if test -f $$p; then d=; else d="$(srcdir)/"; fi; \
515 echo "$$d$$p"; echo "$$p"; \ 515 echo "$$d$$p"; echo "$$p"; \
516 done | \ 516 done | \
517 sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^m][0-9a-z]*$$,m,;x' \ 517 sed -e 'n;s,.*/,,;p;h;s,.*\.,,;s,^[^6][0-9a-z]*$$,6,;x' \
518 -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \ 518 -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,' | \
519 sed 'N;N;s,\n, ,g' | { \ 519 sed 'N;N;s,\n, ,g' | { \
520 list=; while read file base inst; do \ 520 list=; while read file base inst; do \
521 if test "$$base" = "$$inst"; then list="$$list $$file"; else \ 521 if test "$$base" = "$$inst"; then list="$$list $$file"; else \
522 echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(manmdir)/$$inst'"; \ 522 echo " $(INSTALL_DATA) '$$file' '$(DESTDIR)$(man6dir)/$$inst'"; \
523 $(INSTALL_DATA) "$$file" "$(DESTDIR)$(manmdir)/$$inst" || exit $$?; \ 523 $(INSTALL_DATA) "$$file" "$(DESTDIR)$(man6dir)/$$inst" || exit $$?; \
524 fi; \ 524 fi; \
525 done; \ 525 done; \
526 for i in $$list; do echo "$$i"; done | $(am__base_list) | \ 526 for i in $$list; do echo "$$i"; done | $(am__base_list) | \
527 while read files; do \ 527 while read files; do \
528 test -z "$$files" || { \ 528 test -z "$$files" || { \
529 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(manmdir)'"; \ 529 echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(man6dir)'"; \
530 $(INSTALL_DATA) $$files "$(DESTDIR)$(manmdir)" || exit $$?; }; \ 530 $(INSTALL_DATA) $$files "$(DESTDIR)$(man6dir)" || exit $$?; }; \
531 done; } 531 done; }
532 532
533uninstall-manm: 533uninstall-man6:
534 @$(NORMAL_UNINSTALL) 534 @$(NORMAL_UNINSTALL)
535 @list=''; test -n "$(manmdir)" || exit 0; \ 535 @list=''; test -n "$(man6dir)" || exit 0; \
536 files=`{ for i in $$list; do echo "$$i"; done; \ 536 files=`{ for i in $$list; do echo "$$i"; done; \
537 l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \ 537 l2='$(man_MANS)'; for i in $$l2; do echo "$$i"; done | \
538 sed -n '/\.m[a-z]*$$/p'; \ 538 sed -n '/\.6[a-z]*$$/p'; \
539 } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^m][0-9a-z]*$$,m,;x' \ 539 } | sed -e 's,.*/,,;h;s,.*\.,,;s,^[^6][0-9a-z]*$$,6,;x' \
540 -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \ 540 -e 's,\.[0-9a-z]*$$,,;$(transform);G;s,\n,.,'`; \
541 dir='$(DESTDIR)$(manmdir)'; $(am__uninstall_files_from_dir) 541 dir='$(DESTDIR)$(man6dir)'; $(am__uninstall_files_from_dir)
542install-includeHEADERS: $(include_HEADERS) 542install-includeHEADERS: $(include_HEADERS)
543 @$(NORMAL_INSTALL) 543 @$(NORMAL_INSTALL)
544 @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \ 544 @list='$(include_HEADERS)'; test -n "$(includedir)" || list=; \
@@ -787,7 +787,7 @@ check-am: all-am
787check: check-am 787check: check-am
788all-am: Makefile $(PROGRAMS) $(MANS) $(HEADERS) config.h 788all-am: Makefile $(PROGRAMS) $(MANS) $(HEADERS) config.h
789installdirs: 789installdirs:
790 for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(manmdir)" "$(DESTDIR)$(includedir)"; do \ 790 for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man6dir)" "$(DESTDIR)$(includedir)"; do \
791 test -z "$$dir" || $(MKDIR_P) "$$dir"; \ 791 test -z "$$dir" || $(MKDIR_P) "$$dir"; \
792 done 792 done
793install: install-am 793install: install-am
@@ -859,7 +859,7 @@ install-info: install-info-am
859 859
860install-info-am: 860install-info-am:
861 861
862install-man: install-manm 862install-man: install-man6
863 863
864install-pdf: install-pdf-am 864install-pdf: install-pdf-am
865 865
@@ -893,7 +893,7 @@ ps-am:
893uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \ 893uninstall-am: uninstall-binPROGRAMS uninstall-includeHEADERS \
894 uninstall-man 894 uninstall-man
895 895
896uninstall-man: uninstall-manm 896uninstall-man: uninstall-man6
897 897
898.MAKE: all install-am install-strip 898.MAKE: all install-am install-strip
899 899
@@ -908,13 +908,13 @@ uninstall-man: uninstall-manm
908 install-data-am install-dvi install-dvi-am install-exec \ 908 install-data-am install-dvi install-dvi-am install-exec \
909 install-exec-am install-html install-html-am \ 909 install-exec-am install-html install-html-am \
910 install-includeHEADERS install-info install-info-am \ 910 install-includeHEADERS install-info install-info-am \
911 install-man install-manm install-pdf install-pdf-am install-ps \ 911 install-man install-man6 install-pdf install-pdf-am install-ps \
912 install-ps-am install-strip installcheck installcheck-am \ 912 install-ps-am install-strip installcheck installcheck-am \
913 installdirs maintainer-clean maintainer-clean-generic \ 913 installdirs maintainer-clean maintainer-clean-generic \
914 mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \ 914 mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
915 ps ps-am tags tags-am uninstall uninstall-am \ 915 ps ps-am tags tags-am uninstall uninstall-am \
916 uninstall-binPROGRAMS uninstall-includeHEADERS uninstall-man \ 916 uninstall-binPROGRAMS uninstall-includeHEADERS uninstall-man \
917 uninstall-manm 917 uninstall-man6
918 918
919.PRECIOUS: Makefile 919.PRECIOUS: Makefile
920 920
diff --git a/cmdline-life.c b/cmdline-life.c
index 1af24f6..e4d81c5 100644
--- a/cmdline-life.c
+++ b/cmdline-life.c
@@ -38,10 +38,16 @@ const char *gengetopt_args_info_detailed_help[] = {
38 " --detailed-help Print help, including all details and hidden options,\n and exit", 38 " --detailed-help Print help, including all details and hidden options,\n and exit",
39 " -V, --version Print version and exit", 39 " -V, --version Print version and exit",
40 " -r, --ruleint=rule Specify rule-int on command line (default=`6152')", 40 " -r, --ruleint=rule Specify rule-int on command line (default=`6152')",
41 " -W, --width=width Specify width", 41 " -d, --delay=INT Specify delay time",
42 " -H, --height=height Specify height",
43 " -d, --delay=delay Specify delay time",
44 " Specify delay time, multiplied by 10ms", 42 " Specify delay time, multiplied by 10ms",
43 "\nDimensions:",
44 " -W, --width=INT Specify width",
45 " -H, --height=INT Specify height",
46 " -m, --maximize Maximize dimensions for terminal",
47 " If specified, cancels out height and/or width options",
48 "\nCharacters:",
49 " -L, --live=CH Character for a live cell",
50 " -D, --dead=CH Character for a dead cell",
45 0 51 0
46}; 52};
47 53
@@ -53,15 +59,21 @@ init_help_array(void)
53 gengetopt_args_info_help[2] = gengetopt_args_info_detailed_help[2]; 59 gengetopt_args_info_help[2] = gengetopt_args_info_detailed_help[2];
54 gengetopt_args_info_help[3] = gengetopt_args_info_detailed_help[3]; 60 gengetopt_args_info_help[3] = gengetopt_args_info_detailed_help[3];
55 gengetopt_args_info_help[4] = gengetopt_args_info_detailed_help[4]; 61 gengetopt_args_info_help[4] = gengetopt_args_info_detailed_help[4];
56 gengetopt_args_info_help[5] = gengetopt_args_info_detailed_help[5]; 62 gengetopt_args_info_help[5] = gengetopt_args_info_detailed_help[6];
57 gengetopt_args_info_help[6] = gengetopt_args_info_detailed_help[6]; 63 gengetopt_args_info_help[6] = gengetopt_args_info_detailed_help[7];
58 gengetopt_args_info_help[7] = 0; 64 gengetopt_args_info_help[7] = gengetopt_args_info_detailed_help[8];
65 gengetopt_args_info_help[8] = gengetopt_args_info_detailed_help[9];
66 gengetopt_args_info_help[9] = gengetopt_args_info_detailed_help[11];
67 gengetopt_args_info_help[10] = gengetopt_args_info_detailed_help[12];
68 gengetopt_args_info_help[11] = gengetopt_args_info_detailed_help[13];
69 gengetopt_args_info_help[12] = 0;
59 70
60} 71}
61 72
62const char *gengetopt_args_info_help[8]; 73const char *gengetopt_args_info_help[13];
63 74
64typedef enum {ARG_NO 75typedef enum {ARG_NO
76 , ARG_STRING
65 , ARG_INT 77 , ARG_INT
66} cmdline_parser_arg_type; 78} cmdline_parser_arg_type;
67 79
@@ -85,9 +97,12 @@ void clear_given (struct gengetopt_args_info *args_info)
85 args_info->detailed_help_given = 0 ; 97 args_info->detailed_help_given = 0 ;
86 args_info->version_given = 0 ; 98 args_info->version_given = 0 ;
87 args_info->ruleint_given = 0 ; 99 args_info->ruleint_given = 0 ;
100 args_info->delay_given = 0 ;
88 args_info->width_given = 0 ; 101 args_info->width_given = 0 ;
89 args_info->height_given = 0 ; 102 args_info->height_given = 0 ;
90 args_info->delay_given = 0 ; 103 args_info->maximize_given = 0 ;
104 args_info->live_given = 0 ;
105 args_info->dead_given = 0 ;
91} 106}
92 107
93static 108static
@@ -96,9 +111,13 @@ void clear_args (struct gengetopt_args_info *args_info)
96 FIX_UNUSED (args_info); 111 FIX_UNUSED (args_info);
97 args_info->ruleint_arg = 6152; 112 args_info->ruleint_arg = 6152;
98 args_info->ruleint_orig = NULL; 113 args_info->ruleint_orig = NULL;
114 args_info->delay_orig = NULL;
99 args_info->width_orig = NULL; 115 args_info->width_orig = NULL;
100 args_info->height_orig = NULL; 116 args_info->height_orig = NULL;
101 args_info->delay_orig = NULL; 117 args_info->live_arg = NULL;
118 args_info->live_orig = NULL;
119 args_info->dead_arg = NULL;
120 args_info->dead_orig = NULL;
102 121
103} 122}
104 123
@@ -111,9 +130,12 @@ void init_args_info(struct gengetopt_args_info *args_info)
111 args_info->detailed_help_help = gengetopt_args_info_detailed_help[1] ; 130 args_info->detailed_help_help = gengetopt_args_info_detailed_help[1] ;
112 args_info->version_help = gengetopt_args_info_detailed_help[2] ; 131 args_info->version_help = gengetopt_args_info_detailed_help[2] ;
113 args_info->ruleint_help = gengetopt_args_info_detailed_help[3] ; 132 args_info->ruleint_help = gengetopt_args_info_detailed_help[3] ;
114 args_info->width_help = gengetopt_args_info_detailed_help[4] ; 133 args_info->delay_help = gengetopt_args_info_detailed_help[4] ;
115 args_info->height_help = gengetopt_args_info_detailed_help[5] ; 134 args_info->width_help = gengetopt_args_info_detailed_help[7] ;
116 args_info->delay_help = gengetopt_args_info_detailed_help[6] ; 135 args_info->height_help = gengetopt_args_info_detailed_help[8] ;
136 args_info->maximize_help = gengetopt_args_info_detailed_help[9] ;
137 args_info->live_help = gengetopt_args_info_detailed_help[12] ;
138 args_info->dead_help = gengetopt_args_info_detailed_help[13] ;
117 139
118} 140}
119 141
@@ -207,9 +229,13 @@ cmdline_parser_release (struct gengetopt_args_info *args_info)
207{ 229{
208 230
209 free_string_field (&(args_info->ruleint_orig)); 231 free_string_field (&(args_info->ruleint_orig));
232 free_string_field (&(args_info->delay_orig));
210 free_string_field (&(args_info->width_orig)); 233 free_string_field (&(args_info->width_orig));
211 free_string_field (&(args_info->height_orig)); 234 free_string_field (&(args_info->height_orig));
212 free_string_field (&(args_info->delay_orig)); 235 free_string_field (&(args_info->live_arg));
236 free_string_field (&(args_info->live_orig));
237 free_string_field (&(args_info->dead_arg));
238 free_string_field (&(args_info->dead_orig));
213 239
214 240
215 241
@@ -248,12 +274,18 @@ cmdline_parser_dump(FILE *outfile, struct gengetopt_args_info *args_info)
248 write_into_file(outfile, "version", 0, 0 ); 274 write_into_file(outfile, "version", 0, 0 );
249 if (args_info->ruleint_given) 275 if (args_info->ruleint_given)
250 write_into_file(outfile, "ruleint", args_info->ruleint_orig, 0); 276 write_into_file(outfile, "ruleint", args_info->ruleint_orig, 0);
277 if (args_info->delay_given)
278 write_into_file(outfile, "delay", args_info->delay_orig, 0);
251 if (args_info->width_given) 279 if (args_info->width_given)
252 write_into_file(outfile, "width", args_info->width_orig, 0); 280 write_into_file(outfile, "width", args_info->width_orig, 0);
253 if (args_info->height_given) 281 if (args_info->height_given)
254 write_into_file(outfile, "height", args_info->height_orig, 0); 282 write_into_file(outfile, "height", args_info->height_orig, 0);
255 if (args_info->delay_given) 283 if (args_info->maximize_given)
256 write_into_file(outfile, "delay", args_info->delay_orig, 0); 284 write_into_file(outfile, "maximize", 0, 0 );
285 if (args_info->live_given)
286 write_into_file(outfile, "live", args_info->live_orig, 0);
287 if (args_info->dead_given)
288 write_into_file(outfile, "dead", args_info->dead_orig, 0);
257 289
258 290
259 i = EXIT_SUCCESS; 291 i = EXIT_SUCCESS;
@@ -389,6 +421,7 @@ int update_arg(void *field, char **orig_field,
389 char *stop_char = 0; 421 char *stop_char = 0;
390 const char *val = value; 422 const char *val = value;
391 int found; 423 int found;
424 char **string_field;
392 FIX_UNUSED (field); 425 FIX_UNUSED (field);
393 426
394 stop_char = 0; 427 stop_char = 0;
@@ -422,6 +455,14 @@ int update_arg(void *field, char **orig_field,
422 case ARG_INT: 455 case ARG_INT:
423 if (val) *((int *)field) = strtol (val, &stop_char, 0); 456 if (val) *((int *)field) = strtol (val, &stop_char, 0);
424 break; 457 break;
458 case ARG_STRING:
459 if (val) {
460 string_field = (char **)field;
461 if (!no_free && *string_field)
462 free (*string_field); /* free previous string */
463 *string_field = gengetopt_strdup (val);
464 }
465 break;
425 default: 466 default:
426 break; 467 break;
427 }; 468 };
@@ -499,13 +540,16 @@ cmdline_parser_internal (
499 { "detailed-help", 0, NULL, 0 }, 540 { "detailed-help", 0, NULL, 0 },
500 { "version", 0, NULL, 'V' }, 541 { "version", 0, NULL, 'V' },
501 { "ruleint", 1, NULL, 'r' }, 542 { "ruleint", 1, NULL, 'r' },
543 { "delay", 1, NULL, 'd' },
502 { "width", 1, NULL, 'W' }, 544 { "width", 1, NULL, 'W' },
503 { "height", 1, NULL, 'H' }, 545 { "height", 1, NULL, 'H' },
504 { "delay", 1, NULL, 'd' }, 546 { "maximize", 0, NULL, 'm' },
547 { "live", 1, NULL, 'L' },
548 { "dead", 1, NULL, 'D' },
505 { 0, 0, 0, 0 } 549 { 0, 0, 0, 0 }
506 }; 550 };
507 551
508 c = getopt_long (argc, argv, "hVr:W:H:d:", long_options, &option_index); 552 c = getopt_long (argc, argv, "hVr:d:W:H:mL:D:", long_options, &option_index);
509 553
510 if (c == -1) break; /* Exit from `while (1)' loop. */ 554 if (c == -1) break; /* Exit from `while (1)' loop. */
511 555
@@ -569,14 +613,38 @@ cmdline_parser_internal (
569 goto failure; 613 goto failure;
570 614
571 break; 615 break;
572 case 'd': /* Specify delay time. */ 616 case 'm': /* Maximize dimensions for terminal. */
573 617
574 618
575 if (update_arg( (void *)&(args_info->delay_arg), 619 if (update_arg( 0 ,
576 &(args_info->delay_orig), &(args_info->delay_given), 620 0 , &(args_info->maximize_given),
577 &(local_args_info.delay_given), optarg, 0, 0, ARG_INT, 621 &(local_args_info.maximize_given), optarg, 0, 0, ARG_NO,
578 check_ambiguity, override, 0, 0, 622 check_ambiguity, override, 0, 0,
579 "delay", 'd', 623 "maximize", 'm',
624 additional_error))
625 goto failure;
626
627 break;
628 case 'L': /* Character for a live cell. */
629
630
631 if (update_arg( (void *)&(args_info->live_arg),
632 &(args_info->live_orig), &(args_info->live_given),
633 &(local_args_info.live_given), optarg, 0, 0, ARG_STRING,
634 check_ambiguity, override, 0, 0,
635 "live", 'L',
636 additional_error))
637 goto failure;
638
639 break;
640 case 'D': /* Character for a dead cell. */
641
642
643 if (update_arg( (void *)&(args_info->dead_arg),
644 &(args_info->dead_orig), &(args_info->dead_given),
645 &(local_args_info.dead_given), optarg, 0, 0, ARG_STRING,
646 check_ambiguity, override, 0, 0,
647 "dead", 'D',
580 additional_error)) 648 additional_error))
581 goto failure; 649 goto failure;
582 650
diff --git a/cmdline-life.h b/cmdline-life.h
index 480c83e..99579f3 100644
--- a/cmdline-life.h
+++ b/cmdline-life.h
@@ -56,17 +56,24 @@ struct gengetopt_args_info
56 int height_arg; /**< @brief Specify height. */ 56 int height_arg; /**< @brief Specify height. */
57 char * height_orig; /**< @brief Specify height original value given at command line. */ 57 char * height_orig; /**< @brief Specify height original value given at command line. */
58 const char *height_help; /**< @brief Specify height help description. */ 58 const char *height_help; /**< @brief Specify height help description. */
59 int delay_arg; /**< @brief Specify delay time. */ 59 const char *maximize_help; /**< @brief Maximize dimensions for terminal help description. */
60 char * delay_orig; /**< @brief Specify delay time original value given at command line. */ 60 char * live_arg; /**< @brief Character for a live cell. */
61 const char *delay_help; /**< @brief Specify delay time help description. */ 61 char * live_orig; /**< @brief Character for a live cell original value given at command line. */
62 const char *live_help; /**< @brief Character for a live cell help description. */
63 char * dead_arg; /**< @brief Character for a dead cell. */
64 char * dead_orig; /**< @brief Character for a dead cell original value given at command line. */
65 const char *dead_help; /**< @brief Character for a dead cell help description. */
62 66
63 unsigned int help_given ; /**< @brief Whether help was given. */ 67 unsigned int help_given ; /**< @brief Whether help was given. */
64 unsigned int detailed_help_given ; /**< @brief Whether detailed-help was given. */ 68 unsigned int detailed_help_given ; /**< @brief Whether detailed-help was given. */
65 unsigned int version_given ; /**< @brief Whether version was given. */ 69 unsigned int version_given ; /**< @brief Whether version was given. */
66 unsigned int ruleint_given ; /**< @brief Whether ruleint was given. */ 70 unsigned int ruleint_given ; /**< @brief Whether ruleint was given. */
71 unsigned int delay_given ; /**< @brief Whether delay was given. */
67 unsigned int width_given ; /**< @brief Whether width was given. */ 72 unsigned int width_given ; /**< @brief Whether width was given. */
68 unsigned int height_given ; /**< @brief Whether height was given. */ 73 unsigned int height_given ; /**< @brief Whether height was given. */
69 unsigned int delay_given ; /**< @brief Whether delay was given. */ 74 unsigned int maximize_given ; /**< @brief Whether maximize was given. */
75 unsigned int live_given ; /**< @brief Whether live was given. */
76 unsigned int dead_given ; /**< @brief Whether dead was given. */
70 77
71} ; 78} ;
72 79
diff --git a/configure b/configure
index c29ff27..bbba70b 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
1#! /bin/sh 1#! /bin/sh
2# Guess values for system-dependent variables and create Makefiles. 2# Guess values for system-dependent variables and create Makefiles.
3# Generated by GNU Autoconf 2.69 for life 1.0.0. 3# Generated by GNU Autoconf 2.69 for life 1.3.3.
4# 4#
5# Report bugs to <aiden.woodruff@gmail.com>. 5# Report bugs to <aiden.woodruff@gmail.com>.
6# 6#
@@ -580,8 +580,8 @@ MAKEFLAGS=
580# Identity of this package. 580# Identity of this package.
581PACKAGE_NAME='life' 581PACKAGE_NAME='life'
582PACKAGE_TARNAME='life' 582PACKAGE_TARNAME='life'
583PACKAGE_VERSION='1.0.0' 583PACKAGE_VERSION='1.3.3'
584PACKAGE_STRING='life 1.0.0' 584PACKAGE_STRING='life 1.3.3'
585PACKAGE_BUGREPORT='aiden.woodruff@gmail.com' 585PACKAGE_BUGREPORT='aiden.woodruff@gmail.com'
586PACKAGE_URL='' 586PACKAGE_URL=''
587 587
@@ -1277,7 +1277,7 @@ if test "$ac_init_help" = "long"; then
1277 # Omit some internal or obsolete options to make the list less imposing. 1277 # Omit some internal or obsolete options to make the list less imposing.
1278 # This message is too long to be a string in the A/UX 3.1 sh. 1278 # This message is too long to be a string in the A/UX 3.1 sh.
1279 cat <<_ACEOF 1279 cat <<_ACEOF
1280\`configure' configures life 1.0.0 to adapt to many kinds of systems. 1280\`configure' configures life 1.3.3 to adapt to many kinds of systems.
1281 1281
1282Usage: $0 [OPTION]... [VAR=VALUE]... 1282Usage: $0 [OPTION]... [VAR=VALUE]...
1283 1283
@@ -1344,7 +1344,7 @@ fi
1344 1344
1345if test -n "$ac_init_help"; then 1345if test -n "$ac_init_help"; then
1346 case $ac_init_help in 1346 case $ac_init_help in
1347 short | recursive ) echo "Configuration of life 1.0.0:";; 1347 short | recursive ) echo "Configuration of life 1.3.3:";;
1348 esac 1348 esac
1349 cat <<\_ACEOF 1349 cat <<\_ACEOF
1350 1350
@@ -1435,7 +1435,7 @@ fi
1435test -n "$ac_init_help" && exit $ac_status 1435test -n "$ac_init_help" && exit $ac_status
1436if $ac_init_version; then 1436if $ac_init_version; then
1437 cat <<\_ACEOF 1437 cat <<\_ACEOF
1438life configure 1.0.0 1438life configure 1.3.3
1439generated by GNU Autoconf 2.69 1439generated by GNU Autoconf 2.69
1440 1440
1441Copyright (C) 2012 Free Software Foundation, Inc. 1441Copyright (C) 2012 Free Software Foundation, Inc.
@@ -1804,7 +1804,7 @@ cat >config.log <<_ACEOF
1804This file contains any messages produced by compilers while 1804This file contains any messages produced by compilers while
1805running configure, to aid debugging if configure makes a mistake. 1805running configure, to aid debugging if configure makes a mistake.
1806 1806
1807It was created by life $as_me 1.0.0, which was 1807It was created by life $as_me 1.3.3, which was
1808generated by GNU Autoconf 2.69. Invocation command line was 1808generated by GNU Autoconf 2.69. Invocation command line was
1809 1809
1810 $ $0 $@ 1810 $ $0 $@
@@ -3037,6 +3037,183 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
3037ac_compiler_gnu=$ac_cv_c_compiler_gnu 3037ac_compiler_gnu=$ac_cv_c_compiler_gnu
3038 3038
3039 3039
3040 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C99" >&5
3041$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
3042if ${ac_cv_prog_cc_c99+:} false; then :
3043 $as_echo_n "(cached) " >&6
3044else
3045 ac_cv_prog_cc_c99=no
3046ac_save_CC=$CC
3047cat confdefs.h - <<_ACEOF >conftest.$ac_ext
3048/* end confdefs.h. */
3049#include <stdarg.h>
3050#include <stdbool.h>
3051#include <stdlib.h>
3052#include <wchar.h>
3053#include <stdio.h>
3054
3055// Check varargs macros. These examples are taken from C99 6.10.3.5.
3056#define debug(...) fprintf (stderr, __VA_ARGS__)
3057#define showlist(...) puts (#__VA_ARGS__)
3058#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
3059static void
3060test_varargs_macros (void)
3061{
3062 int x = 1234;
3063 int y = 5678;
3064 debug ("Flag");
3065 debug ("X = %d\n", x);
3066 showlist (The first, second, and third items.);
3067 report (x>y, "x is %d but y is %d", x, y);
3068}
3069
3070// Check long long types.
3071#define BIG64 18446744073709551615ull
3072#define BIG32 4294967295ul
3073#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
3074#if !BIG_OK
3075 your preprocessor is broken;
3076#endif
3077#if BIG_OK
3078#else
3079 your preprocessor is broken;
3080#endif
3081static long long int bignum = -9223372036854775807LL;
3082static unsigned long long int ubignum = BIG64;
3083
3084struct incomplete_array
3085{
3086 int datasize;
3087 double data[];
3088};
3089
3090struct named_init {
3091 int number;
3092 const wchar_t *name;
3093 double average;
3094};
3095
3096typedef const char *ccp;
3097
3098static inline int
3099test_restrict (ccp restrict text)
3100{
3101 // See if C++-style comments work.
3102 // Iterate through items via the restricted pointer.
3103 // Also check for declarations in for loops.
3104 for (unsigned int i = 0; *(text+i) != '\0'; ++i)
3105 continue;
3106 return 0;
3107}
3108
3109// Check varargs and va_copy.
3110static void
3111test_varargs (const char *format, ...)
3112{
3113 va_list args;
3114 va_start (args, format);
3115 va_list args_copy;
3116 va_copy (args_copy, args);
3117
3118 const char *str;
3119 int number;
3120 float fnumber;
3121
3122 while (*format)
3123 {
3124 switch (*format++)
3125 {
3126 case 's': // string
3127 str = va_arg (args_copy, const char *);
3128 break;
3129 case 'd': // int
3130 number = va_arg (args_copy, int);
3131 break;
3132 case 'f': // float
3133 fnumber = va_arg (args_copy, double);
3134 break;
3135 default:
3136 break;
3137 }
3138 }
3139 va_end (args_copy);
3140 va_end (args);
3141}
3142
3143int
3144main ()
3145{
3146
3147 // Check bool.
3148 _Bool success = false;
3149
3150 // Check restrict.
3151 if (test_restrict ("String literal") == 0)
3152 success = true;
3153 char *restrict newvar = "Another string";
3154
3155 // Check varargs.
3156 test_varargs ("s, d' f .", "string", 65, 34.234);
3157 test_varargs_macros ();
3158
3159 // Check flexible array members.
3160 struct incomplete_array *ia =
3161 malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
3162 ia->datasize = 10;
3163 for (int i = 0; i < ia->datasize; ++i)
3164 ia->data[i] = i * 1.234;
3165
3166 // Check named initializers.
3167 struct named_init ni = {
3168 .number = 34,
3169 .name = L"Test wide string",
3170 .average = 543.34343,
3171 };
3172
3173 ni.number = 58;
3174
3175 int dynamic_array[ni.number];
3176 dynamic_array[ni.number - 1] = 543;
3177
3178 // work around unused variable warnings
3179 return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
3180 || dynamic_array[ni.number - 1] != 543);
3181
3182 ;
3183 return 0;
3184}
3185_ACEOF
3186for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -D_STDC_C99= -qlanglvl=extc99
3187do
3188 CC="$ac_save_CC $ac_arg"
3189 if ac_fn_c_try_compile "$LINENO"; then :
3190 ac_cv_prog_cc_c99=$ac_arg
3191fi
3192rm -f core conftest.err conftest.$ac_objext
3193 test "x$ac_cv_prog_cc_c99" != "xno" && break
3194done
3195rm -f conftest.$ac_ext
3196CC=$ac_save_CC
3197
3198fi
3199# AC_CACHE_VAL
3200case "x$ac_cv_prog_cc_c99" in
3201 x)
3202 { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
3203$as_echo "none needed" >&6; } ;;
3204 xno)
3205 { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
3206$as_echo "unsupported" >&6; } ;;
3207 *)
3208 CC="$CC $ac_cv_prog_cc_c99"
3209 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c99" >&5
3210$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
3211esac
3212if test "x$ac_cv_prog_cc_c99" != xno; then :
3213
3214fi
3215
3216
3040 3217
3041# Checks for libraries. 3218# Checks for libraries.
3042 3219
@@ -4129,7 +4306,7 @@ fi
4129 4306
4130# Define the identity of the package. 4307# Define the identity of the package.
4131 PACKAGE='life' 4308 PACKAGE='life'
4132 VERSION='1.0.0' 4309 VERSION='1.3.3'
4133 4310
4134 4311
4135cat >>confdefs.h <<_ACEOF 4312cat >>confdefs.h <<_ACEOF
@@ -4880,7 +5057,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
4880# report actual input values of CONFIG_FILES etc. instead of their 5057# report actual input values of CONFIG_FILES etc. instead of their
4881# values after options handling. 5058# values after options handling.
4882ac_log=" 5059ac_log="
4883This file was extended by life $as_me 1.0.0, which was 5060This file was extended by life $as_me 1.3.3, which was
4884generated by GNU Autoconf 2.69. Invocation command line was 5061generated by GNU Autoconf 2.69. Invocation command line was
4885 5062
4886 CONFIG_FILES = $CONFIG_FILES 5063 CONFIG_FILES = $CONFIG_FILES
@@ -4946,7 +5123,7 @@ _ACEOF
4946cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 5123cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
4947ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" 5124ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
4948ac_cs_version="\\ 5125ac_cs_version="\\
4949life config.status 1.0.0 5126life config.status 1.3.3
4950configured by $0, generated by GNU Autoconf 2.69, 5127configured by $0, generated by GNU Autoconf 2.69,
4951 with options \\"\$ac_cs_config\\" 5128 with options \\"\$ac_cs_config\\"
4952 5129
diff --git a/configure.ac b/configure.ac
index 754083e..7a4bc97 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
2# Process this file with autoconf to produce a configure script. 2# Process this file with autoconf to produce a configure script.
3 3
4AC_PREREQ([2.69]) 4AC_PREREQ([2.69])
5AC_INIT([life], [1.3.2], [aiden.woodruff@gmail.com]) 5AC_INIT([life], [1.3.3], [aiden.woodruff@gmail.com])
6AC_CONFIG_SRCDIR([life.c]) 6AC_CONFIG_SRCDIR([life.c])
7AC_CONFIG_HEADERS([config.h]) 7AC_CONFIG_HEADERS([config.h])
8 8
diff --git a/life-1.3.2.tar.gz b/life-1.3.2.tar.gz
deleted file mode 100644
index e69de29..0000000
--- a/life-1.3.2.tar.gz
+++ /dev/null
diff --git a/life-1.3.3.tar.gz b/life-1.3.3.tar.gz
new file mode 100644
index 0000000..71b1dab
--- /dev/null
+++ b/life-1.3.3.tar.gz
Binary files differ
diff --git a/life.man b/life.6
index 109af67..f2059ac 100644
--- a/life.man
+++ b/life.6
@@ -1,12 +1,12 @@
1.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. 1.\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4.
2.TH LIFE "6" "July 2018" "Debian" "Games" 2.TH LIFE "6" "July 2018" "life 1.3.3" "Games"
3.SH NAME 3.SH NAME
4life \- ncurses Cellular Arbitrary Automata 4life \- ncurses Cellular Arbitrary Automata
5.SH SYNOPSIS 5.SH SYNOPSIS
6.B life 6.B life
7[\fI\,OPTIONS\/\fR]... 7[\fI\,OPTIONS\/\fR]...
8.SH DESCRIPTION 8.SH DESCRIPTION
9life 0.1 9life 1.3.3
10.TP 10.TP
11\fB\-h\fR, \fB\-\-help\fR 11\fB\-h\fR, \fB\-\-help\fR
12Print help and exit 12Print help and exit
@@ -40,15 +40,3 @@ Character for a live cell
40.TP 40.TP
41\fB\-D\fR, \fB\-\-dead\fR=\fI\,CH\/\fR 41\fB\-D\fR, \fB\-\-dead\fR=\fI\,CH\/\fR
42Character for a dead cell 42Character for a dead cell
43.SH "SEE ALSO"
44The full documentation for
45.B life
46is maintained as a Texinfo manual. If the
47.B info
48and
49.B life
50programs are properly installed at your site, the command
51.IP
52.B info life
53.PP
54should give you access to the complete manual.