+2001-12-26 Jonathan Kamens <jik@curl.com>
+
+ * cygpath.cc (doit): Detect and warn about an empty path. Detect and
+ warn about errors converting a path.
+ (main): Set prog_name correctly -- don't leave an extra slash or
+ backslash at the beginning of it.
+
Fri Dec 14 14:04:37 2001 Jason Tishler <jason@tishler.net>
* mkpasswd.c (enum_users): Change to unconditionally use
{
char *buf;
size_t len;
+ int retval;
+ int (*conv_func)(const char *, char *);
if (path_flag)
{
}
if (! path_flag)
- len = strlen (filename) + 100;
+ {
+ len = strlen (filename) + 100;
+ if (len == 100)
+ {
+ fprintf(stderr, "%s: can't convert empty path\n", prog_name);
+ exit (1);
+ }
+ }
else
{
if (unix_flag)
else
{
if (unix_flag)
- (absolute_flag ? cygwin_conv_to_full_posix_path : cygwin_conv_to_posix_path) (filename, buf);
+ conv_func = (absolute_flag ? cygwin_conv_to_full_posix_path :
+ cygwin_conv_to_posix_path);
else
- {
- (absolute_flag ? cygwin_conv_to_full_win32_path : cygwin_conv_to_win32_path) (filename, buf);
- if (shortname_flag)
- buf = get_short_name (buf);
- }
+ conv_func = (absolute_flag ? cygwin_conv_to_full_win32_path :
+ cygwin_conv_to_win32_path);
+ retval = conv_func (filename, buf);
+ if (retval < 0)
+ {
+ fprintf (stderr, "%s: error converting \"%s\"\n",
+ prog_name, filename);
+ exit (1);
+ }
+ if (!unix_flag && shortname_flag)
+ buf = get_short_name (buf);
}
puts (buf);
prog_name = strrchr (argv[0], '\\');
if (prog_name == NULL)
prog_name = argv[0];
+ else
+ prog_name++;
path_flag = 0;
unix_flag = 0;