From 240e20b5a6cbfd12a9064fa451fd2075f2f41f6f Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 26 Nov 2007 13:07:40 +0100 Subject: swapon: cleanup usage output --- mount/swapon.c | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/mount/swapon.c b/mount/swapon.c index ce3597e5..6c2c4866 100644 --- a/mount/swapon.c +++ b/mount/swapon.c @@ -58,22 +58,38 @@ static struct option *longswapoffopts = &longswaponopts[2]; static int cannot_find(const char *special); +#define PRINT_USAGE_SPECIAL(_fp) \ + fprintf(_fp, _( \ + "Special parameter:\n" \ + " {-L label | LABEL=label} volume LABEL\n" \ + " {-U uuid | UUID=uuid} volume UUID\n" \ + " swap file\n" \ + " swap device\n\n")) + static void swapon_usage(FILE *fp, int n) { - fprintf(fp, _("usage: %1$s [-hV]\n" - " %1$s -a [-e] [-v]\n" - " %1$s [-v] [-p priority] special|LABEL=volume_name ...\n" - " %1$s [-s]\n"), - progname); + fprintf(fp, _("\nUsage:\n" + " %1$s -a [-e] [-v] enable all swaps from /etc/fstab\n" + " %1$s [-v] [-p priority] enable swap\n" + " %1$s [-s] display swap usage summary\n" + " %1$s [-h] display help\n" + " %1$s [-V] display version\n\n"), progname); + + PRINT_USAGE_SPECIAL(fp); + exit(n); } static void swapoff_usage(FILE *fp, int n) { - fprintf(fp, _("usage: %1$s [-hV]\n" - " %1$s -a [-v]\n" - " %1$s [-v] special ...\n"), - progname); + fprintf(fp, _("\nUsage:\n" + " %1$s -a [-v] disable all swaps\n" + " %1$s [-v] disable given swap\n" + " %1$s [-h] display help\n" + " %1$s [-V] display version\n\n"), progname); + + PRINT_USAGE_SPECIAL(fp); + exit(n); } -- cgit v1.2.3 From f7858f66f792c7862c28915fce467680e0f9c6b4 Mon Sep 17 00:00:00 2001 From: Matthias Koenig Date: Wed, 21 Nov 2007 16:46:33 +0100 Subject: mount: fix fd leak Signed-off-by: Matthias Koenig --- mount/lomount.c | 1 + 1 file changed, 1 insertion(+) diff --git a/mount/lomount.c b/mount/lomount.c index 5bd89540..d91a99f3 100644 --- a/mount/lomount.c +++ b/mount/lomount.c @@ -396,6 +396,7 @@ set_loop(const char *device, const char *file, unsigned long long offset, } if ((fd = open(device, mode)) < 0) { perror (device); + close(ffd); return 1; } *loopro = (mode == O_RDONLY); -- cgit v1.2.3 From 1c58079ce2c0776ca3fddaef83f49b565f420db9 Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Fri, 16 Nov 2007 11:50:17 +0100 Subject: getopt: install example scripts as SCRIPTS, not DATA The example scripts should be installed with execute permissions, as for util-linux-2.12r and earlier, i.e., as SCRIPTS and not as DATA Signed-off-by: Peter Breitenlohner --- getopt/Makefile.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/getopt/Makefile.am b/getopt/Makefile.am index 0af048d9..03388421 100644 --- a/getopt/Makefile.am +++ b/getopt/Makefile.am @@ -7,7 +7,7 @@ getopt_CPPFLAGS = -DLIBCGETOPT=1 $(AM_CPPFLAGS) man_MANS = getopt.1 exampledir = $(datadir)/getopt/ -dist_example_DATA = getopt-parse.bash getopt-parse.tcsh \ +dist_example_SCRIPTS = getopt-parse.bash getopt-parse.tcsh \ getopt-test.bash getopt-test.tcsh EXTRA_DIST = README Changelog COPYING -- cgit v1.2.3 From 80ee280003aa5d2e2888e4b881321c335d8e90e2 Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Fri, 16 Nov 2007 11:37:43 +0100 Subject: cfdisk: display cylinders beyond 1024 There is absolutely no reason why cfdisk should not display cylinders beyond 1024. The number of cylinders needs to be truncated only for the CHS field. Signed-off-by: Peter Breitenlohner --- fdisk/cfdisk.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/fdisk/cfdisk.c b/fdisk/cfdisk.c index 7ed11ea1..0c341bd4 100644 --- a/fdisk/cfdisk.c +++ b/fdisk/cfdisk.c @@ -181,8 +181,6 @@ int pt_heads = 0, pt_sectors = 0; static void set_hsc0(unsigned char *h, unsigned char *s, int *c, long long sector) { - if (sector >= 1024*cylinder_size) - sector = 1024*cylinder_size - 1; *s = sector % sectors + 1; sector /= sectors; *h = sector % heads; @@ -195,6 +193,8 @@ set_hsc(unsigned char *h, unsigned char *s, unsigned char *c, long long sector) { int cc; + if (sector >= 1024*cylinder_size) + sector = 1024*cylinder_size - 1; set_hsc0(h, s, &cc, sector); *c = cc & 0xFF; *s |= (cc >> 2) & 0xC0; @@ -2164,7 +2164,7 @@ print_part_entry(FILE *fp, int num, partition_info *pi) { set_hsc0(&eh, &es, &ec, end); } - fp_printf(fp, "%2d 0x%02X %4d %4d %4d 0x%02X %4d %4d %4d %11lld %11lld\n", + fp_printf(fp, "%2d 0x%02X %4d %4d %5d 0x%02X %4d %4d %5d %11lld %11lld\n", num+1, flags, sh, ss, sc, id, eh, es, ec, first, size); } @@ -2202,9 +2202,9 @@ print_part_table(void) { fp_printf(fp, _("Partition Table for %s\n"), disk_device); fp_printf(fp, "\n"); /* Three-line heading. Read "Start Sector" etc vertically. */ - fp_printf(fp, _(" ---Starting--- ----Ending---- Start Number of\n")); - fp_printf(fp, _(" # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n")); - fp_printf(fp, _("-- ----- ---- ---- ---- ---- ---- ---- ---- ----------- -----------\n")); + fp_printf(fp, _(" ---Starting---- ----Ending----- Start Number of\n")); + fp_printf(fp, _(" # Flags Head Sect Cyl ID Head Sect Cyl Sector Sectors\n")); + fp_printf(fp, _("-- ----- ---- ---- ----- ---- ---- ---- ----- ----------- -----------\n")); for (i = 0; i < 4; i++) { for (j = 0; -- cgit v1.2.3 From 77337bfb7f05f3f0d5cca5d4c9feb0771f87af0c Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 26 Nov 2007 14:45:55 +0100 Subject: agetty: cleanup MAXHOSTNAMELEN Cc: Samuel Thibault Signed-off-by: Karel Zak --- login-utils/agetty.c | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) diff --git a/login-utils/agetty.c b/login-utils/agetty.c index 6640cf2b..cbae0923 100644 --- a/login-utils/agetty.c +++ b/login-utils/agetty.c @@ -116,22 +116,12 @@ #define TCSETAW TCSETSW #endif - /* - * This program tries to not use the standard-i/o library. This keeps the - * executable small on systems that do not have shared libraries (System V - * Release <3). - */ -#ifndef BUFSIZ -#define BUFSIZ 1024 -#endif - -/* set a maximum length for the hostname, */ -#ifdef HOST_NAME_MAX -# define HOSTNAME_LENGTH HOST_NAME_MAX /* defined by POSIX.1 */ -#elif defined(MAXHOSTNAMELEN) -# define HOSTNAME_LENGTH MAXHOSTNAMELEN /* implemented in current Unix-versions */ -#else -# define HOSTNAME_LENGTH 255 +#ifndef MAXHOSTNAMELEN +# ifdef HOST_NAME_MAX +# define MAXHOSTNAMELEN HOST_NAME_MAX +# else +# define MAXHOSTNAMELEN 64 +# endif #endif /* @@ -884,7 +874,7 @@ do_prompt(op, tp) case 'o': { - char domainname[HOST_NAME_MAX+1]; + char domainname[MAXHOSTNAMELEN+1]; #ifdef HAVE_GETDOMAINNAME if (getdomainname(domainname, sizeof(domainname))) #endif @@ -897,7 +887,7 @@ do_prompt(op, tp) case 'O': { char *dom = "unknown_domain"; - char host[HOST_NAME_MAX + 1]; + char host[MAXHOSTNAMELEN+1]; struct addrinfo hints, *info = NULL; memset(&hints, 0, sizeof(hints)); @@ -992,7 +982,7 @@ do_prompt(op, tp) } #endif { - char hn[HOST_NAME_MAX+1]; + char hn[MAXHOSTNAMELEN+1]; if (gethostname(hn, sizeof(hn)) == 0) write(1, hn, strlen(hn)); } -- cgit v1.2.3 From 06038c3d1d674d1f17a6d42640d363f3a4898bba Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 26 Nov 2007 14:45:55 +0100 Subject: wall: cleanup MAXHOSTNAMELEN Cc: Samuel Thibault Signed-off-by: Karel Zak --- login-utils/wall.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/login-utils/wall.c b/login-utils/wall.c index c9893d7e..42856ae3 100644 --- a/login-utils/wall.c +++ b/login-utils/wall.c @@ -67,6 +67,14 @@ void makemsg __P((char *)); #define IGNOREUSER "sleeper" +#ifndef MAXHOSTNAMELEN +# ifdef HOST_NAME_MAX +# define MAXHOSTNAMELEN HOST_NAME_MAX +# else +# define MAXHOSTNAMELEN 64 +# endif +#endif + int nobanner; int mbufsize; char *mbuf; -- cgit v1.2.3 From e27a08abb743d32c8834d79fc7741c32e618e476 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 26 Nov 2007 14:58:29 +0100 Subject: namei: non-linux support (get_current_dir_name() and PATH_MAX) Co-Author: Samuel Thibault Signed-off-by: Karel Zak --- configure.ac | 1 + misc-utils/namei.c | 19 +++++++++++++++---- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/configure.ac b/configure.ac index dacc7962..ed12e60b 100644 --- a/configure.ac +++ b/configure.ac @@ -56,6 +56,7 @@ AC_CHECK_FUNCS( [inet_aton \ fsync \ getdomainname \ + get_current_dir_name \ nanosleep \ personality \ updwtmp \ diff --git a/misc-utils/namei.c b/misc-utils/namei.c index 0db176a6..e8f7a8bd 100644 --- a/misc-utils/namei.c +++ b/misc-utils/namei.c @@ -73,6 +73,10 @@ int xflag = 0; #define MAXSYMLINKS 256 #endif +#ifndef PATH_MAX +#define PATH_MAX 4096 +#endif + static char *pperm(unsigned short); static void namei(char *, int, mode_t *); static void usage(void); @@ -81,7 +85,11 @@ int main(int argc, char **argv) { extern int optind; int c; - char curdir[MAXPATHLEN]; +#ifdef HAVE_GET_CURRENT_DIR_NAME + char *curdir; +#else + char curdir[PATH_MAX]; +#endif setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, LOCALEDIR); @@ -106,7 +114,12 @@ main(int argc, char **argv) { } } - if(getcwd(curdir, sizeof(curdir)) == NULL){ +#ifdef HAVE_GET_CURRENT_DIR_NAME + if (!(curdir = get_current_dir_name())) +#else + if(getcwd(curdir, sizeof(curdir)) == NULL) +#endif + { (void)fprintf(stderr, _("namei: unable to get current directory - %s\n"), curdir); @@ -140,8 +153,6 @@ usage(void) { #define NODEV (dev_t)(-1) #endif -int kzak; - static void namei(char *file, int lev, mode_t *lastmode) { char *cp; -- cgit v1.2.3 From 7e5fad475258e0b77857011ebdccdcb045a4cd38 Mon Sep 17 00:00:00 2001 From: Karel Zak Date: Mon, 26 Nov 2007 15:19:29 +0100 Subject: fdisk: non-linux support (MAXPATHLEN) Signed-off-by: Karel Zak --- fdisk/fdiskbsdlabel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fdisk/fdiskbsdlabel.c b/fdisk/fdiskbsdlabel.c index 01912ab5..377b64ec 100644 --- a/fdisk/fdiskbsdlabel.c +++ b/fdisk/fdiskbsdlabel.c @@ -515,7 +515,7 @@ static void xbsd_write_bootstrap (void) { char *bootdir = BSD_LINUX_BOOTDIR; - char path[MAXPATHLEN]; + char path[sizeof(BSD_LINUX_BOOTDIR) + 1 + 2 + 4]; /* BSD_LINUX_BOOTDIR + / + {sd,wd} + boot */ char *dkbasename; struct xbsd_disklabel dl; char *d, *p, *e; -- cgit v1.2.3