Use 'int' to store the return value of getopt(), rather than char.

On some architectures (powerpc), char is unsigned by default, which means
comparisons against -1 always fail, so the programs get stuck in an
infinite loop.

MFC after:	1 week
This commit is contained in:
Justin Hibbits 2013-11-20 01:42:29 +00:00
parent de950c79f3
commit 59d74a351f
2 changed files with 4 additions and 3 deletions

View File

@ -778,7 +778,8 @@ main(int argc, char **argv)
#endif
int err;
int opt_C = 0, opt_H = 0, opt_p = 0, opt_v = 0;
char c, *p, *end;
int c;
char *p, *end;
struct sigaction act;
int done = 0;

View File

@ -2011,7 +2011,7 @@ zfs_do_upgrade(int argc, char **argv)
boolean_t showversions = B_FALSE;
int ret = 0;
upgrade_cbdata_t cb = { 0 };
char c;
int c;
int flags = ZFS_ITER_ARGS_CAN_BE_PATHS;
/* check options */
@ -3561,7 +3561,7 @@ static int
zfs_do_snapshot(int argc, char **argv)
{
int ret = 0;
char c;
int c;
nvlist_t *props;
snap_cbdata_t sd = { 0 };
boolean_t multiple_snaps = B_FALSE;