Don't call exit() in library
diff --git a/src/lib/u/uoption.c b/src/lib/u/uoption.c
index f3c7df9..3cf9971 100644
--- a/src/lib/u/uoption.c
+++ b/src/lib/u/uoption.c
@@ -199,8 +199,6 @@
 
 	print_help_buf(&help_buf);
 	free_help_buf(&help_buf);
-
-	exit (0);
 }
 
 static void print_long_help(u_option_context_t *ctx, char *hoption)
@@ -260,8 +258,6 @@
 
 	print_help_buf(&help_buf);
 	free_help_buf(&help_buf);
-
-	exit (0);
 }
 
 static unsigned int context_get_number_entries(u_option_context_t *ctx)
@@ -418,6 +414,7 @@
 	if (!strncmp(option, "help", strlen("help")) ) {
 		if (ctx->mode & U_OPTION_CONTEXT_HELP_ENABLED) {
 			print_long_help(ctx, option);
+                  return NULL;
 		}
 	}
 
@@ -455,6 +452,7 @@
 	if (option == '?') {
 		if (ctx->mode & U_OPTION_CONTEXT_HELP_ENABLED) {
 			print_short_help(ctx);
+                  return NULL;
 		}
 	}