switch (ch) {
case '?':
usage();
- return EXIT_SUCCESS;
+ goto exit_success;
break;
case 'v':
version();
- return EXIT_SUCCESS;
+ goto exit_success;
break;
case 'n':
e_notification_app_name_set(n, optarg);
break;
case 't':
if (!read_int_arg(&value, "-t", INT_MIN, INT_MAX))
- return EXIT_FAILURE;
+ goto exit_failure;
else
e_notification_timeout_set(n, (int)value);
break;
case 'r':
if (!read_int_arg(&value, "-r", 0, UINT_MAX))
- return EXIT_FAILURE;
+ goto exit_failure;
else
- e_notification_replaces_id_set(n, (unsigned int)value);
+ e_notification_replaces_id_set(n, (unsigned int)value);
break;
case 'i':
e_notification_app_icon_set(n, optarg);
break;
default:
usage();
- return EXIT_FAILURE;
+ goto exit_failure;
}
argc -= optind;
argv += optind;
if (argc < 1)
{
usage();
- return EXIT_FAILURE;
+ goto exit_failure;
}
e_notification_summary_set(n, argv[0]);
else
e_notification_send(n, NULL, NULL);
+exit_success:
e_notification_unref(n);
e_notification_shutdown();
ecore_shutdown();
eina_shutdown();
return EXIT_SUCCESS;
+
+exit_failure:
+ e_notification_unref(n);
+ e_notification_shutdown();
+ ecore_shutdown();
+ eina_shutdown();
+
+ return EXIT_FAILURE;
}