+#ifdef USE_SM
+ else if (!strcmp(argv[i], "--sm-save-file")) {
+ if (i == *argc - 1) /* no args left */
+ g_printerr(_("--sm-save-file requires an argument\n"));
+ else {
+ ob_sm_save_file = g_strdup(argv[i+1]);
+ remove_args(argc, argv, i, 2);
+ --i; /* this arg was removed so go back */
+ }
+ } else if (!strcmp(argv[i], "--sm-client-id")) {
+ if (i == *argc - 1) /* no args left */
+ g_printerr(_("--sm-client-id requires an argument\n"));
+ else {
+ ob_sm_id = g_strdup(argv[i+1]);
+ remove_args(argc, argv, i, 2);
+ --i; /* this arg was removed so go back */
+ }
+ } else if (!strcmp(argv[i], "--sm-disable")) {
+ ob_sm_use = FALSE;
+ }
+#endif
+ else {
+ /* this is a memleak.. oh well.. heh */
+ gchar *err = g_strdup_printf
+ ("Invalid command line argument '%s'\n", argv[i]);
+ ob_exit_with_error(err);
+ }