From b61fcab3baf91ecd4b2ad4185e591cf339ad2b34 Mon Sep 17 00:00:00 2001 From: "John Ankarstr\\xf6m" Date: Wed, 2 Jun 2021 12:57:24 +0200 Subject: First commit --- greet.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 greet.c (limited to 'greet.c') diff --git a/greet.c b/greet.c new file mode 100644 index 0000000..9d524ae --- /dev/null +++ b/greet.c @@ -0,0 +1,35 @@ +#include +#include +#include +#include + +int +main(int argc, char *argv[]) +{ + char *people; + int i, size, written; + + people = NULL; + size = 0; + written = 0; + +args: if(argc==1){ + fprintf(stderr, "usage: %s person ...\n", argv[0]); + return 1; + } + else if(argc==2) + people = argv[1]; + else + for(i = 1; isize){ + size += written+strlen(argv[i])+20; + people = realloc(people, size+1); + if(people==NULL) err(1, "realloc"); + } +concat: if(i==argc-1) strcat(people, " and "); + else if(i>1) strcat(people, ", "); + strcat(people, argv[i]); + } + +end: printf("Hello %s!\n", people); +} -- cgit v1.2.3