+2007-05-29 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygpath.cc (do_options): Allow outputflag combined with other
+ basic flags. Only check options_from_file_flag if reading options
+ from command line.
+ (main): Check for NULL argz vector. Don't free argz vector prematurely.
+ Don't force flag combination in !options_from_file_flag case.
+
2007-05-23 Corinna Vinschen <corinna@vinschen.de>
* cygpath.cc: Include argz.h.
}
/* If none of the "important" flags are set, -u is default. */
- if (!unix_flag && !windows_flag && !options_from_file_flag && !output_flag
- && !mode_flag)
+ if (!unix_flag && !windows_flag && !mode_flag
+ && (!from_file ? !options_from_file_flag : 1))
unix_flag = 1;
/* Only one of ... */
- if (unix_flag + windows_flag + output_flag + mode_flag > 1
+ if (unix_flag + windows_flag + mode_flag > 1
+ (!from_file ? options_from_file_flag : 0))
usage (stderr, 1);
perror ("cygpath");
exit (1);
}
+ if (!az)
+ continue;
ac = argz_count (az, azl) + 1;
av = (char **) malloc ((ac + 1) * sizeof (char *));
if (!av)
}
av[0] = prog_name;
argz_extract (az, azl, av + 1);
- free (az);
if (options_from_file_flag)
o = do_options (ac, av, 1);
else
- {
- optind = 1;
- unix_flag = 1;
- output_flag = mode_flag = windows_flag = 0;
- }
+ optind = 1;
action (ac, av, o);
+ free (az);
free (av);
}
}