]> err.no Git - util-linux/commitdiff
Imported from util-linux-2.11b tarball.
authorKarel Zak <kzak@redhat.com>
Wed, 6 Dec 2006 23:25:46 +0000 (00:25 +0100)
committerKarel Zak <kzak@redhat.com>
Wed, 6 Dec 2006 23:25:46 +0000 (00:25 +0100)
131 files changed:
HISTORY
INSTALL
MCONFIG
Makefile
VERSION
configure
disk-utils/fdformat.c
disk-utils/fsck.minix.c
disk-utils/mkfs.8
disk-utils/mkfs.c
disk-utils/mkswap.c
disk-utils/setfdprm.c
fdisk/Makefile
fdisk/cfdisk.c
fdisk/fdisk.c
fdisk/fdisk.h
fdisk/fdiskbsdlabel.c
fdisk/fdisksgilabel.c
fdisk/fdisksgilabel.h
fdisk/fdisksunlabel.c
fdisk/i386_sys_types.c
games/banner.c
getopt-1.1.0a/Changelog
getopt-1.1.0a/getopt.c
hwclock/clock-ppc.c
hwclock/cmos.c
hwclock/hwclock.8
hwclock/kd.c
hwclock/rtc.c
kbd/Makefile [deleted file]
kbd/README [deleted file]
kbd/kbdrate.8 [deleted file]
kbd/kbdrate.c [deleted file]
lib/Makefile
lib/env.c
lib/pathnames.h
lib/widechar.h
lib/xstrncpy.c [new file with mode: 0644]
lib/xstrncpy.h [new file with mode: 0644]
login-utils/Makefile
login-utils/agetty.c
login-utils/checktty.c
login-utils/chfn.c
login-utils/chsh.c
login-utils/cryptocard.c
login-utils/islocal.c
login-utils/last.c
login-utils/login.c
login-utils/mesg.c
login-utils/newgrp.c
login-utils/passwd.c
login-utils/setpwnam.h
login-utils/shutdown.c
login-utils/simpleinit.c
login-utils/ttymsg.c
login-utils/vipw.c
login-utils/wall.c
misc-utils/Makefile
misc-utils/cal.c
misc-utils/ddate.c
misc-utils/flushb.c [new file with mode: 0644]
misc-utils/kill.1
misc-utils/kill.c
misc-utils/logger.c
misc-utils/look.c
misc-utils/mcookie.c
misc-utils/namei.c
misc-utils/script.c
misc-utils/setterm.c
misc-utils/tsort.1 [deleted file]
misc-utils/tsort.c [deleted file]
misc-utils/whereis.c
misc-utils/write.c
mount/Makefile
mount/fstab.5
mount/fstab.c
mount/lomount.c
mount/mntent.c
mount/mount.8
mount/mount.c
mount/mount_by_label.c
mount/mount_constants.h
mount/mount_guess_fstype.c
mount/mount_guess_rootdev.c
mount/nfs.5
mount/nfsmount.c
mount/sundries.c
mount/swapon.c
mount/umount.c
po/ChangeLog
po/Makefile
po/POTFILES.in
po/cat-id-tbl.c
po/cs.po
po/da.po
po/de.po
po/es.po
po/fr.po
po/it.po
po/ja.po
po/nl.po
po/pt_BR.po
sys-utils/ctrlaltdel.c
sys-utils/cytune.c
sys-utils/dmesg.c
sys-utils/ipcrm.c
sys-utils/ipcs.c
sys-utils/rdev.c
sys-utils/readprofile.1
sys-utils/readprofile.c
sys-utils/renice.c
sys-utils/setsid.c
sys-utils/tunelp.c
text-utils/Makefile
text-utils/README.clear [moved from kbd/README.clear with 100% similarity]
text-utils/README.reset [moved from kbd/README.reset with 100% similarity]
text-utils/clear [moved from kbd/clear with 100% similarity]
text-utils/clear.1 [moved from kbd/clear.1 with 100% similarity]
text-utils/col.c
text-utils/colcrt.c
text-utils/colrm.c
text-utils/column.c
text-utils/hexdump.c
text-utils/hexsyntax.c
text-utils/more.1
text-utils/more.c
text-utils/odsyntax.c
text-utils/parse.c
text-utils/reset [moved from kbd/reset with 100% similarity]
text-utils/rev.c
text-utils/ul.c

diff --git a/HISTORY b/HISTORY
index 265d02f3e950f31d2af4e4750376cbb41041d2ac..92d6b89ec09a6fdd938751be920a9da46a27afe0 100644 (file)
--- a/HISTORY
+++ b/HISTORY
@@ -1,3 +1,39 @@
+util-linux 2.11b:
+
+* Danish messages (Claus Hindsgaul)
+* umount: mips does not support umount2 (Christoph Martin)
+* fdisk: tiny fix
+* mount.8: adfs options documented, xfs corrected
+
+util-linux 2.11a:
+
+* tsort: deleted - it is part of GNU textutils 2.0
+* mount: fix rootdev() (Richard Kettlewell)
+* mount: fix gid of mtab file
+* mount: try /proc/filesystems after /etc/filesystems if the latter ends in "*"
+* fdisk: added a few system types
+
+util-linux 2.11:
+
+* Jump to 2.11 to note that libc-4.5.26 is no longer supported,
+  and we require libc-4.6.27 (since now snprintf is used).
+  Also, kbdrate has now been removed. Find it in kbd-1.05.
+  Added -D_FILE_OFFSET_BITS=64 to CFLAGS.
+* Danish messages (Claus Hindsgaul)
+* fdisk: avoid loop in case of extended without logical
+* ipcs: corrected interchanged report on msg_rtime/msg_stime (Arun Kumar U)
+* kill: updated manpage
+* last: very much faster with mmap (Marek Zelem)
+* login: Applied PAM patch by David MacKenzie <djm@web.us.uu.net>
+* login: do a setsid in the child (Erik Troan)
+* mount: make "mount 192.168.1.8:/ /a -o bg" work again (Bjoern Voigt)
+* mount: added constant MS_MOVE
+* readprofile: added -M option, updated manpage (Andrew Morton)
+* setsid: fork when it would fail otherwise (John Fremlin)
+* simpleinit: updated (Richard Gooch et al.)
+* vipw: also offer to edit shadow file (Erik Troan)
+* xfs docs (Nathan Scott)
+
 util-linux 2.10s:
 
 * Danish messages (Claus Hindsgaul)
@@ -275,7 +311,7 @@ util-linux 2.9n:
 
 util-linux 2.9m:
 
-* Added national language support (misiek@misiek.eu.org)
+* Added national language support (misiek@pld.ORG.PL)
 * minor improvements in mount, fdisk, cfdisk, agetty, more
 
 util-linux 2.9l:
diff --git a/INSTALL b/INSTALL
index fe3359fca5e7213f66fbe16503f34e133462277a..4b47ba0d066c66a16dbe3be806334e1fd2175aeb 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -65,6 +65,13 @@ Warnings like
   <asm/mman.h>:30: warning: this is the location of the previous definition
 are caused by the libc/kernel combination.
 
+Warnings like
+  setterm.c:805: warning: passing arg 1 of `tigetstr' discards qualifiers
+    from pointer target type
+  login.c:979: warning: passing arg 1 of `putenv' discards qualifiers
+    from pointer target type
+are caused by bad ncurses or glibc header files.
+
 All such warnings are harmless.
 There should be no compilation errors.
 
diff --git a/MCONFIG b/MCONFIG
index a97f259d846813e7ed887861c4ce88b06bf607a7..e53915ab57f5e99963bb8caded55fbc46a761523 100644 (file)
--- a/MCONFIG
+++ b/MCONFIG
@@ -80,10 +80,6 @@ HAVE_RESET=yes
 # sln also comes with libc and glibc.
 HAVE_SLN=no
 
-# If HAVE_TSORT is set to "yes", then tsort won't be installed.
-# GNU textutils 2.0 includes tsort.
-HAVE_TSORT=no
-
 # If HAVE_FDUTILS is set to "yes", then setfdprm won't be installed.
 HAVE_FDUTILS=no
 
@@ -168,6 +164,7 @@ INSTALLSUID=    $(INSTALL) -m $(SUIDMODE) -o root
 
 CFLAGS    := $(CFLAGS) $(OPT) -I$(LIB) $(WARNFLAGS) \
                        $(CURSESFLAGS) $(SLANGFLAGS) \
+                       -D_FILE_OFFSET_BITS=64 \
                        -DSBINDIR=\"$(SBINDIR)\" \
                        -DUSRSBINDIR=\"$(USRSBINDIR)\" \
                        -DLOGDIR=\"$(LOGDIR)\" \
index 0d68c83336017f931d9a62a37863ccfbb9073a4e..0cca8433682317f243edb976817e2c3a2c766296 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -19,8 +19,7 @@ SUBDIRS=po \
        fdisk \
        hwclock \
        sys-utils \
-       text-utils \
-       kbd
+       text-utils
 
 .PHONEY: all install clean now
 all:   defines.h
diff --git a/VERSION b/VERSION
index 77744d0d22f2f75588d2414988d17d7ff30ee8dd..5b0f3c85546aff9645ee85b351490cf54950d194 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.10s
+2.11b
index fd5ab6422f99a7db5db5a921af7f74911bf4adce..8de131a80628e8cbe8c52afdf1d3c64a91da4495 100755 (executable)
--- a/configure
+++ b/configure
@@ -9,7 +9,7 @@
 # H3. For kbd_rate.c: does <linux/kd.h> exist?
 # H4. For nls.h: do we have <locale.h>?
 # H5. For cal.c: do we have <langinfo.h>?
-# H6. For mkswap.c: do we have <asm/page.h>?
+# H6. For mkswap.c: do we have <sys/user.h> or <asm/page.h>?
 # H7. For nfsmount.h (nfsmount_xdr.c: int32_t): do we have <asm/types.h>?
 #
 # Existence of functions:
@@ -18,6 +18,7 @@
 # F3. For agetty.c: is getdomainname() available?
 # F4. For hwclock/kd.c: do we have nanosleep()?
 # F5. For mkswap.c: do we have personality()?
+# F6. For agetty.c: is updwtmp() available?
 #
 #  1. For sys-utils/cytune.c: do we need <linux/tqueue.h>?
 #  2. For cfdisk, setterm, more, ul: do we have ncurses? How installed?
@@ -114,11 +115,13 @@ if ./testincl "langinfo.h"; then
 fi
 
 #
-# H6. For mkswap.c: do we have <asm/page.h>?
+# H6. For mkswap.c: do we have <sys/user.h> or <asm/page.h>?
 #
-if ./testincl "asm/page.h"; then
+if ./testincl "sys/user.h"; then
+        echo "#define HAVE_sys_user_h" >> defines.h
+else if ./testincl "asm/page.h"; then
         echo "#define HAVE_asm_page_h" >> defines.h
-fi
+fi fi
 
 #
 # H7. For nfsmount.h: do we have <asm/types.h>?
@@ -234,6 +237,29 @@ else
 fi
 rm -f conftest conftest.c
 
+#
+# F6. For agetty.c: is updwtmp() available?
+#
+echo '
+#include <string.h>
+#include <utmp.h>
+main(int a, char **v){
+  struct  utmp ut;
+  memset (&ut, 0, sizeof(ut));
+  if (a == -1)  /* false */
+    updwtmp("/nowhere/wtmp", &ut);
+  exit(0);
+}
+' > conftest.c
+eval $compile
+if test -s conftest && ./conftest 2>/dev/null; then
+        echo "#define HAVE_updwtmp" >> defines.h
+        echo "You have updwtmp()"
+else
+        echo "You don't have updwtmp()"
+fi
+rm -f conftest conftest.c
+
 
 #
 # 1. cytune.c may need struct tq_struct
index b4aec0076bcaac7a730aac1ef35dd541cb396d57..cfbb455ce35c5e15e9f71635fb98c6078485b9a5 100644 (file)
@@ -1,6 +1,6 @@
 /* fdformat.c  -  Low-level formats a floppy disk - Werner Almesberger */
 
-/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  * 1999-03-20 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
  & - more i18n/nls translatable strings marked
index 1f040eb52e7d2a493ce10130179481d09b9155c3..e36594aa20f8a3fbd734e523aad6bfc121dfe5c3 100644 (file)
@@ -62,7 +62,7 @@
  * 06.11.96  - Added v2 code submitted by Joerg Dorchain, but written by
  *             Andreas Schwab.
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  *
@@ -211,10 +211,10 @@ die(const char *str) {
  */
 static void
 print_current_name(void) {
-       int i=0;
+       int i = 0;
 
-       while (i<name_depth)
-               printf("/%.*s",namelen,name_list[i++]);
+       while (i < name_depth)
+               printf("/%.*s", namelen, name_list[i++]);
        if (i == 0)
                printf ("/");
 }
@@ -978,7 +978,7 @@ check_file(struct minix_inode * dir, unsigned int offset) {
        if (!inode)
                return;
        if (name_depth < MAX_DEPTH)
-               strncpy(name_list[name_depth],name,namelen);
+               strncpy(name_list[name_depth], name, namelen);
        name_depth++;   
        if (list) {
                if (verbose)
index 260b4e0995d329849e5a048d5ac2ce511049b933..da69772c99e234f7b98f4fd36dd037ec48a2a08a 100644 (file)
@@ -116,4 +116,5 @@ for the ext2 file system.
 .BR mkfs.ext2 (8),
 .BR mkfs.minix (8),
 .BR mkfs.msdos (8),
+.BR mkfs.xfs (8),
 .BR mkfs.xiafs (8)
index 5ca2704c50cacef304e339d90f8789b94463cf14..51b18f301c023dd3d5837f0ad0eab870cd3b1962 100644 (file)
@@ -10,7 +10,7 @@
  *
  * Mon Jul  1 18:52:58 1996: janl@math.uio.no (Nicolai Langfeldt):
  *     Incorporated fix by Jonathan Kamens <jik@annex-1-slip-jik.cam.ov.com>
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *     
  */
@@ -92,7 +92,7 @@ int main(int argc, char *argv[])
   }
   sprintf(newpath, "%s:%s\n", SEARCH_PATH, oldpath);
   putenv(newpath);
-  sprintf(progname, PROGNAME, fstype);
+  snprintf(progname, sizeof(progname), PROGNAME, fstype);
   argv[--optind] = progname;
 
   if (verbose) {
index 6bd96d9043f8b5eb5131ba4e2c8bcb635aa64f5a..ea2ec20dc98c579d06699a8bc00aade998d61370 100644 (file)
@@ -26,7 +26,7 @@
  * V1_MAX_PAGES fixes, jj, 990325.
  * sparc64 fixes, jj, 000219.
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  * 
  */
 #include <sys/stat.h>
 #include "nls.h"
 
+/* Try to get PAGE_SIZE from libc or kernel includes */
+#ifdef HAVE_sys_user_h
+                               /* Note: <sys/user.h> says: for gdb only */
+#include <sys/user.h>          /* for PAGE_SIZE and PAGE_SHIFT */
+#else
 #ifdef HAVE_asm_page_h
 #include <asm/page.h>          /* for PAGE_SIZE and PAGE_SHIFT */
                                /* we also get PAGE_SIZE via getpagesize() */
-/* recent glibc systems also define this in <sys/user.h> */
 #endif
-
+#endif
 
 #ifndef _IO
 /* pre-1.3.45 */
index 958f98c16c05b62fa025c98fd0a6f68e75deb7fa..aee8a4d162495916b7c18ca3345d7113f69172c0 100644 (file)
@@ -1,7 +1,7 @@
 /* setfdprm.c  -  Sets user-provided floppy disk parameters, re-activates
                  autodetection and switches diagnostic messages. */
 
-/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  */
 
index 3a851fa027aa20801e4bb30d3aadf5ae7be88c79..ad774c888655dc4bb37e21ea938566fa952839df 100644 (file)
@@ -43,7 +43,7 @@ else
 endif
 endif
 
-cfdisk: cfdisk.o llseek.o i386_sys_types.o
+cfdisk: cfdisk.o llseek.o i386_sys_types.o $(LIB)/xstrncpy.o
 ifeq "$(HAVE_SLANG)" "yes"
        $(CC) $(LDFLAGS) $^ -o $@ $(LIBSLANG)
 else
index 055046d7bcfa1088ea6d60cc73c2dd6f90812423..8b5643e62f2f808d77bed397e14c92272bb1cda7 100644 (file)
@@ -76,6 +76,7 @@
 #include <linux/hdreg.h>
 
 #include "nls.h"
+#include "xstrncpy.h"
 #include "common.h"
 
 #if defined(__GNUC__) || defined(HAS_LONG_LONG)
@@ -516,23 +517,26 @@ print_warning(char *s) {
 
 static void
 fatal(char *s, int ret) {
-    char *err = _("FATAL ERROR");
+    char *err1 = _("FATAL ERROR");
+    char *err2 = _("Press any key to exit cfdisk");
 
     if (curses_started) {
-        char *str = xmalloc(strlen(s) + strlen(err) + 10);
-        /* snprintf does not compile on all libc's */
-        sprintf(str, "%s: %s", err, s);
+        char *str = xmalloc(strlen(s) + strlen(err1) + strlen(err2) + 10);
+
+        sprintf(str, "%s: %s", err1, s);
         if (strlen(str) > COLS)
-                str[COLS] = 0;
+            str[COLS] = 0;
         mvaddstr(WARNING_START, (COLS-strlen(str))/2, str);
-        sprintf(str, _("Press any key to exit cfdisk"));
+        sprintf(str, "%s", err2);
+        if (strlen(str) > COLS)
+            str[COLS] = 0;
         mvaddstr(WARNING_START+1, (COLS-strlen(str))/2, str);
         putchar(BELL); /* CTRL-G */
         refresh();
         (void)getch();
         die_x(ret);
     } else {
-        fprintf(stderr, "%s: %s\n", err, s);
+        fprintf(stderr, "%s: %s\n", err1, s);
         exit(ret);
     }
 }
@@ -1034,17 +1038,15 @@ menuUpdate( int y, int x, struct MenuItem *menuItems, int itemLength,
     /* Print available buttons */
     move( y, x ); clrtoeol();
 
-    for( i = 0; menuItems[i].key; i++ )
-    {
+    for( i = 0; menuItems[i].key; i++ ) {
         char buff[20];
         int lenName;
        const char *mi;
 
         /* Search next available button */
         while( menuItems[i].key && !strchr(available, menuItems[i].key) )
-        {
             i++;
-        }
+
         if( !menuItems[i].key ) break; /* No more menu items */
 
         /* If selected item is not available and we have bypassed it,
@@ -1066,15 +1068,13 @@ menuUpdate( int y, int x, struct MenuItem *menuItems, int itemLength,
             print_warning(_("Menu item too long. Menu may look odd."));
 #endif
        if (lenName >= sizeof(buff)) {  /* truncate ridiculously long string */
-           strncpy( buff, mi, sizeof(buff)-1);
-           buff[sizeof(buff)-1] = 0;
-       } else
-        if( menuType & MENU_BUTTON )
-            sprintf( buff, "[%*s%-*s]", (itemLength - lenName) / 2, "",
-                (itemLength - lenName + 1) / 2 + lenName, mi );
-        else
-            sprintf( buff, "%*s%-*s", (itemLength - lenName) / 2, "",
-                (itemLength - lenName + 1) / 2 + lenName, mi );
+           xstrncpy( buff, mi, sizeof(buff));
+       } else {
+            snprintf(buff, sizeof(buff),
+                    (menuType & MENU_BUTTON) ? "[%*s%-*s]" : "%*s%-*s",
+                    (itemLength - lenName) / 2, "",
+                    (itemLength - lenName + 1) / 2 + lenName, mi);
+       }
         mvaddstr( y, x, buff );
 
         /* Lowlight after selected item */
@@ -1339,7 +1339,7 @@ new_part(int i) {
     else
        print_warning(_("!!! Internal error !!!"));
 
-    sprintf(def, "%.2f", num_sects/sectors_per_MB);
+    snprintf(def, sizeof(def), "%.2f", num_sects/sectors_per_MB);
     mvaddstr(COMMAND_LINE_Y, COMMAND_LINE_X, _("Size (in MB): "));
     if ((len = get_string(response, LINE_LENGTH, def)) <= 0 &&
        len != GS_DEFAULT)
@@ -1548,7 +1548,6 @@ fill_p_info(void) {
                add_part(i, p->sys_ind, p->boot_ind,
                         ((bs <= sectors) ? 0 : bs), bs + bsz - 1,
                         ((bs <= sectors) ? bs : 0), 1, &errmsg)) {
-                   /* avoid snprintf - it does not exist on ancient systems */
                    char *bad = _("Bad primary partition");
                    char *msg = (char *) xmalloc(strlen(bad) + strlen(errmsg) + 30);
                    sprintf(msg, "%s %d: %s", bad, i, errmsg);
@@ -1579,7 +1578,6 @@ fill_p_info(void) {
                             logical_sectors[logical-1],
                             logical_sectors[logical-1] + bs + bsz - 1,
                             bs, 1, &errmsg)) {
-                               /* avoid snprintf */
                                char *bad = _("Bad logical partition");
                                char *msg = (char *) xmalloc(strlen(bad) + strlen(errmsg) + 30);
                                sprintf(msg, "%s %d: %s", bad, i-1, errmsg);
@@ -1751,8 +1749,10 @@ write_part_table(void) {
     for (i = 0; i < num_parts; i++)
        if (IS_PRIMARY(i) && p_info[i].flags == ACTIVE_FLAG)
            ct++;
-    if (ct != 1)
-       print_warning(_("Not precisely one primary partition is bootable. DOS MBR cannot boot this."));
+    if (ct == 0)
+       print_warning(_("No primary partitions are marked bootable. DOS MBR cannot boot this."));
+    if (ct > 1)
+       print_warning(_("More than one primary partition is marked bootable. DOS MBR cannot boot this."));
 }
 
 static void
@@ -1762,7 +1762,7 @@ fp_printf(FILE *fp, char *format, ...) {
     int y, x;
 
     va_start(args, format);
-    vsprintf(buf, format, args);
+    vsnprintf(buf, sizeof(buf), format, args);
     va_end(args);
 
     if (fp == NULL) {
@@ -1818,7 +1818,8 @@ print_raw_table(void) {
        if (to_file) {
            if ((fp = fopen(fname, "w")) == NULL) {
                char errstr[LINE_LENGTH];
-               sprintf(errstr, _("Cannot open file '%s'"), fname);
+               snprintf(errstr, sizeof(errstr),
+                        _("Cannot open file '%s'"), fname);
                print_warning(errstr);
                return;
            }
index 969bf87901269379c764e0ad19d8650b60ffc181..a439f327340910e89558a472d08599fedefc7f56 100644 (file)
@@ -66,7 +66,7 @@ static void delete_partition(int i);
                        })
 
 
-#define LINE_LENGTH    80
+#define LINE_LENGTH    800
 #define pt_offset(b, n)        ((struct partition *)((b) + 0x1be + \
                                (n) * sizeof(struct partition)))
 #define sector(s)      ((s) & 0x3f)
@@ -222,25 +222,31 @@ void fatal(enum failure why) {
 "  ...\n");
                        break;
                case unable_to_open:
-                       sprintf(error, _("Unable to open %s\n"), disk_device);
+                       snprintf(error, sizeof(error),
+                                _("Unable to open %s\n"), disk_device);
                        break;
                case unable_to_read:
-                       sprintf(error, _("Unable to read %s\n"), disk_device);
+                       snprintf(error, sizeof(error),
+                                _("Unable to read %s\n"), disk_device);
                        break;
                case unable_to_seek:
-                       sprintf(error, _("Unable to seek on %s\n"),disk_device);
+                       snprintf(error, sizeof(error),
+                               _("Unable to seek on %s\n"),disk_device);
                        break;
                case unable_to_write:
-                       sprintf(error, _("Unable to write %s\n"), disk_device);
+                       snprintf(error, sizeof(error),
+                               _("Unable to write %s\n"), disk_device);
                        break;
                case ioctl_error:
-                       sprintf(error, _("BLKGETSIZE ioctl failed on %s\n"),
+                       snprintf(error, sizeof(error),
+                                _("BLKGETSIZE ioctl failed on %s\n"),
                                disk_device);
                        break;
                case out_of_memory:
                        message = _("Unable to allocate any more memory\n");
                        break;
-               default: message = _("Fatal error\n");
+               default:
+                       message = _("Fatal error\n");
        }
 
        fputc('\n', stderr);
@@ -282,7 +288,7 @@ read_pte(int fd, int pno, uint offset) {
        pe->changed = 0;
        pe->part_table = pe->ext_pointer = NULL;
 }
-       
+
 static unsigned int
 get_partition_start(struct pte *pe) {
        return pe->offset + get_start_sect(pe->part_table);
@@ -623,17 +629,18 @@ read_extended(int ext) {
                for (i = 0; i < 4; i++, p++) if (get_nr_sects(p)) {
                        if (IS_EXTENDED (p->sys_ind)) {
                                if (pe->ext_pointer)
-                                       fprintf(stderr, _("Warning: extra link"
-                                                         " pointer in partition table "
-                                                         "%d\n"), partitions + 1);
+                                       fprintf(stderr,
+                                               _("Warning: extra link "
+                                                 "pointer in partition table"
+                                                 " %d\n"), partitions + 1);
                                else
                                        pe->ext_pointer = p;
                        } else if (p->sys_ind) {
                                if (pe->part_table)
                                        fprintf(stderr,
-                                               _("Warning: ignoring extra data "
-                                                 "in partition table %d\n"),
-                                               partitions + 1);
+                                               _("Warning: ignoring extra "
+                                                 "data in partition table"
+                                                 " %d\n"), partitions + 1);
                                else
                                        pe->part_table = p;
                        }
@@ -662,7 +669,8 @@ read_extended(int ext) {
        for (i = 4; i < partitions; i++) {
                struct pte *pe = &ptes[i];
 
-               if (!get_nr_sects(pe->part_table)) {
+               if (!get_nr_sects(pe->part_table) &&
+                   (partitions > 5 || ptes[4].part_table->sys_ind)) {
                        printf("omitting empty partition (%d)\n", i+1);
                        delete_partition(i);
                        goto remove;    /* numbering changed */
@@ -682,10 +690,10 @@ create_doslabel(void) {
        sun_nolabel();  /* otherwise always recognised as sun */
        sgi_nolabel();  /* otherwise always recognised as sgi */
 
+       for (i = 510-64; i < 510; i++)
+               MBRbuffer[i] = 0;
        write_part_table_flag(MBRbuffer);
-       for (i = 0; i < 4; i++)
-           if (ptes[i].part_table)
-               clear_partition(ptes[i].part_table);
+       extended_offset = 0;
        set_all_unchanged();
        set_changed(0);
        get_boot(create_empty);
@@ -969,8 +977,8 @@ read_int(uint low, uint dflt, uint high, uint base, char *mesg)
        static char *ms = NULL;
        static int mslen = 0;
 
-       if (!ms || strlen(mesg)+50 > mslen) {
-               mslen = strlen(mesg)+100;
+       if (!ms || strlen(mesg)+100 > mslen) {
+               mslen = strlen(mesg)+200;
                if (!(ms = realloc(ms,mslen)))
                        fatal(out_of_memory);
        }
@@ -979,9 +987,11 @@ read_int(uint low, uint dflt, uint high, uint base, char *mesg)
                default_ok = 0;
 
        if (default_ok)
-               sprintf(ms, _("%s (%d-%d, default %d): "), mesg, low, high, dflt);
+               snprintf(ms, mslen, _("%s (%d-%d, default %d): "),
+                        mesg, low, high, dflt);
        else
-               sprintf(ms, "%s (%d-%d): ", mesg, low, high);
+               snprintf(ms, mslen, "%s (%d-%d): ",
+                        mesg, low, high);
 
        while (1) {
                int use_default = default_ok;
@@ -1137,12 +1147,15 @@ delete_partition(int i) {
        }
 
        if (!q->sys_ind && i > 4) {
+               /* the last one in the chain - just delete */
                --partitions;
                --i;
                clear_partition(ptes[i].ext_pointer);
                ptes[i].changed = 1;
        } else {
+               /* not the last one - further ones will be moved down */
                if (i > 4) {
+                       /* delete this link in the chain */
                        p = ptes[i-1].ext_pointer;
                        p->boot_ind = 0;
                        p->head = q->head;
@@ -1156,6 +1169,7 @@ delete_partition(int i) {
                        set_nr_sects(p, get_nr_sects(q));
                        ptes[i-1].changed = 1;
                } else if (partitions > 5) {    /* 5 will be moved to 4 */
+                       /* the first logical in a longer chain */
                        struct pte *pe = &ptes[5];
 
                        if(pe->part_table) /* prevent SEGFAULT */
@@ -1173,6 +1187,7 @@ delete_partition(int i) {
                                i++;
                        }
                } else
+                       /* the only logical: clear only */
                        clear_partition(ptes[i].part_table);
        }
 }
@@ -1185,12 +1200,12 @@ change_sysid(void) {
 
        origsys = sys = get_sysid(i);
 
-       if (!sys && !sgi_label)
+       if (!sys && !sgi_label && !sun_label)
                 printf(_("Partition %d does not exist yet!\n"), i + 1);
         else while (1) {
                sys = read_hex (get_sys_types());
 
-               if (!sys && !sgi_label) {
+               if (!sys && !sgi_label && !sun_label) {
                        printf(_("Type 0 means free space to many systems\n"
                               "(but not to Linux). Having partitions of\n"
                               "type 0 is probably unwise. You can delete\n"
@@ -1460,7 +1475,7 @@ list_table(int xtra) {
                        check_consistency(p, i);
                }
        }
-       
+
        /* Is partition table in disk order? It need not be, but... */
        /* partition table entries are not checked for correct order if this
           is a sgi, sun or aix labeled disk... */
@@ -1543,7 +1558,7 @@ verify(void) {
        int i, j;
        uint total = 1;
        uint first[partitions], last[partitions];
-       struct partition *p = part_table[0];
+       struct partition *p;
 
        if (warn_geometry())
                return;
@@ -1642,7 +1657,7 @@ add_partition(int n, int sys) {
                for (i = 0; i < partitions; i++)
                        first[i] = (cround(first[i]) - 1) * units_per_sector;
 
-       sprintf(mesg, _("First %s"), str_units(SINGULAR));
+       snprintf(mesg, sizeof(mesg), _("First %s"), str_units(SINGULAR));
        do {
                temp = start;
                for (i = 0; i < partitions; i++) {
@@ -1701,8 +1716,9 @@ add_partition(int n, int sys) {
        if (cround(start) == cround(limit)) {
                stop = limit;
        } else {
-               sprintf(mesg, _("Last %s or +size or +sizeM or +sizeK"),
-                       str_units(SINGULAR));
+               snprintf(mesg, sizeof(mesg),
+                        _("Last %s or +size or +sizeM or +sizeK"),
+                        str_units(SINGULAR));
                stop = read_int(cround(start), cround(limit), cround(limit),
                                cround(start), mesg);
                if (display_in_cyl_units) {
@@ -1785,16 +1801,17 @@ new_partition(void) {
                        add_logical();
                else
                        printf(_("You must delete some partition and add "
-                               "an extended partition first\n"));
+                                "an extended partition first\n"));
        } else {
                char c, line[LINE_LENGTH];
-               sprintf(line, _("Command action\n   %s\n   p   primary "
-                       "partition (1-4)\n"), extended_offset ?
-                       _("l   logical (5 or over)") : _("e   extended"));
-               while (1)
+               snprintf(line, sizeof(line),
+                        _("Command action\n   %s\n   p   primary "
+                          "partition (1-4)\n"), extended_offset ?
+                        _("l   logical (5 or over)") : _("e   extended"));
+               while (1) {
                        if ((c = tolower(read_char(line))) == 'p') {
                                add_partition(get_partition(0, 4),
-                                       LINUX_NATIVE);
+                                             LINUX_NATIVE);
                                return;
                        }
                        else if (c == 'l' && extended_offset) {
@@ -1803,13 +1820,13 @@ new_partition(void) {
                        }
                        else if (c == 'e' && !extended_offset) {
                                add_partition(get_partition(0, 4),
-                                       EXTENDED);
+                                             EXTENDED);
                                return;
                        }
                        else
                                printf(_("Invalid partition number "
-                                      "for type `%c'\n"), c);
-               
+                                        "for type `%c'\n"), c);
+               }
        }
 }
 
@@ -2052,7 +2069,7 @@ is_ide_cdrom(char *device) {
 
     if (strncmp("/dev/hd", device, 7))
        return 0;
-    sprintf(buf, "/proc/ide/%s/media", device+5);
+    snprintf(buf, sizeof(buf), "/proc/ide/%s/media", device+5);
     procf = fopen(buf, "r");
     if (procf != NULL && fgets(buf, sizeof(buf), procf))
         return  !strncmp(buf, "cdrom", 5);
@@ -2068,34 +2085,34 @@ is_ide_cdrom(char *device) {
 static void
 try(char *device, int user_specified) {
        disk_device = device;
-       if (!setjmp(listingbuf)) {
-               if (!user_specified)
-                       if (is_ide_cdrom(device))
+       if (setjmp(listingbuf))
+               return;
+       if (!user_specified)
+               if (is_ide_cdrom(device))
+                       return;
+       if ((fd = open(disk_device, type_open)) >= 0) {
+               if (get_boot(try_only) < 0) {
+                       list_disk_geometry();
+                       if (aix_label)
                                return;
-               if ((fd = open(disk_device, type_open)) >= 0) {
-                       if (get_boot(try_only) < 0) {
-                               list_disk_geometry();
-                               if (aix_label)
-                                       return;
-                               if (btrydev(device) < 0)
-                                       fprintf(stderr,
-                                               _("Disk %s doesn't contain a valid "
-                                               "partition table\n"), device);
-                               close(fd);
-                       } else {
-                               close(fd);
-                               list_table(0);
-                               if (!sun_label && partitions > 4)
-                                       delete_partition(ext_index);
-                       }
+                       if (btrydev(device) < 0)
+                               fprintf(stderr,
+                                       _("Disk %s doesn't contain a valid "
+                                         "partition table\n"), device);
+                       close(fd);
                } else {
-                               /* Ignore other errors, since we try IDE
-                                  and SCSI hard disks which may not be
-                                  installed on the system. */
-                       if(errno == EACCES) {
-                           fprintf(stderr, _("Cannot open %s\n"), device);
-                           return;
-                       }
+                       close(fd);
+                       list_table(0);
+                       if (!sun_label && partitions > 4)
+                               delete_partition(ext_index);
+               }
+       } else {
+               /* Ignore other errors, since we try IDE
+                  and SCSI hard disks which may not be
+                  installed on the system. */
+               if(errno == EACCES) {
+                       fprintf(stderr, _("Cannot open %s\n"), device);
+                       return;
                }
        }
 }
@@ -2115,13 +2132,13 @@ tryprocpt(void) {
        }
 
        while (fgets(line, sizeof(line), procpt)) {
-               if (sscanf (line, " %d %d %d %[^\n]\n",
+               if (sscanf (line, " %d %d %d %[^\n ]",
                            &ma, &mi, &sz, ptname) != 4)
                        continue;
                for(s = ptname; *s; s++);
                if (isdigit(s[-1]))
                        continue;
-               sprintf(devname, "/dev/%s", ptname);
+               snprintf(devname, sizeof(devname), "/dev/%s", ptname);
                try(devname, 0);
        }
 }
index 868251dff91e829e113bd00c4b125516ce430c68..449f8dc3c1007edb53a332eefb1ed7eecf296705 100644 (file)
@@ -15,6 +15,8 @@
 #define LINUX_SWAP      0x82
 #define LINUX_NATIVE    0x83
 #define LINUX_EXTENDED  0x85
+#define LINUX_LVM       0x8e
+#define LINUX_RAID      0xfd
 
 #define IS_EXTENDED(i) \
        ((i) == EXTENDED || (i) == WIN98_EXTENDED || (i) == LINUX_EXTENDED)
@@ -67,7 +69,6 @@ extern int fd,
 extern uint display_in_cyl_units,
             units_per_sector;
 extern void change_units(void);
-extern struct partition *part_table[];
 extern void fatal(enum failure why);
 extern void get_geometry(int fd, struct geom *);
 extern int get_boot(enum action what);
index 0f3c681364b3a1da729ad90e36658186d139808c..80efc36e693b29020e58aa2a5bdf7d8abdbc2b34 100644 (file)
@@ -273,14 +273,14 @@ xbsd_new_part (void)
   end = xbsd_dlabel.d_secperunit - 1;
 #endif
 
-  sprintf (mesg, _("First %s"), str_units(SINGULAR));
+  snprintf (mesg, sizeof(mesg), _("First %s"), str_units(SINGULAR));
   begin = read_int (bsd_cround (begin), bsd_cround (begin), bsd_cround (end),
                    0, mesg);
 
   if (display_in_cyl_units)
     begin = (begin - 1) * xbsd_dlabel.d_secpercyl;
 
-  sprintf (mesg, _("Last %s or +size or +sizeM or +sizeK"),
+  snprintf (mesg, sizeof(mesg), _("Last %s or +size or +sizeM or +sizeK"),
           str_units(SINGULAR));
   end = read_int (bsd_cround (begin), bsd_cround (end), bsd_cround (end),
                  bsd_cround (begin), mesg);
@@ -517,13 +517,13 @@ xbsd_write_bootstrap (void)
   else
     dkbasename = "wd";
 
-  printf (_("Bootstrap: %sboot -> boot%s (%s): "), dkbasename, dkbasename, dkbasename);
-  if (read_line ())
-  {
+  printf (_("Bootstrap: %sboot -> boot%s (%s): "),
+         dkbasename, dkbasename, dkbasename);
+  if (read_line ()) {
     line_ptr[strlen (line_ptr)-1] = '\0';
     dkbasename = line_ptr;
   }
-  sprintf (path, "%s/%sboot", bootdir, dkbasename);
+  snprintf (path, sizeof(path), "%s/%sboot", bootdir, dkbasename);
   if (!xbsd_get_bootstrap (path, disklabelbuffer, (int) xbsd_dlabel.d_secsize))
     return;
 
@@ -534,15 +534,14 @@ xbsd_write_bootstrap (void)
   /* The disklabel will be overwritten by 0's from bootxx anyway */
   bzero (d, sizeof (struct xbsd_disklabel));
 
-  sprintf (path, "%s/boot%s", bootdir, dkbasename);
+  snprintf (path, sizeof(path), "%s/boot%s", bootdir, dkbasename);
   if (!xbsd_get_bootstrap (path, &disklabelbuffer[xbsd_dlabel.d_secsize],
                          (int) xbsd_dlabel.d_bbsize - xbsd_dlabel.d_secsize))
     return;
 
   e = d + sizeof (struct xbsd_disklabel);
   for (p=d; p < e; p++)
-    if (*p)
-    {
+    if (*p) {
       fprintf (stderr, _("Bootstrap overlaps with disk label!\n"));
       exit ( EXIT_FAILURE );
     }
@@ -588,7 +587,7 @@ xbsd_get_part_index (int max)
   char prompt[256];
   char l;
 
-  sprintf (prompt, _("Partition (a-%c): "), 'a' + max - 1);
+  snprintf (prompt, sizeof(prompt), _("Partition (a-%c): "), 'a' + max - 1);
   do
      l = tolower (read_char (prompt));
   while (l < 'a' || l > 'a' + max - 1);
index 97e6c595a3ecc158195d216327b4ad2274475550..09296905dceed8900ff5d0e48c4756716bb815b2 100644 (file)
@@ -76,23 +76,25 @@ isinfreelist( int b ) {
  * end of free blocks section
  */
 struct systypes sgi_sys_types[] = {
-    {SGI_VOLHDR,  N_("SGI volhdr")},
-    {0x01,       N_("SGI trkrepl")},
-    {0x02,       N_("SGI secrepl")},
-    {SGI_SWAP,   N_("SGI raw")},
-    {0x04,       N_("SGI bsd")},
-    {0x05,       N_("SGI sysv")},
-    {ENTIRE_DISK, N_("SGI volume")},
-    {SGI_EFS,    N_("SGI efs")},
-    {0x08,       N_("SGI lvol")},
-    {0x09,       N_("SGI rlvol")},
-    {0x0a,       N_("SGI xfs")},
-    {0x0b,       N_("SGI xlvol")},
-    {0x0c,       N_("SGI rxlvol")},
-    {LINUX_SWAP,  N_("Linux swap")},
-    {LINUX_NATIVE,N_("Linux native")},
-    {0x8e,       N_("Linux LVM")},
-    {0, NULL }
+       {SGI_VOLHDR,    N_("SGI volhdr")},
+       {0x01,          N_("SGI trkrepl")},
+       {0x02,          N_("SGI secrepl")},
+       {SGI_SWAP,      N_("SGI raw")},
+       {0x04,          N_("SGI bsd")},
+       {0x05,          N_("SGI sysv")},
+       {ENTIRE_DISK,   N_("SGI volume")},
+       {SGI_EFS,       N_("SGI efs")},
+       {0x08,          N_("SGI lvol")},
+       {0x09,          N_("SGI rlvol")},
+       {SGI_XFS,       N_("SGI xfs")},
+       {SGI_XFSLOG,    N_("SGI xfslog")},
+       {SGI_XLV,       N_("SGI xlv")},
+       {SGI_XVM,       N_("SGI xvm")},
+       {LINUX_SWAP,    N_("Linux swap")},
+       {LINUX_NATIVE,  N_("Linux native")},
+       {LINUX_LVM,     N_("Linux LVM")},
+       {LINUX_RAID,    N_("Linux RAID")},
+       {0, NULL }
 };
 
 static inline unsigned short
@@ -357,7 +359,7 @@ create_sgiinfo(void)
     /* I keep SGI's habit to write the sgilabel to the second block */
     sgilabel->directory[0].vol_file_start = SSWAP32( 2 );
     sgilabel->directory[0].vol_file_size = SSWAP32( sizeof( sgiinfo ) );
-    strncpy( sgilabel->directory[0].vol_file_name, "sgilabel",8 );
+    strncpy( sgilabel->directory[0].vol_file_name, "sgilabel", 8 );
 }
 
 sgiinfo * fill_sgiinfo(void);
@@ -681,7 +683,7 @@ sgi_add_partition( int n, int sys )
        printf(_("You got a partition overlap on the disk. Fix it first!\n"));
        return;
     }
-    sprintf(mesg, _("First %s"), str_units(SINGULAR));
+    snprintf(mesg, sizeof(mesg), _("First %s"), str_units(SINGULAR));
     for(;;) {
        if(sys == SGI_VOLUME) {
            last = sgi_get_lastblock();
@@ -708,7 +710,7 @@ sgi_add_partition( int n, int sys )
        } else
            break;
     }
-    sprintf(mesg, _(" Last %s"), str_units(SINGULAR));
+    snprintf(mesg, sizeof(mesg), _(" Last %s"), str_units(SINGULAR));
     last = read_int(scround(first), scround(last)-1, scround(last)-1,
                    scround(first), mesg)+1;
     if (display_in_cyl_units)
@@ -768,8 +770,12 @@ create_sgilabel(void)
     memset(MBRbuffer, 0, sizeof(MBRbuffer));
     sgilabel->magic = SSWAP32(SGI_LABEL_MAGIC);
     sgilabel->boot_part = SSWAP16(0);
-    sgilabel->swap_part = SSWAP16(1); strncpy(
-    sgilabel->boot_file , "/unix\0\0\0\0\0\0\0\0\0\0\0", 16 );
+    sgilabel->swap_part = SSWAP16(1);
+
+    /* sizeof(sgilabel->boot_file) = 16 > 6 */
+    memset(sgilabel->boot_file, 0, 16);
+    strcpy(sgilabel->boot_file, "/unix");
+
     sgilabel->devparam.skew                    = (0);
     sgilabel->devparam.gap1                    = (0);
     sgilabel->devparam.gap2                    = (0);
index a0c3a1056d0dbd7502607fc82a2fe9c557e49f14..cdad01a9c227a46be0112aa8d703f692d1bd0c35 100644 (file)
@@ -31,10 +31,18 @@ struct device_parameter { /* 48 bytes */
        unsigned short xylogics_writecont;
 };
 
+#define        SGI_VOLHDR      0x00
+/* 1 and 2 were used for drive types no longer supported by SGI */
+#define        SGI_SWAP        0x03
+/* 4 and 5 were for filesystem types SGI haven't ever supported on MIPS CPUs */
 #define        SGI_VOLUME      0x06
 #define        SGI_EFS         0x07
-#define        SGI_SWAP        0x03
-#define        SGI_VOLHDR      0x00
+#define        SGI_LVOL        0x08
+#define        SGI_RLVOL       0x09
+#define        SGI_XFS         0x0a
+#define        SGI_XFSLOG      0x0b
+#define        SGI_XLV         0x0c
+#define        SGI_XVM         0x0d
 #define        ENTIRE_DISK     SGI_VOLUME
 /*
  * controller flags
@@ -48,19 +56,19 @@ struct device_parameter { /* 48 bytes */
 #define        ENABLE_CMDTAGQ  0x40
 
 typedef struct {
-       unsigned int   magic;        /* expect SGI_LABEL_MAGIC */
+       unsigned int   magic;            /* expect SGI_LABEL_MAGIC */
        unsigned short boot_part;        /* active boot partition */
        unsigned short swap_part;        /* active swap partition */
        unsigned char  boot_file[16];    /* name of the bootfile */
        struct device_parameter devparam;       /*  1 * 48 bytes */
        struct volume_directory {               /* 15 * 16 bytes */
-               unsigned char vol_file_name[8]; /* an character array */
+               unsigned char vol_file_name[8]; /* a character array */
                unsigned int  vol_file_start;   /* number of logical block */
                unsigned int  vol_file_size;    /* number of bytes */
        } directory[15];
        struct sgi_partition {                  /* 16 * 12 bytes */
                unsigned int num_sectors;       /* number of blocks */
-               unsigned int start_sector;      /* sector must be cylinder aligned */
+               unsigned int start_sector;      /* must be cylinder aligned */
                unsigned int id;
        } partitions[16];
        unsigned int   csum;
index f96cb0b15225b6f0ace6b1518262b223e069a36a..2a36852a5b12a43dca343abc77e8c52e9b1d65ae 100644 (file)
@@ -348,10 +348,11 @@ void create_sunlabel(void)
            puts(_("You may change all the disk params from the x menu"));
        }
 
-       sprintf(sunlabel->info, "%s%s%s cyl %d alt %d hd %d sec %d", 
-               p ? p->vendor : "",
-               (p && *p->vendor) ? " " : "",
-               p ? p->model : (floppy ? _("3,5\" floppy") : _("Linux custom")),
+       snprintf(sunlabel->info, sizeof(sunlabel->info),
+                "%s%s%s cyl %d alt %d hd %d sec %d", 
+                p ? p->vendor : "", (p && *p->vendor) ? " " : "",
+                p ? p->model
+                  : (floppy ? _("3,5\" floppy") : _("Linux custom")),
                cylinders, SSWAP16(sunlabel->nacyl), heads, sectors);
 
        sunlabel->ntrks = SSWAP16(heads);
@@ -514,7 +515,7 @@ add_sun_partition(int n, int sys) {
                        return;
                }
        }
-       sprintf(mesg, _("First %s"), str_units(SINGULAR));
+       snprintf(mesg, sizeof(mesg), _("First %s"), str_units(SINGULAR));
        for (;;) {
                if (whole_disk)
                        first = read_int(0, 0, 0, 0, mesg);
@@ -549,7 +550,9 @@ and is of type `Whole disk'\n");
                if (starts[i] > first && starts[i] < stop)
                        stop = starts[i];
        }
-       sprintf(mesg, _("Last %s or +size or +sizeM or +sizeK"), str_units(SINGULAR));
+       snprintf(mesg, sizeof(mesg),
+                _("Last %s or +size or +sizeM or +sizeK"),
+                str_units(SINGULAR));
        if (whole_disk)
                last = read_int(scround(stop2), scround(stop2), scround(stop2),
                                0, mesg);
index 3e5f0f1b7e46325ba0a4092e305602aba7dd6782..ce01b189a852003fb67ccef957a7cd248e0ab571 100644 (file)
@@ -76,12 +76,15 @@ struct systypes i386_sys_types[] = {
        {0xda, N_("Non-FS data")},
        {0xdb, N_("CP/M / CTOS / ...")},/* CP/M or Concurrent CP/M or
                                           Concurrent DOS or CTOS */
+       {0xde, N_("Dell Utility")},     /* Dell PowerEdge Server utilities */
        {0xe1, N_("DOS access")},       /* DOS access or SpeedStor 12-bit FAT
                                           extended partition */
        {0xe3, N_("DOS R/O")},          /* DOS R/O or SpeedStor */
        {0xe4, N_("SpeedStor")},        /* SpeedStor 16-bit FAT extended
                                           partition < 1024 cyl. */
        {0xeb, N_("BeOS fs")},
+       {0xee, N_("EFI GPT")},          /* Intel EFI GUID Partition Table */
+       {0xef, N_("EFI (FAT-12/16/32)")},/* Intel EFI System Partition */
        {0xf1, N_("SpeedStor")},
        {0xf4, N_("SpeedStor")},        /* SpeedStor large partition */
        {0xf2, N_("DOS secondary")},    /* DOS 3.3+ secondary */
index 31206a4337f87fbffffc1efb2b3f57c8dc101242..e8f7bf9ea5de16aab7259cad5f2e6ffac0d5895c 100644 (file)
@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  */
 
index e144bb0f86e3d9071c70276d3dd0192f7b279668..339c5bb164dad36ceb73f0a10092b3dfce07c790 100644 (file)
@@ -1,5 +1,5 @@
 20000630: Ported the Native Language Support patches from util-linux
-          They are written by Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+          They are written by Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
 20000627: Bumped up version number to 1.0.6
 20000627: A few manpage tweaks
 20000616: Introduced DESTDIR and directory creation in the Makefile.
index 86efe2f84a6238a5abcfb97abbbe043e3befe053..e52c1490398fa48e0f253553df383f266d9aa355 100644 (file)
@@ -34,7 +34,7 @@
  *   No important changes
  * Version 1.1.0: Tue Jun 30 2000
  *   Added NLS support (partly written by Arkadiusz Mi<B6>kiewicz 
- *     <misiek@misiek.eu.org>)
+ *     <misiek@pld.ORG.PL>)
  */
 
 #include <stdio.h>
index 6d8969adb18a53656eac188186d2c13a0ea52aa1..b73d0ad8b859865381a7830621b0ea856446c0f3 100644 (file)
@@ -241,7 +241,7 @@ main (int argc, char **argv )
 
     /* If we are in MkLinux do not even bother trying to set the clock */
     if(!access("/proc/osfmach3/version", R_OK))
-    {           // We're running MkLinux
+    {           /* We're running MkLinux */
      if ( readit | writeit | setit | adjustit )
        printf("You must change the clock setting in MacOS.\n");
      exit(0);
index 4fc82d7982d1a04f2f897fb1cb1396a9206a4844..94153dea009fdc17445de121712f0bff327356be 100644 (file)
@@ -61,10 +61,17 @@ int inb(int c){ return 0; }
 #define BCD_TO_BIN(val) ((val)=((val)&15) + ((val)>>4)*10)
 #define BIN_TO_BCD(val) ((val)=(((val)/10)<<4) + (val)%10)
 
+/* The epoch.
+   Unix uses 1900 as epoch for a struct tm, and 1970 for a time_t.
+   But what was written to CMOS?
+   Digital DECstations use 1928 - this is on a mips
+   Digital Unix uses 1952.
+   Windows NT uses 1980.
+   The ARC console expects to boot Windows NT and uses 1980.
+   (But a Ruffian uses 1900, just like SRM.)
+   It is reported that ALPHA_PRE_V1_2_SRM_CONSOLE uses 1958. */
 #define TM_EPOCH 1900
-int cmos_epoch = 1900;         /* 1980 for an alpha in ARC console time */
-                               /* One also sees 1952 (Digital Unix)
-                                  and 1958 (ALPHA_PRE_V1_2_SRM_CONSOLE) */
+int cmos_epoch = 1900;
 
 /* Martin Ostermann writes: 
 The problem with the Jensen is twofold: First, it has the clock at a
@@ -576,7 +583,7 @@ get_permissions_cmos(void) {
   } else {
     rc = i386_iopl(3);
     if (rc == -2) {
-      fprintf(stderr, _("I failed to get permission because I didnt try.\n"));
+      fprintf(stderr, _("I failed to get permission because I didn't try.\n"));
     } else if (rc != 0) {
       rc = errno;
       fprintf(stderr, _("%s is unable to get I/O port access:  "
index 7e4106d453b82e5d8344b7e1107ee943f8cd221b..07c4f8cdb92edad8f35a02d68b7e5ca72afc45a2 100644 (file)
@@ -53,7 +53,7 @@ what function to perform:
 .TP
 .B \-\-show
 Read the Hardware Clock and print the time on Standard Output.
-The time is always in local time, even if you keep your Hardware Clock
+The time shown is always in local time, even if you keep your Hardware Clock
 in Coordinated Universal Time.  See the
 .B \-\-utc
 option.
@@ -130,9 +130,12 @@ option.
 .B \-\-epoch=year
 Specifies the year which is the beginning of the Hardware Clock's
 epoch.  I.e. the number of years into AD to which a zero value in the
-Hardware Clock's year counter refers.  
+Hardware Clock's year counter refers. It is used together with
+the \-\-setepoch option to set the kernel's idea of the epoch of the
+Hardware Clock, or otherwise to specify the epoch for use with
+direct ISA access.
 
-For example,
+For example, on a Digital Unix machine:
 .sp
 .I hwclock --setepoch --epoch=1952
 
@@ -226,48 +229,37 @@ whenever it finds your Hardware Clock set to 1994 or 1995.
 
 .TP
 .B \-\-srm
+This option is equivalent to
+.B \-\-epoch=1900
+and is used to specify the most common epoch on Alphas
+with SRM console.
 .TP
 .B \-\-arc
+This option is equivalent to
+.B \-\-epoch=1980
+and is used to specify the most common epoch on Alphas
+with ARC console (but Ruffians have epoch 1900).
 .TP
 .B \-\-jensen
 .TP
 .B \-\-funky\-toy
-These options all tell 
-.B hwclock 
-what kind of Alpha machine you have.  They
-are invalid if you don't have an Alpha and shouldn't be necessary if you
-do, because 
+These two options specify what kind of Alpha machine you have.  They
+are invalid if you don't have an Alpha and are usually unnecessary
+if you do, because 
 .B hwclock 
 should be able to determine by itself what it's 
 running on, at least when
 .I /proc
-is mounted.  These options make it possible for 
-.B hwclock 
-to work even when
-its environment does not conform to its expectations and thus it cannot
-accurately determine what sort of system it is running on.  If you think
-hwclock is incorrectly determining the system's characteristics, try 
-running with the 
-.B \-\-debug 
-option to see what conclusions the program is
-reaching and how.  If you find you need one of these options to make
-.B hwclock 
-work, contact the 
+is mounted.
+(If you find you need one of these options to make
 .B hwclock 
-maintainer to see if the program can be improved to detect your system
-automatically.
+work, contact the maintainer to see if the program can be improved
+to detect your system automatically. Output of `hwclock --debug'
+and `cat /proc/cpuinfo' may be of interest.)
 
 .B \-\-jensen 
 means you are running on a Jensen model.
 
-.B \-\-arc 
-means your machine uses epoch 1980 in its hardware clock, as is commonly
-the case for machines on ARC console (but Ruffians have epoch 1900).
-
-.B \-\-srm 
-means your machine uses epoch 1900 in its hardware clock, as is commonly
-the case for machines on SRM console.
-
 .B \-\-funky\-toy 
 means that on your machine, one has to use the UF bit instead
 of the UIP bit in the Hardware Clock to detect a time transition.  "Toy"
index fd4fdd5a12ce6c428b56b0ecfe59ed46cff34ca0..a2f313f6def9d6c1665c359a9f5cd3fdedf639d4 100644 (file)
@@ -124,7 +124,7 @@ set_hardware_clock_kd(const struct tm *new_broken_time) {
   t.wday = new_broken_time->tm_wday;
 
   if (ioctl(con_fd, KDSHWCLK, &t ) == -1) {
-    outsyserr(_("ioctl() to open /dev/tty1 failed"));
+    outsyserr(_("ioctl KDSHWCLK failed"));
     exit(1);
   }
   return 0;
index 2874bfa14b1965e53086ff1a03d0f873329fc1c1..06ac4360f4da954919e21769ccc8515e0bca3e1a 100644 (file)
@@ -290,7 +290,7 @@ get_permissions_rtc(void) {
 }
 
 static struct clock_ops rtc = {
-       "/dev/rtc interface to clock",
+       RTC_DEV " interface to clock",
        get_permissions_rtc,
        read_hardware_clock_rtc,
        set_hardware_clock_rtc,
diff --git a/kbd/Makefile b/kbd/Makefile
deleted file mode 100644 (file)
index 30bfb0e..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# Makefile -- Makefile for util-linux Linux utilities
-#
-include ../make_include
-include ../MCONFIG
-
-# Where to put man pages?
-
-MAN8=          kbdrate.8
-
-# Where to put binaries?
-# See the "install" rule for the links. . .
-
-SBIN=          kbdrate
-
-all: $(SBIN)
-
-kbdrate: kbdrate.o
-
-install: all
-       $(INSTALLDIR) $(SBINDIR) $(MAN8DIR)
-       $(INSTALLBIN) $(SBIN) $(SBINDIR)
-       $(INSTALLMAN) $(MAN8) $(MAN8DIR)
-
-clean:
-       -rm -f *.o *~ core $(SBIN)
diff --git a/kbd/README b/kbd/README
deleted file mode 100644 (file)
index 97ca5bd..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-This stuff belongs in the kbd package and will disappear here.
-It is left for a while - version in kbd* and here will be identical.
diff --git a/kbd/kbdrate.8 b/kbd/kbdrate.8
deleted file mode 100644 (file)
index e0fd890..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-.\" Copyright 1992, 1994 Rickard E. Faith (faith@cs.unc.edu)
-.\" May be distributed under the GNU General Public License
-.\" Updated Wed Jun 22 21:09:43 1994, faith@cs.unc.edu
-.\"
-.TH KBDRATE 8 "22 June 1994" "Linux 1.1.19" "Linux Programmer's Manual"
-.SH NAME
-kbdrate \- reset the keyboard repeat rate and delay time
-.SH SYNOPSIS
-.B "kbdrate [ \-s ] [ \-r"
-rate
-.B "] [ \-d"
-delay
-.B ]
-.SH DESCRIPTION
-.B kbdrate
-is used to change the keyboard repeat rate and delay time.  The delay
-is the amount of time that a key must be depressed before it will start to
-repeat.
-
-Using
-.B kbdrate
-without any options will reset the repeat rate to 10.9 characters per second (cps)
-and the delay to 250 milliseconds (ms) for Intel- and M68K-based systems.
-These are the IBM defaults. On SPARC-based systems it will reset the repeat rate
-to 5 cps and the delay to 200 ms.
-
-.SH OPTIONS
-.TP
-.B \-s
-Silent.  No messages are printed.
-.TP
-.BI \-r " rate"
-Change the keyboard repeat rate to
-.I rate
-cps.   For Intel-based systems, the allowable range is from 2.0 to 30.0 cps.
-Only certain, specific values are possible, and the program will select the
-nearest possible value to the one specified.  The possible values are given,
-in characters per second, as follows: 2.0, 2.1, 2.3, 2.5, 2.7, 3.0, 3.3, 3.7,
-4.0, 4.3, 4.6, 5.0, 5.5, 6.0, 6.7, 7.5, 8.0, 8.6, 9.2, 10.0, 10.9, 12.0, 13.3,
-15.0, 16.0, 17.1, 18.5, 20.0, 21.8, 24.0, 26.7, 30.0.
-For SPARC-based systems, the allowable range is from 0 (no repeat) to 50 cps.
-.TP
-.BI \-d " delay"
-Change the delay to
-.I delay
-milliseconds.
-For Intel-based systems, the allowable range is from 250 to 1000 ms,
-in 250 ms steps. For SPARC systems, possible values are between 10 ms and 1440 ms,
-in 10 ms steps.
-.TP
-.B \-V
-Display a version number and exit.
-.SH BUGS
-Not all keyboards support all rates.
-.PP
-Not all keyboards have the rates mapped in the same way.
-.PP
-Setting the repeat rate on the Gateway AnyKey keyboard does not work.  If
-someone with a Gateway figures out how to program the keyboard, please send
-mail to util-linux@math.uio.no.
-.PP
-All this is very architecture dependent.
-Nowadays
-.B kbdrate
-first tries the KDKBDREP and KIOCSRATE ioctls.
-(The former usually works on an m68k machine, the latter for SPARC.)
-When these ioctls fail an ioport interface as on i386 is assumed.
-.SH FILES
-.I /etc/rc.local
-.br
-.I /dev/port
diff --git a/kbd/kbdrate.c b/kbd/kbdrate.c
deleted file mode 100644 (file)
index df116e1..0000000
+++ /dev/null
@@ -1,282 +0,0 @@
-/*
-From: faith@cs.unc.edu (Rik Faith)
-Subject: User mode keyboard rate changer
-Date: 27 Apr 92 13:44:26 GMT
-
-I put together this program, called kbdrate.c, which will reset the keyboard
-repeat rate and delay in user mode.  The program must have read/write
-access to /dev/port, so if /dev/port is only read/writeable by group port,
-then kbdrate must run setgid to group port (for example).
-
-The "rate" is the rate in characters per second
-
-The "delay" is the amount of time the key must remain depressed before it
-will start to repeat.
-
-Usage examples:
-
-kbdrate                 set rate to IBM default (10.9 cps, 250ms delay)
-kbdrate -r 30.0         set rate to 30 cps and delay to 250ms
-kbdrate -r 20.0 -s      set rate to 20 cps (delay 250ms) -- don't print message
-kbdrate -r 0 -d 0       set rate to 2.0 cps and delay to 250 ms
-
-I find it useful to put kbdrate in my /etc/rc file so that the keyboard
-rate is set to something that I find comfortable at boot time.  This sure
-beats rebuilding the kernel!
-
-
-  kbdrate.c -- Set keyboard typematic rate (and delay)
-  Created: Thu Apr 23 12:24:30 1992
-  Author: Rickard E. Faith, faith@cs.unc.edu
-
-  Copyright 1992 Rickard E. Faith.  Distributed under the GPL.
-  This program comes with ABSOLUTELY NO WARRANTY.
-  Usage: kbdrate [-r rate] [-d delay] [-s]
-         Rate can range from 2.0 to 30.0 (units are characters per second)
-         Delay can range from 250 to 1000 (units are milliseconds)
-         -s suppressed message
-  Compiles under gcc 2.1 for Linux (tested with the pre-0.96 kernel)
-  Wed Jun 22 21:35:43 1994, faith@cs.unc.edu:
-            Changed valid_rates per suggestion by Andries.Brouwer@cwi.nl.
-  Wed Jun 22 22:18:29 1994, faith@cs.unc.edu:
-            Added patch for AUSTIN notebooks from John Bowman
-            (bowman@hagar.ph.utexas.edu)
-  Linux/68k modifications by Roman Hodek 
-                               (Roman.Hodek@informatik.uni-erlangen.de):
-  Reading/writing the Intel I/O ports via /dev/port is not the
-  English way... Such hardware dependant stuff can never work on
-  other architectures.
-  
-  Linux/68k has an new ioctl for setting the keyboard repeat rate
-  and delay. Both values are counted in msecs, the kernel will do
-  any rounding to values possible with the underlying hardware.
-  kbdrate now first tries if the KDKBDREP ioctl is available. If it
-  is, it is used, else the old method is applied.
-
-  1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
-  - added Native Language Support
-
-  1999-03-17
-  Linux/SPARC modifications by Jeffrey Connell <ankh@canuck.gen.nz>:
-  It seems that the KDKBDREP ioctl is not available on this platform.
-  However, Linux/SPARC has its own ioctl for this, with yet another
-  different measurement system.  Thus, try for KIOCSRATE, too.
-
-*/
-
-#include <stdio.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <sys/file.h>
-#include <sys/ioctl.h>
-
-#include "../defines.h"
-#ifdef HAVE_kd_h
-#include <linux/kd.h>
-#endif
-#ifdef __sparc__
-#include <asm/param.h>
-#include <asm/kbio.h>
-#endif
-
-#include "nls.h"
-
-static int valid_rates[] = { 300, 267, 240, 218, 200, 185, 171, 160, 150,
-                                   133, 120, 109, 100, 92, 86, 80, 75, 67,
-                                   60, 55, 50, 46, 43, 40, 37, 33, 30, 27,
-                                   25, 23, 21, 20 };
-#define RATE_COUNT (sizeof( valid_rates ) / sizeof( int ))
-
-static int valid_delays[] = { 250, 500, 750, 1000 };
-#define DELAY_COUNT (sizeof( valid_delays ) / sizeof( int ))
-
-static int
-KDKBDREP_ioctl_ok(double rate, int delay, int silent) {
-#ifdef KDKBDREP
-     /* This ioctl is defined in <linux/kd.h> but is not
-       implemented anywhere - must be in some m68k patches. */
-   struct kbd_repeat kbdrep_s;
-
-   /* don't change, just test */
-   kbdrep_s.rate = -1;
-   kbdrep_s.delay = -1;
-   if (ioctl( 0, KDKBDREP, &kbdrep_s )) {
-     if (errno == EINVAL)
-       return 0;
-     perror( "ioctl(KDKBDREP)" );
-     exit( 1 );
-   }
-
-   /* do the change */
-   if (rate == 0)                              /* switch repeat off */
-     kbdrep_s.rate = 0;
-   else
-     kbdrep_s.rate  = 1000.0 / rate;           /* convert cps to msec */
-   if (kbdrep_s.rate < 1)
-     kbdrep_s.rate = 1;
-   kbdrep_s.delay = delay;
-   if (kbdrep_s.delay < 1)
-     kbdrep_s.delay = 1;
-   
-   if (ioctl( 0, KDKBDREP, &kbdrep_s )) {
-     perror( "ioctl(KDKBDREP)" );
-     exit( 1 );
-   }
-
-   /* report */
-   if (kbdrep_s.rate == 0)
-     rate = 0;
-   else
-     rate = 1000.0 / (double) kbdrep_s.rate;
-
-   if (!silent)
-     printf( _("Typematic Rate set to %.1f cps (delay = %d ms)\n"),
-            rate, kbdrep_s.delay );
-
-   return 1;                   /* success! */
-
-#else /* no KDKBDREP */
-   return 0;
-#endif /* KDKBDREP */
-}
-
-static int
-KIOCSRATE_ioctl_ok(double rate, int delay, int silent) {
-#ifdef KIOCSRATE
-   struct kbd_rate kbdrate_s;
-   int fd;
-
-   fd = open("/dev/kbd", O_RDONLY);
-   if (fd == -1) {
-     perror( "open(/dev/kbd)" );
-     exit( 1 );
-   }
-
-   kbdrate_s.rate = (int) (rate + 0.5);  /* must be integer, so round up */
-   kbdrate_s.delay = delay * HZ / 1000;  /* convert ms to Hz */
-   if (kbdrate_s.rate > 50)
-     kbdrate_s.rate = 50;
-
-   if (ioctl( fd, KIOCSRATE, &kbdrate_s )) {
-     perror( "ioctl(KIOCSRATE)" );
-     exit( 1 );
-   }
-   close( fd );
-
-   if (!silent)
-     printf( "Typematic Rate set to %d cps (delay = %d ms)\n",
-            kbdrate_s.rate, kbdrate_s.delay * 1000 / HZ );
-
-   return 1;
-#else /* no KIOCSRATE */
-   return 0;
-#endif /* KIOCSRATE */
-}
-
-int main( int argc, char **argv )
-{
-#ifdef __sparc__
-   double      rate = 5.0;      /* Default rate */
-   int         delay = 200;     /* Default delay */
-#else
-   double      rate = 10.9;     /* Default rate */
-   int         delay = 250;     /* Default delay */
-#endif
-   int         value = 0x7f;    /* Maximum delay with slowest rate */
-                                /* DO NOT CHANGE this value */
-   int         silent = 0;
-   int         fd;
-   char        data;
-   int         c;
-   int         i;
-   extern char *optarg;
-
-   setlocale(LC_ALL, "");
-   bindtextdomain(PACKAGE, LOCALEDIR);
-   textdomain(PACKAGE);
-   
-
-   while ( (c = getopt( argc, argv, "r:d:svVh?" )) != EOF ) {
-         switch (c) {
-         case 'r':
-            rate = atof( optarg );
-            break;
-         case 'd':
-            delay = atoi( optarg );
-            break;
-         case 's':
-            silent = 1;
-            break;
-        case 'v':
-        case 'V':
-           fprintf( stderr, "util-linux %s kbdrate\n", UTIL_LINUX_VERSION);
-           exit(0);
-        case 'h':
-        case '?':
-           fprintf( stderr,
-                 _("Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"));
-           exit(0);
-         }
-   }
-
-   if(KDKBDREP_ioctl_ok(rate, delay, silent))  /* m68k? */
-       return 0;
-
-   if(KIOCSRATE_ioctl_ok(rate, delay, silent)) /* sparc? */
-       return 0;
-
-
-    /* The ioport way */
-
-    for (i = 0; i < RATE_COUNT; i++)
-      if (rate * 10 >= valid_rates[i]) {
-       value &= 0x60;
-       value |= i;
-       break;
-      }
-
-
-      for (i = 0; i < DELAY_COUNT; i++)
-       if (delay <= valid_delays[i]) {
-         value &= 0x1f;
-         value |= i << 5;
-         break;
-       }
-
-      if ( (fd = open( "/dev/port", O_RDWR )) < 0) {
-       perror( _("Cannot open /dev/port") );
-       exit( 1 );
-      }
-
-      do {
-       lseek( fd, 0x64, 0 );
-       read( fd, &data, 1 );
-      } while ((data & 2) == 2 );  /* wait */
-
-      lseek( fd, 0x60, 0 );
-      data = 0xf3;                 /* set typematic rate */
-      write( fd, &data, 1 );
-
-      do {
-       lseek( fd, 0x64, 0 );
-       read( fd, &data, 1 );
-      } while ((data & 2) == 2 );  /* wait */
-
-      lseek( fd, 0x60, 0 );
-      sleep( 1 );
-      write( fd, &value, 1 );
-
-      close( fd );
-
-      if (!silent)
-             printf( _("Typematic Rate set to %.1f cps (delay = %d ms)\n"),
-                           valid_rates[value & 0x1f] / 10.0,
-                           valid_delays[ (value & 0x60) >> 5 ] );
-
-   return 0;
-}
index 31e953ce79e5f78380c1ee29094e3c718656a466..986280c4b0fb1801561e7a6e957204b2c09de1f2 100644 (file)
@@ -1,7 +1,7 @@
 include ../make_include
 include ../MCONFIG
 
-all: err.o my_reboot.o setproctitle.o env.o carefulputc.o
+all: err.o my_reboot.o setproctitle.o env.o carefulputc.o xstrncpy.o
 
 err.o: err.c
 
@@ -13,6 +13,8 @@ setproctitle.o: setproctitle.h
 
 carefulputc.o: carefulputc.h
 
+xstrncpy.o: xstrncpy.h
+
 .PHONY: clean
 clean:
        -rm -f *.o *~ core
index 69c821c2ddd578828c26556c3f7d279ff45506be..dffb371f0b3766ab89c6a9bddc60d311ff4cf70f 100644 (file)
--- a/lib/env.c
+++ b/lib/env.c
@@ -1,7 +1,7 @@
 /*
  * Security checks of enviroment
  * Added from shadow-utils package
- * by Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * by Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  *
  */ 
 
index 672b58e92be54c340a0c81abefe7814783e337bd..9f10a16d4614c7b8a2665a6fe9cf88e81e753968 100644 (file)
@@ -26,7 +26,7 @@
  *
 What is the history of these six, and related defines?
 ------------------------------------------------------------------------
-_PATH_UTMP and UTMP_FILE and UTMP_FILENAME:
+_PATH_UTMP and UTMP_FILE and UTMP_FILENAME
        /etc/utmp > /var/adm/utmp > /var/run/utmp.
 Traditionally we have /etc/utmp.
 In <paths.h> we have /etc/utmp, but since 4.6.0 /var/adm/utmp
@@ -34,7 +34,7 @@ and since 5.0.9 (and in glibc2) /var/run/utmp.
 In login/pathnames.h we have /etc/utmp, but since 4.6.6 /var/adm/utmp.
 In <utmp.h> UTMP_FILE is defined as /etc/utmp, but in 4.6.* as _PATH_UTMP.
 
-_PATH_WTMP and WTMP_FILE and WTMP_FILENAME:
+_PATH_WTMP and WTMP_FILE and WTMP_FILENAME
        /etc/wtmp > /usr/adm/wtmp > /var/adm/wtmp > /var/log/wtmp.
 Traditionally we have /etc/wtmp.
 In <paths.h> we have /usr/adm/wtmp, but since 4.5.13 /var/adm/wtmp,
@@ -43,21 +43,21 @@ In login/pathnames.h. we have /etc/wtmp, but since 4.6.6 /var/adm/wtmp.
 In <utmp.h> WTMP_FILE is defined as /usr/adm/wtmp, but in 4.5.* as
 /var/adm/wtmp, and in 4.6.* as _PATH_WTMP.
 
-_PATH_DEFPATH)
+_PATH_DEFPATH
 Long ago this was ".:/bin:/usr/bin".
 In <paths.h> libc 4.4.1-4.4.4 have "/usr/bin:/bin"
 and libc 4.5.21-5.4.23 have "/usr/local/bin:/usr/bin:/bin:."
 and libc 5.4.38-5.4.46 have "/usr/local/bin:/usr/bin:/bin".
 In login/pathnames.h libc4 and libc5 have "/usr/local/bin:/bin:/usr/bin:."
 
-_PATH_DEFPATH_ROOT)
+_PATH_DEFPATH_ROOT
 Long ago this was identical to _PATH_DEFPATH.
 In <paths.h> no definition is present before libc 4.5.13.
 Libc 4.5.13 has "/bin:/usr/bin:/etc"
 Libc 4.5.14-5.4.46 have "/sbin:/bin:/usr/sbin:/usr/bin"
 In login/pathnames.h libc4 and libc5 have "/bin:/usr/bin:/etc"
 
-_PATH_LASTLOG)
+_PATH_LASTLOG
        /etc/lastlog > /usr/adm/lastlog > /var/adm/lastlog > /var/log/lastlog.
 Traditionally we have /etc/lastlog.
 In <bsd/utmp.h> libc 4.4.1-4.5.12 have /usr/adm/lastlog, 4.5.13 and
@@ -65,7 +65,7 @@ later have /var/adm/lastlog.
 In paths.h all libc5 and glibc2 versions have /var/log/lastlog.
 In login/pathnames.h all libc4 and libc5 versions have /usr/adm/lastlog.
 
-_PATH_MAILDIR)
+_PATH_MAILDIR
        /usr/spool/mail > /var/spool/mail > /var/mail.
 Traditionally we have /usr/spool/mail.
 In <paths.h> we have /usr/spool/mail, but since libc 4.5.13 /var/spool/mail.
@@ -140,6 +140,12 @@ Libc5 and glibc 2.0-2.1 have /var/spool/mail, but glibc 2.1.1 has /var/mail.
 #define _PATH_GROUP             "/etc/group"
 #define _PATH_GTMP              "/etc/gtmp"
 #define _PATH_GTMPTMP           "/etc/gtmptmp"
+#define _PATH_SHADOW_PASSWD     "/etc/shadow"
+#define _PATH_SHADOW_PTMP       "/etc/sptmp"
+#define _PATH_SHADOW_PTMPTMP    "/etc/sptmptmp"
+#define _PATH_SHADOW_GROUP      "/etc/gshadow"
+#define _PATH_SHADOW_GTMP       "/etc/sgtmp"
+#define _PATH_SHADOW_GTMPTMP    "/etc/sgtmptmp"
 
 /* used in misc-utils/look.c */
 #define _PATH_WORDS             "/usr/dict/words"
index c440006f798cf8b78fb0e1cf1cdecf400b73de03..1aa91f3f438a36acfa0c8b1ba8ba0a50d2c88018 100644 (file)
 #  include <libutf8.h>
 #endif
 
+#if 1
+/* explicit prototypes, since sometimes <wchar.h> does not give them */
+extern int wcwidth (wint_t c);
+extern int wcswidth (const wchar_t *s, size_t n);
+extern size_t wcslen (const wchar_t *s);
+extern wchar_t *wcsdup (const wchar_t *s);
+#endif
+
 #else
 
 # include <ctype.h>
diff --git a/lib/xstrncpy.c b/lib/xstrncpy.c
new file mode 100644 (file)
index 0000000..cf49409
--- /dev/null
@@ -0,0 +1,9 @@
+/* NUL-terminated version of strncpy() */
+#include <string.h>
+#include "xstrncpy.h"
+
+void
+xstrncpy(char *dest, const char *src, size_t n) {
+       strncpy(dest, src, n-1);
+       dest[n-1] = 0;
+}
diff --git a/lib/xstrncpy.h b/lib/xstrncpy.h
new file mode 100644 (file)
index 0000000..05c8fa2
--- /dev/null
@@ -0,0 +1 @@
+extern void xstrncpy(char *dest, const char *src, size_t n);
index d986501e13e8983705f90f2224bc91252574437c..e6b37b8a1c2aa1f9e436e636730e610d9b514c38 100644 (file)
@@ -96,17 +96,17 @@ shutdown.o simpleinit.o: $(LIB)/linux_reboot.h
 wall.o: ttymsg.h $(LIB)/carefulputc.h
 
 agetty: agetty.o
-chfn: chfn.o islocal.o setpwnam.o $(LIB)/env.o
+chfn: chfn.o islocal.o setpwnam.o $(LIB)/env.o $(LIB)/xstrncpy.o
        $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT) $(PAM)
 chsh: chsh.o islocal.o setpwnam.o $(LIB)/env.o
        $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT) $(PAM)
 last: last.o
 
 ifeq "$(HAVE_PAM)" "yes"
-login: login.o $(LIB)/setproctitle.o
+login: login.o $(LIB)/setproctitle.o $(LIB)/xstrncpy.o
        $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT) $(PAM)
 else
-login: login.o $(LIB)/setproctitle.o checktty.o 
+login: login.o $(LIB)/xstrncpy.o $(LIB)/setproctitle.o checktty.o 
        $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT) 
 endif
 
@@ -115,20 +115,20 @@ mesg: mesg.o $(ERR_O)
 newgrp: newgrp.o 
        $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT) $(PAM)
 
-shutdown: shutdown.o $(LIB)/my_reboot.o
+shutdown: shutdown.o $(LIB)/my_reboot.o $(LIB)/xstrncpy.o
 
-simpleinit: simpleinit.o $(LIB)/my_reboot.o
+simpleinit: simpleinit.o $(LIB)/my_reboot.o $(LIB)/xstrncpy.o
        $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT)
 
 initctl: initctl.o
        $(CC) $(LDFLAGS) -o $@ $^
 
-vipw: vipw.o
+vipw: vipw.o $(LIB)/xstrncpy.o
 
 newgrp.o: $(LIB)/pathnames.h
        $(CC) -c $(CFLAGS) $(PAMFL) newgrp.c 
 
-wall: wall.o ttymsg.o $(LIB)/carefulputc.o
+wall: wall.o ttymsg.o $(LIB)/carefulputc.o $(LIB)/xstrncpy.o
 
 LOGINFLAGS=
 ifeq "$(USE_TTY_GROUP)" "yes"
@@ -145,7 +145,7 @@ login.o: login.c $(LIB)/pathnames.h $(LIB)/setproctitle.c $(LIB)/setproctitle.h
 mesg.o: mesg.c $(LIB)/errs.h
        $(CC) -c $(CFLAGS) $(LOGINFLAGS) mesg.c
 
-passwd: passwd.o islocal.o setpwnam.o $(LIB)/env.o
+passwd: passwd.o islocal.o setpwnam.o $(LIB)/env.o $(LIB)/xstrncpy.o
        $(CC) $(LDFLAGS) -o $@ $^ $(CRYPT)
 
 ifeq "$(REQUIRE_PASSWORD)" "yes"
@@ -214,8 +214,8 @@ ifeq "$(USE_TTY_GROUP)" "yes"
        chmod g+s $(USRBINDIR)/wall
 endif
 
-.PHONY: clean
-clean:
+.PHONY: clean distclean
+clean distclean:
        -rm -f *.o *~ core $(BIN.PASSWD) $(SBIN.GETTY) $(SBIN.INIT) \
                $(USRBIN.MISC) $(USRBIN.PASSWD) $(USRBIN.PUTILS) \
                $(USRSBIN.PUTILS) $(BIN.PUTILS)
index 63f4adfa652cd6ca830b062aaa04cb9830cf2aab..3a30b16bae22687cce4c255e811934235800bce1 100644 (file)
@@ -5,7 +5,7 @@
 
    -f option added by Eric Rasmussen <ear@usfirst.org> - 12/28/95
    
-   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
    - added Native Language Support
 
    1999-05-05 Thorsten Kranzkowski <dl8bcu@gmx.net>
@@ -564,7 +564,6 @@ update_utmp(line)
      * entry in the utmp file.
      */
 
-#ifdef __linux__
     utmpname(_PATH_UTMP);
     setutent();
     while ((utp = getutent()) 
@@ -578,7 +577,6 @@ update_utmp(line)
        memset(&ut, 0, sizeof(ut));
        strncpy(ut.ut_id, line + 3, sizeof(ut.ut_id));
     }
-    /*endutent();*/
        
     strncpy(ut.ut_user, "LOGIN", sizeof(ut.ut_user));
     strncpy(ut.ut_line, line, sizeof(ut.ut_line));
@@ -593,7 +591,7 @@ update_utmp(line)
     endutent();
 
     {
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)
+#ifdef HAVE_updwtmp
        updwtmp(_PATH_WTMP, &ut);
 #else
        int ut_fd;
@@ -610,31 +608,6 @@ update_utmp(line)
        }
 #endif
     }
-#else /* not __linux__ */
-    { int     ut_fd;
-      if ((ut_fd = open(UTMP_FILE, 2)) < 0) {
-         error(_("%s: open for update: %m"), UTMP_FILE);
-      } else {
-         long    ut_size = sizeof(ut);       /* avoid nonsense */
-
-         while (read(ut_fd, (char *) &ut, sizeof(ut)) == sizeof(ut)) {
-             if (ut.ut_type == INIT_PROCESS && ut.ut_pid == mypid) {
-                 ut.ut_type = LOGIN_PROCESS;
-                 ut.ut_time = time((long *) 0);
-                 (void) strncpy(ut.ut_name, "LOGIN", sizeof(ut.ut_name));
-                 (void) strncpy(ut.ut_line, line, sizeof(ut.ut_line));
-                 if (fakehost)
-                     (void) strncpy(ut.ut_host, fakehost, sizeof(ut.ut_host));
-                 (void) lseek(ut_fd, -ut_size, 1);
-                 (void) write(ut_fd, (char *) &ut, sizeof(ut));
-                 (void) close(ut_fd);
-                 return;
-             }
-         }
-         error(_("%s: no utmp entry"), line);
-      }
-    }
-#endif /* __linux__ */
 }
 
 #endif
index 6269b6b07d8c6f89224b36cd6fbcbf8140389168..e96647ea6264ad3696c6a736ddfb95308a32fdda 100644 (file)
@@ -2,7 +2,7 @@
    Created 25-Aug-95 by Peter Orbaek <poe@daimi.aau.dk>
    Fixed by JDS June 1996 to clear lists and close files
 
-   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
    - added Native Language Support
 
 */
@@ -30,6 +30,7 @@
 
 #include "pathnames.h"
 #include "login.h"
+#include "xstrncpy.h"
 
 #ifdef TESTING
 struct hostent hostaddress;
@@ -107,8 +108,7 @@ new_class(char *class)
 
     tc->next = ttyclasses;
     tc->first = NULL;
-    strncpy(tc->classname, class, CLASSNAMELEN);
-    tc->classname[CLASSNAMELEN-1] = 0;
+    xstrncpy(tc->classname, class, CLASSNAMELEN);
     ttyclasses = tc;
     return tc;
 }
@@ -128,8 +128,7 @@ add_to_class(struct ttyclass *tc, char *tty)
     }
 
     ge->next = tc->first;
-    strncpy(ge->name, tty, NAMELEN);
-    ge->name[NAMELEN-1] = 0;
+    xstrncpy(ge->name, tty, NAMELEN);
     tc->first = ge;
 }
 
@@ -267,8 +266,7 @@ in_class(const char *tty, char *class)
     if (class[0] == '[') {
        if ((p = strchr(class, ']'))) {
            *p = 0;
-           strncpy(timespec, class+1, sizeof(timespec));
-           timespec[sizeof(timespec)-1] = 0;
+           xstrncpy(timespec, class+1, sizeof(timespec));
            *p = ']';
            if(!timeok(tm, timespec)) return 0;
            class = p+1;
@@ -289,8 +287,7 @@ in_class(const char *tty, char *class)
                if (n[0] == '[') {
                    if ((p = strchr(n, ']'))) {
                        *p = 0;
-                       strncpy(timespec, n+1, sizeof(timespec));
-                       timespec[sizeof(timespec)-1] = 0;
+                       xstrncpy(timespec, n+1, sizeof(timespec));
                        *p = ']';
                        if(!timeok(tm, timespec)) continue;
                        n = p+1;
@@ -373,8 +370,7 @@ checktty(const char *user, const char *tty, struct passwd *pwd)
          if(*ptr == '#') *ptr = 0;
 
        if (buf[0] == '*') {
-           strncpy(defaultbuf, buf, 256);
-           defaultbuf[255] = 0;
+           xstrncpy(defaultbuf, buf, 256);
            continue;
        }
 
index de228241b872af1403a1a093fd37051e2e23fcf8..e25212e8848b3269504883c55af9ae4c05007b4f 100644 (file)
@@ -16,7 +16,7 @@
  * Hacked by Peter Breitenlohner, peb@mppmu.mpg.de,
  * to remove trailing empty fields.  Oct 5, 96.
  *
- *  1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ *  1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  *  - added Native Language Support
  *    
  *
@@ -36,6 +36,7 @@
 #include "my_crypt.h"
 #include "islocal.h"
 #include "setpwnam.h"
+#include "xstrncpy.h"
 #include "nls.h"
 #include "env.h"
 
@@ -239,8 +240,7 @@ static boolean parse_argv (argc, argv, pinfo)
        info_given = true;
        status = 0;
 
-       strncpy (buf, whoami, sizeof(buf)-128); 
-       buf[sizeof(buf)-128-1] = 0;
+       xstrncpy (buf, whoami, sizeof(buf)-128); 
        strcat (buf, ": ");
 
        /* now store the argument */
index d1a3fa8207594612d38c78ee67eb479c46fdbd0b..fd9b5899ea1370774eb733bceb84f30d20b38660 100644 (file)
@@ -17,7 +17,7 @@
  *   suggestion from Zefram.  Disallowing users with shells not in /etc/shells
  *   from changing their shell.
  *
- *   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ *   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  *   - added Native Language Support
  *
  *
index 9e221cbe6dabe528ff67cc0bdcce5db476f6575c..44cfb55d5440d96a628cfe5f7d40164e1c5105cb 100644 (file)
@@ -17,7 +17,7 @@
 
       ftp://ftp.daimi.aau.dk/pub/linux/poe/poeigl-X.XX.tar.gz
 
-      1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+      1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
       - added Native Language Support
 
 */
index 87f8f1cb245926b655ac7d5da0665362615582ba..1ee84089fe04d2e2d949ca42c0480d285740e54a 100644 (file)
@@ -10,7 +10,7 @@
      to distinguish user names where one is a prefix of the other,
      and to use "pathnames.h". Oct 5, 96.   
 
-   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
    - added Native Language Support
      
 
index 8375f9f072fdce5c2e2ea72ffd83b870266fe096..8d3a8911a21bbae05aebf3c7c027e866b401ea90 100644 (file)
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
- /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
   * - added Native Language Support
   */
 
+ /* 2001-02-14 Marek Zelem <marek@fornax.sk>
+  * - using mmap() on Linux - great speed improvement
+  */
+
 /*
  * last
  */
@@ -29,6 +33,7 @@
 #include <sys/stat.h>
 #include <sys/file.h>
 #include <sys/types.h>
+#include <sys/mman.h>
 #include <signal.h>
 #include <string.h>
 #include <time.h>
@@ -197,8 +202,15 @@ wtmp(void) {
        long    delta;                          /* time difference */
        char *crmsg = NULL;
        char *ct = NULL;
+#if USE_GETUTENT
        struct utmp **utmplist = NULL;
        int listlen = 0;
+#else
+       int fd;
+       struct utmp *utl;
+       struct stat st;
+       int utl_len;
+#endif
        int listnr = 0;
        int i;
        
@@ -208,6 +220,7 @@ wtmp(void) {
        (void)signal(SIGINT, onintr);
        (void)signal(SIGQUIT, onintr);
 
+#if USE_GETUTENT
        setutent();
        while((bp = getutent())) {
                if(listnr >= listlen) {
@@ -220,12 +233,31 @@ wtmp(void) {
                memcpy(utmplist[listnr++], bp, sizeof(*bp));
        }
        endutent();
+#else
+       if ((fd = open(file,O_RDONLY)) < 0)
+               exit(1);
+       fstat(fd, &st);
+       utl_len = st.st_size;
+       utl = mmap(NULL, utl_len, PROT_READ|PROT_WRITE,
+                  MAP_PRIVATE|MAP_FILE, fd, 0);
+       if (utl == NULL)
+               exit(1);
+       listnr = utl_len/sizeof(struct utmp);
+#endif
 
        if(listnr) 
+#if USE_GETUTENT
                ct = ctime(&utmplist[0]->ut_time);
+#else
+               ct = ctime(&utl[0].ut_time);
+#endif
 
        for(i = listnr - 1; i >= 0; i--) {
+#if USE_GETUTENT
                bp = utmplist[i];
+#else
+               bp = utl+i;
+#endif
                /*
                 * if the terminal line is '~', the machine stopped.
                 * see utmp(5) for more info.
@@ -245,7 +277,8 @@ wtmp(void) {
                    }
 
                    currentout = -bp->ut_time;
-                   crmsg = strncmp(bp->ut_name, "shutdown", NMAX) ? "crash" : "down ";
+                   crmsg = (strncmp(bp->ut_name, "shutdown", NMAX)
+                           ? "crash" : "down ");
                    if (!bp->ut_name[0])
                        (void)strcpy(bp->ut_name, "reboot");
                    if (want(bp, NO)) {
@@ -295,9 +328,15 @@ wtmp(void) {
                }
                T->logout = bp->ut_time;
                utmpbuf.ut_time = bp->ut_time;
+#if USE_GETUTENT
                free(bp);
        }
        if(utmplist) free(utmplist);
+#else
+       }
+       munmap(utl,utl_len);
+       close(fd);
+#endif
        if(ct) printf(_("\nwtmp begins %s"), ct);       /* ct already ends in \n */
 }
 
index 3ad3b219c28f60b9f20376a309f8105f3f683518..1cf188fba29b9d3c65db6a932e40f7dd524be2de 100644 (file)
@@ -52,7 +52,7 @@
    From 1992 till now (1997) this code for Linux has been maintained at
    ftp.daimi.aau.dk:/pub/linux/poe/
 
-   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
     - added Native Language Support
    Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
     - fixed strerr(errno) in gettext calls
 #include "pathnames.h"
 #include "my_crypt.h"
 #include "login.h"
+#include "xstrncpy.h"
 #include "nls.h"
 
 #ifdef __linux__
        syslog(LOG_ERR,"%s",pam_strerror(pamh, retcode)); \
        pam_end(pamh, retcode); exit(1); \
    }
-#  define PAM_END { retcode = pam_close_session(pamh,0); \
-                   pam_end(pamh,retcode); }
+#  define PAM_END { \
+       pam_setcred(pamh, PAM_DELETE_CRED); \
+       retcode = pam_close_session(pamh,0); \
+       pam_end(pamh,retcode); \
+}
 #endif
 
 #ifndef __linux__
@@ -190,13 +194,14 @@ struct  lastlog
 };
 #endif
 
-
+#ifndef USE_PAM
 static void getloginname (void);
+static void checknologin (void);
+static int rootterm (char *ttyn);
+#endif
 static void timedout (int);
 static void sigint (int);
-static int rootterm (char *ttyn);
 static void motd (void);
-static void checknologin (void);
 static void dolastlog (int quiet);
 
 #ifndef __linux__
@@ -355,8 +360,7 @@ main(int argc, char **argv)
      *    host to login so that it may be placed in utmp and wtmp
      */
     gethostname(tbuf, sizeof(tbuf));
-    strncpy(thishost, tbuf, sizeof(thishost)-1);
-    thishost[sizeof(thishost)-1] = 0;
+    xstrncpy(thishost, tbuf, sizeof(thishost));
     domain = index(tbuf, '.');
     
     username = tty = hostname = NULL;
@@ -590,14 +594,21 @@ main(int argc, char **argv)
        First get the username that we are actually using, though.
     */
     retcode = pam_get_item(pamh, PAM_USER, (const void **) &username);
-    setpwent();
-    pwd = getpwnam(username);
+    if (retcode == PAM_SUCCESS && username && *username) {
+      pwd = getpwnam(username);
+    }
+
+    /*
+     * Initialize the supplementary group list.
+     * This should be done before pam_setcred because
+     * the PAM modules might add groups during pam_setcred.
+     */
     if (pwd) initgroups(username, pwd->pw_gid);
 
-    retcode = pam_setcred(pamh, PAM_ESTABLISH_CRED);
+    retcode = pam_open_session(pamh, 0);
     PAM_FAIL_CHECK;
 
-    retcode = pam_open_session(pamh, 0);
+    retcode = pam_setcred(pamh, PAM_ESTABLISH_CRED);
     PAM_FAIL_CHECK;
 
 #else /* ! USE_PAM */
@@ -795,66 +806,6 @@ main(int argc, char **argv)
        }
     }
     
-#ifndef __linux__
-#  ifdef KERBEROS
-    if (notickets && !quietlog)
-      printf(_("Warning: no Kerberos tickets issued\n"));
-#  endif
-    
-#  ifndef USE_PAM                      /* PAM does all of this for us */
-#    define TWOWEEKS   (14*24*60*60)
-    if (pwd->pw_change || pwd->pw_expire) {
-       struct timeval tp;
-
-       gettimeofday(&tp, (struct timezone *)NULL);
-
-       if (pwd->pw_change) {
-           if (tp.tv_sec >= pwd->pw_change) {
-               printf(_("Sorry -- your password has expired.\n"));
-               sleepexit(1);
-           }
-           else if (tp.tv_sec - pwd->pw_change < TWOWEEKS && !quietlog) {
-               struct tm *ttp;
-               ttp = localtime(&pwd->pw_change);
-               printf(_("Warning: your password expires on %d %s %d.\n"),
-                      ttp->tm_mday, months[ttp->tm_mon],
-                      TM_YEAR_BASE + ttp->tm_year);
-           }
-       }
-
-       if (pwd->pw_expire) {
-           if (tp.tv_sec >= pwd->pw_expire) {
-               printf(_("Sorry -- your account has expired.\n"));
-               sleepexit(1);
-           }
-           else if (tp.tv_sec - pwd->pw_expire < TWOWEEKS && !quietlog) {
-               struct tm *ttp;
-               ttp = localtime(&pwd->pw_expire);
-               printf(_("Warning: your account expires on %d %s %d.\n"),
-                      ttp->tm_mday, months[ttp->tm_mon],
-                      TM_YEAR_BASE + ttp->tm_year);
-           }
-       }
-    }
-#  endif /* !USE_PAM */
-    
-    /* nothing else left to fail -- really log in */
-    {
-       struct utmp utmp;
-       
-       memset((char *)&utmp, 0, sizeof(utmp));
-       time(&utmp.ut_time);
-       strncpy(utmp.ut_name, username, sizeof(utmp.ut_name));
-       /* ut_name may legally be non-null-terminated */
-       if (hostname) {
-           strncpy(utmp.ut_host, hostname, sizeof(utmp.ut_host));
-           utmp.ut_host[sizeof(utmp.ut_host)-1] = 0;
-       }
-       strncpy(utmp.ut_line, tty, sizeof(utmp.ut_line));
-       utmp.ut_line[sizeof(utmp.ut_line)-1] = 0;
-       login(&utmp);
-    }
-#else /* __linux__ defined */
     /* for linux, write entries in utmp and wtmp */
     {
        struct utmp ut;
@@ -898,8 +849,7 @@ Michael Riepe <michael@stud.uni-hannover.de>
          strncpy(ut.ut_id, ttyn + 8, sizeof(ut.ut_id));
        
        strncpy(ut.ut_user, username, sizeof(ut.ut_user));
-       strncpy(ut.ut_line, ttyn + 5, sizeof(ut.ut_line));
-       ut.ut_line[sizeof(ut.ut_line)-1] = 0;
+       xstrncpy(ut.ut_line, ttyn + 5, sizeof(ut.ut_line));
 #ifdef _HAVE_UT_TV             /* in <utmpbits.h> included by <utmp.h> */
        gettimeofday(&ut.ut_tv, NULL);
 #else
@@ -913,8 +863,7 @@ Michael Riepe <michael@stud.uni-hannover.de>
        ut.ut_type = USER_PROCESS;
        ut.ut_pid = mypid;
        if (hostname) {
-           strncpy(ut.ut_host, hostname, sizeof(ut.ut_host));
-           ut.ut_host[sizeof(ut.ut_host)-1] = 0;
+           xstrncpy(ut.ut_host, hostname, sizeof(ut.ut_host));
            if (hostaddress.h_addr_list)
              memcpy(&ut.ut_addr, hostaddress.h_addr_list[0],
                     sizeof(ut.ut_addr));
@@ -923,7 +872,7 @@ Michael Riepe <michael@stud.uni-hannover.de>
        pututline(&ut);
        endutent();
 
-#if __GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1)
+#ifdef HAVE_updwtmp
        updwtmp(_PATH_WTMP, &ut);
 #else
 #if 0
@@ -953,19 +902,11 @@ Michael Riepe <michael@stud.uni-hannover.de>
            }
        }
 #endif
-#endif /* __GLIBC__ */
+#endif
     }
-#endif /* __linux__ */
     
     dolastlog(quietlog);
     
-#ifndef __linux__
-    if (!hflag) {                                      /* XXX */
-       static struct winsize win = { 0, 0, 0, 0 };
-       
-       ioctl(0, TIOCSWINSZ, &win);
-    }
-#endif
     chown(ttyn, pwd->pw_uid,
          (gr = getgrnam(TTYGRPNAME)) ? gr->gr_gid : pwd->pw_gid);
     chmod(ttyn, TTY_MODE);
@@ -1012,17 +953,6 @@ Michael Riepe <michael@stud.uni-hannover.de>
          memset(environ, 0, sizeof(char*));
       }
     
-#ifndef __linux__
-    setenv("HOME", pwd->pw_dir, 1);
-    setenv("SHELL", pwd->pw_shell, 1);
-    if (term[0] == '\0') {
-       strncpy(term, stypeof(tty), sizeof(term));
-       term[sizeof(term)-1] = 0;
-    }
-    setenv("TERM", term, 0);
-    setenv("USER", pwd->pw_name, 1);
-    setenv("PATH", _PATH_DEFPATH, 0);
-#else
     setenv("HOME", pwd->pw_dir, 0);      /* legal to override */
     if(pwd->pw_uid)
       setenv("PATH", _PATH_DEFPATH, 1);
@@ -1046,7 +976,6 @@ Michael Riepe <michael@stud.uni-hannover.de>
        HP-UX 6.5 does it. We'll not allow modifying it.
        */
     setenv("LOGNAME", pwd->pw_name, 1);
-#endif
 
 #ifdef USE_PAM
     {
@@ -1108,9 +1037,16 @@ Michael Riepe <michael@stud.uni-hannover.de>
     signal(SIGHUP, SIG_DFL);
 
 #ifdef USE_PAM
-    /* We must fork before setuid() because we need to call
+    /*
+     * We must fork before setuid() because we need to call
      * pam_close_session() as root.
      */
+    /*
+     * Problem: if the user's shell is a shell like ash that doesnt do
+     * setsid() or setpgrp(), then a ctrl-\, sending SIGQUIT to every
+     * process in the pgrp, will kill us.
+     * Solution: use TIOCNOTTY and setsid().
+     */
     signal(SIGINT, SIG_IGN);
     childPid = fork();
     if (childPid < 0) {
@@ -1121,11 +1057,16 @@ Michael Riepe <michael@stud.uni-hannover.de>
        exit(0);
     } else if (childPid) {
        /* parent - wait for child to finish, then cleanup session */
+       signal(SIGHUP, SIG_IGN);                /* ignore signal from TIOCNOTTY */
+       ioctl(0, TIOCNOTTY, NULL);
+       signal(SIGHUP, SIG_DFL);
+
        wait(NULL);
        PAM_END;
        exit(0);
     }
     /* child */
+    setsid();
 #endif
     signal(SIGINT, SIG_DFL);
     
@@ -1161,10 +1102,9 @@ Michael Riepe <michael@stud.uni-hannover.de>
        childArgv[childArgc++] = buff;
     } else {
        tbuf[0] = '-';
-       strncpy(tbuf + 1, ((p = rindex(pwd->pw_shell, '/')) ?
+       xstrncpy(tbuf + 1, ((p = rindex(pwd->pw_shell, '/')) ?
                           p + 1 : pwd->pw_shell),
                sizeof(tbuf)-1);
-       tbuf[sizeof(tbuf)-1] = 0;
        
        childArgv[childArgc++] = pwd->pw_shell;
        childArgv[childArgc++] = tbuf;
@@ -1185,7 +1125,8 @@ Michael Riepe <michael@stud.uni-hannover.de>
     exit(0);
 }
 
-void
+#ifndef USE_PAM
+static void
 getloginname(void) {
     int ch, cnt, cnt2;
     char *p;
@@ -1229,6 +1170,7 @@ getloginname(void) {
        }
     }
 }
+#endif
 
 void
 timedout(int sig) {
@@ -1243,6 +1185,7 @@ timedout(int sig) {
     exit(0);
 }
 
+#ifndef USE_PAM
 int
 rootterm(char * ttyn)
 #ifndef __linux__
@@ -1279,7 +1222,8 @@ rootterm(char * ttyn)
        }
     }
 }
-#endif
+#endif /* !__linux__ */
+#endif /* !USE_PAM */
 
 jmp_buf motdinterrupt;
 
@@ -1342,12 +1286,10 @@ dolastlog(int quiet) {
        }
        memset((char *)&ll, 0, sizeof(ll));
        time(&ll.ll_time);
-       strncpy(ll.ll_line, tty, sizeof(ll.ll_line));
-       ll.ll_line[sizeof(ll.ll_line)-1] = 0;
-       if (hostname) {
-           strncpy(ll.ll_host, hostname, sizeof(ll.ll_host));
-           ll.ll_host[sizeof(ll.ll_host)-1] = 0;
-       }
+       xstrncpy(ll.ll_line, tty, sizeof(ll.ll_line));
+       if (hostname)
+           xstrncpy(ll.ll_host, hostname, sizeof(ll.ll_host));
+
        write(fd, (char *)&ll, sizeof(ll));
        close(fd);
     }
index bfa17eb113daea2951b8a9e6ba54788ceec26b68..2b08d8350c8f8df00c703fd81cc5bbf7855a1efb 100644 (file)
@@ -39,7 +39,7 @@
  * Modified Mon Jul  1 18:14:10 1996, janl@ifi.uio.no, writing to stdout
  *     as suggested by Michael Meskes <meskes@Informatik.RWTH-Aachen.DE>
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  * 
index ade173e53866e250b13b9916258b5d78ce6f9236..89db17548f0b0c82a8e9a84623ccbb685004bcaa 100644 (file)
@@ -3,7 +3,7 @@
 /* Vesa Roukonen added code for asking password */
 /* Currently maintained at ftp://ftp.daimi.aau.dk/pub/linux/poe/ */
 
-/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  */
 
index 6741ee210a3e63d7a99e0c62d465dc02de949406..d931d3b882e36833d13576f99b37b10117ab2709 100644 (file)
@@ -38,7 +38,7 @@
  *     auth.warning. (Of course, the password itself is not logged.)
  */
 
- /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
   * - added Native Language Support
   * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
   * - fixed strerr(errno) in gettext calls
@@ -68,6 +68,7 @@
 #include "my_crypt.h"
 #include "setpwnam.h"
 #include "islocal.h"
+#include "xstrncpy.h"
 #include "nls.h"
 #include "env.h"
 
@@ -375,8 +376,7 @@ main(int argc, char *argv[]) {
             && !check_passwd(pwdstr, pe->pw_passwd, user, pe->pw_gecos) ) 
            goto redo_it;
        
-       strncpy(pwdstr1, pwdstr, 9);
-       pwdstr1[9] = 0;
+       xstrncpy(pwdstr1, pwdstr, sizeof(pwdstr1));
        pwdstr = getpass(_("Re-type new password: "));
        
        if(strncmp(pwdstr, pwdstr1, 8)) {
index 84d1c208f160499a0d76ab388a5095f233b13c0a..e7f44a94ce18e9d963a21e68ebd2bcceea55b0ef 100644 (file)
 #define GROUP_FILE     _PATH_GROUP
 #define GTMP_FILE      _PATH_GTMP
 #define GTMPTMP_FILE   _PATH_GTMPTMP
+
+#define SHADOW_FILE    _PATH_SHADOW_PASSWD
+#define SPTMP_FILE     _PATH_SHADOW_PTMP
+#define SPTMPTMP_FILE  _PATH_SHADOW_PTMPTMP
+
+#define SGROUP_FILE    _PATH_SHADOW_GROUP
+#define SGTMP_FILE     _PATH_SHADOW_GTMP
+#define SGTMPTMP_FILE  _PATH_SHADOW_GTMPTMP
+
 #else
 #define PASSWD_FILE    "/tmp/passwd"
 #define PTMP_FILE      "/tmp/ptmp"
 #define GROUP_FILE     "/tmp/group"
 #define GTMP_FILE      "/tmp/gtmp"
 #define GTMPTMP_FILE   "/tmp/gtmptmp"
+
+#define SHADOW_FILE    "/tmp/shadow"
+#define SPTMP_FILE     "/tmp/sptmp"
+#define SPTMPTMP_FILE  "/tmp/sptmptmp"
+
+#define SGROUP_FILE    "/tmp/gshadow"
+#define SGTMP_FILE     "/tmp/sgtmp"
+#define SGTMPTMP_FILE  "/tmp/sgtmptmp"
 #endif
 
 extern int setpwnam (struct passwd *pwd);
index d1034d5eb9e230119f3af488190595e12dc39666..036064aad01b0091ede6648d0412e9b8dadd9960 100644 (file)
@@ -28,7 +28,7 @@
  * Changes by Richard Gooch <rgooch@atnf.csiro.au> (butchered by aeb)
  * introducing shutdown.conf.
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  * 2000-03-02 Richard Gooch <rgooch@atnf.csiro.au>
@@ -71,6 +71,7 @@
 #include <sys/utsname.h>
 #include "linux_reboot.h"
 #include "pathnames.h"
+#include "xstrncpy.h"
 #include "nls.h"
 
 static void usage(void), int_handler(int), write_user(struct utmp *);
@@ -249,8 +250,7 @@ main(int argc, char *argv[])
                                exit(1);
                        }
                } else {
-                       strncpy(message, argv[c], sizeof(message));
-                       message[sizeof(message)-1] = '\0';
+                       xstrncpy(message, argv[c], sizeof(message));
                        opt_msgset = 1;
                }
        }
index 9c4b63a5f72f26894440b781655421d008a9cd6c..56f10455ab67f29e1d604521f28d5baac151acbe 100644 (file)
@@ -1,8 +1,14 @@
 /* simpleinit.c - poe@daimi.aau.dk */
-/* Version 1.21 */
+/* Version 2.0.1 */
 
-/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
+ * 2001-01-25 Richard Gooch <rgooch@atnf.csiro.au>
+ * - fixed bug with failed services so they may be later "reclaimed"
+ * 2001-02-02 Richard Gooch <rgooch@atnf.csiro.au>
+ * - fixed race when reading from pipe and reaping children
+ * 2001-02-18 sam@quux.dropbear.id.au
+ * - fixed bug in <get_path>: multiple INIT_PATH components did not work
  */
 
 #include <sys/types.h>
@@ -31,6 +37,7 @@
 #include "my_crypt.h"
 #include "pathnames.h"
 #include "linux_reboot.h"
+#include "xstrncpy.h"
 #include "nls.h"
 #include "simpleinit.h"
 
@@ -77,7 +84,8 @@ static sigjmp_buf jmp_env;
 
 static void do_single (void);
 static int do_rc_tty (const char *path);
-static int process_path ( const char *path, int (*func) (const char *path) );
+static int process_path (const char *path, int (*func) (const char *path),
+                        int ignore_dangling_symlink);
 static int preload_file (const char *path);
 static int run_file (const char *path);
 static void spawn (int i), read_inittab (void);
@@ -91,7 +99,7 @@ static void sigterm_handler (int sig);
 static void set_tz (void);
 #endif
 static void write_wtmp (void);
-static pid_t mywaitpid (pid_t pid, int *status);
+static pid_t mywait (int *status);
 static int run_command (const char *file, const char *name, pid_t pid);
 
 
@@ -221,7 +229,7 @@ int main(int argc, char *argv[])
        }
 
        for ever {
-               pid = mywaitpid (-1, &vec);
+               pid = mywait (&vec);
                if (pid < 1) continue;
 
                /* clear utmp entry, and append to wtmp if possible */
@@ -322,7 +330,7 @@ static int do_rc_tty (const char *path)
     sigset_t ss;
 
     if (caught_sigint) return 0;
-    process_path (path, preload_file);
+    process_path (path, preload_file, 0);
     /*  Launch off a subprocess to start a new session (required for frobbing
        the TTY) and capture control-C  */
     switch ( child = fork () )
@@ -344,10 +352,10 @@ static int do_rc_tty (const char *path)
        break;
     }
     /*  Parent  */
-    process_path (path, run_file);
+    process_path (path, run_file, 0);
     while (1)
     {
-       if ( ( pid = mywaitpid (-1, &status) ) == child )
+       if ( ( pid = mywait (&status) ) == child )
            return (WTERMSIG (status) == SIGINT) ? 0 : 1;
        if (pid < 0) break;
     }
@@ -356,17 +364,27 @@ static int do_rc_tty (const char *path)
     return 0;
 }   /*  End Function do_rc_tty  */
 
-static int process_path ( const char *path, int (*func) (const char *path) )
+static int process_path (const char *path, int (*func) (const char *path),
+                        int ignore_dangling_symlink)
 {
     struct stat statbuf;
     DIR *dp;
     struct dirent *de;
 
-    if (stat (path, &statbuf) != 0)
+    if (lstat (path, &statbuf) != 0)
     {
-       err (_ ("stat of path failed\n") );
+       err (_ ("lstat of path failed\n") );
        return 1;
     }
+    if ( S_ISLNK (statbuf.st_mode) )
+    {
+       if (stat (path, &statbuf) != 0)
+       {
+           if ( (errno == ENOENT) && ignore_dangling_symlink ) return 0;
+           err (_ ("stat of path failed\n") );
+           return 1;
+       }
+    }
     if ( !( statbuf.st_mode & (S_IXUSR | S_IXGRP | S_IXOTH) ) ) return 0;
     if ( !S_ISDIR (statbuf.st_mode) ) return (*func) (path);
     if ( ( dp = opendir (path) ) == NULL )
@@ -382,7 +400,7 @@ static int process_path ( const char *path, int (*func) (const char *path) )
        if (de->d_name[0] == '.') continue;
        retval = sprintf (newpath, "%s/%s", path, de->d_name);
        if (newpath[retval - 1] == '~') continue;  /*  Common mistake  */
-       if ( ( retval = process_path (newpath, func) ) ) return retval;
+       if ( ( retval = process_path (newpath, func, 1) ) ) return retval;
     }
     closedir (dp);
     return 0;
@@ -545,11 +563,8 @@ static void read_inittab (void)
                (void) strcpy(inittab[i].line, buf);
 
                (void) strtok(inittab[i].line, ":");
-               (void) strncpy(inittab[i].tty, inittab[i].line, 10);
-               inittab[i].tty[9] = 0;
-               (void) strncpy(inittab[i].termcap,
-                               strtok((char *)0, ":"), 30);
-               inittab[i].termcap[29] = 0;
+               xstrncpy(inittab[i].tty, inittab[i].line, 10);
+               xstrncpy(inittab[i].termcap, strtok((char *)0, ":"), 30);
 
                getty = strtok((char *)0, ":");
                (void) strtok(getty, " \t\n");
@@ -566,10 +581,8 @@ static void read_inittab (void)
                        err(_("no TERM or cannot stat tty\n"));
                } else {
                        /* is it a console tty? */
-                       if(major(stb.st_rdev) == 4 && minor(stb.st_rdev) < 64) {
-                               strncpy(inittab[i].termcap, termenv, 30);
-                               inittab[i].termcap[29] = 0;
-                       }
+                       if(major(stb.st_rdev) == 4 && minor(stb.st_rdev) < 64)
+                               xstrncpy(inittab[i].termcap, termenv, 30);
                }
 #endif
 
@@ -752,40 +765,40 @@ static void show_scripts (FILE *fp, const struct script_struct *script,
 static const char *get_path (const char *file);
 
 
-static pid_t mywaitpid (pid_t pid, int *status)
+static pid_t mywait (int *status)
 /*  [RETURNS] The pid for a process to be reaped, 0 if no process is to be
     reaped, and less than 0 if the boot scripts appear to have finished.
 */
 {
-    int ival;
-    sigset_t ss_new, ss_old;
+    pid_t pid;
+    sigset_t ss;
     long buffer[COMMAND_SIZE / sizeof (long)];
     struct command_struct *command = (struct command_struct *) buffer;
 
-    if (initctl_fd < 0) return waitpid (pid, status, 0);
-    if (status == NULL) status = &ival;
-    if ( ( pid = waitpid (pid, status, WNOHANG) ) > 0 )
-    {
-       return process_pidstat (pid, *status);
-    }
-    /*  Some magic to avoid races  */
+    if (initctl_fd < 0) return wait (status);
+    /*  Some magic to avoid races which can result in lost signals   */
     command->command = -1;
-    sigemptyset (&ss_new);
-    sigaddset (&ss_new, SIGCHLD);
-    sigprocmask (SIG_BLOCK, &ss_new, &ss_old);
-    ival = sigsetjmp (jmp_env, 0);
-    sigprocmask (SIG_SETMASK, &ss_old, NULL);
-    if (ival == 0) do_longjmp = 1;
-    else
-    {
+    if ( sigsetjmp (jmp_env, 1) )
+    {   /*  Jump from signal handler  */
        do_longjmp = 0;
-       if (command->command < 0) return 0;
+       process_command (command);
+       return 0;
+    }
+    sigemptyset (&ss);  /*  Block SIGCHLD so wait status cannot be lost  */
+    sigaddset (&ss, SIGCHLD);
+    sigprocmask (SIG_BLOCK, &ss, NULL);
+    if ( ( pid = waitpid (-1, status, WNOHANG) ) > 0 )
+    {
+       sigprocmask (SIG_UNBLOCK, &ss, NULL);
+       return process_pidstat (pid, *status);
     }
-    if (command->command < 0) read (initctl_fd, buffer, COMMAND_SIZE);
+    do_longjmp = 1;  /*  After this, SIGCHLD will cause a jump backwards  */
+    sigprocmask (SIG_UNBLOCK, &ss, NULL);
+    read (initctl_fd, buffer, COMMAND_SIZE);
     do_longjmp = 0;
     process_command (command);
     return 0;
-}   /*  End Function mywaitpid  */
+}   /*  End Function mywait  */
 
 static pid_t process_pidstat (pid_t pid, int status)
 /*  [RETURNS] The pid for a process to be reaped, 0 if no process is to be
@@ -978,7 +991,7 @@ static int run_command (const char *file, const char *name, pid_t pid)
     script = find_script_byname (name, &starting_list, &service);
     if (script == NULL)
        service = find_service_in_list (name, unavailable_services);
-    if (script == NULL)
+    if (service == NULL)
     {
        int i;
        char txt[1024];
@@ -988,24 +1001,13 @@ static int run_command (const char *file, const char *name, pid_t pid)
            if (needer != NULL) free (needer);
            return SIG_FAILED;
        }
+       service = calloc (1, strlen (name) + sizeof *service);
        if (service == NULL)
        {
-           service = calloc (1, strlen (name) + sizeof *service);
-           if (service == NULL)
-           {
-               free (script);
-               return SIG_FAILED;
-           }
-           strcpy (service->name, name);
-       }
-       else  /*  Unhook service from unavailable list  */
-       {
-           if (service->prev == NULL) unavailable_services = service->next;
-           else service->prev->next = service->next;
-           if (service->next != NULL) service->next->prev = service->prev;
-           service->prev = NULL;
-           service->next = NULL;
+           free (script);
+           return SIG_FAILED;
        }
+       strcpy (service->name, name);
        switch ( script->pid = fork () )
        {
          case 0:   /*  Child   */
@@ -1063,6 +1065,7 @@ static struct script_struct *find_script_byname (const char *name,
            return (script);
        }
     }
+    if (service != NULL) *service = NULL;
     return NULL;
 }   /*  End Function find_script_byname  */
 
@@ -1121,6 +1124,7 @@ static void handle_nonworking (struct script_struct *script)
        next = service->next;
        if (provider == NULL)
        {
+           service->prev = NULL;
            service->next = unavailable_services;
            if (unavailable_services != NULL)
                unavailable_services->prev = service;
@@ -1180,7 +1184,7 @@ static const char *get_path (const char *file)
            p2 = p1 + strlen (p1);
        strncpy (path, p1, p2 - p1);
        path[p2 - p1] = '/';
-       strcat (path + (p2 - p1) + 1, file);
+       strcpy (path + (p2 - p1) + 1, file);
        if (*p2 == ':') ++p2;
        if (access (path, X_OK) == 0) return path;
     }
index b422abb859089e01c34f81fe7408dfb327c1d767..55b26a82a02da18770900b33e8b223f555ee0a77 100644 (file)
@@ -34,7 +34,7 @@
  *
  */
 
- /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
   * - added Native Language Support
   * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
   * - fixed strerr(errno) in gettext calls
index 665d77daabce4b2f4af234fe9b4fe75234706d46..f6133ac981a1d260c29d53dc61950e8649036af0 100644 (file)
@@ -38,7 +38,7 @@
  *
  * Martin Schulze's patches adapted to Util-Linux by Nicolai Langfeldt.
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
  * - fixed strerr(errno) in gettext calls
@@ -64,6 +64,7 @@ static char version_string[] = "vipw 1.4";
 #include <unistd.h>
 
 #include "setpwnam.h"
+#include "xstrncpy.h"
 #include "nls.h"
 
 #define FILENAMELEN 67
@@ -132,13 +133,6 @@ pw_lock(void) {
         * that users can't get at the encrypted passwords while editing.
         * Open should allow flock'ing the file; see 4.4BSD.    XXX
         */
-       lockfd = open(orig_file, O_RDONLY, 0);
-
-       if (lockfd < 0) {
-               (void)fprintf(stderr, "%s: %s: %s\n",
-                   progname, orig_file, strerror(errno));
-               exit(1);
-       }
 #if 0 /* flock()ing is superfluous here, with the ptmp/ptmptmp system. */
        if (flock(lockfd, LOCK_EX|LOCK_NB)) {
                (void)fprintf(stderr,
@@ -169,6 +163,16 @@ pw_lock(void) {
            }
            exit(1);
        }
+
+       lockfd = open(orig_file, O_RDONLY, 0);
+
+       if (lockfd < 0) {
+               (void)fprintf(stderr, "%s: %s: %s\n",
+                   progname, orig_file, strerror(errno));
+               unlink(tmp_file);
+               exit(1);
+       }
+
        copyfile(lockfd, fd);
        (void)close(lockfd);
        (void)close(fd);
@@ -253,9 +257,28 @@ pw_error(name, err, eval)
        exit(eval);
 }
 
+static void
+edit_file(void)
+{
+       struct stat begin, end;
+
+       pw_init();
+       pw_lock();
+
+       if (stat(tmp_file, &begin))
+               pw_error(tmp_file, 1, 1);
+       pw_edit(0);
+       if (stat(tmp_file, &end))
+               pw_error(tmp_file, 1, 1);
+       if (begin.st_mtime == end.st_mtime) {
+               (void)fprintf(stderr, _("%s: no changes made\n"), progname);
+               pw_error((char *)NULL, 0, 0);
+       }
+       pw_unlock();
+}
+
 int main(int argc, char *argv[])
 {
-  struct stat begin, end;
 
   setlocale(LC_ALL, "");
   bindtextdomain(PACKAGE, LOCALEDIR);
@@ -265,15 +288,14 @@ int main(int argc, char *argv[])
   progname = (rindex(argv[0], '/')) ? rindex(argv[0], '/') + 1 : argv[0];
   if (!strcmp(progname, "vigr")) {
     program = VIGR;
-    strncpy(orig_file, GROUP_FILE, FILENAMELEN-1);
-    strncpy(tmp_file, GTMP_FILE, FILENAMELEN-1);
-    strncpy(tmptmp_file, GTMPTMP_FILE, FILENAMELEN-1);
-  }
-  else {
+    xstrncpy(orig_file, GROUP_FILE, sizeof(orig_file));
+    xstrncpy(tmp_file, GTMP_FILE, sizeof(tmp_file));
+    xstrncpy(tmptmp_file, GTMPTMP_FILE, sizeof(tmptmp_file));
+  } else {
     program = VIPW;
-    strncpy(orig_file, PASSWD_FILE, FILENAMELEN-1);
-    strncpy(tmp_file, PTMP_FILE, FILENAMELEN-1);
-    strncpy(tmptmp_file, PTMPTMP_FILE, FILENAMELEN-1);
+    xstrncpy(orig_file, PASSWD_FILE, sizeof(orig_file));
+    xstrncpy(tmp_file, PTMP_FILE, sizeof(tmp_file));
+    xstrncpy(tmptmp_file, PTMPTMP_FILE, sizeof(tmptmp_file));
   }
 
   if ((argc > 1) && 
@@ -282,18 +304,32 @@ int main(int argc, char *argv[])
     exit(0);
   }
 
-  pw_init();
-  pw_lock();
-
-  if (stat(tmp_file, &begin))
-    pw_error(tmp_file, 1, 1);
-  pw_edit(0);
-  if (stat(tmp_file, &end))
-    pw_error(tmp_file, 1, 1);
-  if (begin.st_mtime == end.st_mtime) {
-    (void)fprintf(stderr, _("%s: no changes made\n"), progname);
-    pw_error((char *)NULL, 0, 0);
+  edit_file();
+
+  if (program == VIGR) {
+    strncpy(orig_file, SGROUP_FILE, FILENAMELEN-1);
+    strncpy(tmp_file, SGTMP_FILE, FILENAMELEN-1);
+    strncpy(tmptmp_file, SGTMPTMP_FILE, FILENAMELEN-1);
+  } else {
+    strncpy(orig_file, SHADOW_FILE, FILENAMELEN-1);
+    strncpy(tmp_file, SPTMP_FILE, FILENAMELEN-1);
+    strncpy(tmptmp_file, SPTMPTMP_FILE, FILENAMELEN-1);
   }
-  pw_unlock();
+
+  if (!access(orig_file, X_OK)) {
+    char response[80];
+
+    printf((program == VIGR)
+          ? _("You are using shadow groups on this system.\n")
+          : _("You are using shadow passwords on this system.\n"));
+    printf(_("Would you like to edit %s now [y/n]? "), orig_file);
+
+    /* EOF means no */
+    if (fgets(response, sizeof(response), stdin)) {
+       if (response[0] == 'y' || response[0] == 'Y')
+           edit_file();
+    }
+  }
+
   exit(0);
 }
index 6840015d40f7ab8d3c3820648956b68fb76c681d..3a13fe7baaae9627341df88846125e94a5c31435 100644 (file)
@@ -37,7 +37,7 @@
  * This program is not related to David Wall, whose Stanford Ph.D. thesis
  * is entitled "Mechanisms for Broadcast and Selective Broadcast".
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  */
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <time.h>
 #include <unistd.h>
 #include <utmp.h>
 
 #include "nls.h"
+#include "xstrncpy.h"
 #include "ttymsg.h"
 #include "pathnames.h"
 #include "carefulputc.h"
@@ -115,14 +117,14 @@ usage:
        iov.iov_len = mbufsize;
        while((utmpptr = getutent())) {
                if (!utmpptr->ut_name[0] ||
-                   !strncmp(utmpptr->ut_name, IGNOREUSER, sizeof(utmpptr->ut_name)))
+                   !strncmp(utmpptr->ut_name, IGNOREUSER,
+                            sizeof(utmpptr->ut_name)))
                        continue;
 #ifdef USER_PROCESS
                if (utmpptr->ut_type != USER_PROCESS)
                        continue;
 #endif
-               strncpy(line, utmpptr->ut_line, sizeof(utmpptr->ut_line));
-               line[sizeof(utmpptr->ut_line)-1] = '\0';
+               xstrncpy(line, utmpptr->ut_line, sizeof(utmpptr->ut_line));
                if ((p = ttymsg(&iov, 1, line, 60*5)) != NULL)
                        (void)fprintf(stderr, "%s: %s\n", progname, p);
        }
index 5b74dd39e5ae3f428bef72b056501e4230fb45fb..9fedca66dcd312ece8787829658cc0c97abb05d5 100644 (file)
@@ -21,7 +21,7 @@ BIN=            kill
 USRBIN=                cal chkdupexe ddate logger look mcookie \
                namei rename script whereis write
 
-MAYBE=         reset setterm tsort
+MAYBE=         reset setterm
 
 ifeq "$(HAVE_RESET)" "no"
 USRBIN:=$(USRBIN) reset
@@ -33,11 +33,6 @@ USRBIN:=$(USRBIN) setterm
 MAN1:=$(MAN1) setterm.1
 endif
 
-ifeq "$(HAVE_TSORT)" "no"
-USRBIN:=$(USRBIN) tsort
-MAN1:=$(MAN1) tsort.1
-endif
-
 # For script only
 LIBPTY=
 ifeq "$(HAVE_OPENPTY)" "yes"
index aba1b6f061fd53638ce77814d2ec18bf433788eb..768b0a510435b6af6699787a56b8d9dc5dab93b4 100644 (file)
@@ -36,7 +36,7 @@
 
 /* 1999-02-01  Jean-Francois Bignolles: added option '-m' to display
  *             monday as the first day of the week.
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  * 2000-09-01  Michael Charles Pruznick <dummy@netwiz.net> 
index bf7a37f2810b7abb5568aac4b63d58ba96dec5a9..c36f9be3db7ee12947f275fac3c4ca975af77e65 100644 (file)
@@ -26,7 +26,7 @@
    59 Bcy, 3161:       PRAISE_BOB and KILL_BOB options split, other minor
                        changes.
 
-   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+   1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
    - added Native Language Support
 
    2000-03-17 Burt Holzman <bnh@iname.com>
diff --git a/misc-utils/flushb.c b/misc-utils/flushb.c
new file mode 100644 (file)
index 0000000..34ef9cf
--- /dev/null
@@ -0,0 +1,5 @@
+/*
+ * Some people submit a utility flushb.c.
+ * However, it is useless, BLKFLSBUF is already part of blockdev,
+ * so that "flushb device" is the same as "blockdev --flushbufs device".
+ */
index f4fd6436d78b0e8c6f2c67ec60d229c6a12d1d44..78fd8bbc631cc9a52b6e6f5f749c7bb6df19ed4a 100644 (file)
@@ -5,64 +5,83 @@
 .SH NAME
 kill \- terminate a process
 .SH SYNOPSIS
-.BR "kill" " [ \-s signal | \-p ] " " [ -a ] " "pid ..."
+.BI "kill [ \-s " signal " | \-p ] [ \-a ] [ \-\- ] " "pid ..."
 .br
-.B "kill -l [ signal ]"
+.BI "kill -l [ " signal " ]"
 .SH DESCRIPTION
+The command
 .B kill
-sends the specified signal to the specified process.  If no signal is
-specified, the TERM signal is sent.  The TERM signal will kill processes
-which do not catch this signal.  For other processes, if may be necessary
-to use the KILL (9) signal, since this signal cannot be caught.
-
-Most modern shells have a builtin kill function.
+sends the specified signal to the specified process or process group.
+If no signal is specified, the TERM signal is sent.  The TERM signal
+will kill processes which do not catch this signal.  For other processes,
+it may be necessary to use the KILL (9) signal, since this signal cannot
+be caught.
+.PP
+Most modern shells have a builtin kill function, with a usage rather similar
+to that of the command described here. The `-a' and `-p' options,
+and the possibility to specify pids by command name is a local extension.
 .SH OPTIONS
 .TP
-.BR "pid ..."
+.IR pid ...
 Specify the list of processes that
 .B kill
 should signal.  Each
 .I pid
-can be one of four things.  A
-.I "process name"
-in which case processes called that will be signaled.
+can be one of five things:
+
+.RS
+.TP
 .I n
 where
 .I n
 is larger than 0.  The process with pid
 .I n
 will be signaled.
-.I -1
-in which case all processes from MAX_INT to 2 will be signaled,
-as allowed by the issuing user.
-.I -n
+.TP
+.B 0
+All processes in the current process group are signaled.
+.TP
+.B -1
+All processes with pid larger than 1 will be signaled.
+.TP
+.BI - n
 where 
 .I n 
-is larger than 1, in which case processes in process group
+is larger than 1.
+All processes in process group
 .I n
-are signaled.  IFF a negative argument is given the signal
-.I must
-be specified first, otherwise it will be taken as the signal to send.
+are signaled.  When an argument of the form `-n' is given,
+and it is meant to denote a process group,
+either the signal must be specified first, or the argument must be preceded
+by a `--' option, otherwise it will be taken as the signal to send.
+.TP
+.I commandname
+All processes invoked using that name will be signaled.
+.RE
 .TP
-.BR \-s
+.BI \-s " signal"
 Specify the signal to send.
 The signal may be given as a signal name or number.
 .TP
-.BR \-p
-Specify that
-.B kill
-should only print the process id
-.I (pid)
-of the named process, and should not send it a signal.
-.TP
-.BR \-l
+.B \-l
 Print a list of signal names.  These are found in
 .I /usr/include/linux/signal.h
+.TP
+.B \-a
+Do not restrict the commandname-to-pid conversion to processes
+with the same uid as the present process.
+.TP
+.B \-p
+Specify that
+.B kill
+should only print the process id (pid)
+of the named processes, and not send any signals.
 .SH "SEE ALSO"
 .BR bash (1),
 .BR tcsh (1),
 .BR kill (2),
-.BR sigvec (2)
+.BR sigvec (2),
+.BR signal (7)
 .SH AUTHOR
 Taken from BSD 4.4.  The ability to translate process names to process
 ids was added by Salvatore Valente <svalente@mit.edu>.
index ea4e4682d9fc85b9233458225b215b92b6a6c53b..65100236cafa2053888aa9c802c7c1c1e1235ea6 100644 (file)
@@ -35,7 +35,7 @@
  *  modifications (c) salvatore valente <svalente@mit.edu>
  *  may be used / modified / distributed under the same terms as the original.
  *
- *  1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ *  1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  *  - added Native Language Support
  *
  *  1999-11-13 aeb Accept signal numers 128+s.
@@ -149,12 +149,12 @@ int kill_verbose (char *procname, int pid, int sig);
 
 extern int *get_pids (char *, int);
 
-char *whoami;
+static char *progname;
 
 int main (int argc, char *argv[])
 {
     int errors, numsig, pid;
-    char *ep, *arg, *progname, *p;
+    char *ep, *arg, *p;
     int do_pid, do_kill, check_all;
     int *pids, *ip;
 
@@ -166,9 +166,8 @@ int main (int argc, char *argv[])
     bindtextdomain(PACKAGE, LOCALEDIR);
     textdomain(PACKAGE);
 
-    whoami = mybasename (*argv);
     numsig = SIGTERM;
-    do_pid = (! strcmp (whoami, "pid"));
+    do_pid = (! strcmp (progname, "pid"));     /* Yecch */
     do_kill = 0;
     check_all = 0;
 
@@ -184,9 +183,6 @@ int main (int argc, char *argv[])
            argc--, argv++;
            break;
        }
-       if (! strcmp (arg, "-u")) {
-           return usage (0);
-       }
        if (! strcmp (arg, "-v") || ! strcmp (arg, "-V") ||
            ! strcmp (arg, "--version")) {
            printf(_("%s from %s\n"), progname, util_linux_version);
@@ -207,7 +203,7 @@ int main (int argc, char *argv[])
            /* argc == 2, accept "kill -l $?" */
            arg = argv[1];
            if ((numsig = arg_to_signum (arg, 1)) < 0) {
-               fprintf (stderr, _("%s: unknown signal %s\n"), whoami, arg);
+               fprintf (stderr, _("%s: unknown signal %s\n"), progname, arg);
                return 1;
            }
            printsig (numsig);
@@ -238,6 +234,7 @@ int main (int argc, char *argv[])
            so it's probably something like -HUP, or -1/-n
            try to deal with it.
            -n could be signal n, or pid -n (i.e. process group n).
+           In case of doubt POSIX tells us to assume a signal.
            If a signal has been parsed, assume it's a pid, break */
        if (do_kill)
          break;
@@ -270,7 +267,7 @@ int main (int argc, char *argv[])
            if (! pids) {
                errors++;
                fprintf (stderr, _("%s: can't find process \"%s\"\n"),
-                        whoami, arg);
+                        progname, arg);
                continue;
            }
            for (ip = pids; *ip >= 0; ip++)
@@ -313,7 +310,7 @@ int arg_to_signum (char *arg, int maskbit)
 
 void nosig (char *name)
 {
-    fprintf (stderr, _("%s: unknown signal %s; valid signals:\n"), whoami, name);
+    fprintf (stderr, _("%s: unknown signal %s; valid signals:\n"), progname, name);
     printsignals (stderr);
 }
 
@@ -353,8 +350,8 @@ int usage (int status)
     FILE *fp;
 
     fp = (status == 0 ? stdout : stderr);
-    fprintf (fp, _("usage: %s [ -s signal | -p ] [ -a ] pid ...\n"), whoami);
-    fprintf (fp, _("       %s -l [ signal ]\n"), whoami);
+    fprintf (fp, _("usage: %s [ -s signal | -p ] [ -a ] pid ...\n"), progname);
+    fprintf (fp, _("       %s -l [ signal ]\n"), progname);
     return status;
 }
 
@@ -365,7 +362,7 @@ int kill_verbose (char *procname, int pid, int sig)
        return 0;
     }
     if (kill (pid, sig) < 0) {
-       fprintf (stderr, "%s ", whoami);
+       fprintf (stderr, "%s ", progname);
        perror (procname);
        return 1;
     }
index ae0ebec00b1e1191dfe5a21f447338cc08a21083..e00578735660ab9b04cccb8566b19357a14e3fb6 100644 (file)
@@ -30,7 +30,7 @@
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
  * - fixed strerr(errno) in gettext calls
index d601e1c97fa94cfad32577fc9c53d39be5bc75eb..f3b4ba517f0314f807b8ced4963503bf075a41cd 100644 (file)
@@ -34,7 +34,7 @@
  * SUCH DAMAGE.
  */
 
- /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
   * - added Native Language Support
   */
 
index 9f13b49d1732d5f4250937fb8ec4b9209a36f984..6930745b225d2fb8132945df1f4fa7fbd6321119 100644 (file)
@@ -14,7 +14,7 @@
  * gather 128 bits of random information, so the magic cookie generated
  * will be considerably easier to guess than one might expect.
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  * 1999-03-21 aeb: Added some fragments of code from Colin Plumb.
  *
index f77d501c45785e2273c4f34813685464be15ad0d..783c5b9b67447c092db0d550f23d7ea9e854f1fd 100644 (file)
@@ -39,7 +39,7 @@ the maximum number of symbolic links this system can have.
 The program exits with a 1 status ONLY if it finds it cannot
 chdir to /,  or if it encounters an unknown file type.
 
-1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
 - added Native Language Support
 
 -------------------------------------------------------------*/
index c3bf142e6dcb621adc95d5b1a029b136ca58093b..951fc763d26a4931989125e57127dcc1fa6c4f6a 100644 (file)
@@ -32,7 +32,7 @@
  */
 
 /*
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  * 2000-07-30 Per Andreas Buer <per@linpro.no> - added "q"-option
index 92161d01caa068b25b5acbeb00c58a0754dd6934..2e265fc51994b2c51fc18db9dfd304c6ea069686 100644 (file)
@@ -16,7 +16,7 @@
  *
  * Converted to terminfo by Kars de Jong (jongk@cs.utwente.nl)
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  *
@@ -859,17 +859,17 @@ perform_sequence(int vcterm) {
        /* -snow [on|off].  Vc only. */
        if (opt_snow && vcterm) {
                if (opt_sn_on)
-                       printf("%s%s%s", DCS, _("snow.on"), ST);
+                       printf("%s%s%s", DCS, "snow.on", ST);
                else
-                       printf("%s%s%s", DCS, _("snow.off"), ST);
+                       printf("%s%s%s", DCS, "snow.off", ST);
        }
 
        /* -softscroll [on|off].  Vc only. */
        if (opt_softscroll && vcterm) {
                if (opt_so_on)
-                       printf("%s%s%s", DCS, _("softscroll.on"), ST);
+                       printf("%s%s%s", DCS, "softscroll.on", ST);
                else
-                       printf("%s%s%s", DCS, _("softscroll.off"), ST);
+                       printf("%s%s%s", DCS, "softscroll.off", ST);
        }
 #endif
 
@@ -1165,6 +1165,7 @@ try_ioctl:
        }
        rows = screenbuf[0];
        cols = screenbuf[1];
+
        for (i=0; i<rows; i++) {
            strncpy(buf, screenbuf+2+(cols*i), cols);
            buf[cols] = '\0';
diff --git a/misc-utils/tsort.1 b/misc-utils/tsort.1
deleted file mode 100644 (file)
index 72ea964..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-.\" Copyright (c) 1990 The Regents of the University of California.
-.\" All rights reserved.
-.\"
-.\" This manual is derived from one contributed to Berkeley by
-.\" Michael Rendell of Memorial University of Newfoundland.
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\"    must display the following acknowledgement:
-.\"    This product includes software developed by the University of
-.\"    California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\"    may be used to endorse or promote products derived from this software
-.\"    without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.\"     @(#)tsort.1    6.3 (Berkeley) 4/23/91
-.\"
-.Dd April 23, 1991
-.Dt TSORT 1
-.Os
-.Sh NAME
-.Nm tsort
-.Nd topological sort of a directed graph
-.Sh SYNOPSIS
-.Nm tsort
-.Op Ar file
-.Sh DESCRIPTION
-.Nm Tsort
-takes a list of pairs of node names representing directed arcs in
-a graph and prints the nodes in topological order on standard output.
-Input is taken from the named
-.Ar file ,
-or from standard input if no file
-is given.
-.Pp
-Node names in the input are separated by white space and there must be an
-even number of nodes.
-.Pp
-Presence of a node in a graph can be represented by an arc from the node
-to itself.
-This is useful when a node is not connected to any other nodes.
-.Pp
-If the graph contains a cycle (and therefore cannot be properly sorted),
-one of the arcs in the cycle is ignored and the sort continues.
-Cycles are reported on standard error.
-.Sh SEE ALSO
-.Xr ar 1
-.Sh HISTORY
-A
-.Nm
-command appeared in
-.At v7 .
-This
-.Nm tsort
-command and manual page are derived from sources contributed to Berkeley by
-Michael Rendell of Memorial University of Newfoundland.
diff --git a/misc-utils/tsort.c b/misc-utils/tsort.c
deleted file mode 100644 (file)
index b97b1a0..0000000
+++ /dev/null
@@ -1,376 +0,0 @@
-/*
- * Copyright (c) 1989 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Michael Rendell of Memorial University of Newfoundland.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- *    must display the following acknowledgement:
- *     This product includes software developed by the University of
- *     California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- *    may be used to endorse or promote products derived from this software
- *    without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
- /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
-  * - added Native Language Support
-  */
-
-#include <sys/types.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <stdio.h>
-#include <ctype.h>
-#include <string.h>
-#include "nls.h"
-
-/*
- *  Topological sort.  Input is a list of pairs of strings seperated by
- *  white space (spaces, tabs, and/or newlines); strings are written to
- *  standard output in sorted order, one per line.
- *
- *  usage:
- *     tsort [inputfile]
- *  If no input file is specified, standard input is read.
- *
- *  Should be compatable with AT&T tsort HOWEVER the output is not identical
- *  (i.e. for most graphs there is more than one sorted order, and this tsort
- *  usually generates a different one then the AT&T tsort).  Also, cycle
- *  reporting seems to be more accurate in this version (the AT&T tsort
- *  sometimes says a node is in a cycle when it isn't).
- *
- *  Michael Rendell, michael@stretch.cs.mun.ca - Feb 26, '90
- */
-#define        HASHSIZE        53              /* doesn't need to be big */
-#define        NF_MARK         0x1             /* marker for cycle detection */
-#define        NF_ACYCLIC      0x2             /* this node is cycle free */
-
-typedef struct node_str NODE;
-
-struct node_str {
-       char *n_name;                   /* name of this node */
-       NODE **n_prevp;                 /* pointer to previous node's n_next */
-       NODE *n_next;                   /* next node in graph */
-       NODE *n_hash;                   /* next node in hash table */
-       int n_narcs;                    /* number of arcs in n_arcs[] */
-       int n_arcsize;                  /* size of n_arcs[] array */
-       NODE **n_arcs;                  /* array of arcs to other nodes */
-       int n_refcnt;                   /* # of arcs pointing to this node */
-       int n_flags;                    /* NF_* */
-};
-
-typedef struct _buf {
-       char *b_buf;
-       int b_bsize;
-} BUF;
-
-NODE *add_node(char *), *find_node(char *);
-void add_arc(char *, char *), no_memory(void);
-void remove_node(NODE *), tsort(void);
-char *grow_buf(char *, int);
-int find_cycle(NODE *, NODE *, int, int);
-
-NODE *graph;
-NODE *hashtable[HASHSIZE];
-NODE **cycle_buf;
-NODE **longest_cycle;
-
-int
-main(int argc, char **argv) {
-       BUF *b;
-       int c, n;
-       FILE *fp;
-       int bsize, nused;
-       BUF bufs[2];
-
-       setlocale(LC_ALL, "");
-       bindtextdomain(PACKAGE, LOCALEDIR);
-       textdomain(PACKAGE);
-       
-       if (argc < 2)
-               fp = stdin;
-       /* == becomes > in next line per Volker Meyer_zu_Bexten
-          <vmzb@ims.fhg.de> -- faith@cs.unc.edu, Sat Feb  4 21:25:09 1995 */
-       else if (argc > 2) {
-               (void)fprintf(stderr, _("usage: tsort [ inputfile ]\n"));
-               exit(1);
-       } else if (!(fp = fopen(argv[1], "r"))) {
-               (void)fprintf(stderr, "tsort: %s.\n", strerror(errno));
-               exit(1);
-       }
-
-       for (b = bufs, n = 2; --n >= 0; b++)
-               b->b_buf = grow_buf((char *)NULL, b->b_bsize = 1024);
-
-       /* parse input and build the graph */
-       for (n = 0, c = getc(fp);;) {
-               while (c != EOF && isspace(c))
-                       c = getc(fp);
-               if (c == EOF)
-                       break;
-
-               nused = 0;
-               b = &bufs[n];
-               bsize = b->b_bsize;
-               do {
-                       b->b_buf[nused++] = c;
-                       if (nused == bsize) {
-                               bsize *= 2;
-                               b->b_buf = grow_buf(b->b_buf, bsize);
-                       }
-                       c = getc(fp);
-               } while (c != EOF && !isspace(c));
-
-               b->b_buf[nused] = '\0';
-               b->b_bsize = bsize;
-               if (n)
-                       add_arc(bufs[0].b_buf, bufs[1].b_buf);
-               n = !n;
-       }
-       (void)fclose(fp);
-       if (n) {
-               (void)fprintf(stderr, _("tsort: odd data count.\n"));
-               exit(1);
-       }
-
-       /* do the sort */
-       tsort();
-       return 0;
-}
-
-/* double the size of oldbuf and return a pointer to the new buffer. */
-char *
-grow_buf(char *bp, int size) {
-       if (!(bp = realloc(bp, (u_int)size)))
-               no_memory();
-       return(bp);
-}
-
-/*
- * add an arc from node s1 to node s2 in the graph.  If s1 or s2 are not in
- * the graph, then add them.
- */
-void
-add_arc(char *s1, char *s2) {
-       NODE *n1;
-       NODE *n2;
-       int bsize;
-
-       n1 = find_node(s1);
-       if (!n1)
-               n1 = add_node(s1);
-
-       if (!strcmp(s1, s2))
-               return;
-
-       n2 = find_node(s2);
-       if (!n2)
-               n2 = add_node(s2);
-
-       /*
-        * could check to see if this arc is here already, but it isn't
-        * worth the bother -- there usually isn't and it doesn't hurt if
-        * there is (I think :-).
-        */
-       if (n1->n_narcs == n1->n_arcsize) {
-               if (!n1->n_arcsize)
-                       n1->n_arcsize = 10;
-               bsize = n1->n_arcsize * sizeof(*n1->n_arcs) * 2;
-               n1->n_arcs = (NODE **)grow_buf((char *)n1->n_arcs, bsize);
-               n1->n_arcsize = bsize / sizeof(*n1->n_arcs);
-       }
-       n1->n_arcs[n1->n_narcs++] = n2;
-       ++n2->n_refcnt;
-}
-
-static int
-hash_string(char *s) {
-       int hash, i;
-
-       for (hash = 0, i = 1; *s; s++, i++)
-               hash += *s * i;
-       return(hash % HASHSIZE);
-}
-
-/*
- * find a node in the graph and return a pointer to it - returns null if not
- * found.
- */
-NODE *
-find_node(char *name) {
-       NODE *n;
-
-       for (n = hashtable[hash_string(name)]; n; n = n->n_hash)
-               if (!strcmp(n->n_name, name))
-                       return(n);
-       return((NODE *)NULL);
-}
-
-/* Add a node to the graph and return a pointer to it. */
-NODE *
-add_node(char *name) {
-       NODE *n;
-       int hash;
-
-       if (!(n = (NODE *)malloc(sizeof(NODE))) || !(n->n_name = strdup(name)))
-               no_memory();
-
-       n->n_narcs = 0;
-       n->n_arcsize = 0;
-       n->n_arcs = (NODE **)NULL;
-       n->n_refcnt = 0;
-       n->n_flags = 0;
-
-       /* add to linked list */
-       if ((n->n_next = graph) != NULL)
-               graph->n_prevp = &n->n_next;
-       n->n_prevp = &graph;
-       graph = n;
-
-       /* add to hash table */
-       hash = hash_string(name);
-       n->n_hash = hashtable[hash];
-       hashtable[hash] = n;
-       return(n);
-}
-
-/* do topological sort on graph */
-void
-tsort(void) {
-       NODE *n, *next;
-       int cnt;
-
-       while (graph) {
-               /*
-                * keep getting rid of simple cases until there are none left,
-                * if there are any nodes still in the graph, then there is
-                * a cycle in it.
-                */
-               do {
-                       for (cnt = 0, n = graph; n; n = next) {
-                               next = n->n_next;
-                               if (n->n_refcnt == 0) {
-                                       remove_node(n);
-                                       ++cnt;
-                               }
-                       }
-               } while (graph && cnt);
-
-               if (!graph)
-                       break;
-
-               if (!cycle_buf) {
-                       /*
-                        * allocate space for two cycle logs - one to be used
-                        * as scratch space, the other to save the longest
-                        * cycle.
-                        */
-                       for (cnt = 0, n = graph; n; n = n->n_next)
-                               ++cnt;
-                       cycle_buf =
-                           (NODE **)malloc((u_int)sizeof(NODE *) * cnt);
-                       longest_cycle =
-                           (NODE **)malloc((u_int)sizeof(NODE *) * cnt);
-                       if (!cycle_buf || !longest_cycle)
-                               no_memory();
-               }
-               for (n = graph; n; n = n->n_next)
-                       if (!(n->n_flags & NF_ACYCLIC)) {
-                               if ((cnt = find_cycle(n, n, 0, 0)) != 0) {
-                                       int i;
-
-                                       (void)fprintf(stderr,
-                                           _("tsort: cycle in data.\n"));
-                                       for (i = 0; i < cnt; i++)
-                                               (void)fprintf(stderr,
-                               "tsort: %s.\n", longest_cycle[i]->n_name);
-                                       remove_node(n);
-                                       break;
-                               } else
-                                       /* to avoid further checks */
-                                       n->n_flags  = NF_ACYCLIC;
-                       }
-
-               if (!n) {
-                       (void)fprintf(stderr,
-                           _("tsort: internal error -- could not find cycle.\n"));
-                       exit(1);
-               }
-       }
-}
-
-/* print node and remove from graph (does not actually free node) */
-void
-remove_node(NODE *n) {
-       NODE **np;
-       int i;
-
-       (void)printf("%s\n", n->n_name);
-       for (np = n->n_arcs, i = n->n_narcs; --i >= 0; np++)
-               --(*np)->n_refcnt;
-       n->n_narcs = 0;
-       *n->n_prevp = n->n_next;
-       if (n->n_next)
-               n->n_next->n_prevp = n->n_prevp;
-}
-
-/* look for the longest cycle from node from to node to. */
-int
-find_cycle(NODE *from, NODE *to, int longest_len, int depth) {
-       NODE **np;
-       int i, len;
-
-       /*
-        * avoid infinite loops and ignore portions of the graph known
-        * to be acyclic
-        */
-       if (from->n_flags & (NF_MARK|NF_ACYCLIC))
-               return(0);
-       from->n_flags = NF_MARK;
-
-       for (np = from->n_arcs, i = from->n_narcs; --i >= 0; np++) {
-               cycle_buf[depth] = *np;
-               if (*np == to) {
-                       if (depth + 1 > longest_len) {
-                               longest_len = depth + 1;
-                               (void)memcpy((char *)longest_cycle,
-                                   (char *)cycle_buf,
-                                   longest_len * sizeof(NODE *));
-                       }
-               } else {
-                       len = find_cycle(*np, to, longest_len, depth + 1);
-                       if (len > longest_len)
-                               longest_len = len;
-               }
-       }
-       from->n_flags &= ~NF_MARK;
-       return(longest_len);
-}
-
-void
-no_memory(void) {
-       (void)fprintf(stderr, "tsort: %s.\n", strerror(ENOMEM));
-       exit(1);
-}
index 239b1f4aee27c9c40523d8358d7906cdf92e057f..385cbf41bdc228837615467689b6e4a6c62e155e 100644 (file)
@@ -33,7 +33,7 @@
 
 /* *:aeb */
 
-/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  */
 
index e794a4eee2df3625f0b0c6a980d08f66c85baa15..b3c96d14caf669799ed1451e8ca842f0789b3c5c 100644 (file)
@@ -40,7 +40,7 @@
  *      - Added fix from David.Chapell@mail.trincoll.edu enabeling daemons
  *       to use write.
  *      - ANSIed it since I was working on it anyway.
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  */
@@ -197,11 +197,7 @@ void search_utmp(char *user, char *tty, char *mytty, uid_t myuid)
        struct utmp *uptr;
        time_t bestatime, atime;
        int nloggedttys, nttys, msgsok, user_is_me;
-#ifdef __linux__
        char atty[sizeof(u.ut_line) + 1];
-#else
-       char atty[UT_LINESIZE + 1];
-#endif
 
        utmpname(_PATH_UTMP);
        setutent();
@@ -213,13 +209,8 @@ void search_utmp(char *user, char *tty, char *mytty, uid_t myuid)
                memcpy(&u, uptr, sizeof(u));
                if (strncmp(user, u.ut_name, sizeof(u.ut_name)) == 0) {
                        ++nloggedttys;
-#ifdef __linux__
                        (void)strncpy(atty, u.ut_line, sizeof(u.ut_line));
                        atty[sizeof(u.ut_line)] = '\0';
-#else
-                       (void)strncpy(atty, u.ut_line, UT_LINESIZE);
-                       atty[UT_LINESIZE] = '\0';
-#endif
                        if (term_chk(atty, &msgsok, &atime, 0))
                                continue;       /* bad term? skip */
                        if (myuid && !msgsok)
@@ -228,10 +219,8 @@ void search_utmp(char *user, char *tty, char *mytty, uid_t myuid)
                                user_is_me = 1;
                                continue;       /* don't write to yourself */
                        }
-#ifdef __linux__
                         if (u.ut_type != USER_PROCESS)
                                continue;       /* it's not a valid entry */
-#endif
                        ++nttys;
                        if (atime > bestatime) {
                                bestatime = atime;
index 18e30cde6a89ca9c364bc5710cf4c13081ce9e4b..ef65601f7c505a0724d540484605413c56a30334 100644 (file)
@@ -24,14 +24,10 @@ PROGS = $(SUID_PROGS) $(NOSUID_PROGS)
 
 MAYBE = pivot_root swapoff
 
-# comment these out if you are not compiling in NFS support
+LO_OBJS = lomount.o $(LIB)/xstrncpy.o
 NFS_OBJS = nfsmount.o nfsmount_xdr.o nfsmount_clnt.o
-# uncomment this if you don't have libc-4.2 but do have the rpclib
 GEN_FILES = nfsmount.h nfsmount_xdr.c nfsmount_clnt.c
 
-# comment these out if you are not compiling in loop support
-LO_OBJS=lomount.o
-
 all: $(PROGS)
 
 install: $(PROGS)
@@ -58,10 +54,10 @@ umount: umount.o fstab.o sundries.o realpath.o mntent.o getusername.o \
 swapon:        swapon.o version.o
        $(LINK) $^ -o $@
 
-losetup.o: lomount.c
+main_losetup.o: lomount.c
        $(COMPILE) -DMAIN lomount.c -o $@
 
-losetup: losetup.o
+losetup: main_losetup.o $(LIB)/xstrncpy.o
        $(LINK) $^ -o $@
 
 mount.o umount.o nfsmount.o losetup.o fstab.o realpath.o sundries.o: sundries.h
index 6d7638e4accec06ec6faa7d9cedc3c5572597bd2..608f81d827f7eb38cc3f016ad2283bff176c82eb 100644 (file)
@@ -76,9 +76,11 @@ For NFS mounts one will have <host>:<dir>, e.g., `knuth.aeb.nl:/'.
 For procfs, use `proc'.
 .LP
 Instead of giving the device explicitly, one may indicate
-the (ext2) filesystem that is to be mounted by its UUID or
+the (ext2 or XFS) filesystem that is to be mounted by its UUID or
 volume label (cf.
-.BR e2label (8)),
+.BR e2label (8)
+or
+.BR xfs_admin (8)),
 writing LABEL=<label> or UUID=<uuid>,
 e.g., `LABEL=Boot' or `UUID=3e6be9de\%-8139\%-11d1\%-9106\%-a43f08d823a6'.
 This will make the system more robust: adding or removing a SCSI disk
@@ -113,6 +115,10 @@ features.
 a local filesystem with longer filenames, larger inodes, and lots of other
 features.
 .TP
+.I xfs
+a local filesystem with journaling, scalability and lots of other
+features.
+.TP
 .I msdos
 a local filesystem for MS-DOS partitions.
 .TP
index 3ee1f36a10818400fd55300c45cd6084b703dae4..9329d1ce635780bd47f00caae993c7cfd43e299c 100644 (file)
@@ -1,4 +1,4 @@
-/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
  * - fixed strerr(errno) in gettext calls
@@ -538,6 +538,16 @@ update_mtab (const char *dir, struct mntent *instead) {
        }
        my_endmntent (mftmp);
 
+       { /*
+          * If mount is setuid and some non-root user mounts sth,
+          * then mtab.tmp might get the group of this user. Copy uid/gid
+          * from the present mtab before renaming.
+          */
+           struct stat sbuf;
+           if (stat (MOUNTED, &sbuf) == 0)
+               chown (MOUNTED_TEMP, sbuf.st_uid, sbuf.st_gid);
+       }
+
        /* rename mtemp to mtab */
        if (rename (MOUNTED_TEMP, MOUNTED) < 0) {
                int errsv = errno;
index cabc44461874e8404b51fe1c723eec456903c8d4..26e895018fef4ca509861d1a54baa54c9d298299 100644 (file)
@@ -2,7 +2,7 @@
 /* Added vfs mount options - aeb - 960223 */
 /* Removed lomount - aeb - 960224 */
 
-/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
  * - fixed strerr(errno) in gettext calls
@@ -27,6 +27,7 @@
 
 #include "loop.h"
 #include "lomount.h"
+#include "xstrncpy.h"
 #include "nls.h"
 
 extern int verbose;
@@ -217,8 +218,7 @@ set_loop (const char *device, const char *file, int offset,
        *loopro = (mode == O_RDONLY);
 
        memset (&loopinfo, 0, sizeof (loopinfo));
-       strncpy (loopinfo.lo_name, file, LO_NAME_SIZE);
-       loopinfo.lo_name[LO_NAME_SIZE - 1] = 0;
+       xstrncpy (loopinfo.lo_name, file, LO_NAME_SIZE);
        if (encryption && (loopinfo.lo_encrypt_type = crypt_type (encryption))
            < 0) {
                fprintf (stderr, _("Unsupported encryption type %s\n"),
@@ -233,7 +233,7 @@ set_loop (const char *device, const char *file, int offset,
         * passwd etc being swapped out and left somewhere on disk.
         */
                                                 
-       if(mlockall(MCL_CURRENT|MCL_FUTURE)) {
+       if(mlockall(MCL_CURRENT | MCL_FUTURE)) {
                perror("memlock");
                fprintf(stderr, _("Couldn't lock into memory, exiting.\n"));
                exit(1);
@@ -246,8 +246,7 @@ set_loop (const char *device, const char *file, int offset,
                break;
        case LO_CRYPT_XOR:
                pass = getpass (_("Password: "));
-               strncpy (loopinfo.lo_encrypt_key, pass, LO_KEY_SIZE);
-               loopinfo.lo_encrypt_key[LO_KEY_SIZE - 1] = 0;
+               xstrncpy (loopinfo.lo_encrypt_key, pass, LO_KEY_SIZE);
                loopinfo.lo_encrypt_key_size = strlen(loopinfo.lo_encrypt_key);
                break;
        case LO_CRYPT_DES:
index d28171b98164a0f25c13514eadba596f6de21079..a9a334fed3ea5926f0bb3859874abf6300cc4a43 100644 (file)
@@ -1,7 +1,7 @@
 /* Private version of the libc *mntent() routines. */
 /* Note slightly different prototypes. */
 
-/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+/* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  */
 
index f90341198408a3cda6b6d9eb46200ba746fbeba1..42a7a4a7213c3a501666fc24e7b74fc2af3a2634 100644 (file)
@@ -95,7 +95,7 @@ prints a version string; and just
 .RE
 lists all mounted file systems (of type
 .IR type ).
-The option \-l adds the (ext2) labels in this listing.
+The option \-l adds the (ext2 and XFS) labels in this listing.
 See below.
 
 .\" In fact since 2.3.99. At first the syntax was mount -t bind.
@@ -280,12 +280,12 @@ command is trying to do. It can also be used to add entries for devices
 that were mounted earlier with the -n option.
 .TP
 .B \-l
-Add the ext2 labels in the mount output. Mount must have permission to
+Add the ext2 and XFS labels in the mount output. Mount must have permission to
 read the disk device (e.g. be suid root) for this to work.
-One can set such a label
-using the
+One can set such a label for ext2 using the
 .BR e2label (8)
-utility.
+utility, or for XFS using
+.BR xfs_admin (8).
 .TP
 .B \-n
 Mount without writing in
@@ -323,13 +323,13 @@ These two options require the file
 The argument following the
 .B \-t
 is used to indicate the file system type.  The file system types which are
-currently supported are listed in
-.IR linux/fs/filesystems.c :
+currently supported are:
 .IR adfs ,
 .IR affs ,
 .IR autofs ,
 .IR coda ,
 .IR coherent ,
+.IR cramfs ,
 .IR devpts ,
 .IR efs ,
 .IR ext ,
@@ -352,6 +352,7 @@ currently supported are listed in
 .IR umsdos ,
 .IR vfat ,
 .IR xenix ,
+.IR xfs ,
 .IR xiafs .
 Note that coherent, sysv and xenix are equivalent and that
 .I xenix
@@ -391,7 +392,8 @@ option is given, or if the
 .B auto
 type is specified, the superblock is probed for the filesystem type
 .RI ( minix ", " ext ", " ext2 ", " xiafs ", " iso9660 ", " romfs
-.RI , ufs ", " ntfs  ", " qnx4 ", " bfs
+.RI , ufs ", " ntfs  ", " qnx4 ", " bfs ", " xfs ", " cramfs ", " hfs
+.RI , hpfs ", " adfs
 are supported).
 If this probe fails, mount will try to read the file
 .IR /etc/filesystems ,
@@ -494,7 +496,7 @@ This is the default.
 .B remount
 Attempt to remount an already-mounted file system.  This is commonly
 used to change the mount flags for a file system, especially to make a
-readonly file system writeable.
+readonly file system writeable. It does not change device or mount point.
 .TP
 .B ro
 Mount the file system read-only.
@@ -522,7 +524,16 @@ The following options apply only to certain file systems.
 We sort them by file system. They all follow the
 .B \-o
 flag.
-
+.SH "Mount options for adfs"
+.TP
+\fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
+Set the owner and group of the files in the file system (default: uid=gid=0).
+.TP
+\fBownmask=\fP\fIvalue\fP and \fBothmask=\fP\fIvalue\fP
+Set the permission mask for ADFS 'owner' permissions and 'other' permissions,
+respectively (default: 0700 and 0077, respectively).
+See also
+.IR /usr/src/linux/Documentation/filesystems/adfs.txt .
 .SH "Mount options for affs"
 .TP
 \fBuid=\fP\fIvalue\fP and \fBgid=\fP\fIvalue\fP
@@ -863,6 +874,7 @@ that it is read-only, of course).
 .B norock
 Disable the use of Rock Ridge extensions, even if available. Cf.\&
 .BR map .
+.TP
 .B nojoliet
 Disable the use of Microsoft Joliet extensions, even if available. Cf.\&
 .BR map .
@@ -1218,6 +1230,102 @@ If `uni_xlate' gets set, UTF8 gets disabled.
 .SH "Mount options for xenix"
 None.
 
+.SH "Mount options for xfs"
+.TP
+.BI biosize= size
+Sets the preferred buffered I/O size (default size is 64K).
+.I size
+must be expressed as the logarithm (base2) of the desired I/O size.
+Valid values for this option are 14 through 16, inclusive
+(i.e. 16K, 32K, and 64K bytes).
+On machines with a 4K pagesize, 13 (8K bytes) is also a valid
+.IR size .
+The preferred buffered I/O size can also be altered on an individual
+file basis using the
+.BR ioctl (2)
+system call.
+.TP
+.B dmapi " / " xdsm
+Enable the DMAPI (Data Management API) event callouts.
+.TP
+.BI logbufs= value
+Set the number of in-memory log buffers.
+Valid numbers range from 2-8 inclusive.
+The default value is 8 buffers for filesystems with a blocksize of 64K,
+4 buffers for filesystems with a blocksize of 32K,
+3 buffers for filesystems with a blocksize of 16K,
+and 2 buffers for all other configurations.
+Increasing the number of buffers may increase performance on
+some workloads at the cost of the memory used for the
+additional log buffers and their associated control structures.
+.TP
+.BI logbsize= value
+Set the size of each in-memory log buffer.
+Valid sizes are 16384 (16K) and 32768 (32K).
+The default value for machines with more than 32MB of memory is 32768,
+machines with less memory use 16384 by default.
+.TP
+\fBlogdev=\fP\fIdevice\fP and \fBrtdev=\fP\fIdevice\fP
+Use an external log (metadata journal) and/or real-time device.
+An XFS filesystem has up to three parts: a data section, a log section,
+and a real-time section.
+The real-time section is optional, and the log section can be separate
+from the data section or contained within it.
+Refer to
+.BR xfs (5).
+.TP
+.B noalign
+Data allocations will not be aligned at stripe unit boundaries.
+.TP
+.B noatime
+Access timestamps are not updated when a file is read.
+.TP
+.B norecovery
+The filesystem will be mounted without running log recovery.
+If the filesystem was not cleanly unmounted, it is likely to
+be inconsistent when mounted in
+.B norecovery
+mode.
+Some files or directories may not be accessible because of this.
+Filesystems mounted
+.B norecovery
+must be mounted read-only or the mount will fail.
+.TP
+.B osyncisdsync
+Make writes to files opened with the O_SYNC flag set behave
+as if the O_DSYNC flag had been used instead.
+This can result in better performance without compromising
+data safety.
+However if this option is in effect, timestamp updates from
+O_SYNC writes can be lost if the system crashes.
+.TP
+.BR quota " / " usrquota " / " uqnoenforce
+User disk quota accounting enabled, and limits (optionally) enforced.
+.TP
+.BR grpquota " / " gqnoenforce
+Group disk quota accounting enabled and limits (optionally) enforced.
+.TP
+\fBsunit=\fP\fIvalue\fP and \fBswidth=\fP\fIvalue\fP
+Used to specify the stripe unit and width for a RAID device or a stripe
+volume.
+.I value
+must be specified in 512-byte block units.
+If this option is not specified and the filesystem was made on a stripe
+volume or the stripe width or unit were specified for the RAID device at
+mkfs time, then the mount system call will restore the value from the
+superblock.
+For filesystems that are made directly on RAID devices, these options can be
+used to override the information in the superblock if the underlying disk
+layout changes after the filesystem has been created.
+The
+.B swidth
+option is required if the
+.B sunit
+option has been specified,
+and must be a multiple of the
+.B sunit
+value.
+
 .SH "Mount options for xiafs"
 None. Although nothing is wrong with xiafs, it is not used much,
 and is not maintained. Probably one shouldn't use it.
@@ -1275,7 +1383,9 @@ temporary file
 .BR umount (8),
 .BR swapon (8),
 .BR nfs (5),
+.BR xfs (5),
 .BR e2label (8),
+.BR xfs_admin (8),
 .BR mountd (8),
 .BR nfsd (8),
 .BR mke2fs (8),
index 39ccd3e634cc1fa7dc7339d5653fef14d4cc04b6..dc7e9823f9fb6831994b204c1027d6377c6eb4c3 100644 (file)
@@ -26,7 +26,7 @@
  * Improve support for noncanonical names in /etc/fstab.
  * Add support for volume labels and UUIDs.
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  * 1999-03-21 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
  * - fixed strerr(errno) in gettext calls
@@ -101,10 +101,7 @@ static int optfork = 0;
 /* Add volumelabel in a listing of mounted devices (-l). */
 static int list_with_volumelabel = 0;
 
-/* Nonzero for mount --bind */
-static int bind = 0;
-
-/* Nonzero for mount {--replace|--before|--after|--over} */
+/* Nonzero for mount {--bind|--replace|--before|--after|--over|--move} */
 static int mounttype = 0;
 
 /* True if ruid != euid.  */
@@ -341,8 +338,6 @@ parse_opts (char *opts, int *flags, char **extra_opts) {
        if (readwrite)
                *flags &= ~MS_RDONLY;
        *flags |= mounttype;
-       if (bind)
-               *flags |= MS_BIND;
 }
 
 /* Try to build a canonical options string.  */
@@ -466,7 +461,7 @@ guess_fstype_and_mount (char *spec, char *node, char **type,
    if (*type && strcasecmp (*type, "auto") == 0)
       *type = NULL;
 
-   if (!*type && (flags & MS_BIND))
+   if (!*type && (flags & (MS_BIND | MS_MOVE)))
       *type = "none";          /* random, but not "bind" */
 
    if (!*type && !(flags & MS_REMOUNT)) {
@@ -1092,7 +1087,7 @@ mount_one (const char *spec, const char *node, char *type, const char *opts,
       /* if -a then we may be rescued by a noauto option */
   }
 
-  if (type == NULL && !bind) {
+  if (type == NULL && !mounttype) {
       if (strchr (spec, ':') != NULL) {
        type = "nfs";
        if (verbose)
@@ -1292,6 +1287,7 @@ static struct option longopts[] = {
        { "after", 0, 0, 130 },
        { "before", 0, 0, 131 },
        { "over", 0, 0, 132 },
+       { "move", 0, 0, 133 },
        { NULL, 0, 0, 0 }
 };
 
@@ -1317,11 +1313,13 @@ usage (FILE *fp, int n) {
          "       mount --bind olddir newdir\n"
          "A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
          "or by label, using  -L label  or by uuid, using  -U uuid .\n"
-         "Union or stack mounts are specified using one of\n"
-         "       --replace, --after, --before, --over\n"
          "Other options: [-nfFrsvw] [-o options].\n"
          "For many more details, say  man 8 mount .\n"
        ));
+/*
+         "Union or stack mounts are specified using one of\n"
+         "       --replace, --after, --before, --over\n"
+*/
        unlock_mtab();
        exit (n);
 }
@@ -1408,7 +1406,7 @@ main (int argc, char *argv[]) {
                        break;
 
                case 128: /* bind */
-                       ++bind;
+                       mounttype = MS_BIND;
                        break;
                case 129: /* replace */
                        mounttype = MS_REPLACE;
@@ -1422,6 +1420,9 @@ main (int argc, char *argv[]) {
                case 132: /* over */
                        mounttype = MS_OVER;
                        break;
+               case 133: /* move */
+                       mounttype = MS_MOVE;
+                       break;
              
                case '?':
                default:
@@ -1435,15 +1436,15 @@ main (int argc, char *argv[]) {
        specseen = (uuid || volumelabel) ? 1 : 0;       /* yes, .. i know */
 
        if (argc+specseen == 0 && !all) {
-               if (options || mounttype || bind)
+               if (options || mounttype)
                        usage (stderr, EX_USAGE);
                return print_all (types);
        }
 
        if (getuid () != geteuid ()) {
                suid = 1;
-               if (types || options || readwrite || nomtab || all || fake ||
-                   bind || mounttype || (argc + specseen) != 1)
+               if (types || options || readwrite || nomtab || all ||
+                   fake || mounttype || (argc + specseen) != 1)
                        die (EX_USAGE, _("mount: only root can do that"));
        }
 
index e24d880d2658977f77202df6c7cc189319c364e2..ad3b5ebd24f62fc971024ebce773109035672823 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * mount_by_label.c - aeb
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  * 2000-01-20 James Antill <james@and.org>
  * - Added error message if /proc/partitions cannot be opened
index 5fd29082917bdd8d03717fca62cb5efbdd75ac68..cdbced881422922908f4bab7348d9210265325f5 100644 (file)
@@ -36,13 +36,16 @@ if we have a stack or plain mount - mount atop of it, forming a stack. */
 #define        MS_OVER         0x200   /* 512 */
 #endif
 #ifndef MS_NOATIME
-#define MS_NOATIME     1024    /* Do not update access times. */
+#define MS_NOATIME     0x400   /* 1024: Do not update access times. */
 #endif
 #ifndef MS_NODIRATIME
-#define MS_NODIRATIME   2048    /* Do not update directory access times */
+#define MS_NODIRATIME   0x800  /* 2048: Don't update directory access times */
 #endif
 #ifndef MS_BIND
-#define        MS_BIND         4096
+#define        MS_BIND         0x1000  /* 4096: Mount existing tree also elsewhere */
+#endif
+#ifndef MS_MOVE
+#define MS_MOVE                0x2000  /* 8192: Atomically move tree */
 #endif
 /*
  * Magic mount flag number. Has to be or-ed to the flag values.
index 5a3733f983425ac9b71a27187f0d98d1778613a8..a874092953ca462d3f7bdc5bfef21ff46becca98 100644 (file)
@@ -17,7 +17,7 @@
  *  detect *fat and then assume vfat, so perhaps /etc/filesystems isnt
  *  so useful anymore.]
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  * Fri Dec  1 23:31:00 2000: Sepp Wijnands <mrrazz@garbage-coderz.net>
@@ -175,6 +175,9 @@ fstype(const char *device) {
        || read(fd, (char *) &sb, sizeof(sb)) != sizeof(sb))
         goto io_error;
 
+    /* ext2 has magic in little-endian on disk, so "swapped" is
+       superfluous; however, there have existed strange byteswapped
+       PPC ext2 systems */
     if (ext2magic(sb.e2s) == EXT2_SUPER_MAGIC
        || ext2magic(sb.e2s) == EXT2_PRE_02B_MAGIC
        || ext2magic(sb.e2s) == swapped(EXT2_SUPER_MAGIC))
@@ -365,39 +368,55 @@ is_in_procfs(const char *type) {
 int
 procfsloop(int (*mount_fn)(struct mountargs *), struct mountargs *args,
           char **type) {
-   FILE *procfs;
-   char *fsname;
-   int ret = 1;
-   int errsv = 0;
-
-   *type = NULL;
-
-   procfs = fopen(ETC_FILESYSTEMS, "r");
-   if (!procfs) {
-       procfs = fopen(PROC_FILESYSTEMS, "r");
-       if (!procfs)
-             return 1;
-   }
-   while ((fsname = procfsnext(procfs)) != NULL) {
-      if (tested (fsname))
-        continue;
-      args->type = fsname;
-      if (verbose) {
-        printf(_("Trying %s\n"), fsname);
-        fflush(stdout);
-      }
-      if ((*mount_fn) (args) == 0) {
-        *type = fsname;
-        ret = 0;
-        break;
-      } else if (errno != EINVAL && is_in_procfs(fsname) == 1) {
-         *type = "guess";
-        ret = -1;
-        errsv = errno;
-        break;
-      }
-   }
-   fclose(procfs);
-   errno = errsv;
-   return ret;
+       char *files[2] = { ETC_FILESYSTEMS, PROC_FILESYSTEMS };
+       FILE *procfs;
+       char *fsname;
+       int ret = 1;
+       int errsv = 0;
+       int i;
+
+       *type = NULL;
+
+       /* Use PROC_FILESYSTEMS only when ETC_FILESYSTEMS does not exist.
+          In some cases trying a filesystem that the kernel knows about
+          on the wrong data will crash the kernel; in such cases
+          ETC_FILESYSTEMS can be used to list the filesystems that we
+          are allowed to try, and in the order they should be tried.
+          End ETC_FILESYSTEMS with a line containing a single '*' only,
+          if PROC_FILESYSTEMS should be tried afterwards. */
+
+       for (i=0; i<2; i++) {
+               procfs = fopen(files[i], "r");
+               if (!procfs)
+                       continue;
+               while ((fsname = procfsnext(procfs)) != NULL) {
+                       if (!strcmp(fsname, "*")) {
+                               fclose(procfs);
+                               goto nexti;
+                       }
+                       if (tested (fsname))
+                               continue;
+                       args->type = fsname;
+                       if (verbose) {
+                               printf(_("Trying %s\n"), fsname);
+                               fflush(stdout);
+                       }
+                       if ((*mount_fn) (args) == 0) {
+                               *type = fsname;
+                               ret = 0;
+                               break;
+                       } else if (errno != EINVAL &&
+                                  is_in_procfs(fsname) == 1) {
+                               *type = "guess";
+                               ret = -1;
+                               errsv = errno;
+                               break;
+                       }
+               }
+               fclose(procfs);
+               errno = errsv;
+               return ret;
+       nexti:;
+       }
+       return 1;
 }
index 072c09fc48dc78f07a3b0979322288022ade7bb5..7246d319ae3db2f26dff8c96015e5266816ab5a5 100644 (file)
@@ -25,7 +25,7 @@ rootdev(char *p) {
        char *type = "hd";
        char let;
        int ma, mi;
-       char devname[8];
+       char devname[32];
 
        devno = strtoul(p, &ep, 16);
        if ((ep == p+3 || ep == p+4) && (*ep == ' ' || *ep == 0)) {
index 59f199b2b3d9e8fa578278b44d8ac3b169207eea..6ffce6cdf2699696ea3040b830b17b0b1a57f098 100644 (file)
@@ -192,6 +192,9 @@ server performance penalty but it allows two different NFS clients
 to get reasonable good results when both clients are actively
 writing to common filesystem on the server.
 .TP 1.5i
+.I nolock
+Do not use locking. Do not start lockd.
+.TP 1.5i
 .I tcp
 Mount the NFS filesystem using the TCP protocol instead of the
 default UDP protocol.  Many NFS severs only support UDP.
index 6fc917db51e514fb6c9aee9e65cc3d8647d73a41..70298e0c6534b0d62df1ea5233c9e6e4918fd20f 100644 (file)
@@ -21,7 +21,7 @@
  * Wed Oct  1 23:55:28 1997: Dick Streefland <dick_streefland@tasking.com>
  * Implemented the "bg", "fg" and "retry" mount options for NFS.
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  * 
  * Modified by Olaf Kirch and Trond Myklebust for new NFS code,
@@ -132,45 +132,45 @@ get_mountport(struct sockaddr_in *server_addr,
       long unsigned proto,
       long unsigned port)
 {
-struct pmaplist *pmap;
-static struct pmap p = {0, 0, 0, 0};
-
-server_addr->sin_port = PMAPPORT;
-pmap = pmap_getmaps(server_addr);
-
-if (version > MAX_NFSPROT)
-       version = MAX_NFSPROT;
-if (!prog)
-       prog = MOUNTPROG;
-p.pm_prog = prog;
-p.pm_vers = version;
-p.pm_prot = proto;
-p.pm_port = port;
-
-while (pmap) {
-       if (pmap->pml_map.pm_prog != prog)
-               goto next;
-       if (!version && p.pm_vers > pmap->pml_map.pm_vers)
-               goto next;
-       if (version > 2 && pmap->pml_map.pm_vers != version)
-               goto next;
-       if (version && version <= 2 && pmap->pml_map.pm_vers > 2)
-               goto next;
-       if (pmap->pml_map.pm_vers > MAX_NFSPROT ||
-           (proto && p.pm_prot && pmap->pml_map.pm_prot != proto) ||
-           (port && pmap->pml_map.pm_port != port))
-               goto next;
-       memcpy(&p, &pmap->pml_map, sizeof(p));
-next:
-       pmap = pmap->pml_next;
-}
-if (!p.pm_vers)
-       p.pm_vers = MOUNTVERS;
-if (!p.pm_port)
-       p.pm_port = MOUNTPORT;
-if (!p.pm_prot)
-       p.pm_prot = IPPROTO_TCP;
-return &p;
+       struct pmaplist *pmap;
+       static struct pmap p = {0, 0, 0, 0};
+
+       server_addr->sin_port = PMAPPORT;
+       pmap = pmap_getmaps(server_addr);
+
+       if (version > MAX_NFSPROT)
+               version = MAX_NFSPROT;
+       if (!prog)
+               prog = MOUNTPROG;
+       p.pm_prog = prog;
+       p.pm_vers = version;
+       p.pm_prot = proto;
+       p.pm_port = port;
+
+       while (pmap) {
+               if (pmap->pml_map.pm_prog != prog)
+                       goto next;
+               if (!version && p.pm_vers > pmap->pml_map.pm_vers)
+                       goto next;
+               if (version > 2 && pmap->pml_map.pm_vers != version)
+                       goto next;
+               if (version && version <= 2 && pmap->pml_map.pm_vers > 2)
+                       goto next;
+               if (pmap->pml_map.pm_vers > MAX_NFSPROT ||
+                   (proto && p.pm_prot && pmap->pml_map.pm_prot != proto) ||
+                   (port && pmap->pml_map.pm_port != port))
+                       goto next;
+               memcpy(&p, &pmap->pml_map, sizeof(p));
+       next:
+               pmap = pmap->pml_next;
+       }
+       if (!p.pm_vers)
+               p.pm_vers = MOUNTVERS;
+       if (!p.pm_port)
+               p.pm_port = MOUNTPORT;
+       if (!p.pm_prot)
+               p.pm_prot = IPPROTO_TCP;
+       return &p;
 }
 
 int nfsmount(const char *spec, const char *node, int *flags,
@@ -230,7 +230,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
        mclient = NULL;
        if (strlen(spec) >= sizeof(hostdir)) {
                fprintf(stderr, _("mount: "
-                       "excessively long host:dir argument\n"));
+                                 "excessively long host:dir argument\n"));
                goto fail;
        }
        strcpy(hostdir, spec);
@@ -243,11 +243,11 @@ int nfsmount(const char *spec, const char *node, int *flags,
                if ((s = strchr(hostdir, ','))) {
                        *s = '\0';
                        fprintf(stderr, _("mount: warning: "
-                               "multiple hostnames not supported\n"));
+                                         "multiple hostnames not supported\n"));
                }
        } else {
                fprintf(stderr, _("mount: "
-                       "directory to mount not in host:dir format\n"));
+                                 "directory to mount not in host:dir format\n"));
                goto fail;
        }
 
@@ -281,7 +281,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
                old_opts = "";
        if (strlen(old_opts) + strlen(s) + 10 >= sizeof(new_opts)) {
                fprintf(stderr, _("mount: "
-                       "excessively long option argument\n"));
+                                 "excessively long option argument\n"));
                goto fail;
        }
        sprintf(new_opts, "%s%saddr=%s",
@@ -356,7 +356,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
                                mountport = val;
                        else if (!strcmp(opt, "mounthost"))
                                mounthost=xstrndup(opteq+1,
-                                                 strcspn(opteq+1," \t\n\r,"));
+                                                  strcspn(opteq+1," \t\n\r,"));
                        else if (!strcmp(opt, "mountprog"))
                                mountprog = val;
                        else if (!strcmp(opt, "mountvers"))
@@ -379,12 +379,12 @@ int nfsmount(const char *spec, const char *node, int *flags,
                                        data.namlen = val;
                                else
 #endif
-                               printf(_("Warning: Option namlen is not supported.\n"));
+                                       printf(_("Warning: Option namlen is not supported.\n"));
                        } else if (!strcmp(opt, "addr"))
                                /* ignore */;
                        else {
                                printf(_("unknown nfs mount parameter: "
-                                      "%s=%d\n"), opt, val);
+                                        "%s=%d\n"), opt, val);
                                goto fail;
                        }
                }
@@ -424,7 +424,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
                        } else {
                                if (!sloppy) {
                                        printf(_("unknown nfs mount option: "
-                                              "%s%s\n"), val ? "" : "no", opt);
+                                                "%s%s\n"), val ? "" : "no", opt);
                                        goto fail;
                                }
                        }
@@ -469,22 +469,22 @@ int nfsmount(const char *spec, const char *node, int *flags,
 
 #ifdef NFS_MOUNT_DEBUG
        printf("rsize = %d, wsize = %d, timeo = %d, retrans = %d\n",
-               data.rsize, data.wsize, data.timeo, data.retrans);
+              data.rsize, data.wsize, data.timeo, data.retrans);
        printf("acreg (min, max) = (%d, %d), acdir (min, max) = (%d, %d)\n",
-               data.acregmin, data.acregmax, data.acdirmin, data.acdirmax);
+              data.acregmin, data.acregmax, data.acdirmin, data.acdirmax);
        printf("port = %d, bg = %d, retry = %d, flags = %.8x\n",
-               port, bg, retry, data.flags);
+              port, bg, retry, data.flags);
        printf("mountprog = %d, mountvers = %d, nfsprog = %d, nfsvers = %d\n",
-               mountprog, mountvers, nfsprog, nfsvers);
+              mountprog, mountvers, nfsprog, nfsvers);
        printf("soft = %d, intr = %d, posix = %d, nocto = %d, noac = %d\n",
-               (data.flags & NFS_MOUNT_SOFT) != 0,
-               (data.flags & NFS_MOUNT_INTR) != 0,
-               (data.flags & NFS_MOUNT_POSIX) != 0,
-               (data.flags & NFS_MOUNT_NOCTO) != 0,
-               (data.flags & NFS_MOUNT_NOAC) != 0);
+              (data.flags & NFS_MOUNT_SOFT) != 0,
+              (data.flags & NFS_MOUNT_INTR) != 0,
+              (data.flags & NFS_MOUNT_POSIX) != 0,
+              (data.flags & NFS_MOUNT_NOCTO) != 0,
+              (data.flags & NFS_MOUNT_NOAC) != 0);
 #if NFS_MOUNT_VERSION >= 2
        printf("tcp = %d\n",
-               (data.flags & NFS_MOUNT_TCP) != 0);
+              (data.flags & NFS_MOUNT_TCP) != 0);
 #endif
 #endif
 
@@ -509,25 +509,25 @@ int nfsmount(const char *spec, const char *node, int *flags,
        /* create mount deamon client */
        /* See if the nfs host = mount host. */
        if (mounthost) {
-         if (mounthost[0] >= '0' && mounthost[0] <= '9') {
-           mount_server_addr.sin_family = AF_INET;
-           mount_server_addr.sin_addr.s_addr = inet_addr(hostname);
-         } else {
-                 if ((hp = gethostbyname(mounthost)) == NULL) {
-                         fprintf(stderr, _("mount: can't get address for %s\n"),
-                                 hostname);
-                         goto fail;
-                 } else {
-                         if (hp->h_length > sizeof(struct in_addr)) {
-                                 fprintf(stderr,
-                                         _("mount: got bad hp->h_length?\n"));
-                                 hp->h_length = sizeof(struct in_addr);
-                         }
-                         mount_server_addr.sin_family = AF_INET;
-                         memcpy(&mount_server_addr.sin_addr,
-                                hp->h_addr, hp->h_length);
-                 }
-         }
+               if (mounthost[0] >= '0' && mounthost[0] <= '9') {
+                       mount_server_addr.sin_family = AF_INET;
+                       mount_server_addr.sin_addr.s_addr = inet_addr(hostname);
+               } else {
+                       if ((hp = gethostbyname(mounthost)) == NULL) {
+                               fprintf(stderr, _("mount: can't get address for %s\n"),
+                                       hostname);
+                               goto fail;
+                       } else {
+                               if (hp->h_length > sizeof(struct in_addr)) {
+                                       fprintf(stderr,
+                                               _("mount: got bad hp->h_length?\n"));
+                                       hp->h_length = sizeof(struct in_addr);
+                               }
+                               mount_server_addr.sin_family = AF_INET;
+                               memcpy(&mount_server_addr.sin_addr,
+                                      hp->h_addr, hp->h_length);
+                       }
+               }
        }
 
        /*
@@ -554,8 +554,10 @@ int nfsmount(const char *spec, const char *node, int *flags,
        prevt = 0;
        t = 30;
        val = 1;
+
        for (;;) {
                if (bg && stat(node, &statbuf) == -1) {
+                       /* no mount point yet - sleep */
                        if (running_bg) {
                                sleep(val);     /* 1, 2, 4, 8, 16, 30, ... */
                                val *= 2;
@@ -568,10 +570,10 @@ int nfsmount(const char *spec, const char *node, int *flags,
                                sleep(30);
 
                        pm_mnt = get_mountport(&mount_server_addr,
-                                      mountprog,
-                                      mountvers,
-                                      proto,
-                                      mountport);
+                                              mountprog,
+                                              mountvers,
+                                              proto,
+                                              mountport);
 
                        /* contact the mount daemon via TCP */
                        mount_server_addr.sin_port = htons(pm_mnt->pm_port);
@@ -580,53 +582,60 @@ int nfsmount(const char *spec, const char *node, int *flags,
                        switch (pm_mnt->pm_prot) {
                        case IPPROTO_UDP:
                                mclient = clntudp_create(&mount_server_addr,
-                                                pm_mnt->pm_prog,
-                                                pm_mnt->pm_vers,
-                                                retry_timeout,
-                                                &msock);
-                 if (mclient)
-                         break;
-                 mount_server_addr.sin_port = htons(pm_mnt->pm_port);
-                 msock = RPC_ANYSOCK;
-               case IPPROTO_TCP:
-                       mclient = clnttcp_create(&mount_server_addr,
-                                                pm_mnt->pm_prog,
-                                                pm_mnt->pm_vers,
-                                                &msock, 0, 0);
-                       break;
-               default:
-                       mclient = 0;
+                                                        pm_mnt->pm_prog,
+                                                        pm_mnt->pm_vers,
+                                                        retry_timeout,
+                                                        &msock);
+                               if (mclient)
+                                       break;
+                               mount_server_addr.sin_port = htons(pm_mnt->pm_port);
+                               msock = RPC_ANYSOCK;
+                       case IPPROTO_TCP:
+                               mclient = clnttcp_create(&mount_server_addr,
+                                                        pm_mnt->pm_prog,
+                                                        pm_mnt->pm_vers,
+                                                        &msock, 0, 0);
+                               break;
+                       default:
+                               mclient = 0;
                        }
+
                        if (mclient) {
                                /* try to mount hostname:dirname */
                                mclient->cl_auth = authunix_create_default();
 
-                       /* make pointers in xdr_mountres3 NULL so
-                        * that xdr_array allocates memory for us
-                        */
-                       memset(&status, 0, sizeof(status));
-
-                       if (pm_mnt->pm_vers == 3)
-                               clnt_stat = clnt_call(mclient, MOUNTPROC3_MNT,
-                                                     (xdrproc_t) xdr_dirpath,
-                                                     (caddr_t) &dirname,
-                                                     (xdrproc_t) xdr_mountres3,
-                                                     (caddr_t) &status,
-                                       total_timeout);
-                       else
-                               clnt_stat = clnt_call(mclient, MOUNTPROC_MNT,
-                                                     (xdrproc_t) xdr_dirpath,
-                                                     (caddr_t) &dirname,
-                                                     (xdrproc_t) xdr_fhstatus,
-                                                     (caddr_t) &status,
-                                                     total_timeout);
+                               /* make pointers in xdr_mountres3 NULL so
+                                * that xdr_array allocates memory for us
+                                */
+                               memset(&status, 0, sizeof(status));
+
+                               if (pm_mnt->pm_vers == 3)
+                                       clnt_stat = clnt_call(mclient,
+                                                    MOUNTPROC3_MNT,
+                                                    (xdrproc_t) xdr_dirpath,
+                                                    (caddr_t) &dirname,
+                                                    (xdrproc_t) xdr_mountres3,
+                                                    (caddr_t) &status,
+                                                    total_timeout);
+                               else
+                                       clnt_stat = clnt_call(mclient,
+                                                    MOUNTPROC_MNT,
+                                                    (xdrproc_t) xdr_dirpath,
+                                                    (caddr_t) &dirname,
+                                                    (xdrproc_t) xdr_fhstatus,
+                                                    (caddr_t) &status,
+                                                    total_timeout);
 
                                if (clnt_stat == RPC_SUCCESS)
                                        break;          /* we're done */
+#if 0
+                               /* errno? who sets errno? */
+                               /* this fragment breaks bg mounting */
                                if (errno != ECONNREFUSED) {
                                        clnt_perror(mclient, "mount");
                                        goto fail;      /* don't retry */
                                }
+#endif
                                if (!running_bg && prevt == 0)
                                        clnt_perror(mclient, "mount");
                                auth_destroy(mclient->cl_auth);
@@ -639,6 +648,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
                        }
                        prevt = t;
                }
+
                if (!bg)
                        goto fail;
                if (!running_bg) {
@@ -713,7 +723,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
        if (port == 0) {
                server_addr.sin_port = PMAPPORT;
                port = pmap_getport(&server_addr, nfsprog, nfsvers,
-                       tcp ? IPPROTO_TCP : IPPROTO_UDP);
+                                   tcp ? IPPROTO_TCP : IPPROTO_UDP);
                if (port == 0)
                        port = NFS_PORT;
 #ifdef NFS_MOUNT_DEBUG
@@ -725,11 +735,11 @@ int nfsmount(const char *spec, const char *node, int *flags,
        printf(_("using port %d for nfs deamon\n"), port);
 #endif
        server_addr.sin_port = htons(port);
-        /*
-         * connect() the socket for kernels 1.3.10 and below only,
-         * to avoid problems with multihomed hosts.
-         * --Swen
-         */
+       /*
+        * connect() the socket for kernels 1.3.10 and below only,
+        * to avoid problems with multihomed hosts.
+        * --Swen
+        */
        if (linux_version_code() <= 66314
            && connect(fsock, (struct sockaddr *) &server_addr,
                       sizeof (server_addr)) < 0) {
@@ -752,7 +762,7 @@ int nfsmount(const char *spec, const char *node, int *flags,
 
        /* abort */
 
-fail:
+ fail:
        if (msock != -1) {
                if (mclient) {
                        auth_destroy(mclient->cl_auth);
index de17b256de106a092e5499e707bc7d49f085f500..1da3b666eabe6023c41afa602ea7c4bce1353425 100644 (file)
@@ -4,7 +4,7 @@
  *
  * added fcntl locking by Kjetil T. (kjetilho@math.uio.no) - aeb, 950927
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  */
index 2e49b627d9de49a21de81b38862e47e7a9f2c888..829acadd4576ea9595e35eeacf5001475a3429a0 100644 (file)
@@ -3,7 +3,7 @@
  * swapon.c,v 1.1.1.1 1993/11/18 08:40:51 jrs Exp
  * Added '-s' (Summary option) <Vincent.Renardias@waw.com> 02/1997.
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
  * - fixed strerr(errno) in gettext calls
index 24622bc98512f59d6770f844885fd5df09a01068..1843e08e56f0716c041c25088160f1f1a8faae0e 100644 (file)
@@ -52,7 +52,7 @@
 #include <arpa/inet.h>
 #endif
 
-#if defined(MNT_FORCE) && !defined(__sparc__) && !defined(__arm__)
+#if defined(MNT_FORCE) && !defined(__sparc__) && !defined(__arm__) && !defined(__mips__)
 /* Interesting ... it seems libc knows about MNT_FORCE and presumably
    about umount2 as well -- need not do anything */
 #else /* MNT_FORCE */
@@ -378,7 +378,7 @@ umount_one_bw (const char *file, struct mntentchn *mc) {
 }
 
 /* Unmount all filesystems of type VFSTYPES found in mtab.  Since we are
-   concurrently updating mtab after every succesful umount, we have to
+   concurrently updating mtab after every successful umount, we have to
    slurp in the entire file before we start.  This isn't too bad, because
    in any case it's important to umount mtab entries in reverse order
    to mount, e.g. /usr/spool before /usr.  */
index d1e14684cf772c8543b8573299d094b9062bd9d8..5c8e789a1450750881aca204a146c765247da511 100644 (file)
@@ -1,5 +1,5 @@
 1999-02-22
-       Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+       Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
        - initial release
        - things work not too well, yet
        
index a93f77553a91644877f3e2fb205133901d296a3c..afb21d9c96113b910a900e105842a3854b6e184c 100644 (file)
@@ -21,8 +21,11 @@ INSTALL = install -c
 INSTALL_DATA = ${INSTALL} -m 644
 
 # Not giving an explicit path improves the chances of finding these
+# On the other hand, I have both xgettext 0.10.35 (in /usr/bin) and
+# /usr/openwin/bin/xgettext, and only the former can be used here..
 GENCAT = gencat
-MSGFMT = msgfmt -c     # -c: undocumented, but useful option
+MSGFMT = msgfmt
+# MSGFMT = msgfmt -c   # -c: undocumented, but useful option
 XGETTEXT = xgettext
 MSGMERGE = msgmerge
 
index 6ce99166c896d3f9b30f094a8956987db85bd76e..3e9c9618b3c2ba9273dc68d9337c5b930cc6468d 100644 (file)
@@ -1,15 +1,13 @@
-hwclock/cmos.c
-hwclock/hwclock.c
-hwclock/kd.c
-hwclock/rtc.c
-hwclock/shhopt.c
 disk-utils/blockdev.c
+disk-utils/elvtune.c
 disk-utils/fdformat.c
 disk-utils/fsck.minix.c
 disk-utils/isosize.c
+disk-utils/mkfs.bfs.c
 disk-utils/mkfs.c
 disk-utils/mkfs.minix.c
 disk-utils/mkswap.c
+disk-utils/raw.c
 disk-utils/setfdprm.c
 fdisk/cfdisk.c
 fdisk/fdisk.c
@@ -19,18 +17,28 @@ fdisk/fdisksgilabel.c
 fdisk/fdisksunlabel.c
 fdisk/i386_sys_types.c
 fdisk/llseek.c
+fdisk/partname.c
 fdisk/sfdisk.c
 games/banner.c
 getopt-1.1.0a/getopt.c
+hwclock/clock-ppc.c
+hwclock/cmos.c
+hwclock/hwclock.c
+hwclock/kd.c
+hwclock/rtc.c
+hwclock/shhopt.c
+lib/carefulputc.c
 lib/env.c
 lib/err.c
 lib/my_reboot.c
 lib/setproctitle.c
+lib/xstrncpy.c
 login-utils/agetty.c
 login-utils/checktty.c
 login-utils/chfn.c
 login-utils/chsh.c
 login-utils/cryptocard.c
+login-utils/initctl.c
 login-utils/islocal.c
 login-utils/last.c
 login-utils/login.c
@@ -52,11 +60,12 @@ misc-utils/mcookie.c
 misc-utils/md5.c
 misc-utils/namei.c
 misc-utils/procs.c
+misc-utils/rename.c
 misc-utils/script.c
 misc-utils/setterm.c
-misc-utils/tsort.c
 misc-utils/whereis.c
 misc-utils/write.c
+mount/bind.c
 mount/fstab.c
 mount/getusername.c
 mount/lomount.c
@@ -64,7 +73,9 @@ mount/mntent.c
 mount/mount.c
 mount/mount_by_label.c
 mount/mount_guess_fstype.c
+mount/mount_guess_rootdev.c
 mount/nfsmount.c
+mount/pivot_root.c
 mount/realpath.c
 mount/sundries.c
 mount/swapon.c
@@ -95,4 +106,3 @@ text-utils/odsyntax.c
 text-utils/parse.c
 text-utils/rev.c
 text-utils/ul.c
-kbd/kbdrate.c
index 42dc43ade5ad12719e6e8a2cc8058b4e7fb7ce32..1ce5969698b4a8bb4a5bb6f32b2b9c74fcc153ff 100644 (file)
 
 const struct _msg_ent _msg_tbl[] = {
   {"", 1},
-  {"booted from MILO\n", 2},
-  {"Ruffian BCD clock\n", 3},
-  {"clockport adjusted to 0x%x\n", 4},
-  {"funky TOY!\n", 5},
-  {"%s: atomic %s failed for 1000 iterations!", 6},
-  {"Cannot open /dev/port: %s", 7},
-  {"I failed to get permission because I didnt try.\n", 8},
-  {"%s is unable to get I/O port access:  the iopl(3) call failed.\n", 9},
-  {"Probably you need root privileges.\n", 10},
-  {"Assuming hardware clock is kept in %s time.\n", 11},
-  {"UTC", 12},
-  {"local", 13},
-  {"%s: Warning: unrecognized third line in adjtime file\n", 14},
-  {"(Expected: `UTC' or `LOCAL' or nothing.)\n", 15},
-  {"Last drift adjustment done at %d seconds after 1969\n", 16},
-  {"Last calibration done at %d seconds after 1969\n", 17},
-  {"Hardware clock is on %s time\n", 18},
-  {"unknown", 19},
-  {"Waiting for clock tick...\n", 20},
-  {"...got clock tick\n", 21},
-  {"Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n", 22},
-  {"Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n", 23},
-  {"Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n", 24},
-  {"Setting Hardware Clock to %.2d:%.2d:%.2d = %d seconds since 1969\n", 25},
-  {"Clock not changed - testing only.\n", 26},
-  {"\
-Time elapsed since reference time has been %.6f seconds.\n\
-Delaying further to reach the next full second.\n", 27},
-  {"\
-The Hardware Clock registers contain values that are either invalid (e.g. \
-50th day of month) or beyond the range we can handle (e.g. Year 2095).\n", 28},
-  {"%s  %.6f seconds\n", 29},
-  {"No --date option specified.\n", 30},
-  {"\
-The value of the --date option is not a valid date.\n\
-In particular, it contains quotation marks.\n", 31},
-  {"Issuing date command: %s\n", 32},
-  {"Unable to run 'date' program in /bin/sh shell. popen() failed", 33},
-  {"response from date command = %s\n", 34},
-  {"\
-The date command issued by %s returned unexpected results.\n\
-The command was:\n\
-  %s\n\
-The response was:\n\
-  %s\n", 35},
-  {"\
-The date command issued by %s returned something other than an integer where \
-the converted time value was expected.\n\
-The command was:\n\
-  %s\n\
-The response was:\n\
- %s\n", 36},
-  {"date string %s equates to %d seconds since 1969.\n", 37},
-  {"\
-The Hardware Clock does not contain a valid time, so we cannot set the \
-System Time from it.\n", 38},
-  {"Calling settimeofday:\n", 39},
-  {"\ttv.tv_sec = %ld, tv.tv_usec = %ld\n", 40},
-  {"\ttz.tz_minuteswest = %d\n", 41},
-  {"Not setting system clock because running in test mode.\n", 42},
-  {"Must be superuser to set system clock.\n", 43},
-  {"settimeofday() failed", 44},
-  {"\
-Not adjusting drift factor because the Hardware Clock previously contained \
-garbage.\n", 45},
-  {"\
-Not adjusting drift factor because it has been less than a day since the \
-last calibration.\n", 46},
-  {"\
-Clock drifted %d seconds in the past %d seconds in spite of a drift factor \
-of %f seconds/day.\n\
-Adjusting drift factor by %f seconds/day\n", 47},
-  {"Time since last adjustment is %d seconds\n", 48},
-  {"Need to insert %d seconds and refer time back %.6f seconds ago\n", 49},
-  {"Not updating adjtime file because of testing mode.\n", 50},
-  {"\
-Would have written the following to %s:\n\
-%s", 51},
-  {"Drift adjustment parameters not updated.\n", 52},
-  {"\
-The Hardware Clock does not contain a valid time, so we cannot adjust it.\n", 53},
-  {"Needed adjustment is less than one second, so not setting clock.\n", 54},
-  {"Using %s.\n", 55},
-  {"No usable clock interface found.\n", 56},
-  {"Unable to set system clock.\n", 57},
-  {"\
-The kernel keeps an epoch value for the Hardware Clock only on an Alpha \
-machine.\n\
-This copy of hwclock was built for a machine other than Alpha\n\
-(and thus is presumably not running on an Alpha now).  No action taken.\n", 58},
-  {"Unable to get the epoch value from the kernel.\n", 59},
-  {"Kernel is assuming an epoch value of %lu\n", 60},
-  {"\
-To set the epoch value, you must use the 'epoch' option to tell to what \
-value to set it.\n", 61},
-  {"Not setting the epoch to %d - testing only.\n", 62},
-  {"Unable to set the epoch value in the kernel.\n", 63},
-  {"\
-hwclock - query and set the hardware clock (RTC)\n\
-\n\
-Usage: hwclock [function] [options...]\n\
-\n\
-Functions:\n\
-  --help        show this help\n\
-  --show        read hardware clock and print result\n\
-  --set         set the rtc to the time given with --date\n\
-  --hctosys     set the system time from the hardware clock\n\
-  --systohc     set the hardware clock to the current system time\n\
-  --adjust      adjust the rtc to account for systematic drift since \n\
-                the clock was last set or adjusted\n\
-  --getepoch    print out the kernel's hardware clock epoch value\n\
-  --setepoch    set the kernel's hardware clock epoch value to the \n\
-                value given with --epoch\n\
-  --version     print out the version of hwclock to stdout\n\
-\n\
-Options: \n\
-  --utc         the hardware clock is kept in coordinated universal time\n\
-  --localtime   the hardware clock is kept in local time\n\
-  --directisa   access the ISA bus directly instead of %s\n\
-  --badyear     ignore rtc's year because the bios is broken\n\
-  --date        specifies the time to which to set the hardware clock\n\
-  --epoch=year  specifies the year which is the beginning of the \n\
-                hardware clock's epoch value\n", 64},
-  {"\
-  --jensen, --arc, --srm, --funky-toy\n\
-                tell hwclock the type of alpha you have (see hwclock(8))\n", 65},
-  {"%s takes no non-option arguments.  You supplied %d.\n", 66},
-  {"\
-You have specified multiple function options.\n\
-You can only perform one function at a time.\n", 67},
-  {"\
-%s: The --utc and --localtime options are mutually exclusive.  You specified \
-both.\n", 68},
-  {"No usable set-to time.  Cannot set clock.\n", 69},
-  {"Sorry, only the superuser can change the Hardware Clock.\n", 70},
-  {"Sorry, only the superuser can change the System Clock.\n", 71},
-  {"\
-Sorry, only the superuser can change the Hardware Clock epoch in the \
-kernel.\n", 72},
-  {"Cannot access the Hardware Clock via any known method.\n", 73},
-  {"\
-Use the --debug option to see the details of our search for an access \
-method.\n", 74},
-  {"Waiting in loop for time from KDGHWCLK to change\n", 75},
-  {"KDGHWCLK ioctl to read time failed", 76},
-  {"Timed out waiting for time change.\n", 77},
-  {"KDGHWCLK ioctl to read time failed in loop", 78},
-  {"ioctl() failed to read time from  /dev/tty1", 79},
-  {"ioctl() to open /dev/tty1 failed", 80},
-  {"KDGHWCLK ioctl failed", 81},
-  {"Can't open /dev/tty1", 82},
-  {"ioctl() to %s to read the time failed.\n", 83},
-  {"Waiting in loop for time from %s to change\n", 84},
-  {"open() of %s failed", 85},
-  {"%s does not have interrupt functions. ", 86},
-  {"read() to %s to wait for clock tick failed", 87},
-  {"ioctl() to %s to turn off update interrupts failed", 88},
-  {"ioctl() to %s to turn on update interrupts failed unexpectedly", 89},
-  {"Unable to open %s", 90},
-  {"ioctl() to %s to set the time failed.\n", 91},
-  {"ioctl(%s) was successful.\n", 92},
-  {"Open of %s failed", 93},
-  {"\
-To manipulate the epoch value in the kernel, we must access the Linux 'rtc' \
-device driver via the device special file %s.  This file does not exist on \
-this system.\n", 94},
-  {"ioctl(RTC_EPOCH_READ) to %s failed", 95},
-  {"we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n", 96},
-  {"The epoch value may not be less than 1900.  You requested %ld\n", 97},
-  {"setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n", 98},
-  {"\
-The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n", 99},
-  {"ioctl(RTC_EPOCH_SET) to %s failed", 100},
-  {"invalid number `%s'\n", 101},
-  {"number `%s' to `%s' out of range\n", 102},
-  {"unrecognized option `%s'\n", 103},
-  {"option `%s' requires an argument\n", 104},
-  {"option `%s' doesn't allow an argument\n", 105},
-  {"unrecognized option `-%c'\n", 106},
-  {"set read-only", 107},
-  {"set read-write", 108},
-  {"get read-only", 109},
-  {"get sectorsize", 110},
-  {"get size", 111},
-  {"set readahead", 112},
-  {"get readahead", 113},
-  {"flush buffers", 114},
-  {"reread partition table", 115},
-  {"Usage: %s [-V] [-v|-q] commands devices\n", 116},
-  {"Available commands:\n", 117},
-  {"%s: Unknown command: %s\n", 118},
-  {"%s requires an argument\n", 119},
-  {"Formatting ... ", 120},
-  {"done\n", 121},
-  {"Verifying ... ", 122},
-  {"Read: ", 123},
-  {"Problem reading cylinder %d, expected %d, read %d\n", 124},
+  {"set read-only", 2},
+  {"set read-write", 3},
+  {"get read-only", 4},
+  {"get sectorsize", 5},
+  {"get size", 6},
+  {"set readahead", 7},
+  {"get readahead", 8},
+  {"flush buffers", 9},
+  {"reread partition table", 10},
+  {"Usage: %s [-V] [-v|-q] commands devices\n", 11},
+  {"Available commands:\n", 12},
+  {"%s: Unknown command: %s\n", 13},
+  {"%s requires an argument\n", 14},
+  {"usage:\n", 15},
+  {"Formatting ... ", 16},
+  {"done\n", 17},
+  {"Verifying ... ", 18},
+  {"Read: ", 19},
+  {"Problem reading cylinder %d, expected %d, read %d\n", 20},
   {"\
 bad data in cyl %d\n\
-Continuing ... ", 125},
-  {"usage: %s [ -n ] device\n", 126},
-  {"%s from %s\n", 127},
-  {"%s: not a floppy device\n", 128},
-  {"Could not determine current format type", 129},
-  {"%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n", 130},
-  {"Double", 131},
-  {"Single", 132},
-  {"Usage: %s [-larvsmf] /dev/name\n", 133},
-  {"%s is mounted.\t ", 134},
-  {"Do you really want to continue", 135},
-  {"check aborted.\n", 136},
-  {"Zone nr < FIRSTZONE in file `", 137},
-  {"Zone nr >= ZONES in file `", 138},
-  {"Remove block", 139},
-  {"Read error: unable to seek to block in file '", 140},
-  {"Read error: bad block in file '", 141},
+Continuing ... ", 21},
+  {"usage: %s [ -n ] device\n", 22},
+  {"%s from %s\n", 23},
+  {"%s: not a floppy device\n", 24},
+  {"Could not determine current format type", 25},
+  {"%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n", 26},
+  {"Double", 27},
+  {"Single", 28},
+  {"Usage: %s [-larvsmf] /dev/name\n", 29},
+  {"%s is mounted.\t ", 30},
+  {"Do you really want to continue", 31},
+  {"check aborted.\n", 32},
+  {"Zone nr < FIRSTZONE in file `", 33},
+  {"Zone nr >= ZONES in file `", 34},
+  {"Remove block", 35},
+  {"Read error: unable to seek to block in file '", 36},
+  {"Read error: bad block in file '", 37},
   {"\
 Internal error: trying to write bad block\n\
-Write request ignored\n", 142},
-  {"seek failed in write_block", 143},
-  {"Write error: bad block in file '", 144},
-  {"seek failed in write_super_block", 145},
-  {"unable to write super-block", 146},
-  {"Unable to write inode map", 147},
-  {"Unable to write zone map", 148},
-  {"Unable to write inodes", 149},
-  {"seek failed", 150},
-  {"unable to read super block", 151},
-  {"bad magic number in super-block", 152},
-  {"Only 1k blocks/zones supported", 153},
-  {"bad s_imap_blocks field in super-block", 154},
-  {"bad s_zmap_blocks field in super-block", 155},
-  {"Unable to allocate buffer for inode map", 156},
-  {"Unable to allocate buffer for inodes", 157},
-  {"Unable to allocate buffer for inode count", 158},
-  {"Unable to allocate buffer for zone count", 159},
-  {"Unable to read inode map", 160},
-  {"Unable to read zone map", 161},
-  {"Unable to read inodes", 162},
-  {"Warning: Firstzone != Norm_firstzone\n", 163},
-  {"%ld inodes\n", 164},
-  {"%ld blocks\n", 165},
-  {"Firstdatazone=%ld (%ld)\n", 166},
-  {"Zonesize=%d\n", 167},
-  {"Maxsize=%ld\n", 168},
-  {"Filesystem state=%d\n", 169},
+Write request ignored\n", 38},
+  {"seek failed in write_block", 39},
+  {"Write error: bad block in file '", 40},
+  {"seek failed in write_super_block", 41},
+  {"unable to write super-block", 42},
+  {"Unable to write inode map", 43},
+  {"Unable to write zone map", 44},
+  {"Unable to write inodes", 45},
+  {"seek failed", 46},
+  {"unable to read super block", 47},
+  {"bad magic number in super-block", 48},
+  {"Only 1k blocks/zones supported", 49},
+  {"bad s_imap_blocks field in super-block", 50},
+  {"bad s_zmap_blocks field in super-block", 51},
+  {"Unable to allocate buffer for inode map", 52},
+  {"Unable to allocate buffer for inodes", 53},
+  {"Unable to allocate buffer for inode count", 54},
+  {"Unable to allocate buffer for zone count", 55},
+  {"Unable to read inode map", 56},
+  {"Unable to read zone map", 57},
+  {"Unable to read inodes", 58},
+  {"Warning: Firstzone != Norm_firstzone\n", 59},
+  {"%ld inodes\n", 60},
+  {"%ld blocks\n", 61},
+  {"Firstdatazone=%ld (%ld)\n", 62},
+  {"Zonesize=%d\n", 63},
+  {"Maxsize=%ld\n", 64},
+  {"Filesystem state=%d\n", 65},
   {"\
 namelen=%d\n\
-\n", 170},
-  {"Inode %d marked not used, but used for file '", 171},
-  {"Mark in use", 172},
-  {" has mode %05o\n", 173},
-  {"Warning: inode count too big.\n", 174},
-  {"root inode isn't a directory", 175},
-  {"Block has been used before. Now in file `", 176},
-  {"Clear", 177},
-  {"Block %d in file `", 178},
-  {"' is marked not in use.", 179},
-  {"Correct", 180},
-  {" contains a bad inode number for file '", 181},
-  {" Remove", 182},
-  {": bad directory: '.' isn't first\n", 183},
-  {": bad directory: '..' isn't second\n", 184},
-  {"internal error", 185},
-  {": bad directory: size<32", 186},
-  {": bad directory: size < 32", 187},
-  {"seek failed in bad_zone", 188},
-  {"Inode %d mode not cleared.", 189},
-  {"Inode %d not used, marked used in the bitmap.", 190},
-  {"Inode %d used, marked unused in the bitmap.", 191},
-  {"Inode %d (mode = %07o), i_nlinks=%d, counted=%d.", 192},
-  {"Set i_nlinks to count", 193},
-  {"Zone %d: marked in use, no file uses it.", 194},
-  {"Unmark", 195},
-  {"Zone %d: %sin use, counted=%d\n", 196},
-  {"not ", 197},
-  {"Set", 198},
-  {"bad inode size", 199},
-  {"bad v2 inode size", 200},
-  {"need terminal for interactive repairs", 201},
-  {"unable to open '%s'", 202},
-  {"%s is clean, no check.\n", 203},
-  {"Forcing filesystem check on %s.\n", 204},
-  {"Filesystem on %s is dirty, needs checking.\n", 205},
+\n", 66},
+  {"Inode %d marked not used, but used for file '", 67},
+  {"Mark in use", 68},
+  {" has mode %05o\n", 69},
+  {"Warning: inode count too big.\n", 70},
+  {"root inode isn't a directory", 71},
+  {"Block has been used before. Now in file `", 72},
+  {"Clear", 73},
+  {"Block %d in file `", 74},
+  {"' is marked not in use.", 75},
+  {"Correct", 76},
+  {" contains a bad inode number for file '", 77},
+  {" Remove", 78},
+  {": bad directory: '.' isn't first\n", 79},
+  {": bad directory: '..' isn't second\n", 80},
+  {"internal error", 81},
+  {": bad directory: size<32", 82},
+  {": bad directory: size < 32", 83},
+  {"seek failed in bad_zone", 84},
+  {"Inode %d mode not cleared.", 85},
+  {"Inode %d not used, marked used in the bitmap.", 86},
+  {"Inode %d used, marked unused in the bitmap.", 87},
+  {"Inode %d (mode = %07o), i_nlinks=%d, counted=%d.", 88},
+  {"Set i_nlinks to count", 89},
+  {"Zone %d: marked in use, no file uses it.", 90},
+  {"Unmark", 91},
+  {"Zone %d: %sin use, counted=%d\n", 92},
+  {"not ", 93},
+  {"Set", 94},
+  {"bad inode size", 95},
+  {"bad v2 inode size", 96},
+  {"need terminal for interactive repairs", 97},
+  {"unable to open '%s'", 98},
+  {"%s is clean, no check.\n", 99},
+  {"Forcing filesystem check on %s.\n", 100},
+  {"Filesystem on %s is dirty, needs checking.\n", 101},
   {"\
 \n\
-%6ld inodes used (%ld%%)\n", 206},
-  {"%6ld zones used (%ld%%)\n", 207},
+%6ld inodes used (%ld%%)\n", 102},
+  {"%6ld zones used (%ld%%)\n", 103},
   {"\
 \n\
 %6d regular files\n\
@@ -305,278 +127,306 @@ namelen=%d\n\
 %6d links\n\
 %6d symbolic links\n\
 ------\n\
-%6d files\n", 208},
+%6d files\n", 104},
   {"\
 ----------------------------\n\
 FILE SYSTEM HAS BEEN CHANGED\n\
-----------------------------\n", 209},
-  {"%s: failed to open: %s\n", 210},
-  {"%s: seek error on %s\n", 211},
-  {"%s: read error on %s\n", 212},
-  {"sector count: %d, sector size: %d\n", 213},
-  {"%s: option parse error\n", 214},
-  {"Usage: %s [-x] [-d <num>] iso9660-image\n", 215},
-  {"Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n", 216},
-  {"%s: Out of memory!\n", 217},
-  {"mkfs version %s (%s)\n", 218},
-  {"Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n", 219},
-  {"%s is mounted; will not make a filesystem here!", 220},
-  {"seek to boot block failed in write_tables", 221},
-  {"unable to clear boot sector", 222},
-  {"seek failed in write_tables", 223},
-  {"unable to write inode map", 224},
-  {"unable to write zone map", 225},
-  {"unable to write inodes", 226},
-  {"write failed in write_block", 227},
-  {"too many bad blocks", 228},
-  {"not enough good blocks", 229},
-  {"unable to allocate buffers for maps", 230},
-  {"unable to allocate buffer for inodes", 231},
+----------------------------\n", 105},
+  {"%s: failed to open: %s\n", 106},
+  {"%s: seek error on %s\n", 107},
+  {"%s: read error on %s\n", 108},
+  {"sector count: %d, sector size: %d\n", 109},
+  {"%s: option parse error\n", 110},
+  {"Usage: %s [-x] [-d <num>] iso9660-image\n", 111},
+  {"\
+Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n\
+       [-F fsname] device [block-count]\n", 112},
+  {"volume name too long", 113},
+  {"fsname name too long", 114},
+  {"cannot stat device %s", 115},
+  {"%s is not a block special device", 116},
+  {"cannot open %s", 117},
+  {"cannot get size of %s", 118},
+  {"blocks argument too large, max is %lu", 119},
+  {"too many inodes - max is 512", 120},
+  {"not enough space, need at least %lu blocks", 121},
+  {"Device: %s\n", 122},
+  {"Volume: <%-6s>\n", 123},
+  {"FSname: <%-6s>\n", 124},
+  {"BlockSize: %d\n", 125},
+  {"Inodes: %d (in 1 block)\n", 126},
+  {"Inodes: %d (in %ld blocks)\n", 127},
+  {"Blocks: %ld\n", 128},
+  {"Inode end: %d, Data end: %d\n", 129},
+  {"error writing superblock", 130},
+  {"error writing root inode", 131},
+  {"error writing inode", 132},
+  {"seek error", 133},
+  {"error writing . entry", 134},
+  {"error writing .. entry", 135},
+  {"error closing %s", 136},
+  {"Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n", 137},
+  {"%s: Out of memory!\n", 138},
+  {"mkfs version %s (%s)\n", 139},
+  {"Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n", 140},
+  {"%s is mounted; will not make a filesystem here!", 141},
+  {"seek to boot block failed in write_tables", 142},
+  {"unable to clear boot sector", 143},
+  {"seek failed in write_tables", 144},
+  {"unable to write inode map", 145},
+  {"unable to write zone map", 146},
+  {"unable to write inodes", 147},
+  {"write failed in write_block", 148},
+  {"too many bad blocks", 149},
+  {"not enough good blocks", 150},
+  {"unable to allocate buffers for maps", 151},
+  {"unable to allocate buffer for inodes", 152},
   {"\
 Maxsize=%ld\n\
-\n", 232},
-  {"seek failed during testing of blocks", 233},
-  {"Weird values in do_check: probably bugs\n", 234},
-  {"seek failed in check_blocks", 235},
-  {"bad blocks before data-area: cannot make fs", 236},
-  {"%d bad blocks\n", 237},
-  {"one bad block\n", 238},
-  {"can't open file of bad blocks", 239},
-  {"%s: not compiled with minix v2 support\n", 240},
-  {"strtol error: number of blocks not specified", 241},
-  {"unable to open %s", 242},
-  {"unable to stat %s", 243},
-  {"will not try to make filesystem on '%s'", 244},
-  {"Bad user-specified page size %d\n", 245},
-  {"Using user-specified page size %d, instead of the system values %d/%d\n", 246},
-  {"Assuming pages of size %d (not %d)\n", 247},
-  {"Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n", 248},
-  {"too many bad pages", 249},
-  {"Out of memory", 250},
-  {"one bad page\n", 251},
-  {"%d bad pages\n", 252},
-  {"%s: error: Nowhere to set up swap on?\n", 253},
-  {"%s: error: size %ld is larger than device size %d\n", 254},
-  {"%s: error: unknown version %d\n", 255},
-  {"%s: error: swap area needs to be at least %ldkB\n", 256},
-  {"%s: warning: truncating swap area to %ldkB\n", 257},
-  {"Will not try to make swapdevice on '%s'", 258},
-  {"fatal: first page unreadable", 259},
+\n", 153},
+  {"seek failed during testing of blocks", 154},
+  {"Weird values in do_check: probably bugs\n", 155},
+  {"seek failed in check_blocks", 156},
+  {"bad blocks before data-area: cannot make fs", 157},
+  {"%d bad blocks\n", 158},
+  {"one bad block\n", 159},
+  {"can't open file of bad blocks", 160},
+  {"%s: not compiled with minix v2 support\n", 161},
+  {"strtol error: number of blocks not specified", 162},
+  {"unable to open %s", 163},
+  {"unable to stat %s", 164},
+  {"will not try to make filesystem on '%s'", 165},
+  {"Bad user-specified page size %d\n", 166},
+  {"Using user-specified page size %d, instead of the system values %d/%d\n", 167},
+  {"Assuming pages of size %d (not %d)\n", 168},
+  {"Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n", 169},
+  {"too many bad pages", 170},
+  {"Out of memory", 171},
+  {"one bad page\n", 172},
+  {"%d bad pages\n", 173},
+  {"%s: error: Nowhere to set up swap on?\n", 174},
+  {"%s: error: size %ld is larger than device size %d\n", 175},
+  {"%s: error: unknown version %d\n", 176},
+  {"%s: error: swap area needs to be at least %ldkB\n", 177},
+  {"%s: warning: truncating swap area to %ldkB\n", 178},
+  {"Will not try to make swapdevice on '%s'", 179},
+  {"fatal: first page unreadable", 180},
   {"\
 %s: Device '%s' contains a valid Sun disklabel.\n\
 This probably means creating v0 swap would destroy your partition table\n\
 No swap created. If you really want to create swap v0 on that device, use\n\
-the -f option to force it.\n", 260},
-  {"Unable to set up swap-space: unreadable", 261},
-  {"Setting up swapspace version %d, size = %ld bytes\n", 262},
-  {"unable to rewind swap-device", 263},
-  {"unable to write signature page", 264},
-  {"fsync failed", 265},
-  {"Invalid number: %s\n", 266},
-  {"Syntax error: '%s'\n", 267},
-  {"No such parameter set: '%s'\n", 268},
-  {"usage: %s [ -p ] dev name\n", 269},
-  {"\
-       %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n", 270},
-  {"       %s [ -c | -y | -n | -d ] dev\n", 271},
-  {"       %s [ -c | -y | -n ] dev\n", 272},
-  {"Unusable", 273},
-  {"Free Space", 274},
-  {"Linux ext2", 275},
-  {"Linux", 276},
-  {"OS/2 HPFS", 277},
-  {"OS/2 IFS", 278},
-  {"NTFS", 279},
-  {"Disk has been changed.\n", 280},
-  {"Reboot the system to ensure the partition table is correctly updated.\n", 281},
+the -f option to force it.\n", 181},
+  {"Unable to set up swap-space: unreadable", 182},
+  {"Setting up swapspace version %d, size = %ld bytes\n", 183},
+  {"unable to rewind swap-device", 184},
+  {"unable to write signature page", 185},
+  {"fsync failed", 186},
+  {"Invalid number: %s\n", 187},
+  {"Syntax error: '%s'\n", 188},
+  {"No such parameter set: '%s'\n", 189},
+  {"usage: %s [ -p ] dev name\n", 190},
+  {"\
+       %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n", 191},
+  {"       %s [ -c | -y | -n | -d ] dev\n", 192},
+  {"       %s [ -c | -y | -n ] dev\n", 193},
+  {"Unusable", 194},
+  {"Free Space", 195},
+  {"Linux ext2", 196},
+  {"Linux", 197},
+  {"OS/2 HPFS", 198},
+  {"OS/2 IFS", 199},
+  {"NTFS", 200},
+  {"Disk has been changed.\n", 201},
+  {"Reboot the system to ensure the partition table is correctly updated.\n", 202},
   {"\
 \n\
 WARNING: If you have created or modified any\n\
 DOS 6.x partitions, please see the cfdisk manual\n\
-page for additional information.\n", 282},
-  {"FATAL ERROR", 283},
-  {"Press any key to exit cfdisk", 284},
-  {"Cannot seek on disk drive", 285},
-  {"Cannot read disk drive", 286},
-  {"Cannot write disk drive", 287},
-  {"Too many partitions", 288},
-  {"Partition begins before sector 0", 289},
-  {"Partition ends before sector 0", 290},
-  {"Partition begins after end-of-disk", 291},
-  {"Partition ends after end-of-disk", 292},
-  {"logical partitions not in disk order", 293},
-  {"logical partitions overlap", 294},
-  {"enlarged logical partitions overlap", 295},
-  {"\
-!!!! Internal error creating logical drive with no extended partition !!!!", 296},
-  {"\
-Cannot create logical drive here -- would create two extended partitions", 297},
-  {"Menu item too long. Menu may look odd.", 298},
-  {"Menu without direction. Defaulting horizontal.", 299},
-  {"Illegal key", 300},
-  {"Press a key to continue", 301},
-  {"Primary", 302},
-  {"Create a new primary partition", 303},
-  {"Logical", 304},
-  {"Create a new logical partition", 305},
-  {"Cancel", 306},
-  {"Don't create a partition", 307},
-  {"!!! Internal error !!!", 308},
-  {"Size (in MB): ", 309},
-  {"Beginning", 310},
-  {"Add partition at beginning of free space", 311},
-  {"End", 312},
-  {"Add partition at end of free space", 313},
-  {"No room to create the extended partition", 314},
-  {"Bad signature on partition table", 315},
-  {"You specified more cylinders than fit on disk", 316},
-  {"Cannot open disk drive", 317},
-  {"Opened disk read-only - you have no permission to write", 318},
-  {"Cannot get disk size", 319},
-  {"Bad primary partition", 320},
-  {"Bad logical partition", 321},
-  {"Warning!!  This may destroy data on your disk!", 322},
-  {"Are you sure you want write the partition table to disk? (yes or no): ", 323},
-  {"no", 324},
-  {"Did not write partition table to disk", 325},
-  {"yes", 326},
-  {"Please enter `yes' or `no'", 327},
-  {"Writing partition table to disk...", 328},
-  {"Wrote partition table to disk", 329},
-  {"\
-Wrote partition table, but re-read table failed.  Reboot to update table.", 330},
-  {"\
-Not precisely one primary partition is bootable. DOS MBR cannot boot this.", 331},
-  {"Enter filename or press RETURN to display on screen: ", 332},
-  {"Cannot open file '%s'", 333},
-  {"Disk Drive: %s\n", 334},
-  {"Sector 0:\n", 335},
-  {"Sector %d:\n", 336},
-  {"   None   ", 337},
-  {"   Pri/Log", 338},
-  {"   Primary", 339},
-  {"   Logical", 340},
-  {"Unknown", 341},
-  {"Boot (%02X)", 342},
-  {"Unknown (%02X)", 343},
-  {"None (%02X)", 344},
-  {"Partition Table for %s\n", 345},
-  {"            First    Last\n", 346},
-  {"\
- # Type     Sector   Sector   Offset  Length   Filesystem Type (ID)   Flags\n", 347},
+page for additional information.\n", 203},
+  {"FATAL ERROR", 204},
+  {"Press any key to exit cfdisk", 205},
+  {"Cannot seek on disk drive", 206},
+  {"Cannot read disk drive", 207},
+  {"Cannot write disk drive", 208},
+  {"Too many partitions", 209},
+  {"Partition begins before sector 0", 210},
+  {"Partition ends before sector 0", 211},
+  {"Partition begins after end-of-disk", 212},
+  {"Partition ends after end-of-disk", 213},
+  {"logical partitions not in disk order", 214},
+  {"logical partitions overlap", 215},
+  {"enlarged logical partitions overlap", 216},
+  {"\
+!!!! Internal error creating logical drive with no extended partition !!!!", 217},
+  {"\
+Cannot create logical drive here -- would create two extended partitions", 218},
+  {"Menu item too long. Menu may look odd.", 219},
+  {"Menu without direction. Defaulting horizontal.", 220},
+  {"Illegal key", 221},
+  {"Press a key to continue", 222},
+  {"Primary", 223},
+  {"Create a new primary partition", 224},
+  {"Logical", 225},
+  {"Create a new logical partition", 226},
+  {"Cancel", 227},
+  {"Don't create a partition", 228},
+  {"!!! Internal error !!!", 229},
+  {"Size (in MB): ", 230},
+  {"Beginning", 231},
+  {"Add partition at beginning of free space", 232},
+  {"End", 233},
+  {"Add partition at end of free space", 234},
+  {"No room to create the extended partition", 235},
+  {"Bad signature on partition table", 236},
+  {"You specified more cylinders than fit on disk", 237},
+  {"Cannot open disk drive", 238},
+  {"Opened disk read-only - you have no permission to write", 239},
+  {"Cannot get disk size", 240},
+  {"Bad primary partition", 241},
+  {"Bad logical partition", 242},
+  {"Warning!!  This may destroy data on your disk!", 243},
+  {"Are you sure you want write the partition table to disk? (yes or no): ", 244},
+  {"no", 245},
+  {"Did not write partition table to disk", 246},
+  {"yes", 247},
+  {"Please enter `yes' or `no'", 248},
+  {"Writing partition table to disk...", 249},
+  {"Wrote partition table to disk", 250},
+  {"\
+Wrote partition table, but re-read table failed.  Reboot to update table.", 251},
+  {"No primary partitions are marked bootable. DOS MBR cannot boot this.", 252},
+  {"\
+More than one primary partition is marked bootable. DOS MBR cannot boot this.", 253},
+  {"Enter filename or press RETURN to display on screen: ", 254},
+  {"Cannot open file '%s'", 255},
+  {"Disk Drive: %s\n", 256},
+  {"Sector 0:\n", 257},
+  {"Sector %d:\n", 258},
+  {"   None   ", 259},
+  {"   Pri/Log", 260},
+  {"   Primary", 261},
+  {"   Logical", 262},
+  {"Unknown", 263},
+  {"Boot (%02X)", 264},
+  {"Unknown (%02X)", 265},
+  {"None (%02X)", 266},
+  {"Partition Table for %s\n", 267},
+  {"            First    Last\n", 268},
+  {"\
+ # Type     Sector   Sector   Offset  Length   Filesystem Type (ID)   Flags\n", 269},
   {"\
 -- ------- -------- --------- ------ --------- ---------------------- \
----------\n", 348},
-  {"         ---Starting---      ----Ending----    Start Number of\n", 349},
-  {" # Flags Head Sect Cyl   ID  Head Sect Cyl    Sector  Sectors\n", 350},
-  {"-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n", 351},
-  {"Raw", 352},
-  {"Print the table using raw data format", 353},
-  {"Sectors", 354},
-  {"Print the table ordered by sectors", 355},
-  {"Table", 356},
-  {"Just print the partition table", 357},
-  {"Don't print the table", 358},
-  {"Help Screen for cfdisk", 359},
-  {"This is cfdisk, a curses based disk partitioning program, which", 360},
-  {"allows you to create, delete and modify partitions on your hard", 361},
-  {"disk drive.", 362},
-  {"Copyright (C) 1994-1999 Kevin E. Martin & aeb", 363},
-  {"Command      Meaning", 364},
-  {"-------      -------", 365},
-  {"  b          Toggle bootable flag of the current partition", 366},
-  {"  d          Delete the current partition", 367},
-  {"  g          Change cylinders, heads, sectors-per-track parameters", 368},
-  {"             WARNING: This option should only be used by people who", 369},
-  {"             know what they are doing.", 370},
-  {"  h          Print this screen", 371},
-  {"  m          Maximize disk usage of the current partition", 372},
-  {"             Note: This may make the partition incompatible with", 373},
-  {"             DOS, OS/2, ...", 374},
-  {"  n          Create new partition from free space", 375},
-  {"  p          Print partition table to the screen or to a file", 376},
-  {"             There are several different formats for the partition", 377},
-  {"             that you can choose from:", 378},
-  {"                r - Raw data (exactly what would be written to disk)", 379},
-  {"                s - Table ordered by sectors", 380},
-  {"                t - Table in raw format", 381},
-  {"  q          Quit program without writing partition table", 382},
-  {"  t          Change the filesystem type", 383},
-  {"  u          Change units of the partition size display", 384},
-  {"             Rotates through MB, sectors and cylinders", 385},
-  {"  W          Write partition table to disk (must enter upper case W)", 386},
-  {"             Since this might destroy data on the disk, you must", 387},
-  {"             either confirm or deny the write by entering `yes' or", 388},
-  {"             `no'", 389},
-  {"Up Arrow     Move cursor to the previous partition", 390},
-  {"Down Arrow   Move cursor to the next partition", 391},
-  {"CTRL-L       Redraws the screen", 392},
-  {"  ?          Print this screen", 393},
-  {"Note: All of the commands can be entered with either upper or lower", 394},
-  {"case letters (except for Writes).", 395},
-  {"Cylinders", 396},
-  {"Change cylinder geometry", 397},
-  {"Heads", 398},
-  {"Change head geometry", 399},
-  {"Change sector geometry", 400},
-  {"Done", 401},
-  {"Done with changing geometry", 402},
-  {"Enter the number of cylinders: ", 403},
-  {"Illegal cylinders value", 404},
-  {"Enter the number of heads: ", 405},
-  {"Illegal heads value", 406},
-  {"Enter the number of sectors per track: ", 407},
-  {"Illegal sectors value", 408},
-  {"Enter filesystem type: ", 409},
-  {"Cannot change FS Type to empty", 410},
-  {"Cannot change FS Type to extended", 411},
-  {"Boot", 412},
-  {"Unk(%02X)", 413},
-  {", NC", 414},
-  {"NC", 415},
-  {"Pri/Log", 416},
-  {"Disk Drive: %s", 417},
-  {"Size: %lld bytes", 418},
-  {"Heads: %d   Sectors per Track: %d   Cylinders: %d", 419},
-  {"Name", 420},
-  {"Flags", 421},
-  {"Part Type", 422},
-  {"FS Type", 423},
-  {"[Label]", 424},
-  {"  Sectors", 425},
-  {"Size (MB)", 426},
-  {"Size (GB)", 427},
-  {"Bootable", 428},
-  {"Toggle bootable flag of the current partition", 429},
-  {"Delete", 430},
-  {"Delete the current partition", 431},
-  {"Geometry", 432},
-  {"Change disk geometry (experts only)", 433},
-  {"Help", 434},
-  {"Print help screen", 435},
-  {"Maximize", 436},
-  {"Maximize disk usage of the current partition (experts only)", 437},
-  {"New", 438},
-  {"Create new partition from free space", 439},
-  {"Print", 440},
-  {"Print partition table to the screen or to a file", 441},
-  {"Quit", 442},
-  {"Quit program without writing partition table", 443},
-  {"Type", 444},
-  {"Change the filesystem type (DOS, Linux, OS/2 and so on)", 445},
-  {"Units", 446},
-  {"Change units of the partition size display (MB, sect, cyl)", 447},
-  {"Write", 448},
-  {"Write partition table to disk (this might destroy data)", 449},
-  {"Cannot make this partition bootable", 450},
-  {"Cannot delete an empty partition", 451},
-  {"Cannot maximize this partition", 452},
-  {"This partition is unusable", 453},
-  {"This partition is already in use", 454},
-  {"Cannot change the type of an empty partition", 455},
-  {"No more partitions", 456},
-  {"Illegal command", 457},
-  {"Copyright (C) 1994-2000 Kevin E. Martin & aeb\n", 458},
+---------\n", 270},
+  {"         ---Starting---      ----Ending----    Start Number of\n", 271},
+  {" # Flags Head Sect Cyl   ID  Head Sect Cyl    Sector  Sectors\n", 272},
+  {"-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n", 273},
+  {"Raw", 274},
+  {"Print the table using raw data format", 275},
+  {"Sectors", 276},
+  {"Print the table ordered by sectors", 277},
+  {"Table", 278},
+  {"Just print the partition table", 279},
+  {"Don't print the table", 280},
+  {"Help Screen for cfdisk", 281},
+  {"This is cfdisk, a curses based disk partitioning program, which", 282},
+  {"allows you to create, delete and modify partitions on your hard", 283},
+  {"disk drive.", 284},
+  {"Copyright (C) 1994-1999 Kevin E. Martin & aeb", 285},
+  {"Command      Meaning", 286},
+  {"-------      -------", 287},
+  {"  b          Toggle bootable flag of the current partition", 288},
+  {"  d          Delete the current partition", 289},
+  {"  g          Change cylinders, heads, sectors-per-track parameters", 290},
+  {"             WARNING: This option should only be used by people who", 291},
+  {"             know what they are doing.", 292},
+  {"  h          Print this screen", 293},
+  {"  m          Maximize disk usage of the current partition", 294},
+  {"             Note: This may make the partition incompatible with", 295},
+  {"             DOS, OS/2, ...", 296},
+  {"  n          Create new partition from free space", 297},
+  {"  p          Print partition table to the screen or to a file", 298},
+  {"             There are several different formats for the partition", 299},
+  {"             that you can choose from:", 300},
+  {"                r - Raw data (exactly what would be written to disk)", 301},
+  {"                s - Table ordered by sectors", 302},
+  {"                t - Table in raw format", 303},
+  {"  q          Quit program without writing partition table", 304},
+  {"  t          Change the filesystem type", 305},
+  {"  u          Change units of the partition size display", 306},
+  {"             Rotates through MB, sectors and cylinders", 307},
+  {"  W          Write partition table to disk (must enter upper case W)", 308},
+  {"             Since this might destroy data on the disk, you must", 309},
+  {"             either confirm or deny the write by entering `yes' or", 310},
+  {"             `no'", 311},
+  {"Up Arrow     Move cursor to the previous partition", 312},
+  {"Down Arrow   Move cursor to the next partition", 313},
+  {"CTRL-L       Redraws the screen", 314},
+  {"  ?          Print this screen", 315},
+  {"Note: All of the commands can be entered with either upper or lower", 316},
+  {"case letters (except for Writes).", 317},
+  {"Cylinders", 318},
+  {"Change cylinder geometry", 319},
+  {"Heads", 320},
+  {"Change head geometry", 321},
+  {"Change sector geometry", 322},
+  {"Done", 323},
+  {"Done with changing geometry", 324},
+  {"Enter the number of cylinders: ", 325},
+  {"Illegal cylinders value", 326},
+  {"Enter the number of heads: ", 327},
+  {"Illegal heads value", 328},
+  {"Enter the number of sectors per track: ", 329},
+  {"Illegal sectors value", 330},
+  {"Enter filesystem type: ", 331},
+  {"Cannot change FS Type to empty", 332},
+  {"Cannot change FS Type to extended", 333},
+  {"Boot", 334},
+  {"Unk(%02X)", 335},
+  {", NC", 336},
+  {"NC", 337},
+  {"Pri/Log", 338},
+  {"Disk Drive: %s", 339},
+  {"Size: %lld bytes", 340},
+  {"Heads: %d   Sectors per Track: %d   Cylinders: %d", 341},
+  {"Name", 342},
+  {"Flags", 343},
+  {"Part Type", 344},
+  {"FS Type", 345},
+  {"[Label]", 346},
+  {"  Sectors", 347},
+  {"Size (MB)", 348},
+  {"Size (GB)", 349},
+  {"Bootable", 350},
+  {"Toggle bootable flag of the current partition", 351},
+  {"Delete", 352},
+  {"Delete the current partition", 353},
+  {"Geometry", 354},
+  {"Change disk geometry (experts only)", 355},
+  {"Help", 356},
+  {"Print help screen", 357},
+  {"Maximize", 358},
+  {"Maximize disk usage of the current partition (experts only)", 359},
+  {"New", 360},
+  {"Create new partition from free space", 361},
+  {"Print", 362},
+  {"Print partition table to the screen or to a file", 363},
+  {"Quit", 364},
+  {"Quit program without writing partition table", 365},
+  {"Type", 366},
+  {"Change the filesystem type (DOS, Linux, OS/2 and so on)", 367},
+  {"Units", 368},
+  {"Change units of the partition size display (MB, sect, cyl)", 369},
+  {"Write", 370},
+  {"Write partition table to disk (this might destroy data)", 371},
+  {"Cannot make this partition bootable", 372},
+  {"Cannot delete an empty partition", 373},
+  {"Cannot maximize this partition", 374},
+  {"This partition is unusable", 375},
+  {"This partition is already in use", 376},
+  {"Cannot change the type of an empty partition", 377},
+  {"No more partitions", 378},
+  {"Illegal command", 379},
+  {"Copyright (C) 1994-2000 Kevin E. Martin & aeb\n", 380},
   {"\
 \n\
 Usage:\n\
@@ -592,7 +442,7 @@ Options:\n\
 -z: Start with a zero partition table, instead of reading the pt from disk;\n\
 -c C -h H -s S: Override the kernel's idea of the number of cylinders,\n\
                 the number of heads and the number of sectors/track.\n\
-\n", 459},
+\n", 381},
   {"\
 Usage: fdisk [-b SSZ] [-u] DISK     Change partition table\n\
        fdisk -l [-b SSZ] [-u] DISK  List partition table(s)\n\
@@ -601,65 +451,65 @@ Usage: fdisk [-b SSZ] [-u] DISK     Change partition table\n\
 Here DISK is something like /dev/hdb or /dev/sda\n\
 and PARTITION is something like /dev/hda7\n\
 -u: give Start and End in sector (instead of cylinder) units\n\
--b 2048: (for certain MO drives) use 2048-byte sectors\n", 460},
+-b 2048: (for certain MO drives) use 2048-byte sectors\n", 382},
   {"\
 Usage: fdisk [-l] [-b SSZ] [-u] device\n\
 E.g.: fdisk /dev/hda  (for the first IDE disk)\n\
   or: fdisk /dev/sdc  (for the third SCSI disk)\n\
   or: fdisk /dev/eda  (for the first PS/2 ESDI drive)\n\
   or: fdisk /dev/rd/c0d0  or: fdisk /dev/ida/c0d0  (for RAID devices)\n\
-  ...\n", 461},
-  {"Unable to open %s\n", 462},
-  {"Unable to read %s\n", 463},
-  {"Unable to seek on %s\n", 464},
-  {"Unable to write %s\n", 465},
-  {"BLKGETSIZE ioctl failed on %s\n", 466},
-  {"Unable to allocate any more memory\n", 467},
-  {"Fatal error\n", 468},
-  {"Command action", 469},
-  {"   a   toggle a read only flag", 470},
-  {"   b   edit bsd disklabel", 471},
-  {"   c   toggle the mountable flag", 472},
-  {"   d   delete a partition", 473},
-  {"   l   list known partition types", 474},
-  {"   m   print this menu", 475},
-  {"   n   add a new partition", 476},
-  {"   o   create a new empty DOS partition table", 477},
-  {"   p   print the partition table", 478},
-  {"   q   quit without saving changes", 479},
-  {"   s   create a new empty Sun disklabel", 480},
-  {"   t   change a partition's system id", 481},
-  {"   u   change display/entry units", 482},
-  {"   v   verify the partition table", 483},
-  {"   w   write table to disk and exit", 484},
-  {"   x   extra functionality (experts only)", 485},
-  {"   a   select bootable partition", 486},
-  {"   b   edit bootfile entry", 487},
-  {"   c   select sgi swap partition", 488},
-  {"   a   toggle a bootable flag", 489},
-  {"   c   toggle the dos compatibility flag", 490},
-  {"   a   change number of alternate cylinders", 491},
-  {"   c   change number of cylinders", 492},
-  {"   d   print the raw data in the partition table", 493},
-  {"   e   change number of extra sectors per cylinder", 494},
-  {"   h   change number of heads", 495},
-  {"   i   change interleave factor", 496},
-  {"   o   change rotation speed (rpm)", 497},
-  {"   r   return to main menu", 498},
-  {"   s   change number of sectors/track", 499},
-  {"   y   change number of physical cylinders", 500},
-  {"   b   move beginning of data in a partition", 501},
-  {"   e   list extended partitions", 502},
-  {"   g   create an IRIX partition table", 503},
-  {"   f   fix partition order", 504},
-  {"You must set", 505},
-  {"heads", 506},
-  {"sectors", 507},
-  {"cylinders", 508},
+  ...\n", 383},
+  {"Unable to open %s\n", 384},
+  {"Unable to read %s\n", 385},
+  {"Unable to seek on %s\n", 386},
+  {"Unable to write %s\n", 387},
+  {"BLKGETSIZE ioctl failed on %s\n", 388},
+  {"Unable to allocate any more memory\n", 389},
+  {"Fatal error\n", 390},
+  {"Command action", 391},
+  {"   a   toggle a read only flag", 392},
+  {"   b   edit bsd disklabel", 393},
+  {"   c   toggle the mountable flag", 394},
+  {"   d   delete a partition", 395},
+  {"   l   list known partition types", 396},
+  {"   m   print this menu", 397},
+  {"   n   add a new partition", 398},
+  {"   o   create a new empty DOS partition table", 399},
+  {"   p   print the partition table", 400},
+  {"   q   quit without saving changes", 401},
+  {"   s   create a new empty Sun disklabel", 402},
+  {"   t   change a partition's system id", 403},
+  {"   u   change display/entry units", 404},
+  {"   v   verify the partition table", 405},
+  {"   w   write table to disk and exit", 406},
+  {"   x   extra functionality (experts only)", 407},
+  {"   a   select bootable partition", 408},
+  {"   b   edit bootfile entry", 409},
+  {"   c   select sgi swap partition", 410},
+  {"   a   toggle a bootable flag", 411},
+  {"   c   toggle the dos compatibility flag", 412},
+  {"   a   change number of alternate cylinders", 413},
+  {"   c   change number of cylinders", 414},
+  {"   d   print the raw data in the partition table", 415},
+  {"   e   change number of extra sectors per cylinder", 416},
+  {"   h   change number of heads", 417},
+  {"   i   change interleave factor", 418},
+  {"   o   change rotation speed (rpm)", 419},
+  {"   r   return to main menu", 420},
+  {"   s   change number of sectors/track", 421},
+  {"   y   change number of physical cylinders", 422},
+  {"   b   move beginning of data in a partition", 423},
+  {"   e   list extended partitions", 424},
+  {"   g   create an IRIX partition table", 425},
+  {"   f   fix partition order", 426},
+  {"You must set", 427},
+  {"heads", 428},
+  {"sectors", 429},
+  {"cylinders", 430},
   {"\
 %s%s.\n\
-You can do this from the extra functions menu.\n", 509},
-  {" and ", 510},
+You can do this from the extra functions menu.\n", 431},
+  {" and ", 432},
   {"\
 \n\
 The number of cylinders for this disk is set to %d.\n\
@@ -667,153 +517,152 @@ There is nothing wrong with that, but this is larger than 1024,\n\
 and could in certain setups cause problems with:\n\
 1) software that runs at boot time (e.g., old versions of LILO)\n\
 2) booting and partitioning software from other OSs\n\
-   (e.g., DOS FDISK, OS/2 FDISK)\n", 511},
-  {"Bad offset in primary extended partition\n", 512},
-  {"Warning: deleting partitions after %d\n", 513},
-  {"Warning: extra link pointer in partition table %d\n", 514},
-  {"Warning: ignoring extra data in partition table %d\n", 515},
+   (e.g., DOS FDISK, OS/2 FDISK)\n", 433},
+  {"Bad offset in primary extended partition\n", 434},
+  {"Warning: deleting partitions after %d\n", 435},
+  {"Warning: extra link pointer in partition table %d\n", 436},
+  {"Warning: ignoring extra data in partition table %d\n", 437},
   {"\
 Building a new DOS disklabel. Changes will remain in memory only,\n\
 until you decide to write them. After that, of course, the previous\n\
 content won't be recoverable.\n\
-\n", 516},
-  {"Note: sector size is %d (not %d)\n", 517},
-  {"You will not be able to write the partition table.\n", 518},
+\n", 438},
+  {"Note: sector size is %d (not %d)\n", 439},
+  {"You will not be able to write the partition table.\n", 440},
   {"\
 Device contains neither a valid DOS partition table, nor Sun, SGI or OSF \
-disklabel\n", 519},
-  {"Internal error\n", 520},
-  {"Ignoring extra extended partition %d\n", 521},
+disklabel\n", 441},
+  {"Internal error\n", 442},
+  {"Ignoring extra extended partition %d\n", 443},
   {"\
 Warning: invalid flag 0x%04x of partition table %d will be corrected by \
-w(rite)\n", 522},
+w(rite)\n", 444},
   {"\
 \n\
-got EOF thrice - exiting..\n", 523},
-  {"Hex code (type L to list codes): ", 524},
-  {"%s (%d-%d, default %d): ", 525},
-  {"Using default value %d\n", 526},
-  {"Value out of range.\n", 527},
-  {"Partition number", 528},
-  {"Warning: partition %d has empty type\n", 529},
-  {"cylinder", 530},
-  {"sector", 531},
-  {"Changing display/entry units to %s\n", 532},
-  {"WARNING: Partition %d is an extended partition\n", 533},
-  {"DOS Compatibility flag is set\n", 534},
-  {"DOS Compatibility flag is not set\n", 535},
-  {"Partition %d does not exist yet!\n", 536},
+got EOF thrice - exiting..\n", 445},
+  {"Hex code (type L to list codes): ", 446},
+  {"%s (%d-%d, default %d): ", 447},
+  {"Using default value %d\n", 448},
+  {"Value out of range.\n", 449},
+  {"Partition number", 450},
+  {"Warning: partition %d has empty type\n", 451},
+  {"cylinder", 452},
+  {"sector", 453},
+  {"Changing display/entry units to %s\n", 454},
+  {"WARNING: Partition %d is an extended partition\n", 455},
+  {"DOS Compatibility flag is set\n", 456},
+  {"DOS Compatibility flag is not set\n", 457},
+  {"Partition %d does not exist yet!\n", 458},
   {"\
 Type 0 means free space to many systems\n\
 (but not to Linux). Having partitions of\n\
 type 0 is probably unwise. You can delete\n\
-a partition using the `d' command.\n", 537},
+a partition using the `d' command.\n", 459},
   {"\
 You cannot change a partition into an extended one or vice versa\n\
-Delete it first.\n", 538},
+Delete it first.\n", 460},
   {"\
 Consider leaving partition 3 as Whole disk (5),\n\
 as SunOS/Solaris expects it and even Linux likes it.\n\
-\n", 539},
+\n", 461},
   {"\
 Consider leaving partition 9 as volume header (0),\n\
 and partition 11 as entire volume (6)as IRIX expects it.\n\
-\n", 540},
-  {"Changed system type of partition %d to %x (%s)\n", 541},
-  {"Partition %d has different physical/logical beginnings (non-Linux?):\n", 542},
-  {"     phys=(%d, %d, %d) ", 543},
-  {"logical=(%d, %d, %d)\n", 544},
-  {"Partition %d has different physical/logical endings:\n", 545},
-  {"Partition %i does not start on cylinder boundary:\n", 546},
-  {"should be (%d, %d, 1)\n", 547},
-  {"Partition %i does not end on cylinder boundary:\n", 548},
-  {"should be (%d, %d, %d)\n", 549},
+\n", 462},
+  {"Changed system type of partition %d to %x (%s)\n", 463},
+  {"Partition %d has different physical/logical beginnings (non-Linux?):\n", 464},
+  {"     phys=(%d, %d, %d) ", 465},
+  {"logical=(%d, %d, %d)\n", 466},
+  {"Partition %d has different physical/logical endings:\n", 467},
+  {"Partition %i does not start on cylinder boundary:\n", 468},
+  {"should be (%d, %d, 1)\n", 469},
+  {"Partition %i does not end on cylinder boundary:\n", 470},
+  {"should be (%d, %d, %d)\n", 471},
   {"\
 \n\
 Disk %s: %d heads, %d sectors, %d cylinders\n\
 Units = %s of %d * %d bytes\n\
-\n", 550},
+\n", 472},
   {"\
 Nothing to do. Ordering is correct already.\n\
-\n", 551},
-  {"%*s Boot    Start       End    Blocks   Id  System\n", 552},
-  {"Device", 553},
+\n", 473},
+  {"%*s Boot    Start       End    Blocks   Id  System\n", 474},
+  {"Device", 475},
   {"\
 \n\
-Partition table entries are not in disk order\n", 554},
+Partition table entries are not in disk order\n", 476},
   {"\
 \n\
 Disk %s: %d heads, %d sectors, %d cylinders\n\
-\n", 555},
-  {"Nr AF  Hd Sec  Cyl  Hd Sec  Cyl    Start     Size ID\n", 556},
-  {"Warning: partition %d contains sector 0\n", 557},
-  {"Partition %d: head %d greater than maximum %d\n", 558},
-  {"Partition %d: sector %d greater than maximum %d\n", 559},
-  {"Partitions %d: cylinder %d greater than maximum %d\n", 560},
-  {"Partition %d: previous sectors %d disagrees with total %d\n", 561},
-  {"Warning: bad start-of-data in partition %d\n", 562},
-  {"Warning: partition %d overlaps partition %d.\n", 563},
-  {"Warning: partition %d is empty\n", 564},
-  {"Logical partition %d not entirely in partition %d\n", 565},
-  {"Total allocated sectors %d greater than the maximum %d\n", 566},
-  {"%d unallocated sectors\n", 567},
-  {"Partition %d is already defined.  Delete it before re-adding it.\n", 568},
-  {"First %s", 569},
-  {"Sector %d is already allocated\n", 570},
-  {"No free sectors available\n", 571},
-  {"Last %s or +size or +sizeM or +sizeK", 572},
-  {"Warning: partition %d has an odd number of sectors.\n", 573},
-  {"The maximum number of partitions has been created\n", 574},
-  {"You must delete some partition and add an extended partition first\n", 575},
+\n", 477},
+  {"Nr AF  Hd Sec  Cyl  Hd Sec  Cyl    Start     Size ID\n", 478},
+  {"Warning: partition %d contains sector 0\n", 479},
+  {"Partition %d: head %d greater than maximum %d\n", 480},
+  {"Partition %d: sector %d greater than maximum %d\n", 481},
+  {"Partitions %d: cylinder %d greater than maximum %d\n", 482},
+  {"Partition %d: previous sectors %d disagrees with total %d\n", 483},
+  {"Warning: bad start-of-data in partition %d\n", 484},
+  {"Warning: partition %d overlaps partition %d.\n", 485},
+  {"Warning: partition %d is empty\n", 486},
+  {"Logical partition %d not entirely in partition %d\n", 487},
+  {"Total allocated sectors %d greater than the maximum %d\n", 488},
+  {"%d unallocated sectors\n", 489},
+  {"Partition %d is already defined.  Delete it before re-adding it.\n", 490},
+  {"First %s", 491},
+  {"Sector %d is already allocated\n", 492},
+  {"No free sectors available\n", 493},
+  {"Last %s or +size or +sizeM or +sizeK", 494},
+  {"Warning: partition %d has an odd number of sectors.\n", 495},
+  {"The maximum number of partitions has been created\n", 496},
+  {"You must delete some partition and add an extended partition first\n", 497},
   {"\
 Command action\n\
    %s\n\
-   p   primary partition (1-4)\n", 576},
-  {"l   logical (5 or over)", 577},
-  {"e   extended", 578},
-  {"Invalid partition number for type `%c'\n", 579},
+   p   primary partition (1-4)\n", 498},
+  {"l   logical (5 or over)", 499},
+  {"e   extended", 500},
+  {"Invalid partition number for type `%c'\n", 501},
   {"\
 The partition table has been altered!\n\
-\n", 580},
-  {"Calling ioctl() to re-read partition table.\n", 581},
+\n", 502},
+  {"Calling ioctl() to re-read partition table.\n", 503},
   {"\
 Re-read table failed with error %d: %s.\n\
-Reboot your system to ensure the partition table is updated.\n", 582},
+Reboot your system to ensure the partition table is updated.\n", 504},
   {"\
 \n\
 WARNING: If you have created or modified any DOS 6.x\n\
 partitions, please see the fdisk manual page for additional\n\
-information.\n", 583},
-  {"Syncing disks.\n", 584},
-  {"Device: %s\n", 585},
-  {"Partition %d has no data area\n", 586},
-  {"New beginning of data", 587},
-  {"Expert command (m for help): ", 588},
-  {"Number of cylinders", 589},
-  {"Number of heads", 590},
-  {"Number of sectors", 591},
-  {"Warning: setting sector offset for DOS compatiblity\n", 592},
-  {"Disk %s doesn't contain a valid partition table\n", 593},
-  {"Cannot open %s\n", 594},
-  {"cannot open %s\n", 595},
-  {"%c: unknown command\n", 596},
-  {"This kernel finds the sector size itself - -b option ignored\n", 597},
+information.\n", 505},
+  {"Syncing disks.\n", 506},
+  {"Partition %d has no data area\n", 507},
+  {"New beginning of data", 508},
+  {"Expert command (m for help): ", 509},
+  {"Number of cylinders", 510},
+  {"Number of heads", 511},
+  {"Number of sectors", 512},
+  {"Warning: setting sector offset for DOS compatiblity\n", 513},
+  {"Disk %s doesn't contain a valid partition table\n", 514},
+  {"Cannot open %s\n", 515},
+  {"cannot open %s\n", 516},
+  {"%c: unknown command\n", 517},
+  {"This kernel finds the sector size itself - -b option ignored\n", 518},
   {"\
 Warning: the -b (set sector size) option should be used with one specified \
-device\n", 598},
+device\n", 519},
   {"\
 Detected an OSF/1 disklabel on %s, entering disklabel mode.\n\
-To return to DOS partition table mode, use the 'r' command.\n", 599},
-  {"Command (m for help): ", 600},
+To return to DOS partition table mode, use the 'r' command.\n", 520},
+  {"Command (m for help): ", 521},
   {"\
 \n\
-The current boot file is: %s\n", 601},
-  {"Please enter the name of the new boot file: ", 602},
-  {"Boot file unchanged\n", 603},
+The current boot file is: %s\n", 522},
+  {"Please enter the name of the new boot file: ", 523},
+  {"Boot file unchanged\n", 524},
   {"\
 \n\
 \tSorry, no experts menu for SGI partition tables available.\n\
-\n", 604},
+\n", 525},
   {"\
 \n\
 \tThere is a valid AIX label on this disk.\n\
@@ -826,92 +675,94 @@ The current boot file is: %s\n", 601},
 \t   erase the other disks as well, if unmirrored.)\n\
 \t3. Before deleting this physical volume be sure\n\
 \t   to remove the disk logically from your AIX\n\
-\t   machine.  (Otherwise you become an AIXpert).", 605},
+\t   machine.  (Otherwise you become an AIXpert).", 526},
   {"\
 \n\
-BSD label for device: %s\n", 606},
-  {"   d   delete a BSD partition", 607},
-  {"   e   edit drive data", 608},
-  {"   i   install bootstrap", 609},
-  {"   l   list known filesystem types", 610},
-  {"   n   add a new BSD partition", 611},
-  {"   p   print BSD partition table", 612},
-  {"   s   show complete disklabel", 613},
-  {"   t   change a partition's filesystem id", 614},
-  {"   u   change units (cylinders/sectors)", 615},
-  {"   w   write disklabel to disk", 616},
-  {"   x   link BSD partition to non-BSD partition", 617},
-  {"Partition %s has invalid starting sector 0.\n", 618},
-  {"Reading disklabel of %s at sector %d.\n", 619},
-  {"There is no *BSD partition on %s.\n", 620},
-  {"BSD disklabel command (m for help): ", 621},
-  {"type: %s\n", 622},
-  {"type: %d\n", 623},
-  {"disk: %.*s\n", 624},
-  {"label: %.*s\n", 625},
-  {"flags:", 626},
-  {" removable", 627},
-  {" ecc", 628},
-  {" badsect", 629},
-  {"bytes/sector: %ld\n", 630},
-  {"sectors/track: %ld\n", 631},
-  {"tracks/cylinder: %ld\n", 632},
-  {"sectors/cylinder: %ld\n", 633},
-  {"cylinders: %ld\n", 634},
-  {"rpm: %d\n", 635},
-  {"interleave: %d\n", 636},
-  {"trackskew: %d\n", 637},
-  {"cylinderskew: %d\n", 638},
-  {"headswitch: %ld\t\t# milliseconds\n", 639},
-  {"track-to-track seek: %ld\t# milliseconds\n", 640},
-  {"drivedata: ", 641},
+BSD label for device: %s\n", 527},
+  {"   d   delete a BSD partition", 528},
+  {"   e   edit drive data", 529},
+  {"   i   install bootstrap", 530},
+  {"   l   list known filesystem types", 531},
+  {"   n   add a new BSD partition", 532},
+  {"   p   print BSD partition table", 533},
+  {"   s   show complete disklabel", 534},
+  {"   t   change a partition's filesystem id", 535},
+  {"   u   change units (cylinders/sectors)", 536},
+  {"   w   write disklabel to disk", 537},
+  {"   x   link BSD partition to non-BSD partition", 538},
+  {"Partition %s has invalid starting sector 0.\n", 539},
+  {"Reading disklabel of %s at sector %d.\n", 540},
+  {"There is no *BSD partition on %s.\n", 541},
+  {"BSD disklabel command (m for help): ", 542},
+  {"type: %s\n", 543},
+  {"type: %d\n", 544},
+  {"disk: %.*s\n", 545},
+  {"label: %.*s\n", 546},
+  {"flags:", 547},
+  {" removable", 548},
+  {" ecc", 549},
+  {" badsect", 550},
+  {"bytes/sector: %ld\n", 551},
+  {"sectors/track: %ld\n", 552},
+  {"tracks/cylinder: %ld\n", 553},
+  {"sectors/cylinder: %ld\n", 554},
+  {"cylinders: %ld\n", 555},
+  {"rpm: %d\n", 556},
+  {"interleave: %d\n", 557},
+  {"trackskew: %d\n", 558},
+  {"cylinderskew: %d\n", 559},
+  {"headswitch: %ld\t\t# milliseconds\n", 560},
+  {"track-to-track seek: %ld\t# milliseconds\n", 561},
+  {"drivedata: ", 562},
   {"\
 \n\
-%d partitions:\n", 642},
-  {"#       start       end      size     fstype   [fsize bsize   cpg]\n", 643},
-  {"Writing disklabel to %s.\n", 644},
-  {"%s contains no disklabel.\n", 645},
-  {"Do you want to create a disklabel? (y/n) ", 646},
-  {"bytes/sector", 647},
-  {"sectors/track", 648},
-  {"tracks/cylinder", 649},
-  {"sectors/cylinder", 650},
-  {"Must be <= sectors/track * tracks/cylinder (default).\n", 651},
-  {"rpm", 652},
-  {"interleave", 653},
-  {"trackskew", 654},
-  {"cylinderskew", 655},
-  {"headswitch", 656},
-  {"track-to-track seek", 657},
-  {"Bootstrap: %sboot -> boot%s (%s): ", 658},
-  {"Bootstrap overlaps with disk label!\n", 659},
-  {"Bootstrap installed on %s.\n", 660},
-  {"Partition (a-%c): ", 661},
-  {"This partition already exists.\n", 662},
-  {"Warning: too many partitions (%d, maximum is %d).\n", 663},
+%d partitions:\n", 563},
+  {"#       start       end      size     fstype   [fsize bsize   cpg]\n", 564},
+  {"Writing disklabel to %s.\n", 565},
+  {"%s contains no disklabel.\n", 566},
+  {"Do you want to create a disklabel? (y/n) ", 567},
+  {"bytes/sector", 568},
+  {"sectors/track", 569},
+  {"tracks/cylinder", 570},
+  {"sectors/cylinder", 571},
+  {"Must be <= sectors/track * tracks/cylinder (default).\n", 572},
+  {"rpm", 573},
+  {"interleave", 574},
+  {"trackskew", 575},
+  {"cylinderskew", 576},
+  {"headswitch", 577},
+  {"track-to-track seek", 578},
+  {"Bootstrap: %sboot -> boot%s (%s): ", 579},
+  {"Bootstrap overlaps with disk label!\n", 580},
+  {"Bootstrap installed on %s.\n", 581},
+  {"Partition (a-%c): ", 582},
+  {"This partition already exists.\n", 583},
+  {"Warning: too many partitions (%d, maximum is %d).\n", 584},
   {"\
 \n\
-Syncing disks.\n", 664},
-  {"SGI volhdr", 665},
-  {"SGI trkrepl", 666},
-  {"SGI secrepl", 667},
-  {"SGI raw", 668},
-  {"SGI bsd", 669},
-  {"SGI sysv", 670},
-  {"SGI volume", 671},
-  {"SGI efs", 672},
-  {"SGI lvol", 673},
-  {"SGI rlvol", 674},
-  {"SGI xfs", 675},
-  {"SGI xlvol", 676},
-  {"SGI rxlvol", 677},
-  {"Linux swap", 678},
-  {"Linux native", 679},
-  {"Linux LVM", 680},
+Syncing disks.\n", 585},
+  {"SGI volhdr", 586},
+  {"SGI trkrepl", 587},
+  {"SGI secrepl", 588},
+  {"SGI raw", 589},
+  {"SGI bsd", 590},
+  {"SGI sysv", 591},
+  {"SGI volume", 592},
+  {"SGI efs", 593},
+  {"SGI lvol", 594},
+  {"SGI rlvol", 595},
+  {"SGI xfs", 596},
+  {"SGI xfslog", 597},
+  {"SGI xlv", 598},
+  {"SGI xvm", 599},
+  {"Linux swap", 600},
+  {"Linux native", 601},
+  {"Linux LVM", 602},
+  {"Linux RAID", 603},
   {"\
 According to MIPS Computer Systems, Inc the Label must not contain more than \
-512 bytes\n", 681},
-  {"Detected sgi disklabel with wrong checksum.\n", 682},
+512 bytes\n", 604},
+  {"Detected sgi disklabel with wrong checksum.\n", 605},
   {"\
 \n\
 Disk %s (SGI disk label): %d heads, %d sectors\n\
@@ -919,139 +770,139 @@ Disk %s (SGI disk label): %d heads, %d sectors\n\
 %d extra sects/cyl, interleave %d:1\n\
 %s\n\
 Units = %s of %d * 512 bytes\n\
-\n", 683},
+\n", 606},
   {"\
 \n\
 Disk %s (SGI disk label): %d heads, %d sectors, %d cylinders\n\
 Units = %s of %d * 512 bytes\n\
-\n", 684},
+\n", 607},
   {"\
 ----- partitions -----\n\
-%*s  Info      Start       End   Sectors  Id  System\n", 685},
+%*s  Info      Start       End   Sectors  Id  System\n", 608},
   {"\
 ----- bootinfo -----\n\
 Bootfile: %s\n\
------ directory entries -----\n", 686},
-  {"%2d: %-10s sector%5u size%8u\n", 687},
+----- directory entries -----\n", 609},
+  {"%2d: %-10s sector%5u size%8u\n", 610},
   {"\
 \n\
 Invalid Bootfile!\n\
 \tThe bootfile must be an absolute non-zero pathname,\n\
-\te.g. \"/unix\" or \"/unix.save\".\n", 688},
+\te.g. \"/unix\" or \"/unix.save\".\n", 611},
   {"\
 \n\
-\tName of Bootfile too long:  16 bytes maximum.\n", 689},
+\tName of Bootfile too long:  16 bytes maximum.\n", 612},
   {"\
 \n\
-\tBootfile must have a fully qualified pathname.\n", 690},
+\tBootfile must have a fully qualified pathname.\n", 613},
   {"\
 \n\
 \tBe aware, that the bootfile is not checked for existence.\n\
-\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n", 691},
+\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n", 614},
   {"\
 \n\
-\tBootfile is changed to \"%s\".\n", 692},
-  {"More than one entire disk entry present.\n", 693},
-  {"No partitions defined\n", 694},
-  {"IRIX likes when Partition 11 covers the entire disk.\n", 695},
+\tBootfile is changed to \"%s\".\n", 615},
+  {"More than one entire disk entry present.\n", 616},
+  {"No partitions defined\n", 617},
+  {"IRIX likes when Partition 11 covers the entire disk.\n", 618},
   {"\
 The entire disk partition should start at block 0,\n\
-not at diskblock %d.\n", 696},
+not at diskblock %d.\n", 619},
   {"\
 The entire disk partition is only %d diskblock large,\n\
-but the disk is %d diskblocks long.\n", 697},
-  {"One Partition (#11) should cover the entire disk.\n", 698},
-  {"Partition %d does not start on cylinder boundary.\n", 699},
-  {"Partition %d does not end on cylinder boundary.\n", 700},
-  {"The Partition %d and %d overlap by %d sectors.\n", 701},
-  {"Unused gap of %8d sectors - sectors %8d-%d\n", 702},
+but the disk is %d diskblocks long.\n", 620},
+  {"One Partition (#11) should cover the entire disk.\n", 621},
+  {"Partition %d does not start on cylinder boundary.\n", 622},
+  {"Partition %d does not end on cylinder boundary.\n", 623},
+  {"The Partition %d and %d overlap by %d sectors.\n", 624},
+  {"Unused gap of %8d sectors - sectors %8d-%d\n", 625},
   {"\
 \n\
-The boot partition does not exist.\n", 703},
+The boot partition does not exist.\n", 626},
   {"\
 \n\
-The swap partition does not exist.\n", 704},
+The swap partition does not exist.\n", 627},
   {"\
 \n\
-The swap partition has no swap type.\n", 705},
-  {"\tYou have chosen an unusual boot file name.\n", 706},
-  {"Sorry You may change the Tag of non-empty partitions.\n", 707},
+The swap partition has no swap type.\n", 628},
+  {"\tYou have chosen an unusual boot file name.\n", 629},
+  {"Sorry You may change the Tag of non-empty partitions.\n", 630},
   {"\
 It is highly recommended that the partition at offset 0\n\
 is of type \"SGI volhdr\", the IRIX system will rely on it to\n\
 retrieve from its directory standalone tools like sash and fx.\n\
 Only the \"SGI volume\" entire disk section may violate this.\n\
-Type YES if you are sure about tagging this partition differently.\n", 708},
-  {"Do You know, You got a partition overlap on the disk?\n", 709},
-  {"Attempting to generate entire disk entry automatically.\n", 710},
-  {"The entire disk is already covered with partitions.\n", 711},
-  {"You got a partition overlap on the disk. Fix it first!\n", 712},
+Type YES if you are sure about tagging this partition differently.\n", 631},
+  {"Do You know, You got a partition overlap on the disk?\n", 632},
+  {"Attempting to generate entire disk entry automatically.\n", 633},
+  {"The entire disk is already covered with partitions.\n", 634},
+  {"You got a partition overlap on the disk. Fix it first!\n", 635},
   {"\
 It is highly recommended that eleventh partition\n\
-covers the entire disk and is of type `SGI volume'\n", 713},
-  {"You will get a partition overlap on the disk. Fix it first!\n", 714},
-  {" Last %s", 715},
+covers the entire disk and is of type `SGI volume'\n", 636},
+  {"You will get a partition overlap on the disk. Fix it first!\n", 637},
+  {" Last %s", 638},
   {"\
 Building a new SGI disklabel. Changes will remain in memory only,\n\
 until you decide to write them. After that, of course, the previous\n\
 content will be unrecoverably lost.\n\
-\n", 716},
-  {"Trying to keep parameters of partition %d.\n", 717},
-  {"ID=%02x\tSTART=%d\tLENGTH=%d\n", 718},
-  {"Empty", 719},
-  {"SunOS root", 720},
-  {"SunOS swap", 721},
-  {"SunOS usr", 722},
-  {"Whole disk", 723},
-  {"SunOS stand", 724},
-  {"SunOS var", 725},
-  {"SunOS home", 726},
+\n", 639},
+  {"Trying to keep parameters of partition %d.\n", 640},
+  {"ID=%02x\tSTART=%d\tLENGTH=%d\n", 641},
+  {"Empty", 642},
+  {"SunOS root", 643},
+  {"SunOS swap", 644},
+  {"SunOS usr", 645},
+  {"Whole disk", 646},
+  {"SunOS stand", 647},
+  {"SunOS var", 648},
+  {"SunOS home", 649},
   {"\
 Detected sun disklabel with wrong checksum.\n\
 Probably you'll have to set all the values,\n\
 e.g. heads, sectors, cylinders and partitions\n\
-or force a fresh label (s command in main menu)\n", 727},
-  {"Autoconfigure found a %s%s%s\n", 728},
+or force a fresh label (s command in main menu)\n", 650},
+  {"Autoconfigure found a %s%s%s\n", 651},
   {"\
 Building a new sun disklabel. Changes will remain in memory only,\n\
 until you decide to write them. After that, of course, the previous\n\
 content won't be recoverable.\n\
-\n", 729},
+\n", 652},
   {"\
 Drive type\n\
    ?   auto configure\n\
-   0   custom (with hardware detected defaults)", 730},
-  {"Select type (? for auto, 0 for custom): ", 731},
-  {"Autoconfigure failed.\n", 732},
-  {"Sectors/track", 733},
-  {"Alternate cylinders", 734},
-  {"Physical cylinders", 735},
-  {"Rotation speed (rpm)", 736},
-  {"Interleave factor", 737},
-  {"Extra sectors per cylinder", 738},
-  {"You may change all the disk params from the x menu", 739},
-  {"3,5\" floppy", 740},
-  {"Linux custom", 741},
-  {"Partition %d doesn't end on cylinder boundary\n", 742},
-  {"Partition %d overlaps with others in sectors %d-%d\n", 743},
-  {"Unused gap - sectors 0-%d\n", 744},
-  {"Unused gap - sectors %d-%d\n", 745},
+   0   custom (with hardware detected defaults)", 653},
+  {"Select type (? for auto, 0 for custom): ", 654},
+  {"Autoconfigure failed.\n", 655},
+  {"Sectors/track", 656},
+  {"Alternate cylinders", 657},
+  {"Physical cylinders", 658},
+  {"Rotation speed (rpm)", 659},
+  {"Interleave factor", 660},
+  {"Extra sectors per cylinder", 661},
+  {"You may change all the disk params from the x menu", 662},
+  {"3,5\" floppy", 663},
+  {"Linux custom", 664},
+  {"Partition %d doesn't end on cylinder boundary\n", 665},
+  {"Partition %d overlaps with others in sectors %d-%d\n", 666},
+  {"Unused gap - sectors 0-%d\n", 667},
+  {"Unused gap - sectors %d-%d\n", 668},
   {"\
 Other partitions already cover the whole disk.\n\
-Delete some/shrink them before retry.\n", 746},
+Delete some/shrink them before retry.\n", 669},
   {"\
 You haven't covered the whole disk with the 3rd partition, but your value\n\
 %d %s covers some other partition. Your entry has been changed\n\
-to %d %s\n", 747},
+to %d %s\n", 670},
   {"\
 If you want to maintain SunOS/Solaris compatibility, consider leaving this\n\
-partition as Whole disk (5), starting at 0, with %u sectors\n", 748},
+partition as Whole disk (5), starting at 0, with %u sectors\n", 671},
   {"\
 It is highly recommended that the partition at offset 0\n\
 is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n\
 there may destroy your partition table and bootblock.\n\
 Type YES if you're very sure you would like that partition\n\
-tagged with 82 (Linux swap): ", 749},
+tagged with 82 (Linux swap): ", 672},
   {"\
 \n\
 Disk %s (Sun disk label): %d heads, %d sectors, %d rpm\n\
@@ -1059,840 +910,1014 @@ Disk %s (Sun disk label): %d heads, %d sectors, %d rpm\n\
 %d extra sects/cyl, interleave %d:1\n\
 %s\n\
 Units = %s of %d * 512 bytes\n\
-\n", 750},
+\n", 673},
   {"\
 \n\
 Disk %s (Sun disk label): %d heads, %d sectors, %d cylinders\n\
 Units = %s of %d * 512 bytes\n\
-\n", 751},
-  {"%*s Flag    Start       End    Blocks   Id  System\n", 752},
-  {"Number of alternate cylinders", 753},
-  {"Number of physical cylinders", 754},
-  {"FAT12", 755},
-  {"XENIX root", 756},
-  {"XENIX usr", 757},
-  {"FAT16 <32M", 758},
-  {"Extended", 759},
-  {"FAT16", 760},
-  {"HPFS/NTFS", 761},
-  {"AIX", 762},
-  {"AIX bootable", 763},
-  {"OS/2 Boot Manager", 764},
-  {"Win95 FAT32", 765},
-  {"Win95 FAT32 (LBA)", 766},
-  {"Win95 FAT16 (LBA)", 767},
-  {"Win95 Ext'd (LBA)", 768},
-  {"OPUS", 769},
-  {"Hidden FAT12", 770},
-  {"Compaq diagnostics", 771},
-  {"Hidden FAT16 <32M", 772},
-  {"Hidden FAT16", 773},
-  {"Hidden HPFS/NTFS", 774},
-  {"AST Windows swapfile", 775},
-  {"Hidden Win95 FAT32", 776},
-  {"Hidden Win95 FAT32 (LBA)", 777},
-  {"Hidden Win95 FAT16 (LBA)", 778},
-  {"NEC DOS", 779},
-  {"Plan 9", 780},
-  {"PartitionMagic recovery", 781},
-  {"Venix 80286", 782},
-  {"PPC PReP Boot", 783},
-  {"SFS", 784},
-  {"QNX4.x", 785},
-  {"QNX4.x 2nd part", 786},
-  {"QNX4.x 3rd part", 787},
-  {"OnTrack DM", 788},
-  {"OnTrack DM6 Aux1", 789},
-  {"CP/M", 790},
-  {"OnTrack DM6 Aux3", 791},
-  {"OnTrackDM6", 792},
-  {"EZ-Drive", 793},
-  {"Golden Bow", 794},
-  {"Priam Edisk", 795},
-  {"SpeedStor", 796},
-  {"GNU HURD or SysV", 797},
-  {"Novell Netware 286", 798},
-  {"Novell Netware 386", 799},
-  {"DiskSecure Multi-Boot", 800},
-  {"PC/IX", 801},
-  {"Old Minix", 802},
-  {"Minix / old Linux", 803},
-  {"OS/2 hidden C: drive", 804},
-  {"Linux extended", 805},
-  {"NTFS volume set", 806},
-  {"Amoeba", 807},
-  {"Amoeba BBT", 808},
-  {"BSD/OS", 809},
-  {"IBM Thinkpad hibernation", 810},
-  {"BSD/386", 811},
-  {"OpenBSD", 812},
-  {"NeXTSTEP", 813},
-  {"BSDI fs", 814},
-  {"BSDI swap", 815},
-  {"DRDOS/sec (FAT-12)", 816},
-  {"DRDOS/sec (FAT-16 < 32M)", 817},
-  {"DRDOS/sec (FAT-16)", 818},
-  {"Syrinx", 819},
-  {"Non-FS data", 820},
-  {"CP/M / CTOS / ...", 821},
-  {"DOS access", 822},
-  {"DOS R/O", 823},
-  {"BeOS fs", 824},
-  {"DOS secondary", 825},
-  {"Linux raid autodetect", 826},
-  {"LANstep", 827},
-  {"BBT", 828},
-  {"seek error on %s - cannot seek to %lu\n", 829},
-  {"seek error: wanted 0x%08x%08x, got 0x%08x%08x\n", 830},
-  {"out of memory - giving up\n", 831},
-  {"read error on %s - cannot read sector %lu\n", 832},
-  {"ERROR: sector %lu does not have an msdos signature\n", 833},
-  {"write error on %s - cannot write sector %lu\n", 834},
-  {"cannot open partition sector save file (%s)\n", 835},
-  {"write error on %s\n", 836},
-  {"cannot stat partition restore file (%s)\n", 837},
-  {"partition restore file has wrong size - not restoring\n", 838},
-  {"out of memory?\n", 839},
-  {"cannot open partition restore file (%s)\n", 840},
-  {"error reading %s\n", 841},
-  {"cannot open device %s for writing\n", 842},
-  {"error writing sector %lu on %s\n", 843},
-  {"Disk %s: cannot get size\n", 844},
-  {"Disk %s: cannot get geometry\n", 845},
+\n", 674},
+  {"%*s Flag    Start       End    Blocks   Id  System\n", 675},
+  {"Number of alternate cylinders", 676},
+  {"Number of physical cylinders", 677},
+  {"FAT12", 678},
+  {"XENIX root", 679},
+  {"XENIX usr", 680},
+  {"FAT16 <32M", 681},
+  {"Extended", 682},
+  {"FAT16", 683},
+  {"HPFS/NTFS", 684},
+  {"AIX", 685},
+  {"AIX bootable", 686},
+  {"OS/2 Boot Manager", 687},
+  {"Win95 FAT32", 688},
+  {"Win95 FAT32 (LBA)", 689},
+  {"Win95 FAT16 (LBA)", 690},
+  {"Win95 Ext'd (LBA)", 691},
+  {"OPUS", 692},
+  {"Hidden FAT12", 693},
+  {"Compaq diagnostics", 694},
+  {"Hidden FAT16 <32M", 695},
+  {"Hidden FAT16", 696},
+  {"Hidden HPFS/NTFS", 697},
+  {"AST Windows swapfile", 698},
+  {"Hidden Win95 FAT32", 699},
+  {"Hidden Win95 FAT32 (LBA)", 700},
+  {"Hidden Win95 FAT16 (LBA)", 701},
+  {"NEC DOS", 702},
+  {"Plan 9", 703},
+  {"PartitionMagic recovery", 704},
+  {"Venix 80286", 705},
+  {"PPC PReP Boot", 706},
+  {"SFS", 707},
+  {"QNX4.x", 708},
+  {"QNX4.x 2nd part", 709},
+  {"QNX4.x 3rd part", 710},
+  {"OnTrack DM", 711},
+  {"OnTrack DM6 Aux1", 712},
+  {"CP/M", 713},
+  {"OnTrack DM6 Aux3", 714},
+  {"OnTrackDM6", 715},
+  {"EZ-Drive", 716},
+  {"Golden Bow", 717},
+  {"Priam Edisk", 718},
+  {"SpeedStor", 719},
+  {"GNU HURD or SysV", 720},
+  {"Novell Netware 286", 721},
+  {"Novell Netware 386", 722},
+  {"DiskSecure Multi-Boot", 723},
+  {"PC/IX", 724},
+  {"Old Minix", 725},
+  {"Minix / old Linux", 726},
+  {"OS/2 hidden C: drive", 727},
+  {"Linux extended", 728},
+  {"NTFS volume set", 729},
+  {"Amoeba", 730},
+  {"Amoeba BBT", 731},
+  {"BSD/OS", 732},
+  {"IBM Thinkpad hibernation", 733},
+  {"BSD/386", 734},
+  {"OpenBSD", 735},
+  {"NeXTSTEP", 736},
+  {"BSDI fs", 737},
+  {"BSDI swap", 738},
+  {"DRDOS/sec (FAT-12)", 739},
+  {"DRDOS/sec (FAT-16 < 32M)", 740},
+  {"DRDOS/sec (FAT-16)", 741},
+  {"Syrinx", 742},
+  {"Non-FS data", 743},
+  {"CP/M / CTOS / ...", 744},
+  {"Dell Utility", 745},
+  {"DOS access", 746},
+  {"DOS R/O", 747},
+  {"BeOS fs", 748},
+  {"EFI GPT", 749},
+  {"EFI (FAT-12/16/32)", 750},
+  {"DOS secondary", 751},
+  {"Linux raid autodetect", 752},
+  {"LANstep", 753},
+  {"BBT", 754},
+  {"seek error on %s - cannot seek to %lu\n", 755},
+  {"seek error: wanted 0x%08x%08x, got 0x%08x%08x\n", 756},
+  {"out of memory - giving up\n", 757},
+  {"read error on %s - cannot read sector %lu\n", 758},
+  {"ERROR: sector %lu does not have an msdos signature\n", 759},
+  {"write error on %s - cannot write sector %lu\n", 760},
+  {"cannot open partition sector save file (%s)\n", 761},
+  {"write error on %s\n", 762},
+  {"cannot stat partition restore file (%s)\n", 763},
+  {"partition restore file has wrong size - not restoring\n", 764},
+  {"out of memory?\n", 765},
+  {"cannot open partition restore file (%s)\n", 766},
+  {"error reading %s\n", 767},
+  {"cannot open device %s for writing\n", 768},
+  {"error writing sector %lu on %s\n", 769},
+  {"Disk %s: cannot get size\n", 770},
+  {"Disk %s: cannot get geometry\n", 771},
   {"\
 Warning: start=%lu - this looks like a partition rather than\n\
 the entire disk. Using fdisk on it is probably meaningless.\n\
-[Use the --force option if you really want this]\n", 846},
-  {"Warning: HDIO_GETGEO says that there are %lu heads\n", 847},
-  {"Warning: HDIO_GETGEO says that there are %lu sectors\n", 848},
-  {"Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n", 849},
+[Use the --force option if you really want this]\n", 772},
+  {"Warning: HDIO_GETGEO says that there are %lu heads\n", 773},
+  {"Warning: HDIO_GETGEO says that there are %lu sectors\n", 774},
+  {"Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n", 775},
   {"\
 Warning: unlikely number of sectors (%lu) - usually at most 63\n\
-This will give problems with all software that uses C/H/S addressing.\n", 850},
+This will give problems with all software that uses C/H/S addressing.\n", 776},
   {"\
 \n\
-Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n", 851},
+Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n", 777},
   {"\
-%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n", 852},
+%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n", 778},
   {"\
 %s of partition %s has impossible value for sector: %lu (should be in \
-1-%lu)\n", 853},
+1-%lu)\n", 779},
   {"\
 %s of partition %s has impossible value for cylinders: %lu (should be in \
-0-%lu)\n", 854},
+0-%lu)\n", 780},
   {"\
 Id  Name\n\
-\n", 855},
-  {"Re-reading the partition table ...\n", 856},
+\n", 781},
+  {"Re-reading the partition table ...\n", 782},
   {"\
 The command to re-read the partition table failed\n\
-Reboot your system now, before using mkfs\n", 857},
-  {"Error closing %s\n", 858},
-  {"%s: no such partition\n", 859},
-  {"unrecognized format - using sectors\n", 860},
-  {"# partition table of %s\n", 861},
-  {"unimplemented format - using %s\n", 862},
+Reboot your system now, before using mkfs\n", 783},
+  {"Error closing %s\n", 784},
+  {"%s: no such partition\n", 785},
+  {"unrecognized format - using sectors\n", 786},
+  {"# partition table of %s\n", 787},
+  {"unimplemented format - using %s\n", 788},
   {"\
 Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n\
-\n", 863},
-  {"   Device Boot Start     End   #cyls   #blocks   Id  System\n", 864},
+\n", 789},
+  {"   Device Boot Start     End   #cyls   #blocks   Id  System\n", 790},
   {"\
 Units = sectors of 512 bytes, counting from %d\n\
-\n", 865},
-  {"   Device Boot    Start       End  #sectors  Id  System\n", 866},
+\n", 791},
+  {"   Device Boot    Start       End  #sectors  Id  System\n", 792},
   {"\
 Units = blocks of 1024 bytes, counting from %d\n\
-\n", 867},
-  {"   Device Boot   Start       End   #blocks   Id  System\n", 868},
+\n", 793},
+  {"   Device Boot   Start       End   #blocks   Id  System\n", 794},
   {"\
 Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n\
-\n", 869},
-  {"   Device Boot Start   End     MB   #blocks   Id  System\n", 870},
-  {"\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 871},
-  {"\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 872},
-  {"partition ends on cylinder %ld, beyond the end of the disk\n", 873},
-  {"No partitions found\n", 874},
+\n", 795},
+  {"   Device Boot Start   End     MB   #blocks   Id  System\n", 796},
+  {"\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 797},
+  {"\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 798},
+  {"partition ends on cylinder %ld, beyond the end of the disk\n", 799},
+  {"No partitions found\n", 800},
   {"\
 Warning: The first partition looks like it was made\n\
   for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n\
-For this listing I'll assume that geometry.\n", 875},
-  {"no partition table present.\n", 876},
-  {"strange, only %d partitions defined.\n", 877},
-  {"Warning: partition %s has size 0 but is not marked Empty\n", 878},
-  {"Warning: partition %s has size 0 and is bootable\n", 879},
-  {"Warning: partition %s has size 0 and nonzero start\n", 880},
-  {"Warning: partition %s ", 881},
-  {"is not contained in partition %s\n", 882},
-  {"Warning: partitions %s ", 883},
-  {"and %s overlap\n", 884},
-  {"Warning: partition %s contains part of ", 885},
-  {"the partition table (sector %lu),\n", 886},
-  {"and will destroy it when filled\n", 887},
-  {"Warning: partition %s starts at sector 0\n", 888},
-  {"Warning: partition %s extends past end of disk\n", 889},
-  {"Among the primary partitions, at most one can be extended\n", 890},
-  {" (although this is not a problem under Linux)\n", 891},
-  {"Warning: partition %s does not start at a cylinder boundary\n", 892},
-  {"Warning: partition %s does not end at a cylinder boundary\n", 893},
+For this listing I'll assume that geometry.\n", 801},
+  {"no partition table present.\n", 802},
+  {"strange, only %d partitions defined.\n", 803},
+  {"Warning: partition %s has size 0 but is not marked Empty\n", 804},
+  {"Warning: partition %s has size 0 and is bootable\n", 805},
+  {"Warning: partition %s has size 0 and nonzero start\n", 806},
+  {"Warning: partition %s ", 807},
+  {"is not contained in partition %s\n", 808},
+  {"Warning: partitions %s ", 809},
+  {"and %s overlap\n", 810},
+  {"Warning: partition %s contains part of ", 811},
+  {"the partition table (sector %lu),\n", 812},
+  {"and will destroy it when filled\n", 813},
+  {"Warning: partition %s starts at sector 0\n", 814},
+  {"Warning: partition %s extends past end of disk\n", 815},
+  {"Among the primary partitions, at most one can be extended\n", 816},
+  {" (although this is not a problem under Linux)\n", 817},
+  {"Warning: partition %s does not start at a cylinder boundary\n", 818},
+  {"Warning: partition %s does not end at a cylinder boundary\n", 819},
   {"\
 Warning: more than one primary partition is marked bootable (active)\n\
-This does not matter for LILO, but the DOS MBR will not boot this disk.\n", 894},
+This does not matter for LILO, but the DOS MBR will not boot this disk.\n", 820},
   {"\
 Warning: usually one can boot from primary partitions only\n\
-LILO disregards the `bootable' flag.\n", 895},
+LILO disregards the `bootable' flag.\n", 821},
   {"\
 Warning: no primary partition is marked bootable (active)\n\
-This does not matter for LILO, but the DOS MBR will not boot this disk.\n", 896},
-  {"\
-partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 897},
-  {"partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 898},
-  {"partition %s ends on cylinder %ld, beyond the end of the disk\n", 899},
-  {"Warning: shifted start of the extd partition from %ld to %ld\n", 900},
-  {"(For listing purposes only. Do not change its contents.)\n", 901},
-  {"Warning: extended partition does not start at a cylinder boundary.\n", 902},
-  {"DOS and Linux will interpret the contents differently.\n", 903},
-  {"too many partitions - ignoring those past nr (%d)\n", 904},
-  {"tree of partitions?\n", 905},
-  {"detected Disk Manager - unable to handle that\n", 906},
-  {"DM6 signature found - giving up\n", 907},
-  {"strange..., an extended partition of size 0?\n", 908},
-  {"strange..., a BSD partition of size 0?\n", 909},
-  {" %s: unrecognized partition\n", 910},
-  {"-n flag was given: Nothing changed\n", 911},
-  {"Failed saving the old sectors - aborting\n", 912},
-  {"Failed writing the partition on %s\n", 913},
-  {"long or incomplete input line - quitting\n", 914},
-  {"input error: `=' expected after %s field\n", 915},
-  {"input error: unexpected character %c after %s field\n", 916},
-  {"unrecognized input: %s\n", 917},
-  {"number too big\n", 918},
-  {"trailing junk after number\n", 919},
-  {"no room for partition descriptor\n", 920},
-  {"cannot build surrounding extended partition\n", 921},
-  {"too many input fields\n", 922},
-  {"No room for more\n", 923},
-  {"Illegal type\n", 924},
-  {"Warning: given size (%lu) exceeds max allowable size (%lu)\n", 925},
-  {"Warning: empty partition\n", 926},
-  {"Warning: bad partition start (earliest %lu)\n", 927},
-  {"unrecognized bootable flag - choose - or *\n", 928},
-  {"partial c,h,s specification?\n", 929},
-  {"Extended partition not where expected\n", 930},
-  {"bad input\n", 931},
-  {"too many partitions\n", 932},
+This does not matter for LILO, but the DOS MBR will not boot this disk.\n", 822},
+  {"\
+partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 823},
+  {"partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n", 824},
+  {"partition %s ends on cylinder %ld, beyond the end of the disk\n", 825},
+  {"Warning: shifted start of the extd partition from %ld to %ld\n", 826},
+  {"(For listing purposes only. Do not change its contents.)\n", 827},
+  {"Warning: extended partition does not start at a cylinder boundary.\n", 828},
+  {"DOS and Linux will interpret the contents differently.\n", 829},
+  {"too many partitions - ignoring those past nr (%d)\n", 830},
+  {"tree of partitions?\n", 831},
+  {"detected Disk Manager - unable to handle that\n", 832},
+  {"DM6 signature found - giving up\n", 833},
+  {"strange..., an extended partition of size 0?\n", 834},
+  {"strange..., a BSD partition of size 0?\n", 835},
+  {" %s: unrecognized partition\n", 836},
+  {"-n flag was given: Nothing changed\n", 837},
+  {"Failed saving the old sectors - aborting\n", 838},
+  {"Failed writing the partition on %s\n", 839},
+  {"long or incomplete input line - quitting\n", 840},
+  {"input error: `=' expected after %s field\n", 841},
+  {"input error: unexpected character %c after %s field\n", 842},
+  {"unrecognized input: %s\n", 843},
+  {"number too big\n", 844},
+  {"trailing junk after number\n", 845},
+  {"no room for partition descriptor\n", 846},
+  {"cannot build surrounding extended partition\n", 847},
+  {"too many input fields\n", 848},
+  {"No room for more\n", 849},
+  {"Illegal type\n", 850},
+  {"Warning: given size (%lu) exceeds max allowable size (%lu)\n", 851},
+  {"Warning: empty partition\n", 852},
+  {"Warning: bad partition start (earliest %lu)\n", 853},
+  {"unrecognized bootable flag - choose - or *\n", 854},
+  {"partial c,h,s specification?\n", 855},
+  {"Extended partition not where expected\n", 856},
+  {"bad input\n", 857},
+  {"too many partitions\n", 858},
   {"\
 Input in the following format; absent fields get a default value.\n\
 <start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n\
-Usually you only need to specify <start> and <size> (and perhaps <type>).\n", 933},
-  {"version", 934},
-  {"Usage: %s [options] device ...\n", 935},
-  {"device: something like /dev/hda or /dev/sda", 936},
-  {"useful options:", 937},
-  {"    -s [or --show-size]: list size of a partition", 938},
-  {"    -c [or --id]:        print or change partition Id", 939},
-  {"    -l [or --list]:      list partitions of each device", 940},
-  {"    -d [or --dump]:      idem, but in a format suitable for later input", 941},
-  {"    -i [or --increment]: number cylinders etc. from 1 instead of from 0", 942},
+Usually you only need to specify <start> and <size> (and perhaps <type>).\n", 859},
+  {"version", 860},
+  {"Usage: %s [options] device ...\n", 861},
+  {"device: something like /dev/hda or /dev/sda", 862},
+  {"useful options:", 863},
+  {"    -s [or --show-size]: list size of a partition", 864},
+  {"    -c [or --id]:        print or change partition Id", 865},
+  {"    -l [or --list]:      list partitions of each device", 866},
+  {"    -d [or --dump]:      idem, but in a format suitable for later input", 867},
+  {"    -i [or --increment]: number cylinders etc. from 1 instead of from 0", 868},
   {"\
     -uS, -uB, -uC, -uM:  accept/report in units of \
-sectors/blocks/cylinders/MB", 943},
-  {"    -T [or --list-types]:list the known partition types", 944},
-  {"    -D [or --DOS]:       for DOS-compatibility: waste a little space", 945},
-  {"    -R [or --re-read]:   make kernel reread partition table", 946},
-  {"    -N# :                change only the partition with number #", 947},
-  {"    -n :                 do not actually write to disk", 948},
-  {"\
-    -O file :            save the sectors that will be overwritten to file", 949},
-  {"    -I file :            restore these sectors again", 950},
-  {"    -v [or --version]:   print version", 951},
-  {"    -? [or --help]:      print this message", 952},
-  {"dangerous options:", 953},
-  {"    -g [or --show-geometry]: print the kernel's idea of the geometry", 954},
+sectors/blocks/cylinders/MB", 869},
+  {"    -T [or --list-types]:list the known partition types", 870},
+  {"    -D [or --DOS]:       for DOS-compatibility: waste a little space", 871},
+  {"    -R [or --re-read]:   make kernel reread partition table", 872},
+  {"    -N# :                change only the partition with number #", 873},
+  {"    -n :                 do not actually write to disk", 874},
+  {"\
+    -O file :            save the sectors that will be overwritten to file", 875},
+  {"    -I file :            restore these sectors again", 876},
+  {"    -v [or --version]:   print version", 877},
+  {"    -? [or --help]:      print this message", 878},
+  {"dangerous options:", 879},
+  {"    -g [or --show-geometry]: print the kernel's idea of the geometry", 880},
   {"\
     -x [or --show-extended]: also list extended partitions on output\n\
-                             or expect descriptors for them on input", 955},
-  {"\
-    -L  [or --Linux]:      do not complain about things irrelevant for Linux", 956},
-  {"    -q  [or --quiet]:      suppress warning messages", 957},
-  {"    You can override the detected geometry using:", 958},
-  {"    -C# [or --cylinders #]:set the number of cylinders to use", 959},
-  {"    -H# [or --heads #]:    set the number of heads to use", 960},
-  {"    -S# [or --sectors #]:  set the number of sectors to use", 961},
-  {"You can disable all consistency checking with:", 962},
-  {"    -f  [or --force]:      do what I say, even if it is stupid", 963},
-  {"Usage:", 964},
-  {"%s device\t\t list active partitions on device\n", 965},
-  {"%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n", 966},
-  {"%s -An device\t activate partition n, inactivate the other ones\n", 967},
-  {"no command?\n", 968},
-  {"total: %d blocks\n", 969},
-  {"usage: sfdisk --print-id device partition-number\n", 970},
-  {"usage: sfdisk --change-id device partition-number Id\n", 971},
-  {"usage: sfdisk --id device partition-number [Id]\n", 972},
-  {"can specify only one device (except with -l or -s)\n", 973},
-  {"cannot open %s %s\n", 974},
-  {"read-write", 975},
-  {"for reading", 976},
-  {"%s: OK\n", 977},
-  {"%s: %ld cylinders, %ld heads, %ld sectors/track\n", 978},
-  {"BLKGETSIZE ioctl failed for %s\n", 979},
-  {"bad active byte: 0x%x instead of 0x80\n", 980},
+                             or expect descriptors for them on input", 881},
+  {"\
+    -L  [or --Linux]:      do not complain about things irrelevant for Linux", 882},
+  {"    -q  [or --quiet]:      suppress warning messages", 883},
+  {"    You can override the detected geometry using:", 884},
+  {"    -C# [or --cylinders #]:set the number of cylinders to use", 885},
+  {"    -H# [or --heads #]:    set the number of heads to use", 886},
+  {"    -S# [or --sectors #]:  set the number of sectors to use", 887},
+  {"You can disable all consistency checking with:", 888},
+  {"    -f  [or --force]:      do what I say, even if it is stupid", 889},
+  {"Usage:", 890},
+  {"%s device\t\t list active partitions on device\n", 891},
+  {"%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n", 892},
+  {"%s -An device\t activate partition n, inactivate the other ones\n", 893},
+  {"no command?\n", 894},
+  {"total: %d blocks\n", 895},
+  {"usage: sfdisk --print-id device partition-number\n", 896},
+  {"usage: sfdisk --change-id device partition-number Id\n", 897},
+  {"usage: sfdisk --id device partition-number [Id]\n", 898},
+  {"can specify only one device (except with -l or -s)\n", 899},
+  {"cannot open %s %s\n", 900},
+  {"read-write", 901},
+  {"for reading", 902},
+  {"%s: OK\n", 903},
+  {"%s: %ld cylinders, %ld heads, %ld sectors/track\n", 904},
+  {"BLKGETSIZE ioctl failed for %s\n", 905},
+  {"bad active byte: 0x%x instead of 0x80\n", 906},
   {"\
 Done\n\
-\n", 981},
+\n", 907},
   {"\
 You have %d active primary partitions. This does not matter for LILO,\n\
-but the DOS MBR will only boot a disk with 1 active partition.\n", 982},
-  {"partition %s has id %x and is not hidden\n", 983},
-  {"Bad Id %lx\n", 984},
-  {"This disk is currently in use.\n", 985},
-  {"Fatal error: cannot find %s\n", 986},
-  {"Warning: %s is not a block device\n", 987},
-  {"Checking that no-one is using this disk right now ...\n", 988},
+but the DOS MBR will only boot a disk with 1 active partition.\n", 908},
+  {"partition %s has id %x and is not hidden\n", 909},
+  {"Bad Id %lx\n", 910},
+  {"This disk is currently in use.\n", 911},
+  {"Fatal error: cannot find %s\n", 912},
+  {"Warning: %s is not a block device\n", 913},
+  {"Checking that no-one is using this disk right now ...\n", 914},
   {"\
 \n\
 This disk is currently in use - repartitioning is probably a bad idea.\n\
 Umount all file systems, and swapoff all swap partitions on this disk.\n\
-Use the --no-reread flag to suppress this check.\n", 989},
-  {"Use the --force flag to overrule all checks.\n", 990},
-  {"OK\n", 991},
-  {"Old situation:\n", 992},
-  {"Partition %d does not exist, cannot change it\n", 993},
-  {"New situation:\n", 994},
+Use the --no-reread flag to suppress this check.\n", 915},
+  {"Use the --force flag to overrule all checks.\n", 916},
+  {"OK\n", 917},
+  {"Old situation:\n", 918},
+  {"Partition %d does not exist, cannot change it\n", 919},
+  {"New situation:\n", 920},
   {"\
 I don't like these partitions - nothing changed.\n\
-(If you really want this, use the --force option.)\n", 995},
-  {"I don't like this - probably you should answer No\n", 996},
-  {"Are you satisfied with this? [ynq] ", 997},
-  {"Do you want to write this to disk? [ynq] ", 998},
+(If you really want this, use the --force option.)\n", 921},
+  {"I don't like this - probably you should answer No\n", 922},
+  {"Are you satisfied with this? [ynq] ", 923},
+  {"Do you want to write this to disk? [ynq] ", 924},
   {"\
 \n\
-sfdisk: premature end of input\n", 999},
-  {"Quitting - nothing changed\n", 1000},
-  {"Please answer one of y,n,q\n", 1001},
+sfdisk: premature end of input\n", 925},
+  {"Quitting - nothing changed\n", 926},
+  {"Please answer one of y,n,q\n", 927},
   {"\
 Successfully wrote the new partition table\n\
-\n", 1002},
+\n", 928},
   {"\
 If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n\
 to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n\
-(See fdisk(8).)\n", 1003},
-  {"usage: banner [-w width]\n", 1004},
-  {"Message: ", 1005},
-  {"The character '%c' is not in my character set", 1006},
-  {"Message '%s' is OK\n", 1007},
-  {"Try `getopt --help' for more information.\n", 1008},
-  {"empty long option after -l or --long argument", 1009},
-  {"unknown shell after -s or --shell argument", 1010},
-  {"Usage: getopt optstring parameters\n", 1011},
-  {"       getopt [options] [--] optstring parameters\n", 1012},
-  {"       getopt [options] -o|--options optstring [options] [--]\n", 1013},
-  {"              parameters\n", 1014},
-  {"\
-  -a, --alternative            Allow long options starting with single -\n", 1015},
-  {"  -h, --help                   This small usage guide\n", 1016},
-  {"  -l, --longoptions=longopts   Long options to be recognized\n", 1017},
-  {"\
-  -n, --name=progname          The name under which errors are reported\n", 1018},
-  {"  -o, --options=optstring      Short options to be recognized\n", 1019},
-  {"  -q, --quiet                  Disable error reporting by getopt(3)\n", 1020},
-  {"  -Q, --quiet-output           No normal output\n", 1021},
-  {"  -s, --shell=shell            Set shell quoting conventions\n", 1022},
-  {"  -T, --test                   Test for getopt(1) version\n", 1023},
-  {"  -u, --unqote                 Do not quote the output\n", 1024},
-  {"  -V, --version                Output version information\n", 1025},
-  {"missing optstring argument", 1026},
-  {"getopt (enhanced) 1.1.0\n", 1027},
-  {"internal error, contact the author.", 1028},
-  {"calling open_tty\n", 1029},
-  {"calling termio_init\n", 1030},
-  {"writing init string\n", 1031},
-  {"before autobaud\n", 1032},
-  {"waiting for cr-lf\n", 1033},
-  {"read %c\n", 1034},
-  {"reading login name\n", 1035},
-  {"%s: can't exec %s: %m", 1036},
-  {"can't malloc initstring", 1037},
-  {"bad timeout value: %s", 1038},
-  {"after getopt loop\n", 1039},
-  {"exiting parseargs\n", 1040},
-  {"entered parse_speeds\n", 1041},
-  {"bad speed: %s", 1042},
-  {"too many alternate speeds", 1043},
-  {"exiting parsespeeds\n", 1044},
-  {"%s: open for update: %m", 1045},
-  {"%s: no utmp entry", 1046},
-  {"/dev: chdir() failed: %m", 1047},
-  {"/dev/%s: not a character device", 1048},
-  {"open(2)\n", 1049},
-  {"/dev/%s: cannot open as standard input: %m", 1050},
-  {"%s: not open for read/write", 1051},
-  {"duping\n", 1052},
-  {"%s: dup problem: %m", 1053},
-  {"term_io 2\n", 1054},
-  {"user", 1055},
-  {"users", 1056},
-  {"%s: read: %m", 1057},
-  {"%s: input overrun", 1058},
+(See fdisk(8).)\n", 929},
+  {"usage: banner [-w width]\n", 930},
+  {"Message: ", 931},
+  {"The character '%c' is not in my character set", 932},
+  {"Message '%s' is OK\n", 933},
+  {"Try `getopt --help' for more information.\n", 934},
+  {"empty long option after -l or --long argument", 935},
+  {"unknown shell after -s or --shell argument", 936},
+  {"Usage: getopt optstring parameters\n", 937},
+  {"       getopt [options] [--] optstring parameters\n", 938},
+  {"       getopt [options] -o|--options optstring [options] [--]\n", 939},
+  {"              parameters\n", 940},
+  {"\
+  -a, --alternative            Allow long options starting with single -\n", 941},
+  {"  -h, --help                   This small usage guide\n", 942},
+  {"  -l, --longoptions=longopts   Long options to be recognized\n", 943},
+  {"\
+  -n, --name=progname          The name under which errors are reported\n", 944},
+  {"  -o, --options=optstring      Short options to be recognized\n", 945},
+  {"  -q, --quiet                  Disable error reporting by getopt(3)\n", 946},
+  {"  -Q, --quiet-output           No normal output\n", 947},
+  {"  -s, --shell=shell            Set shell quoting conventions\n", 948},
+  {"  -T, --test                   Test for getopt(1) version\n", 949},
+  {"  -u, --unqote                 Do not quote the output\n", 950},
+  {"  -V, --version                Output version information\n", 951},
+  {"missing optstring argument", 952},
+  {"getopt (enhanced) 1.1.0\n", 953},
+  {"internal error, contact the author.", 954},
+  {"booted from MILO\n", 955},
+  {"Ruffian BCD clock\n", 956},
+  {"clockport adjusted to 0x%x\n", 957},
+  {"funky TOY!\n", 958},
+  {"%s: atomic %s failed for 1000 iterations!", 959},
+  {"Cannot open /dev/port: %s", 960},
+  {"I failed to get permission because I didn't try.\n", 961},
+  {"%s is unable to get I/O port access:  the iopl(3) call failed.\n", 962},
+  {"Probably you need root privileges.\n", 963},
+  {"Assuming hardware clock is kept in %s time.\n", 964},
+  {"UTC", 965},
+  {"local", 966},
+  {"%s: Warning: unrecognized third line in adjtime file\n", 967},
+  {"(Expected: `UTC' or `LOCAL' or nothing.)\n", 968},
+  {"Last drift adjustment done at %d seconds after 1969\n", 969},
+  {"Last calibration done at %d seconds after 1969\n", 970},
+  {"Hardware clock is on %s time\n", 971},
+  {"unknown", 972},
+  {"Waiting for clock tick...\n", 973},
+  {"...got clock tick\n", 974},
+  {"Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n", 975},
+  {"Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n", 976},
+  {"Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n", 977},
+  {"Setting Hardware Clock to %.2d:%.2d:%.2d = %d seconds since 1969\n", 978},
+  {"Clock not changed - testing only.\n", 979},
+  {"\
+Time elapsed since reference time has been %.6f seconds.\n\
+Delaying further to reach the next full second.\n", 980},
+  {"\
+The Hardware Clock registers contain values that are either invalid (e.g. \
+50th day of month) or beyond the range we can handle (e.g. Year 2095).\n", 981},
+  {"%s  %.6f seconds\n", 982},
+  {"No --date option specified.\n", 983},
+  {"\
+The value of the --date option is not a valid date.\n\
+In particular, it contains quotation marks.\n", 984},
+  {"Issuing date command: %s\n", 985},
+  {"Unable to run 'date' program in /bin/sh shell. popen() failed", 986},
+  {"response from date command = %s\n", 987},
+  {"\
+The date command issued by %s returned unexpected results.\n\
+The command was:\n\
+  %s\n\
+The response was:\n\
+  %s\n", 988},
+  {"\
+The date command issued by %s returned something other than an integer where \
+the converted time value was expected.\n\
+The command was:\n\
+  %s\n\
+The response was:\n\
+ %s\n", 989},
+  {"date string %s equates to %d seconds since 1969.\n", 990},
+  {"\
+The Hardware Clock does not contain a valid time, so we cannot set the \
+System Time from it.\n", 991},
+  {"Calling settimeofday:\n", 992},
+  {"\ttv.tv_sec = %ld, tv.tv_usec = %ld\n", 993},
+  {"\ttz.tz_minuteswest = %d\n", 994},
+  {"Not setting system clock because running in test mode.\n", 995},
+  {"Must be superuser to set system clock.\n", 996},
+  {"settimeofday() failed", 997},
+  {"\
+Not adjusting drift factor because the Hardware Clock previously contained \
+garbage.\n", 998},
+  {"\
+Not adjusting drift factor because it has been less than a day since the \
+last calibration.\n", 999},
+  {"\
+Clock drifted %d seconds in the past %d seconds in spite of a drift factor \
+of %f seconds/day.\n\
+Adjusting drift factor by %f seconds/day\n", 1000},
+  {"Time since last adjustment is %d seconds\n", 1001},
+  {"Need to insert %d seconds and refer time back %.6f seconds ago\n", 1002},
+  {"Not updating adjtime file because of testing mode.\n", 1003},
+  {"\
+Would have written the following to %s:\n\
+%s", 1004},
+  {"Drift adjustment parameters not updated.\n", 1005},
+  {"\
+The Hardware Clock does not contain a valid time, so we cannot adjust it.\n", 1006},
+  {"Needed adjustment is less than one second, so not setting clock.\n", 1007},
+  {"Using %s.\n", 1008},
+  {"No usable clock interface found.\n", 1009},
+  {"Unable to set system clock.\n", 1010},
+  {"\
+The kernel keeps an epoch value for the Hardware Clock only on an Alpha \
+machine.\n\
+This copy of hwclock was built for a machine other than Alpha\n\
+(and thus is presumably not running on an Alpha now).  No action taken.\n", 1011},
+  {"Unable to get the epoch value from the kernel.\n", 1012},
+  {"Kernel is assuming an epoch value of %lu\n", 1013},
+  {"\
+To set the epoch value, you must use the 'epoch' option to tell to what \
+value to set it.\n", 1014},
+  {"Not setting the epoch to %d - testing only.\n", 1015},
+  {"Unable to set the epoch value in the kernel.\n", 1016},
+  {"\
+hwclock - query and set the hardware clock (RTC)\n\
+\n\
+Usage: hwclock [function] [options...]\n\
+\n\
+Functions:\n\
+  --help        show this help\n\
+  --show        read hardware clock and print result\n\
+  --set         set the rtc to the time given with --date\n\
+  --hctosys     set the system time from the hardware clock\n\
+  --systohc     set the hardware clock to the current system time\n\
+  --adjust      adjust the rtc to account for systematic drift since \n\
+                the clock was last set or adjusted\n\
+  --getepoch    print out the kernel's hardware clock epoch value\n\
+  --setepoch    set the kernel's hardware clock epoch value to the \n\
+                value given with --epoch\n\
+  --version     print out the version of hwclock to stdout\n\
+\n\
+Options: \n\
+  --utc         the hardware clock is kept in coordinated universal time\n\
+  --localtime   the hardware clock is kept in local time\n\
+  --directisa   access the ISA bus directly instead of %s\n\
+  --badyear     ignore rtc's year because the bios is broken\n\
+  --date        specifies the time to which to set the hardware clock\n\
+  --epoch=year  specifies the year which is the beginning of the \n\
+                hardware clock's epoch value\n", 1017},
+  {"\
+  --jensen, --arc, --srm, --funky-toy\n\
+                tell hwclock the type of alpha you have (see hwclock(8))\n", 1018},
+  {"%s takes no non-option arguments.  You supplied %d.\n", 1019},
+  {"\
+You have specified multiple function options.\n\
+You can only perform one function at a time.\n", 1020},
+  {"\
+%s: The --utc and --localtime options are mutually exclusive.  You specified \
+both.\n", 1021},
+  {"No usable set-to time.  Cannot set clock.\n", 1022},
+  {"Sorry, only the superuser can change the Hardware Clock.\n", 1023},
+  {"Sorry, only the superuser can change the System Clock.\n", 1024},
+  {"\
+Sorry, only the superuser can change the Hardware Clock epoch in the \
+kernel.\n", 1025},
+  {"Cannot access the Hardware Clock via any known method.\n", 1026},
+  {"\
+Use the --debug option to see the details of our search for an access \
+method.\n", 1027},
+  {"Waiting in loop for time from KDGHWCLK to change\n", 1028},
+  {"KDGHWCLK ioctl to read time failed", 1029},
+  {"Timed out waiting for time change.\n", 1030},
+  {"KDGHWCLK ioctl to read time failed in loop", 1031},
+  {"ioctl() failed to read time from  /dev/tty1", 1032},
+  {"ioctl KDSHWCLK failed", 1033},
+  {"KDGHWCLK ioctl failed", 1034},
+  {"Can't open /dev/tty1", 1035},
+  {"ioctl() to %s to read the time failed.\n", 1036},
+  {"Waiting in loop for time from %s to change\n", 1037},
+  {"open() of %s failed", 1038},
+  {"%s does not have interrupt functions. ", 1039},
+  {"read() to %s to wait for clock tick failed", 1040},
+  {"ioctl() to %s to turn off update interrupts failed", 1041},
+  {"ioctl() to %s to turn on update interrupts failed unexpectedly", 1042},
+  {"Unable to open %s", 1043},
+  {"ioctl() to %s to set the time failed.\n", 1044},
+  {"ioctl(%s) was successful.\n", 1045},
+  {"Open of %s failed", 1046},
+  {"\
+To manipulate the epoch value in the kernel, we must access the Linux 'rtc' \
+device driver via the device special file %s.  This file does not exist on \
+this system.\n", 1047},
+  {"ioctl(RTC_EPOCH_READ) to %s failed", 1048},
+  {"we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n", 1049},
+  {"The epoch value may not be less than 1900.  You requested %ld\n", 1050},
+  {"setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n", 1051},
+  {"\
+The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n", 1052},
+  {"ioctl(RTC_EPOCH_SET) to %s failed", 1053},
+  {"invalid number `%s'\n", 1054},
+  {"number `%s' to `%s' out of range\n", 1055},
+  {"unrecognized option `%s'\n", 1056},
+  {"option `%s' requires an argument\n", 1057},
+  {"option `%s' doesn't allow an argument\n", 1058},
+  {"unrecognized option `-%c'\n", 1059},
+  {"calling open_tty\n", 1060},
+  {"calling termio_init\n", 1061},
+  {"writing init string\n", 1062},
+  {"before autobaud\n", 1063},
+  {"waiting for cr-lf\n", 1064},
+  {"read %c\n", 1065},
+  {"reading login name\n", 1066},
+  {"%s: can't exec %s: %m", 1067},
+  {"can't malloc initstring", 1068},
+  {"bad timeout value: %s", 1069},
+  {"after getopt loop\n", 1070},
+  {"exiting parseargs\n", 1071},
+  {"entered parse_speeds\n", 1072},
+  {"bad speed: %s", 1073},
+  {"too many alternate speeds", 1074},
+  {"exiting parsespeeds\n", 1075},
+  {"/dev: chdir() failed: %m", 1076},
+  {"/dev/%s: not a character device", 1077},
+  {"open(2)\n", 1078},
+  {"/dev/%s: cannot open as standard input: %m", 1079},
+  {"%s: not open for read/write", 1080},
+  {"duping\n", 1081},
+  {"%s: dup problem: %m", 1082},
+  {"term_io 2\n", 1083},
+  {"user", 1084},
+  {"users", 1085},
+  {"%s: read: %m", 1086},
+  {"%s: input overrun", 1087},
   {"\
 Usage: %s [-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H \
 login_host] baud_rate,... line [termtype]\n\
 or\t[-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H login_host] \
-line baud_rate,... [termtype]\n", 1059},
-  {"login: memory low, login may fail\n", 1060},
-  {"can't malloc for ttyclass", 1061},
-  {"can't malloc for grplist", 1062},
-  {"Login on %s from %s denied by default.\n", 1063},
-  {"Login on %s from %s denied.\n", 1064},
-  {"%s: you (user %d) don't exist.\n", 1065},
-  {"%s: user \"%s\" does not exist.\n", 1066},
-  {"%s: can only change local entries; use yp%s instead.\n", 1067},
-  {"Changing finger information for %s.\n", 1068},
-  {"Password error.", 1069},
-  {"Password: ", 1070},
-  {"Incorrect password.", 1071},
-  {"Finger information not changed.\n", 1072},
-  {"Usage: %s [ -f full-name ] [ -o office ] ", 1073},
+line baud_rate,... [termtype]\n", 1088},
+  {"login: memory low, login may fail\n", 1089},
+  {"can't malloc for ttyclass", 1090},
+  {"can't malloc for grplist", 1091},
+  {"Login on %s from %s denied by default.\n", 1092},
+  {"Login on %s from %s denied.\n", 1093},
+  {"%s: you (user %d) don't exist.\n", 1094},
+  {"%s: user \"%s\" does not exist.\n", 1095},
+  {"%s: can only change local entries; use yp%s instead.\n", 1096},
+  {"Changing finger information for %s.\n", 1097},
+  {"Password error.", 1098},
+  {"Password: ", 1099},
+  {"Incorrect password.", 1100},
+  {"Finger information not changed.\n", 1101},
+  {"Usage: %s [ -f full-name ] [ -o office ] ", 1102},
   {"\
 [ -p office-phone ]\n\
-\t[ -h home-phone ] ", 1074},
-  {"[ --help ] [ --version ]\n", 1075},
+\t[ -h home-phone ] ", 1103},
+  {"[ --help ] [ --version ]\n", 1104},
   {"\
 \n\
-Aborted.\n", 1076},
-  {"field is too long.\n", 1077},
-  {"'%c' is not allowed.\n", 1078},
-  {"Control characters are not allowed.\n", 1079},
-  {"Finger information *NOT* changed.  Try again later.\n", 1080},
-  {"Finger information changed.\n", 1081},
-  {"malloc failed", 1082},
-  {"%s: Your shell is not in /etc/shells, shell change denied\n", 1083},
-  {"Changing shell for %s.\n", 1084},
-  {"New shell", 1085},
-  {"Shell not changed.\n", 1086},
-  {"Shell *NOT* changed.  Try again later.\n", 1087},
-  {"Shell changed.\n", 1088},
-  {"Usage: %s [ -s shell ] ", 1089},
-  {"[ --list-shells ] [ --help ] [ --version ]\n", 1090},
-  {"       [ username ]\n", 1091},
-  {"%s: shell must be a full path name.\n", 1092},
-  {"%s: \"%s\" does not exist.\n", 1093},
-  {"%s: \"%s\" is not executable.\n", 1094},
-  {"%s: '%c' is not allowed.\n", 1095},
-  {"%s: Control characters are not allowed.\n", 1096},
-  {"Warning: \"%s\" is not listed in /etc/shells\n", 1097},
-  {"%s: \"%s\" is not listed in /etc/shells.\n", 1098},
-  {"%s: use -l option to see list\n", 1099},
-  {"Warning: \"%s\" is not listed in /etc/shells.\n", 1100},
-  {"Use %s -l to see list.\n", 1101},
-  {"No known shells.\n", 1102},
-  {"couldn't open /dev/urandom", 1103},
-  {"couldn't read random data from /dev/urandom", 1104},
-  {"can't open %s for reading", 1105},
-  {"can't stat(%s)", 1106},
-  {"%s doesn't have the correct filemodes", 1107},
-  {"can't read data from %s", 1108},
-  {"Can't read %s, exiting.", 1109},
-  {"usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n", 1110},
-  {"  still logged in", 1111},
+Aborted.\n", 1105},
+  {"field is too long.\n", 1106},
+  {"'%c' is not allowed.\n", 1107},
+  {"Control characters are not allowed.\n", 1108},
+  {"Finger information *NOT* changed.  Try again later.\n", 1109},
+  {"Finger information changed.\n", 1110},
+  {"malloc failed", 1111},
+  {"%s: Your shell is not in /etc/shells, shell change denied\n", 1112},
+  {"Changing shell for %s.\n", 1113},
+  {"New shell", 1114},
+  {"Shell not changed.\n", 1115},
+  {"Shell *NOT* changed.  Try again later.\n", 1116},
+  {"Shell changed.\n", 1117},
+  {"Usage: %s [ -s shell ] ", 1118},
+  {"[ --list-shells ] [ --help ] [ --version ]\n", 1119},
+  {"       [ username ]\n", 1120},
+  {"%s: shell must be a full path name.\n", 1121},
+  {"%s: \"%s\" does not exist.\n", 1122},
+  {"%s: \"%s\" is not executable.\n", 1123},
+  {"%s: '%c' is not allowed.\n", 1124},
+  {"%s: Control characters are not allowed.\n", 1125},
+  {"Warning: \"%s\" is not listed in /etc/shells\n", 1126},
+  {"%s: \"%s\" is not listed in /etc/shells.\n", 1127},
+  {"%s: use -l option to see list\n", 1128},
+  {"Warning: \"%s\" is not listed in /etc/shells.\n", 1129},
+  {"Use %s -l to see list.\n", 1130},
+  {"No known shells.\n", 1131},
+  {"couldn't open /dev/urandom", 1132},
+  {"couldn't read random data from /dev/urandom", 1133},
+  {"can't open %s for reading", 1134},
+  {"can't stat(%s)", 1135},
+  {"%s doesn't have the correct filemodes", 1136},
+  {"can't read data from %s", 1137},
+  {"Can't read %s, exiting.", 1138},
+  {"usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n", 1139},
+  {"  still logged in", 1140},
   {"\
 \n\
-wtmp begins %s", 1112},
-  {"last: malloc failure.\n", 1113},
-  {"last: gethostname", 1114},
+wtmp begins %s", 1141},
+  {"last: malloc failure.\n", 1142},
+  {"last: gethostname", 1143},
   {"\
 \n\
-interrupted %10.10s %5.5s \n", 1115},
-  {"login: -h for super-user only.\n", 1116},
-  {"usage: login [-fp] [username]\n", 1117},
-  {"login: PAM Failure, aborting: %s\n", 1118},
-  {"Couldn't initialize PAM: %s", 1119},
-  {"login: ", 1120},
-  {"FAILED LOGIN %d FROM %s FOR %s, %s", 1121},
+interrupted %10.10s %5.5s \n", 1144},
+  {"login: -h for super-user only.\n", 1145},
+  {"usage: login [-fp] [username]\n", 1146},
+  {"login: PAM Failure, aborting: %s\n", 1147},
+  {"Couldn't initialize PAM: %s", 1148},
+  {"login: ", 1149},
+  {"FAILED LOGIN %d FROM %s FOR %s, %s", 1150},
   {"\
 Login incorrect\n\
-\n", 1122},
-  {"TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s", 1123},
-  {"FAILED LOGIN SESSION FROM %s FOR %s, %s", 1124},
+\n", 1151},
+  {"TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s", 1152},
+  {"FAILED LOGIN SESSION FROM %s FOR %s, %s", 1153},
   {"\
 \n\
-Login incorrect\n", 1125},
-  {"Illegal username", 1126},
-  {"%s login refused on this terminal.\n", 1127},
-  {"LOGIN %s REFUSED FROM %s ON TTY %s", 1128},
-  {"LOGIN %s REFUSED ON TTY %s", 1129},
-  {"Login incorrect\n", 1130},
+Login incorrect\n", 1154},
+  {"Illegal username", 1155},
+  {"%s login refused on this terminal.\n", 1156},
+  {"LOGIN %s REFUSED FROM %s ON TTY %s", 1157},
+  {"LOGIN %s REFUSED ON TTY %s", 1158},
+  {"Login incorrect\n", 1159},
   {"\
 Too many users logged on already.\n\
-Try again later.\n", 1131},
-  {"You have too many processes running.\n", 1132},
-  {"Warning: no Kerberos tickets issued\n", 1133},
-  {"Sorry -- your password has expired.\n", 1134},
-  {"Warning: your password expires on %d %s %d.\n", 1135},
-  {"Sorry -- your account has expired.\n", 1136},
-  {"Warning: your account expires on %d %s %d.\n", 1137},
-  {"DIALUP AT %s BY %s", 1138},
-  {"ROOT LOGIN ON %s FROM %s", 1139},
-  {"ROOT LOGIN ON %s", 1140},
-  {"LOGIN ON %s BY %s FROM %s", 1141},
-  {"LOGIN ON %s BY %s", 1142},
-  {"You have %smail.\n", 1143},
-  {"new ", 1144},
-  {"login: failure forking: %s", 1145},
-  {"setuid() failed", 1146},
-  {"No directory %s!\n", 1147},
-  {"Logging in with home = \"/\".\n", 1148},
-  {"login: no memory for shell script.\n", 1149},
-  {"login: couldn't exec shell script: %s.\n", 1150},
-  {"login: no shell: %s.\n", 1151},
+Try again later.\n", 1160},
+  {"You have too many processes running.\n", 1161},
+  {"DIALUP AT %s BY %s", 1162},
+  {"ROOT LOGIN ON %s FROM %s", 1163},
+  {"ROOT LOGIN ON %s", 1164},
+  {"LOGIN ON %s BY %s FROM %s", 1165},
+  {"LOGIN ON %s BY %s", 1166},
+  {"You have %smail.\n", 1167},
+  {"new ", 1168},
+  {"login: failure forking: %s", 1169},
+  {"setuid() failed", 1170},
+  {"No directory %s!\n", 1171},
+  {"Logging in with home = \"/\".\n", 1172},
+  {"login: no memory for shell script.\n", 1173},
+  {"login: couldn't exec shell script: %s.\n", 1174},
+  {"login: no shell: %s.\n", 1175},
   {"\
 \n\
-%s login: ", 1152},
-  {"login name much too long.\n", 1153},
-  {"NAME too long", 1154},
-  {"login names may not start with '-'.\n", 1155},
-  {"too many bare linefeeds.\n", 1156},
-  {"EXCESSIVE linefeeds", 1157},
-  {"Login timed out after %d seconds\n", 1158},
-  {"Last login: %.*s ", 1159},
-  {"from %.*s\n", 1160},
-  {"on %.*s\n", 1161},
-  {"LOGIN FAILURE FROM %s, %s", 1162},
-  {"LOGIN FAILURE ON %s, %s", 1163},
-  {"%d LOGIN FAILURES FROM %s, %s", 1164},
-  {"%d LOGIN FAILURES ON %s, %s", 1165},
-  {"is y\n", 1166},
-  {"is n\n", 1167},
-  {"usage: mesg [y | n]\n", 1168},
-  {"newgrp: Who are you?", 1169},
-  {"newgrp: setgid", 1170},
-  {"newgrp: No such group.", 1171},
-  {"newgrp: Permission denied", 1172},
-  {"newgrp: setuid", 1173},
-  {"No shell", 1174},
-  {"The password must have at least 6 characters, try again.\n", 1175},
-  {"The password must contain characters out of two of the following\n", 1176},
-  {"classes:  upper and lower case letters, digits and non alphanumeric\n", 1177},
-  {"characters. See passwd(1) for more information.\n", 1178},
-  {"You cannot reuse the old password.\n", 1179},
-  {"Please don't use something like your username as password!\n", 1180},
-  {"Please don't use something like your realname as password!\n", 1181},
-  {"Usage: passwd [username [password]]\n", 1182},
-  {"Only root may use the one and two argument forms.\n", 1183},
-  {"Usage: passwd [-foqsvV] [user [password]]\n", 1184},
-  {"Can't exec %s: %s\n", 1185},
-  {"Cannot find login name", 1186},
-  {"Only root can change the password for others.\n", 1187},
-  {"Too many arguments.\n", 1188},
-  {"Can't find username anywhere. Is `%s' really a user?", 1189},
-  {"Sorry, I can only change local passwords. Use yppasswd instead.", 1190},
-  {"UID and username does not match, imposter!", 1191},
-  {"Changing password for %s\n", 1192},
-  {"Enter old password: ", 1193},
-  {"Illegal password, imposter.", 1194},
-  {"Enter new password: ", 1195},
-  {"Password not changed.", 1196},
-  {"Re-type new password: ", 1197},
-  {"You misspelled it. Password not changed.", 1198},
-  {"password changed, user %s", 1199},
-  {"ROOT PASSWORD CHANGED", 1200},
-  {"password changed by root, user %s", 1201},
-  {"calling setpwnam to set password.\n", 1202},
-  {"Password *NOT* changed.  Try again later.\n", 1203},
-  {"Password changed.\n", 1204},
-  {"Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n", 1205},
-  {"Shutdown process aborted", 1206},
-  {"%s: Only root can shut a system down.\n", 1207},
-  {"That must be tomorrow, can't you wait till then?\n", 1208},
-  {"for maintenance; bounce, bounce", 1209},
-  {"timeout = %d, quiet = %d, reboot = %d\n", 1210},
-  {"The system is being shut down within 5 minutes", 1211},
-  {"Login is therefore prohibited.", 1212},
-  {"%s by %s: %s", 1213},
-  {"rebooted", 1214},
-  {"halted", 1215},
+%s login: ", 1176},
+  {"login name much too long.\n", 1177},
+  {"NAME too long", 1178},
+  {"login names may not start with '-'.\n", 1179},
+  {"too many bare linefeeds.\n", 1180},
+  {"EXCESSIVE linefeeds", 1181},
+  {"Login timed out after %d seconds\n", 1182},
+  {"Last login: %.*s ", 1183},
+  {"from %.*s\n", 1184},
+  {"on %.*s\n", 1185},
+  {"LOGIN FAILURE FROM %s, %s", 1186},
+  {"LOGIN FAILURE ON %s, %s", 1187},
+  {"%d LOGIN FAILURES FROM %s, %s", 1188},
+  {"%d LOGIN FAILURES ON %s, %s", 1189},
+  {"is y\n", 1190},
+  {"is n\n", 1191},
+  {"usage: mesg [y | n]\n", 1192},
+  {"newgrp: Who are you?", 1193},
+  {"newgrp: setgid", 1194},
+  {"newgrp: No such group.", 1195},
+  {"newgrp: Permission denied", 1196},
+  {"newgrp: setuid", 1197},
+  {"No shell", 1198},
+  {"The password must have at least 6 characters, try again.\n", 1199},
+  {"The password must contain characters out of two of the following\n", 1200},
+  {"classes:  upper and lower case letters, digits and non alphanumeric\n", 1201},
+  {"characters. See passwd(1) for more information.\n", 1202},
+  {"You cannot reuse the old password.\n", 1203},
+  {"Please don't use something like your username as password!\n", 1204},
+  {"Please don't use something like your realname as password!\n", 1205},
+  {"Usage: passwd [username [password]]\n", 1206},
+  {"Only root may use the one and two argument forms.\n", 1207},
+  {"Usage: passwd [-foqsvV] [user [password]]\n", 1208},
+  {"Can't exec %s: %s\n", 1209},
+  {"Cannot find login name", 1210},
+  {"Only root can change the password for others.\n", 1211},
+  {"Too many arguments.\n", 1212},
+  {"Can't find username anywhere. Is `%s' really a user?", 1213},
+  {"Sorry, I can only change local passwords. Use yppasswd instead.", 1214},
+  {"UID and username does not match, imposter!", 1215},
+  {"Changing password for %s\n", 1216},
+  {"Enter old password: ", 1217},
+  {"Illegal password, imposter.", 1218},
+  {"Enter new password: ", 1219},
+  {"Password not changed.", 1220},
+  {"Re-type new password: ", 1221},
+  {"You misspelled it. Password not changed.", 1222},
+  {"password changed, user %s", 1223},
+  {"ROOT PASSWORD CHANGED", 1224},
+  {"password changed by root, user %s", 1225},
+  {"calling setpwnam to set password.\n", 1226},
+  {"Password *NOT* changed.  Try again later.\n", 1227},
+  {"Password changed.\n", 1228},
+  {"Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n", 1229},
+  {"Shutdown process aborted", 1230},
+  {"%s: Only root can shut a system down.\n", 1231},
+  {"That must be tomorrow, can't you wait till then?\n", 1232},
+  {"for maintenance; bounce, bounce", 1233},
+  {"timeout = %d, quiet = %d, reboot = %d\n", 1234},
+  {"The system is being shut down within 5 minutes", 1235},
+  {"Login is therefore prohibited.", 1236},
+  {"%s by %s: %s", 1237},
+  {"rebooted", 1238},
+  {"halted", 1239},
   {"\
 \n\
-Why am I still alive after reboot?", 1216},
+Why am I still alive after reboot?", 1240},
   {"\
 \n\
-Now you can turn off the power...", 1217},
-  {"Calling kernel power-off facility...\n", 1218},
-  {"Error powering off\t%s\n", 1219},
-  {"Executing the program \"%s\" ...\n", 1220},
-  {"Error executing\t%s\n", 1221},
-  {"\aURGENT: broadcast message from %s:", 1222},
-  {"System going down in %d hours %d minutes", 1223},
-  {"System going down in 1 hour %d minutes", 1224},
-  {"System going down in %d minutes\n", 1225},
-  {"System going down in 1 minute\n", 1226},
-  {"System going down IMMEDIATELY!\n", 1227},
-  {"\t... %s ...\n", 1228},
-  {"Cannot fork for swapoff. Shrug!", 1229},
-  {"Cannot exec swapoff, hoping umount will do the trick.", 1230},
-  {"Cannot fork for umount, trying manually.", 1231},
-  {"Cannot exec %s, trying umount.\n", 1232},
-  {"Cannot exec umount, giving up on umount.", 1233},
-  {"Unmounting any remaining filesystems...", 1234},
-  {"shutdown: Couldn't umount %s: %s\n", 1235},
-  {"Booting to single user mode.\n", 1236},
-  {"exec of single user shell failed\n", 1237},
-  {"fork of single user shell failed\n", 1238},
-  {"error opening fifo\n", 1239},
-  {"error running finalprog\n", 1240},
-  {"error forking finalprog\n", 1241},
+Now you can turn off the power...", 1241},
+  {"Calling kernel power-off facility...\n", 1242},
+  {"Error powering off\t%s\n", 1243},
+  {"Executing the program \"%s\" ...\n", 1244},
+  {"Error executing\t%s\n", 1245},
+  {"\aURGENT: broadcast message from %s:", 1246},
+  {"System going down in %d hours %d minutes", 1247},
+  {"System going down in 1 hour %d minutes", 1248},
+  {"System going down in %d minutes\n", 1249},
+  {"System going down in 1 minute\n", 1250},
+  {"System going down IMMEDIATELY!\n", 1251},
+  {"\t... %s ...\n", 1252},
+  {"Cannot fork for swapoff. Shrug!", 1253},
+  {"Cannot exec swapoff, hoping umount will do the trick.", 1254},
+  {"Cannot fork for umount, trying manually.", 1255},
+  {"Cannot exec %s, trying umount.\n", 1256},
+  {"Cannot exec umount, giving up on umount.", 1257},
+  {"Unmounting any remaining filesystems...", 1258},
+  {"shutdown: Couldn't umount %s: %s\n", 1259},
+  {"Booting to single user mode.\n", 1260},
+  {"exec of single user shell failed\n", 1261},
+  {"fork of single user shell failed\n", 1262},
+  {"error opening fifo\n", 1263},
+  {"error running finalprog\n", 1264},
+  {"error forking finalprog\n", 1265},
   {"\
 \n\
-Wrong password.\n", 1242},
-  {"stat of path failed\n", 1243},
-  {"open of directory failed\n", 1244},
-  {"fork failed\n", 1245},
-  {"exec failed\n", 1246},
-  {"cannot open inittab\n", 1247},
-  {"no TERM or cannot stat tty\n", 1248},
-  {"error running programme\n", 1249},
-  {"too many iov's (change code in wall/ttymsg.c)", 1250},
-  {"excessively long line arg", 1251},
-  {"cannot fork", 1252},
-  {"fork: %s", 1253},
-  {"%s: BAD ERROR", 1254},
-  {"%s: the %s file is busy.\n", 1255},
-  {"%s: the %s file is busy (%s present)\n", 1256},
-  {"%s: can't link %s: %s\n", 1257},
-  {"%s: can't unlock %s: %s (your changes are still in %s)\n", 1258},
-  {"%s: Cannot fork\n", 1259},
-  {"%s: %s unchanged\n", 1260},
-  {"%s: no changes made\n", 1261},
-  {"usage: %s [file]\n", 1262},
-  {"%s: can't open temporary file.\n", 1263},
-  {"Broadcast Message from %s@%s", 1264},
-  {"%s: will not read %s - use stdin.\n", 1265},
-  {"%s: can't read %s.\n", 1266},
-  {"%s: can't stat temporary file.\n", 1267},
-  {"%s: can't read temporary file.\n", 1268},
-  {"illegal month value: use 1-12", 1269},
-  {"illegal year value: use 1-9999", 1270},
-  {"usage: cal [-mjyV] [[month] year]\n", 1271},
-  {"usage: %s [+format] [day month year]\n", 1272},
-  {"St. Tib's Day", 1273},
-  {"%s: unknown signal %s\n", 1274},
-  {"%s: can't find process \"%s\"\n", 1275},
-  {"%s: unknown signal %s; valid signals:\n", 1276},
-  {"usage: %s [ -s signal | -p ] [ -a ] pid ...\n", 1277},
-  {"       %s -l [ signal ]\n", 1278},
-  {"logger: %s: %s.\n", 1279},
-  {"logger: unknown facility name: %s.\n", 1280},
-  {"logger: unknown priority name: %s.\n", 1281},
-  {"\
-usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n", 1282},
-  {"usage: look [-dfa] [-t char] string [file]\n", 1283},
-  {"Could not open %s\n", 1284},
-  {"Got %d bytes from %s\n", 1285},
-  {"namei: unable to get current directory - %s\n", 1286},
-  {"namei: unable to chdir to %s - %s (%d)\n", 1287},
-  {"usage: namei [-mx] pathname [pathname ...]\n", 1288},
-  {"namei: could not chdir to root!\n", 1289},
-  {"namei: could not stat root!\n", 1290},
-  {" ? could not chdir into %s - %s (%d)\n", 1291},
-  {" ? problems reading symlink %s - %s (%d)\n", 1292},
-  {"  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n", 1293},
-  {"namei: unknown file type 0%06o on file %s\n", 1294},
+Wrong password.\n", 1266},
+  {"lstat of path failed\n", 1267},
+  {"stat of path failed\n", 1268},
+  {"open of directory failed\n", 1269},
+  {"fork failed\n", 1270},
+  {"exec failed\n", 1271},
+  {"cannot open inittab\n", 1272},
+  {"no TERM or cannot stat tty\n", 1273},
+  {"error running programme\n", 1274},
+  {"too many iov's (change code in wall/ttymsg.c)", 1275},
+  {"excessively long line arg", 1276},
+  {"cannot fork", 1277},
+  {"fork: %s", 1278},
+  {"%s: BAD ERROR", 1279},
+  {"%s: the %s file is busy.\n", 1280},
+  {"%s: the %s file is busy (%s present)\n", 1281},
+  {"%s: can't link %s: %s\n", 1282},
+  {"%s: can't unlock %s: %s (your changes are still in %s)\n", 1283},
+  {"%s: Cannot fork\n", 1284},
+  {"%s: %s unchanged\n", 1285},
+  {"%s: no changes made\n", 1286},
+  {"You are using shadow groups on this system.\n", 1287},
+  {"You are using shadow passwords on this system.\n", 1288},
+  {"Would you like to edit %s now [y/n]? ", 1289},
+  {"usage: %s [file]\n", 1290},
+  {"%s: can't open temporary file.\n", 1291},
+  {"Broadcast Message from %s@%s", 1292},
+  {"%s: will not read %s - use stdin.\n", 1293},
+  {"%s: can't read %s.\n", 1294},
+  {"%s: can't stat temporary file.\n", 1295},
+  {"%s: can't read temporary file.\n", 1296},
+  {"illegal month value: use 1-12", 1297},
+  {"illegal year value: use 1-9999", 1298},
+  {"usage: cal [-mjyV] [[month] year]\n", 1299},
+  {"usage: %s [+format] [day month year]\n", 1300},
+  {"St. Tib's Day", 1301},
+  {"%s: unknown signal %s\n", 1302},
+  {"%s: can't find process \"%s\"\n", 1303},
+  {"%s: unknown signal %s; valid signals:\n", 1304},
+  {"usage: %s [ -s signal | -p ] [ -a ] pid ...\n", 1305},
+  {"       %s -l [ signal ]\n", 1306},
+  {"logger: %s: %s.\n", 1307},
+  {"logger: unknown facility name: %s.\n", 1308},
+  {"logger: unknown priority name: %s.\n", 1309},
+  {"\
+usage: logger [-is] [-f file] [-p pri] [-t tag] [-u socket] [ message ... ]\n", 1310},
+  {"usage: look [-dfa] [-t char] string [file]\n", 1311},
+  {"Could not open %s\n", 1312},
+  {"Got %d bytes from %s\n", 1313},
+  {"namei: unable to get current directory - %s\n", 1314},
+  {"namei: unable to chdir to %s - %s (%d)\n", 1315},
+  {"usage: namei [-mx] pathname [pathname ...]\n", 1316},
+  {"namei: could not chdir to root!\n", 1317},
+  {"namei: could not stat root!\n", 1318},
+  {" ? could not chdir into %s - %s (%d)\n", 1319},
+  {" ? problems reading symlink %s - %s (%d)\n", 1320},
+  {"  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n", 1321},
+  {"namei: unknown file type 0%06o on file %s\n", 1322},
+  {"%s: out of memory\n", 1323},
+  {"%s: renaming %s to %s failed: %s\n", 1324},
+  {"call: %s from to files...\n", 1325},
   {"\
 Warning: `%s' is a symlink.\n\
 Use `%s [options] %s' if you really want to use it.\n\
-Script not started.\n", 1295},
-  {"usage: script [-a] [-f] [-q] [file]\n", 1296},
-  {"Script started, file is %s\n", 1297},
-  {"Script started on %s", 1298},
+Script not started.\n", 1326},
+  {"usage: script [-a] [-f] [-q] [file]\n", 1327},
+  {"Script started, file is %s\n", 1328},
+  {"Script started on %s", 1329},
   {"\
 \n\
-Script done on %s", 1299},
-  {"Script done, file is %s\n", 1300},
-  {"openpty failed\n", 1301},
-  {"Out of pty's\n", 1302},
-  {"%s: Argument error, usage\n", 1303},
-  {"  [ -term terminal_name ]\n", 1304},
-  {"  [ -reset ]\n", 1305},
-  {"  [ -initialize ]\n", 1306},
-  {"  [ -cursor [on|off] ]\n", 1307},
-  {"  [ -snow [on|off] ]\n", 1308},
-  {"  [ -softscroll [on|off] ]\n", 1309},
-  {"  [ -repeat [on|off] ]\n", 1310},
-  {"  [ -appcursorkeys [on|off] ]\n", 1311},
-  {"  [ -linewrap [on|off] ]\n", 1312},
-  {"  [ -default ]\n", 1313},
-  {"  [ -foreground black|blue|green|cyan", 1314},
-  {"|red|magenta|yellow|white|default ]\n", 1315},
-  {"  [ -background black|blue|green|cyan", 1316},
-  {"  [ -ulcolor black|grey|blue|green|cyan", 1317},
-  {"|red|magenta|yellow|white ]\n", 1318},
-  {"  [ -ulcolor bright blue|green|cyan", 1319},
-  {"  [ -hbcolor black|grey|blue|green|cyan", 1320},
-  {"  [ -hbcolor bright blue|green|cyan", 1321},
-  {"  [ -standout [ attr ] ]\n", 1322},
-  {"  [ -inversescreen [on|off] ]\n", 1323},
-  {"  [ -bold [on|off] ]\n", 1324},
-  {"  [ -half-bright [on|off] ]\n", 1325},
-  {"  [ -blink [on|off] ]\n", 1326},
-  {"  [ -reverse [on|off] ]\n", 1327},
-  {"  [ -underline [on|off] ]\n", 1328},
-  {"  [ -store ]\n", 1329},
-  {"  [ -clear [all|rest] ]\n", 1330},
-  {"  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n", 1331},
-  {"  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n", 1332},
-  {"  [ -regtabs [1-160] ]\n", 1333},
-  {"  [ -blank [0-60] ]\n", 1334},
-  {"  [ -dump   [1-NR_CONSOLES] ]\n", 1335},
-  {"  [ -append [1-NR_CONSOLES] ]\n", 1336},
-  {"  [ -file dumpfilename ]\n", 1337},
-  {"  [ -msg [on|off] ]\n", 1338},
-  {"  [ -msglevel [0-8] ]\n", 1339},
-  {"  [ -powersave [on|vsync|hsync|powerdown|off] ]\n", 1340},
-  {"  [ -powerdown [0-60] ]\n", 1341},
-  {"  [ -blength [0-2000] ]\n", 1342},
-  {"  [ -bfreq freqnumber ]\n", 1343},
-  {"snow.on", 1344},
-  {"snow.off", 1345},
-  {"softscroll.on", 1346},
-  {"softscroll.off", 1347},
-  {"cannot (un)set powersave mode\n", 1348},
-  {"klogctl error: %s\n", 1349},
-  {"Error reading %s\n", 1350},
-  {"Error writing screendump\n", 1351},
-  {"couldn't read %s, and cannot ioctl dump\n", 1352},
-  {"%s: $TERM is not defined.\n", 1353},
-  {"usage: tsort [ inputfile ]\n", 1354},
-  {"tsort: odd data count.\n", 1355},
-  {"tsort: cycle in data.\n", 1356},
-  {"tsort: internal error -- could not find cycle.\n", 1357},
-  {"whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n", 1358},
-  {"write: can't find your tty's name\n", 1359},
-  {"write: you have write permission turned off.\n", 1360},
-  {"write: %s is not logged in on %s.\n", 1361},
-  {"write: %s has messages disabled on %s\n", 1362},
-  {"usage: write user [tty]\n", 1363},
-  {"write: %s is not logged in\n", 1364},
-  {"write: %s has messages disabled\n", 1365},
-  {"write: %s is logged in more than once; writing to %s\n", 1366},
-  {"Message from %s@%s (as %s) on %s at %s ...", 1367},
-  {"Message from %s@%s on %s at %s ...", 1368},
-  {"warning: error reading %s: %s", 1369},
-  {"warning: can't open %s: %s", 1370},
-  {"mount: could not open %s - using %s instead\n", 1371},
-  {"can't create lock file %s: %s (use -n flag to override)", 1372},
-  {"can't link lock file %s: %s (use -n flag to override)", 1373},
-  {"can't open lock file %s: %s (use -n flag to override)", 1374},
-  {"Can't lock lock file %s: %s\n", 1375},
-  {"can't lock lock file %s: %s", 1376},
-  {"timed out", 1377},
+Script done on %s", 1330},
+  {"Script done, file is %s\n", 1331},
+  {"openpty failed\n", 1332},
+  {"Out of pty's\n", 1333},
+  {"%s: Argument error, usage\n", 1334},
+  {"  [ -term terminal_name ]\n", 1335},
+  {"  [ -reset ]\n", 1336},
+  {"  [ -initialize ]\n", 1337},
+  {"  [ -cursor [on|off] ]\n", 1338},
+  {"  [ -snow [on|off] ]\n", 1339},
+  {"  [ -softscroll [on|off] ]\n", 1340},
+  {"  [ -repeat [on|off] ]\n", 1341},
+  {"  [ -appcursorkeys [on|off] ]\n", 1342},
+  {"  [ -linewrap [on|off] ]\n", 1343},
+  {"  [ -default ]\n", 1344},
+  {"  [ -foreground black|blue|green|cyan", 1345},
+  {"|red|magenta|yellow|white|default ]\n", 1346},
+  {"  [ -background black|blue|green|cyan", 1347},
+  {"  [ -ulcolor black|grey|blue|green|cyan", 1348},
+  {"|red|magenta|yellow|white ]\n", 1349},
+  {"  [ -ulcolor bright blue|green|cyan", 1350},
+  {"  [ -hbcolor black|grey|blue|green|cyan", 1351},
+  {"  [ -hbcolor bright blue|green|cyan", 1352},
+  {"  [ -standout [ attr ] ]\n", 1353},
+  {"  [ -inversescreen [on|off] ]\n", 1354},
+  {"  [ -bold [on|off] ]\n", 1355},
+  {"  [ -half-bright [on|off] ]\n", 1356},
+  {"  [ -blink [on|off] ]\n", 1357},
+  {"  [ -reverse [on|off] ]\n", 1358},
+  {"  [ -underline [on|off] ]\n", 1359},
+  {"  [ -store ]\n", 1360},
+  {"  [ -clear [all|rest] ]\n", 1361},
+  {"  [ -tabs [ tab1 tab2 tab3 ... ] ]      (tabn = 1-160)\n", 1362},
+  {"  [ -clrtabs [ tab1 tab2 tab3 ... ] ]   (tabn = 1-160)\n", 1363},
+  {"  [ -regtabs [1-160] ]\n", 1364},
+  {"  [ -blank [0-60] ]\n", 1365},
+  {"  [ -dump   [1-NR_CONSOLES] ]\n", 1366},
+  {"  [ -append [1-NR_CONSOLES] ]\n", 1367},
+  {"  [ -file dumpfilename ]\n", 1368},
+  {"  [ -msg [on|off] ]\n", 1369},
+  {"  [ -msglevel [0-8] ]\n", 1370},
+  {"  [ -powersave [on|vsync|hsync|powerdown|off] ]\n", 1371},
+  {"  [ -powerdown [0-60] ]\n", 1372},
+  {"  [ -blength [0-2000] ]\n", 1373},
+  {"  [ -bfreq freqnumber ]\n", 1374},
+  {"cannot (un)set powersave mode\n", 1375},
+  {"klogctl error: %s\n", 1376},
+  {"Error reading %s\n", 1377},
+  {"Error writing screendump\n", 1378},
+  {"couldn't read %s, and cannot ioctl dump\n", 1379},
+  {"%s: $TERM is not defined.\n", 1380},
+  {"whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n", 1381},
+  {"write: can't find your tty's name\n", 1382},
+  {"write: you have write permission turned off.\n", 1383},
+  {"write: %s is not logged in on %s.\n", 1384},
+  {"write: %s has messages disabled on %s\n", 1385},
+  {"usage: write user [tty]\n", 1386},
+  {"write: %s is not logged in\n", 1387},
+  {"write: %s has messages disabled\n", 1388},
+  {"write: %s is logged in more than once; writing to %s\n", 1389},
+  {"Message from %s@%s (as %s) on %s at %s ...", 1390},
+  {"Message from %s@%s on %s at %s ...", 1391},
+  {"warning: error reading %s: %s", 1392},
+  {"warning: can't open %s: %s", 1393},
+  {"mount: could not open %s - using %s instead\n", 1394},
+  {"can't create lock file %s: %s (use -n flag to override)", 1395},
+  {"can't link lock file %s: %s (use -n flag to override)", 1396},
+  {"can't open lock file %s: %s (use -n flag to override)", 1397},
+  {"Can't lock lock file %s: %s\n", 1398},
+  {"can't lock lock file %s: %s", 1399},
+  {"timed out", 1400},
   {"\
 Cannot create link %s\n\
-Perhaps there is a stale lock file?\n", 1378},
-  {"cannot open %s (%s) - mtab not updated", 1379},
-  {"error writing %s: %s", 1380},
-  {"error changing mode of %s: %s\n", 1381},
-  {"can't rename %s to %s: %s\n", 1382},
-  {"loop: can't open device %s: %s\n", 1383},
-  {"loop: can't get info on device %s: %s\n", 1384},
-  {"%s: [%04x]:%ld (%s) offset %d, %s encryption\n", 1385},
-  {"mount: could not find any device /dev/loop#", 1386},
+Perhaps there is a stale lock file?\n", 1401},
+  {"cannot open %s (%s) - mtab not updated", 1402},
+  {"error writing %s: %s", 1403},
+  {"error changing mode of %s: %s\n", 1404},
+  {"can't rename %s to %s: %s\n", 1405},
+  {"loop: can't open device %s: %s\n", 1406},
+  {"loop: can't get info on device %s: %s\n", 1407},
+  {"%s: [%04x]:%ld (%s) offset %d, %s encryption\n", 1408},
+  {"mount: could not find any device /dev/loop#", 1409},
   {"\
 mount: Could not find any loop device.\n\
-       Maybe /dev/loop# has a wrong major number?", 1387},
+       Maybe /dev/loop# has a wrong major number?", 1410},
   {"\
 mount: Could not find any loop device, and, according to %s,\n\
        this kernel does not know about the loop device.\n\
-       (If so, then recompile or `insmod loop.o'.)", 1388},
+       (If so, then recompile or `insmod loop.o'.)", 1411},
   {"\
 mount: Could not find any loop device. Maybe this kernel does not know\n\
        about the loop device (then recompile or `insmod loop.o'), or\n\
-       maybe /dev/loop# has the wrong major number?", 1389},
-  {"mount: could not find any free loop device", 1390},
-  {"Unsupported encryption type %s\n", 1391},
-  {"Couldn't lock into memory, exiting.\n", 1392},
-  {"Init (up to 16 hex digits): ", 1393},
-  {"Non-hex digit '%c'.\n", 1394},
-  {"Don't know how to get key for encryption system %d\n", 1395},
-  {"set_loop(%s,%s,%d): success\n", 1396},
-  {"loop: can't delete device %s: %s\n", 1397},
-  {"del_loop(%s): success\n", 1398},
-  {"This mount was compiled without loop support. Please recompile.\n", 1399},
+       maybe /dev/loop# has the wrong major number?", 1412},
+  {"mount: could not find any free loop device", 1413},
+  {"Unsupported encryption type %s\n", 1414},
+  {"Couldn't lock into memory, exiting.\n", 1415},
+  {"Init (up to 16 hex digits): ", 1416},
+  {"Non-hex digit '%c'.\n", 1417},
+  {"Don't know how to get key for encryption system %d\n", 1418},
+  {"set_loop(%s,%s,%d): success\n", 1419},
+  {"loop: can't delete device %s: %s\n", 1420},
+  {"del_loop(%s): success\n", 1421},
+  {"This mount was compiled without loop support. Please recompile.\n", 1422},
   {"\
 usage:\n\
   %s loop_device                                      # give info\n\
   %s -d loop_device                                   # delete\n\
-  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n", 1400},
-  {"not enough memory", 1401},
-  {"No loop support was available at compile time. Please recompile.\n", 1402},
-  {"[mntent]: warning: no final newline at the end of %s\n", 1403},
-  {"[mntent]: line %d in %s is bad%s\n", 1404},
-  {"; rest of file ignored", 1405},
-  {"mount: according to mtab, %s is already mounted on %s", 1406},
-  {"mount: according to mtab, %s is mounted on %s", 1407},
-  {"mount: can't open %s for writing: %s", 1408},
-  {"mount: error writing %s: %s", 1409},
-  {"mount: error changing mode of %s: %s", 1410},
-  {"%s looks like swapspace - not mounted", 1411},
-  {"mount failed", 1412},
-  {"mount: only root can mount %s on %s", 1413},
-  {"mount: loop device specified twice", 1414},
-  {"mount: type specified twice", 1415},
-  {"mount: skipping the setup of a loop device\n", 1416},
-  {"mount: going to use the loop device %s\n", 1417},
-  {"mount: failed setting up loop device\n", 1418},
-  {"mount: setup loop device successfully\n", 1419},
-  {"mount: can't open %s: %s", 1420},
-  {"mount: cannot not open %s for setting speed", 1421},
-  {"mount: cannot set speed: %s", 1422},
-  {"mount: cannot fork: %s", 1423},
-  {"mount: this version was compiled without support for the type `nfs'", 1424},
-  {"mount: failed with nfs mount version 4, trying 3..\n", 1425},
-  {"\
-mount: I could not determine the filesystem type, and none was specified", 1426},
-  {"mount: you must specify the filesystem type", 1427},
-  {"mount: mount failed", 1428},
-  {"mount: mount point %s is not a directory", 1429},
-  {"mount: permission denied", 1430},
-  {"mount: must be superuser to use mount", 1431},
-  {"mount: %s is busy", 1432},
-  {"mount: proc already mounted", 1433},
-  {"mount: %s already mounted or %s busy", 1434},
-  {"mount: mount point %s does not exist", 1435},
-  {"mount: mount point %s is a symbolic link to nowhere", 1436},
-  {"mount: special device %s does not exist", 1437},
+  %s [ -e encryption ] [ -o offset ] loop_device file # setup\n", 1423},
+  {"not enough memory", 1424},
+  {"No loop support was available at compile time. Please recompile.\n", 1425},
+  {"[mntent]: warning: no final newline at the end of %s\n", 1426},
+  {"[mntent]: line %d in %s is bad%s\n", 1427},
+  {"; rest of file ignored", 1428},
+  {"mount: according to mtab, %s is already mounted on %s", 1429},
+  {"mount: according to mtab, %s is mounted on %s", 1430},
+  {"mount: can't open %s for writing: %s", 1431},
+  {"mount: error writing %s: %s", 1432},
+  {"mount: error changing mode of %s: %s", 1433},
+  {"%s looks like swapspace - not mounted", 1434},
+  {"mount failed", 1435},
+  {"mount: only root can mount %s on %s", 1436},
+  {"mount: loop device specified twice", 1437},
+  {"mount: type specified twice", 1438},
+  {"mount: skipping the setup of a loop device\n", 1439},
+  {"mount: going to use the loop device %s\n", 1440},
+  {"mount: failed setting up loop device\n", 1441},
+  {"mount: setup loop device successfully\n", 1442},
+  {"mount: can't open %s: %s", 1443},
+  {"mount: cannot not open %s for setting speed", 1444},
+  {"mount: cannot set speed: %s", 1445},
+  {"mount: cannot fork: %s", 1446},
+  {"mount: this version was compiled without support for the type `nfs'", 1447},
+  {"mount: failed with nfs mount version 4, trying 3..\n", 1448},
+  {"\
+mount: I could not determine the filesystem type, and none was specified", 1449},
+  {"mount: you must specify the filesystem type", 1450},
+  {"mount: mount failed", 1451},
+  {"mount: mount point %s is not a directory", 1452},
+  {"mount: permission denied", 1453},
+  {"mount: must be superuser to use mount", 1454},
+  {"mount: %s is busy", 1455},
+  {"mount: proc already mounted", 1456},
+  {"mount: %s already mounted or %s busy", 1457},
+  {"mount: mount point %s does not exist", 1458},
+  {"mount: mount point %s is a symbolic link to nowhere", 1459},
+  {"mount: special device %s does not exist", 1460},
   {"\
 mount: special device %s does not exist\n\
-       (a path prefix is not a directory)\n", 1438},
-  {"mount: %s not mounted already, or bad option", 1439},
+       (a path prefix is not a directory)\n", 1461},
+  {"mount: %s not mounted already, or bad option", 1462},
   {"\
 mount: wrong fs type, bad option, bad superblock on %s,\n\
-       or too many mounted file systems", 1440},
-  {"mount table full", 1441},
-  {"mount: %s: can't read superblock", 1442},
-  {"mount: %s: unknown device", 1443},
-  {"mount: fs type %s not supported by kernel", 1444},
-  {"mount: probably you meant %s", 1445},
-  {"mount: maybe you meant iso9660 ?", 1446},
-  {"mount: %s has wrong device number or fs type %s not supported", 1447},
-  {"mount: %s is not a block device, and stat fails?", 1448},
+       or too many mounted file systems", 1463},
+  {"mount table full", 1464},
+  {"mount: %s: can't read superblock", 1465},
+  {"mount: %s: unknown device", 1466},
+  {"mount: fs type %s not supported by kernel", 1467},
+  {"mount: probably you meant %s", 1468},
+  {"mount: maybe you meant iso9660 ?", 1469},
+  {"mount: %s has wrong device number or fs type %s not supported", 1470},
+  {"mount: %s is not a block device, and stat fails?", 1471},
   {"\
 mount: the kernel does not recognize %s as a block device\n\
-       (maybe `insmod driver'?)", 1449},
-  {"mount: %s is not a block device (maybe try `-o loop'?)", 1450},
-  {"mount: %s is not a block device", 1451},
-  {"mount: %s is not a valid block device", 1452},
-  {"block device ", 1453},
-  {"mount: cannot mount %s%s read-only", 1454},
-  {"mount: %s%s is write-protected but explicit `-w' flag given", 1455},
-  {"mount: %s%s is write-protected, mounting read-only", 1456},
-  {"mount: going to mount %s by %s\n", 1457},
-  {"UUID", 1458},
-  {"label", 1459},
-  {"mount: no such partition found", 1460},
-  {"mount: no type was given - I'll assume nfs because of the colon\n", 1461},
-  {"mount: backgrounding \"%s\"\n", 1462},
-  {"mount: giving up \"%s\"\n", 1463},
-  {"mount: %s already mounted on %s\n", 1464},
+       (maybe `insmod driver'?)", 1472},
+  {"mount: %s is not a block device (maybe try `-o loop'?)", 1473},
+  {"mount: %s is not a block device", 1474},
+  {"mount: %s is not a valid block device", 1475},
+  {"block device ", 1476},
+  {"mount: cannot mount %s%s read-only", 1477},
+  {"mount: %s%s is write-protected but explicit `-w' flag given", 1478},
+  {"mount: %s%s is write-protected, mounting read-only", 1479},
+  {"mount: going to mount %s by %s\n", 1480},
+  {"UUID", 1481},
+  {"label", 1482},
+  {"mount: no such partition found", 1483},
+  {"mount: no type was given - I'll assume nfs because of the colon\n", 1484},
+  {"mount: backgrounding \"%s\"\n", 1485},
+  {"mount: giving up \"%s\"\n", 1486},
+  {"mount: %s already mounted on %s\n", 1487},
   {"\
 Usage: mount -V                 : print version\n\
        mount -h                 : print this help\n\
@@ -1911,386 +1936,380 @@ One can also mount an already visible directory tree elsewhere:\n\
        mount --bind olddir newdir\n\
 A device can be given by name, say /dev/hda1 or /dev/cdrom,\n\
 or by label, using  -L label  or by uuid, using  -U uuid .\n\
-Union or stack mounts are specified using one of\n\
-       --replace, --after, --before, --over\n\
 Other options: [-nfFrsvw] [-o options].\n\
-For many more details, say  man 8 mount .\n", 1465},
-  {"mount: only root can do that", 1466},
-  {"mount: no %s found - creating it..\n", 1467},
-  {"mount: mounting %s\n", 1468},
-  {"not mounted anything", 1469},
-  {"mount: cannot find %s in %s", 1470},
-  {"mount: can't find %s in %s or %s", 1471},
-  {"\
-mount: could not open %s, so UUID and LABEL conversion cannot be done.\n", 1472},
-  {"mount: bad UUID", 1473},
-  {"mount: you didn't specify a filesystem type for %s\n", 1474},
-  {"       I will try all types mentioned in %s or %s\n", 1475},
-  {"       and it looks like this is swapspace\n", 1476},
-  {"       I will try type %s\n", 1477},
-  {"Trying %s\n", 1478},
-  {"mount: excessively long host:dir argument\n", 1479},
-  {"mount: warning: multiple hostnames not supported\n", 1480},
-  {"mount: directory to mount not in host:dir format\n", 1481},
-  {"mount: can't get address for %s\n", 1482},
-  {"mount: got bad hp->h_length\n", 1483},
-  {"mount: excessively long option argument\n", 1484},
-  {"Warning: Unrecognized proto= option.\n", 1485},
-  {"Warning: Option namlen is not supported.\n", 1486},
-  {"unknown nfs mount parameter: %s=%d\n", 1487},
-  {"Warning: option nolock is not supported.\n", 1488},
-  {"unknown nfs mount option: %s%s\n", 1489},
-  {"mount: got bad hp->h_length?\n", 1490},
-  {"NFS over TCP is not supported.\n", 1491},
-  {"nfs socket", 1492},
-  {"nfs bindresvport", 1493},
-  {"used portmapper to find NFS port\n", 1494},
-  {"using port %d for nfs deamon\n", 1495},
-  {"nfs connect", 1496},
-  {"unknown nfs status return value: %d", 1497},
-  {"bug in xstrndup call", 1498},
+For many more details, say  man 8 mount .\n", 1488},
+  {"mount: only root can do that", 1489},
+  {"mount: no %s found - creating it..\n", 1490},
+  {"mount: mounting %s\n", 1491},
+  {"not mounted anything", 1492},
+  {"mount: cannot find %s in %s", 1493},
+  {"mount: can't find %s in %s or %s", 1494},
+  {"\
+mount: could not open %s, so UUID and LABEL conversion cannot be done.\n", 1495},
+  {"mount: bad UUID", 1496},
+  {"mount: you didn't specify a filesystem type for %s\n", 1497},
+  {"       I will try all types mentioned in %s or %s\n", 1498},
+  {"       and it looks like this is swapspace\n", 1499},
+  {"       I will try type %s\n", 1500},
+  {"Trying %s\n", 1501},
+  {"mount: excessively long host:dir argument\n", 1502},
+  {"mount: warning: multiple hostnames not supported\n", 1503},
+  {"mount: directory to mount not in host:dir format\n", 1504},
+  {"mount: can't get address for %s\n", 1505},
+  {"mount: got bad hp->h_length\n", 1506},
+  {"mount: excessively long option argument\n", 1507},
+  {"Warning: Unrecognized proto= option.\n", 1508},
+  {"Warning: Option namlen is not supported.\n", 1509},
+  {"unknown nfs mount parameter: %s=%d\n", 1510},
+  {"Warning: option nolock is not supported.\n", 1511},
+  {"unknown nfs mount option: %s%s\n", 1512},
+  {"mount: got bad hp->h_length?\n", 1513},
+  {"NFS over TCP is not supported.\n", 1514},
+  {"nfs socket", 1515},
+  {"nfs bindresvport", 1516},
+  {"used portmapper to find NFS port\n", 1517},
+  {"using port %d for nfs deamon\n", 1518},
+  {"nfs connect", 1519},
+  {"unknown nfs status return value: %d", 1520},
+  {"bug in xstrndup call", 1521},
   {"\
 usage: %s [-hV]\n\
        %s -a [-v]\n\
        %s [-v] [-p priority] special ...\n\
-       %s [-s]\n", 1499},
-  {"%s on %s\n", 1500},
-  {"swapon: cannot stat %s: %s\n", 1501},
-  {"swapon: warning: %s has insecure permissions %04o, 0600 suggested\n", 1502},
-  {"swapon: Skipping file %s - it appears to have holes.\n", 1503},
-  {"%s: cannot open %s: %s\n", 1504},
-  {"umount: compiled without support for -f\n", 1505},
-  {"host: %s, directory: %s\n", 1506},
-  {"umount: can't get address for %s\n", 1507},
-  {"umount: got bad hostp->h_length\n", 1508},
-  {"umount: %s: invalid block device", 1509},
-  {"umount: %s: not mounted", 1510},
-  {"umount: %s: can't write superblock", 1511},
-  {"umount: %s: device is busy", 1512},
-  {"umount: %s: not found", 1513},
-  {"umount: %s: must be superuser to umount", 1514},
-  {"umount: %s: block devices not permitted on fs", 1515},
-  {"umount: %s: %s", 1516},
-  {"no umount2, trying umount...\n", 1517},
-  {"could not umount %s - trying %s instead\n", 1518},
-  {"umount: %s busy - remounted read-only\n", 1519},
-  {"umount: could not remount %s read-only\n", 1520},
-  {"%s umounted\n", 1521},
-  {"umount: cannot find list of filesystems to unmount", 1522},
+       %s [-s]\n", 1522},
+  {"%s on %s\n", 1523},
+  {"swapon: cannot stat %s: %s\n", 1524},
+  {"swapon: warning: %s has insecure permissions %04o, 0600 suggested\n", 1525},
+  {"swapon: Skipping file %s - it appears to have holes.\n", 1526},
+  {"%s: cannot open %s: %s\n", 1527},
+  {"umount: compiled without support for -f\n", 1528},
+  {"host: %s, directory: %s\n", 1529},
+  {"umount: can't get address for %s\n", 1530},
+  {"umount: got bad hostp->h_length\n", 1531},
+  {"umount: %s: invalid block device", 1532},
+  {"umount: %s: not mounted", 1533},
+  {"umount: %s: can't write superblock", 1534},
+  {"umount: %s: device is busy", 1535},
+  {"umount: %s: not found", 1536},
+  {"umount: %s: must be superuser to umount", 1537},
+  {"umount: %s: block devices not permitted on fs", 1538},
+  {"umount: %s: %s", 1539},
+  {"no umount2, trying umount...\n", 1540},
+  {"could not umount %s - trying %s instead\n", 1541},
+  {"umount: %s busy - remounted read-only\n", 1542},
+  {"umount: could not remount %s read-only\n", 1543},
+  {"%s umounted\n", 1544},
+  {"umount: cannot find list of filesystems to unmount", 1545},
   {"\
 Usage: umount [-hV]\n\
        umount -a [-f] [-r] [-n] [-v] [-t vfstypes]\n\
-       umount [-f] [-r] [-n] [-v] special | node...\n", 1523},
-  {"umount: only root can do that", 1524},
-  {"Trying to umount %s\n", 1525},
-  {"Could not find %s in mtab\n", 1526},
-  {"umount: %s is not mounted (according to mtab)", 1527},
-  {"umount: it seems %s is mounted multiple times", 1528},
-  {"umount: %s is not in the fstab (and you are not root)", 1529},
-  {"umount: %s mount disagrees with the fstab", 1530},
-  {"umount: only root can unmount %s from %s", 1531},
-  {"umount: only %s can unmount %s from %s", 1532},
-  {"You must be root to set the Ctrl-Alt-Del behaviour.\n", 1533},
-  {"Usage: ctrlaltdel hard|soft\n", 1534},
+       umount [-f] [-r] [-n] [-v] special | node...\n", 1546},
+  {"umount: only root can do that", 1547},
+  {"Trying to umount %s\n", 1548},
+  {"Could not find %s in mtab\n", 1549},
+  {"umount: %s is not mounted (according to mtab)", 1550},
+  {"umount: it seems %s is mounted multiple times", 1551},
+  {"umount: %s is not in the fstab (and you are not root)", 1552},
+  {"umount: %s mount disagrees with the fstab", 1553},
+  {"umount: only root can unmount %s from %s", 1554},
+  {"umount: only %s can unmount %s from %s", 1555},
+  {"You must be root to set the Ctrl-Alt-Del behaviour.\n", 1556},
+  {"Usage: ctrlaltdel hard|soft\n", 1557},
   {"\
 File %s, For threshold value %lu, Maximum characters in fifo were %d,\n\
-and the maximum transfer rate in characters/second was %f\n", 1535},
+and the maximum transfer rate in characters/second was %f\n", 1558},
   {"\
 File %s, For threshold value %lu and timrout value %lu, Maximum characters \
 in fifo were %d,\n\
-and the maximum transfer rate in characters/second was %f\n", 1536},
-  {"Invalid interval value: %s\n", 1537},
-  {"Invalid set value: %s\n", 1538},
-  {"Invalid default value: %s\n", 1539},
-  {"Invalid set time value: %s\n", 1540},
-  {"Invalid default time value: %s\n", 1541},
+and the maximum transfer rate in characters/second was %f\n", 1559},
+  {"Invalid interval value: %s\n", 1560},
+  {"Invalid set value: %s\n", 1561},
+  {"Invalid default value: %s\n", 1562},
+  {"Invalid set time value: %s\n", 1563},
+  {"Invalid default time value: %s\n", 1564},
   {"\
 Usage: %s [-q [-i interval]] ([-s value]|[-S value]) ([-t value]|[-T value]) \
-[-g|-G] file [file...]\n", 1542},
-  {"Can't open %s: %s\n", 1543},
-  {"Can't set %s to threshold %d: %s\n", 1544},
-  {"Can't set %s to time threshold %d: %s\n", 1545},
-  {"Can't get threshold for %s: %s\n", 1546},
-  {"Can't get timeout for %s: %s\n", 1547},
-  {"%s: %ld %s threshold and %ld %s timeout\n", 1548},
-  {"current", 1549},
-  {"default", 1550},
-  {"Can't set signal handler", 1551},
-  {"gettimeofday failed", 1552},
-  {"Can't issue CYGETMON on %s: %s\n", 1553},
-  {"%s: %lu ints, %lu/%lu chars; ", 1554},
-  {"fifo: %lu thresh, %lu tmout, ", 1555},
-  {"%lu max, %lu now\n", 1556},
-  {"   %f int/sec; %f rec, %f send (char/sec)\n", 1557},
-  {"\
-%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n", 1558},
-  {"   %f int/sec; %f rec (char/sec)\n", 1559},
-  {"Usage: %s [-c] [-n level] [-s bufsize]\n", 1560},
-  {"invalid id: %s\n", 1561},
-  {"cannot remove id %s (%s)\n", 1562},
-  {"usage: %s {shm | msg | sem} id ...\n", 1563},
-  {"unknown resource type: %s\n", 1564},
-  {"resource(s) deleted\n", 1565},
-  {"usage : %s -asmq -tclup \n", 1566},
-  {"\t%s [-s -m -q] -i id\n", 1567},
-  {"\t%s -h for help.\n", 1568},
-  {"%s provides information on ipc facilities for", 1569},
-  {" which you have read access.\n", 1570},
+[-g|-G] file [file...]\n", 1565},
+  {"Can't open %s: %s\n", 1566},
+  {"Can't set %s to threshold %d: %s\n", 1567},
+  {"Can't set %s to time threshold %d: %s\n", 1568},
+  {"Can't get threshold for %s: %s\n", 1569},
+  {"Can't get timeout for %s: %s\n", 1570},
+  {"%s: %ld %s threshold and %ld %s timeout\n", 1571},
+  {"current", 1572},
+  {"default", 1573},
+  {"Can't set signal handler", 1574},
+  {"gettimeofday failed", 1575},
+  {"Can't issue CYGETMON on %s: %s\n", 1576},
+  {"%s: %lu ints, %lu/%lu chars; ", 1577},
+  {"fifo: %lu thresh, %lu tmout, ", 1578},
+  {"%lu max, %lu now\n", 1579},
+  {"   %f int/sec; %f rec, %f send (char/sec)\n", 1580},
+  {"\
+%s: %lu ints, %lu chars; fifo: %lu thresh, %lu tmout, %lu max, %lu now\n", 1581},
+  {"   %f int/sec; %f rec (char/sec)\n", 1582},
+  {"Usage: %s [-c] [-n level] [-s bufsize]\n", 1583},
+  {"invalid id: %s\n", 1584},
+  {"cannot remove id %s (%s)\n", 1585},
+  {"usage: %s {shm | msg | sem} id ...\n", 1586},
+  {"unknown resource type: %s\n", 1587},
+  {"resource(s) deleted\n", 1588},
+  {"usage : %s -asmq -tclup \n", 1589},
+  {"\t%s [-s -m -q] -i id\n", 1590},
+  {"\t%s -h for help.\n", 1591},
+  {"%s provides information on ipc facilities for", 1592},
+  {" which you have read access.\n", 1593},
   {"\
 Resource Specification:\n\
 \t-m : shared_mem\n\
-\t-q : messages\n", 1571},
+\t-q : messages\n", 1594},
   {"\
 \t-s : semaphores\n\
-\t-a : all (default)\n", 1572},
+\t-a : all (default)\n", 1595},
   {"\
 Output Format:\n\
 \t-t : time\n\
 \t-p : pid\n\
-\t-c : creator\n", 1573},
+\t-c : creator\n", 1596},
   {"\
 \t-l : limits\n\
-\t-u : summary\n", 1574},
-  {"-i id [-s -q -m] : details on resource identified by id\n", 1575},
-  {"kernel not configured for shared memory\n", 1576},
-  {"------ Shared Memory Limits --------\n", 1577},
-  {"max number of segments = %ld\n", 1578},
-  {"max seg size (kbytes) = %ld\n", 1579},
-  {"max total shared memory (kbytes) = %ld\n", 1580},
-  {"min seg size (bytes) = %ld\n", 1581},
-  {"------ Shared Memory Status --------\n", 1582},
-  {"segments allocated %d\n", 1583},
-  {"pages allocated %ld\n", 1584},
-  {"pages resident  %ld\n", 1585},
-  {"pages swapped   %ld\n", 1586},
-  {"Swap performance: %ld attempts\t %ld successes\n", 1587},
-  {"------ Shared Memory Segment Creators/Owners --------\n", 1588},
-  {"%-10s%-10s%-10s%-10s%-10s%-10s\n", 1589},
-  {"shmid", 1590},
-  {"perms", 1591},
-  {"cuid", 1592},
-  {"cgid", 1593},
-  {"uid", 1594},
-  {"gid", 1595},
-  {"------ Shared Memory Attach/Detach/Change Times --------\n", 1596},
-  {"%-10s%-10s  %-20s%-20s%-20s\n", 1597},
-  {"owner", 1598},
-  {"attached", 1599},
-  {"detached", 1600},
-  {"changed", 1601},
-  {"------ Shared Memory Creator/Last-op --------\n", 1602},
-  {"%-10s%-10s%-10s%-10s\n", 1603},
-  {"cpid", 1604},
-  {"lpid", 1605},
-  {"------ Shared Memory Segments --------\n", 1606},
-  {"%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n", 1607},
-  {"key", 1608},
-  {"bytes", 1609},
-  {"nattch", 1610},
-  {"status", 1611},
-  {"Not set", 1612},
-  {"dest", 1613},
-  {"locked", 1614},
-  {"kernel not configured for semaphores\n", 1615},
-  {"------ Semaphore Limits --------\n", 1616},
-  {"max number of arrays = %d\n", 1617},
-  {"max semaphores per array = %d\n", 1618},
-  {"max semaphores system wide = %d\n", 1619},
-  {"max ops per semop call = %d\n", 1620},
-  {"semaphore max value = %d\n", 1621},
-  {"------ Semaphore Status --------\n", 1622},
-  {"used arrays = %d\n", 1623},
-  {"allocated semaphores = %d\n", 1624},
-  {"------ Semaphore Arrays Creators/Owners --------\n", 1625},
-  {"semid", 1626},
-  {"------ Shared Memory Operation/Change Times --------\n", 1627},
-  {"%-8s%-10s  %-26.24s %-26.24s\n", 1628},
-  {"last-op", 1629},
-  {"last-changed", 1630},
-  {"------ Semaphore Arrays --------\n", 1631},
-  {"%-10s%-10s%-10s%-10s%-10s%-12s\n", 1632},
-  {"nsems", 1633},
-  {"------ Messages: Limits --------\n", 1634},
-  {"max queues system wide = %d\n", 1635},
-  {"max size of message (bytes) = %d\n", 1636},
-  {"default max size of queue (bytes) = %d\n", 1637},
-  {"------ Messages: Status --------\n", 1638},
-  {"allocated queues = %d\n", 1639},
-  {"used headers = %d\n", 1640},
-  {"used space = %d bytes\n", 1641},
-  {"------ Message Queues: Creators/Owners --------\n", 1642},
-  {"msqid", 1643},
-  {"------ Message Queues Send/Recv/Change Times --------\n", 1644},
-  {"%-8s%-10s  %-20s%-20s%-20s\n", 1645},
-  {"send", 1646},
-  {"recv", 1647},
-  {"change", 1648},
-  {"------ Message Queues PIDs --------\n", 1649},
-  {"lspid", 1650},
-  {"lrpid", 1651},
-  {"------ Message Queues --------\n", 1652},
-  {"%-10s%-10s%-10s%-10s%-12s%-12s\n", 1653},
-  {"used-bytes", 1654},
-  {"messages", 1655},
+\t-u : summary\n", 1597},
+  {"-i id [-s -q -m] : details on resource identified by id\n", 1598},
+  {"kernel not configured for shared memory\n", 1599},
+  {"------ Shared Memory Limits --------\n", 1600},
+  {"max number of segments = %ld\n", 1601},
+  {"max seg size (kbytes) = %ld\n", 1602},
+  {"max total shared memory (kbytes) = %ld\n", 1603},
+  {"min seg size (bytes) = %ld\n", 1604},
+  {"------ Shared Memory Status --------\n", 1605},
+  {"segments allocated %d\n", 1606},
+  {"pages allocated %ld\n", 1607},
+  {"pages resident  %ld\n", 1608},
+  {"pages swapped   %ld\n", 1609},
+  {"Swap performance: %ld attempts\t %ld successes\n", 1610},
+  {"------ Shared Memory Segment Creators/Owners --------\n", 1611},
+  {"%-10s%-10s%-10s%-10s%-10s%-10s\n", 1612},
+  {"shmid", 1613},
+  {"perms", 1614},
+  {"cuid", 1615},
+  {"cgid", 1616},
+  {"uid", 1617},
+  {"gid", 1618},
+  {"------ Shared Memory Attach/Detach/Change Times --------\n", 1619},
+  {"%-10s%-10s  %-20s%-20s%-20s\n", 1620},
+  {"owner", 1621},
+  {"attached", 1622},
+  {"detached", 1623},
+  {"changed", 1624},
+  {"------ Shared Memory Creator/Last-op --------\n", 1625},
+  {"%-10s%-10s%-10s%-10s\n", 1626},
+  {"cpid", 1627},
+  {"lpid", 1628},
+  {"------ Shared Memory Segments --------\n", 1629},
+  {"%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n", 1630},
+  {"key", 1631},
+  {"bytes", 1632},
+  {"nattch", 1633},
+  {"status", 1634},
+  {"Not set\n", 1635},
+  {"dest", 1636},
+  {"locked", 1637},
+  {"kernel not configured for semaphores\n", 1638},
+  {"------ Semaphore Limits --------\n", 1639},
+  {"max number of arrays = %d\n", 1640},
+  {"max semaphores per array = %d\n", 1641},
+  {"max semaphores system wide = %d\n", 1642},
+  {"max ops per semop call = %d\n", 1643},
+  {"semaphore max value = %d\n", 1644},
+  {"------ Semaphore Status --------\n", 1645},
+  {"used arrays = %d\n", 1646},
+  {"allocated semaphores = %d\n", 1647},
+  {"------ Semaphore Arrays Creators/Owners --------\n", 1648},
+  {"semid", 1649},
+  {"------ Shared Memory Operation/Change Times --------\n", 1650},
+  {"%-8s%-10s  %-26.24s %-26.24s\n", 1651},
+  {"last-op", 1652},
+  {"last-changed", 1653},
+  {"------ Semaphore Arrays --------\n", 1654},
+  {"%-10s%-10s%-10s%-10s%-10s%-12s\n", 1655},
+  {"nsems", 1656},
+  {"------ Messages: Limits --------\n", 1657},
+  {"max queues system wide = %d\n", 1658},
+  {"max size of message (bytes) = %d\n", 1659},
+  {"default max size of queue (bytes) = %d\n", 1660},
+  {"------ Messages: Status --------\n", 1661},
+  {"allocated queues = %d\n", 1662},
+  {"used headers = %d\n", 1663},
+  {"used space = %d bytes\n", 1664},
+  {"------ Message Queues: Creators/Owners --------\n", 1665},
+  {"msqid", 1666},
+  {"------ Message Queues Send/Recv/Change Times --------\n", 1667},
+  {"%-8s%-10s  %-20s%-20s%-20s\n", 1668},
+  {"send", 1669},
+  {"recv", 1670},
+  {"change", 1671},
+  {"------ Message Queues PIDs --------\n", 1672},
+  {"lspid", 1673},
+  {"lrpid", 1674},
+  {"------ Message Queues --------\n", 1675},
+  {"%-10s%-10s%-10s%-10s%-12s%-12s\n", 1676},
+  {"used-bytes", 1677},
+  {"messages", 1678},
   {"\
 \n\
-Shared memory Segment shmid=%d\n", 1656},
-  {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n", 1657},
-  {"mode=%#o\taccess_perms=%#o\n", 1658},
-  {"bytes=%d\tlpid=%d\tcpid=%d\tnattch=%ld\n", 1659},
-  {"att_time=%s", 1660},
-  {"Not set\n", 1661},
-  {"det_time=%s", 1662},
-  {"change_time=%s", 1663},
+Shared memory Segment shmid=%d\n", 1679},
+  {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n", 1680},
+  {"mode=%#o\taccess_perms=%#o\n", 1681},
+  {"bytes=%d\tlpid=%d\tcpid=%d\tnattch=%ld\n", 1682},
+  {"att_time=%s", 1683},
+  {"det_time=%s", 1684},
+  {"change_time=%s", 1685},
   {"\
 \n\
-Message Queue msqid=%d\n", 1664},
-  {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n", 1665},
-  {"cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n", 1666},
-  {"send_time=%srcv_time=%schange_time=%s", 1667},
-  {"Not Set\n", 1668},
+Message Queue msqid=%d\n", 1686},
+  {"uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n", 1687},
+  {"cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n", 1688},
+  {"send_time=%s", 1689},
+  {"rcv_time=%s", 1690},
   {"\
 \n\
-Semaphore Array semid=%d\n", 1669},
-  {"uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n", 1670},
-  {"mode=%#o, access_perms=%#o\n", 1671},
-  {"nsems = %ld\n", 1672},
-  {"otime = %s", 1673},
-  {"ctime = %s", 1674},
-  {"%-10s%-10s%-10s%-10s%-10s\n", 1675},
-  {"semnum", 1676},
-  {"value", 1677},
-  {"ncount", 1678},
-  {"zcount", 1679},
-  {"pid", 1680},
-  {"usage: rdev [ -rsv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]", 1681},
-  {"\
-  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device", 1682},
-  {"  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2", 1683},
-  {"  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)", 1684},
-  {"  rdev -s /dev/fd0 /dev/hda2      set the SWAP device", 1685},
-  {"  rdev -r /dev/fd0 627            set the RAMDISK size", 1686},
-  {"  rdev -v /dev/fd0 1              set the bootup VIDEOMODE", 1687},
-  {"  rdev -o N ...                   use the byte offset N", 1688},
-  {"  rootflags ...                   same as rdev -R", 1689},
-  {"  swapdev ...                     same as rdev -s", 1690},
-  {"  ramsize ...                     same as rdev -r", 1691},
-  {"  vidmode ...                     same as rdev -v", 1692},
-  {"\
-Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,...", 1693},
-  {"      use -R 1 to mount root readonly, -R 0 for read/write.", 1694},
+Semaphore Array semid=%d\n", 1691},
+  {"uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n", 1692},
+  {"mode=%#o, access_perms=%#o\n", 1693},
+  {"nsems = %ld\n", 1694},
+  {"otime = %s", 1695},
+  {"ctime = %s", 1696},
+  {"%-10s%-10s%-10s%-10s%-10s\n", 1697},
+  {"semnum", 1698},
+  {"value", 1699},
+  {"ncount", 1700},
+  {"zcount", 1701},
+  {"pid", 1702},
+  {"usage: rdev [ -rsv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]", 1703},
+  {"\
+  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device", 1704},
+  {"  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2", 1705},
+  {"  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)", 1706},
+  {"  rdev -s /dev/fd0 /dev/hda2      set the SWAP device", 1707},
+  {"  rdev -r /dev/fd0 627            set the RAMDISK size", 1708},
+  {"  rdev -v /dev/fd0 1              set the bootup VIDEOMODE", 1709},
+  {"  rdev -o N ...                   use the byte offset N", 1710},
+  {"  rootflags ...                   same as rdev -R", 1711},
+  {"  swapdev ...                     same as rdev -s", 1712},
+  {"  ramsize ...                     same as rdev -r", 1713},
+  {"  vidmode ...                     same as rdev -v", 1714},
+  {"\
+Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,...", 1715},
+  {"      use -R 1 to mount root readonly, -R 0 for read/write.", 1716},
   {"\
 %s: Usage: \"%s [options]\n\
 \t -m <mapfile>  (default = \"%s\")\n\
 \t -p <pro-file> (default = \"%s\")\n\
+\t -M <mult>     set the profiling multiplier to <mult>\n\
 \t -i            print only info about the sampling step\n\
 \t -v            print verbose data\n\
 \t -a            print all symbols, even if count is 0\n\
 \t -r            reset all the counters (root only)\n\
-\t -V            print version and exit\n", 1695},
-  {"%s Version %s\n", 1696},
-  {"anything\n", 1697},
-  {"Sampling_step: %i\n", 1698},
-  {"%s: %s(%i): wrong map line\n", 1699},
-  {"%s: can't find \"_stext\" in %s\n", 1700},
-  {"total", 1701},
-  {"\
-usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n", 1702},
-  {"renice: %s: unknown user\n", 1703},
-  {"renice: %s: bad value\n", 1704},
-  {"getpriority", 1705},
-  {"setpriority", 1706},
-  {"%d: old priority %d, new priority %d\n", 1707},
-  {"usage: %s program [arg ...]\n", 1708},
+\t -V            print version and exit\n", 1717},
+  {"%s Version %s\n", 1718},
+  {"Sampling_step: %i\n", 1719},
+  {"%s: %s(%i): wrong map line\n", 1720},
+  {"%s: can't find \"_stext\" in %s\n", 1721},
+  {"total", 1722},
+  {"\
+usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n", 1723},
+  {"renice: %s: unknown user\n", 1724},
+  {"renice: %s: bad value\n", 1725},
+  {"getpriority", 1726},
+  {"setpriority", 1727},
+  {"%d: old priority %d, new priority %d\n", 1728},
+  {"usage: %s program [arg ...]\n", 1729},
   {"\
 Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n\
           -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n\
-          -T [on|off] ]\n", 1709},
-  {"malloc error", 1710},
-  {"%s: bad value\n", 1711},
-  {"%s: %s not an lp device.\n", 1712},
-  {"%s status is %d", 1713},
-  {", busy", 1714},
-  {", ready", 1715},
-  {", out of paper", 1716},
-  {", on-line", 1717},
-  {", error", 1718},
-  {"LPGETIRQ error", 1719},
-  {"%s using IRQ %d\n", 1720},
-  {"%s using polling\n", 1721},
-  {"col: bad -l argument %s.\n", 1722},
-  {"usage: col [-bfpx] [-l nline]\n", 1723},
-  {"col: write error.\n", 1724},
-  {"col: warning: can't back up %s.\n", 1725},
-  {"past first line", 1726},
-  {"-- line already flushed", 1727},
-  {"usage: %s [ - ] [ -2 ] [ file ... ]\n", 1728},
-  {"line too long", 1729},
-  {"usage: column [-tx] [-c columns] [file ...]\n", 1730},
-  {"hexdump: bad length value.\n", 1731},
-  {"hexdump: bad skip value.\n", 1732},
-  {"\
-hexdump: [-bcdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n", 1733},
-  {"usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n", 1734},
+          -T [on|off] ]\n", 1730},
+  {"malloc error", 1731},
+  {"%s: bad value\n", 1732},
+  {"%s: %s not an lp device.\n", 1733},
+  {"%s status is %d", 1734},
+  {", busy", 1735},
+  {", ready", 1736},
+  {", out of paper", 1737},
+  {", on-line", 1738},
+  {", error", 1739},
+  {"LPGETIRQ error", 1740},
+  {"%s using IRQ %d\n", 1741},
+  {"%s using polling\n", 1742},
+  {"col: bad -l argument %s.\n", 1743},
+  {"usage: col [-bfpx] [-l nline]\n", 1744},
+  {"col: write error.\n", 1745},
+  {"col: warning: can't back up %s.\n", 1746},
+  {"past first line", 1747},
+  {"-- line already flushed", 1748},
+  {"usage: %s [ - ] [ -2 ] [ file ... ]\n", 1749},
+  {"line too long", 1750},
+  {"usage: column [-tx] [-c columns] [file ...]\n", 1751},
+  {"hexdump: bad length value.\n", 1752},
+  {"hexdump: bad skip value.\n", 1753},
+  {"\
+hexdump: [-bcdovx] [-e fmt] [-f fmt_file] [-n length] [-s skip] [file ...]\n", 1754},
+  {"usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n", 1755},
   {"\
 \n\
 *** %s: directory ***\n\
-\n", 1735},
+\n", 1756},
   {"\
 \n\
 ******** %s: Not a text file ********\n\
-\n", 1736},
-  {"[Use q or Q to quit]", 1737},
-  {"--More--", 1738},
-  {"(Next file: %s)", 1739},
-  {"[Press space to continue, 'q' to quit.]", 1740},
-  {"...back %d page", 1741},
-  {"...skipping %d line", 1742},
+\n", 1757},
+  {"[Use q or Q to quit]", 1758},
+  {"--More--", 1759},
+  {"(Next file: %s)", 1760},
+  {"[Press space to continue, 'q' to quit.]", 1761},
+  {"...back %d page", 1762},
+  {"...skipping %d line", 1763},
   {"\
 \n\
 ***Back***\n\
-\n", 1743},
-  {"Can't open help file", 1744},
-  {"[Press 'h' for instructions.]", 1745},
-  {"\"%s\" line %d", 1746},
-  {"[Not a file] line %d", 1747},
-  {"  Overflow\n", 1748},
-  {"...skipping\n", 1749},
-  {"Regular expression botch", 1750},
+\n", 1764},
+  {"Can't open help file", 1765},
+  {"[Press 'h' for instructions.]", 1766},
+  {"\"%s\" line %d", 1767},
+  {"[Not a file] line %d", 1768},
+  {"  Overflow\n", 1769},
+  {"...skipping\n", 1770},
+  {"Regular expression botch", 1771},
   {"\
 \n\
-Pattern not found\n", 1751},
-  {"Pattern not found", 1752},
-  {"can't fork\n", 1753},
+Pattern not found\n", 1772},
+  {"Pattern not found", 1773},
+  {"can't fork\n", 1774},
   {"\
 \n\
-...Skipping ", 1754},
-  {"...Skipping ", 1755},
-  {"to file ", 1756},
-  {"back to file ", 1757},
-  {"Line too long", 1758},
-  {"No previous command to substitute for", 1759},
-  {"od: od(1) has been deprecated for hexdump(1).\n", 1760},
-  {"od: hexdump(1) compatibility doesn't support the -%c option%s\n", 1761},
-  {"; see strings(1).", 1762},
-  {"hexdump: can't read %s.\n", 1763},
-  {"hexdump: line too long.\n", 1764},
-  {"hexdump: byte count with multiple conversion characters.\n", 1765},
-  {"hexdump: bad byte count for conversion character %s.\n", 1766},
-  {"hexdump: %%s requires a precision or a byte count.\n", 1767},
-  {"hexdump: bad format {%s}\n", 1768},
-  {"hexdump: bad conversion character %%%s.\n", 1769},
-  {"Unable to allocate bufferspace\n", 1770},
-  {"usage: rev [file ...]\n", 1771},
-  {"usage: %s [ -i ] [ -tTerm ] file...\n", 1772},
-  {"trouble reading terminfo", 1773},
-  {"Unknown escape sequence in input: %o, %o\n", 1774},
-  {"Unable to allocate buffer.\n", 1775},
-  {"Input line too long.\n", 1776},
-  {"Out of memory when growing buffer.\n", 1777},
-  {"Typematic Rate set to %.1f cps (delay = %d ms)\n", 1778},
-  {"Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n", 1779},
-  {"Cannot open /dev/port", 1780},
+...Skipping ", 1775},
+  {"...Skipping ", 1776},
+  {"to file ", 1777},
+  {"back to file ", 1778},
+  {"Line too long", 1779},
+  {"No previous command to substitute for", 1780},
+  {"od: od(1) has been deprecated for hexdump(1).\n", 1781},
+  {"od: hexdump(1) compatibility doesn't support the -%c option%s\n", 1782},
+  {"; see strings(1).", 1783},
+  {"hexdump: can't read %s.\n", 1784},
+  {"hexdump: line too long.\n", 1785},
+  {"hexdump: byte count with multiple conversion characters.\n", 1786},
+  {"hexdump: bad byte count for conversion character %s.\n", 1787},
+  {"hexdump: %%s requires a precision or a byte count.\n", 1788},
+  {"hexdump: bad format {%s}\n", 1789},
+  {"hexdump: bad conversion character %%%s.\n", 1790},
+  {"Unable to allocate bufferspace\n", 1791},
+  {"usage: rev [file ...]\n", 1792},
+  {"usage: %s [ -i ] [ -tTerm ] file...\n", 1793},
+  {"trouble reading terminfo", 1794},
+  {"Unknown escape sequence in input: %o, %o\n", 1795},
+  {"Unable to allocate buffer.\n", 1796},
+  {"Input line too long.\n", 1797},
+  {"Out of memory when growing buffer.\n", 1798},
 };
 
-int _msg_tbl_length = 1780;
+int _msg_tbl_length = 1798;
index ab7df2fdff85b4fdd4e8ec481d4c888e4214a169..98260fd87c764ebc5b451be86b5bdca71720c24a 100644 (file)
--- a/po/cs.po
+++ b/po/cs.po
@@ -40,7 +40,7 @@ msgid "Cannot open /dev/port: %s"
 msgstr "/dev/port nelze otevøít: %s"
 
 #: clock/cmos.c:577
-msgid "I failed to get permission because I didnt try.\n"
+msgid "I failed to get permission because I didn't try.\n"
 msgstr "Jeliko¾ jsem se nesna¾il, nepodaøilo se mi získat práva pro pøístup.\n"
 
 #: clock/cmos.c:580
@@ -6770,22 +6770,6 @@ msgstr "nelze 
 msgid "%s: $TERM is not defined.\n"
 msgstr "%s: promìnná TERM není nastavena.\n"
 
-#: misc-utils/tsort.c:117
-msgid "usage: tsort [ inputfile ]\n"
-msgstr "Pou¾ití: tsort [ soubor ]\n"
-
-#: misc-utils/tsort.c:154
-msgid "tsort: odd data count.\n"
-msgstr "tsort: lichý poèet uzlù\n"
-
-#: misc-utils/tsort.c:305
-msgid "tsort: cycle in data.\n"
-msgstr "tsort: smyèka v datech.\n"
-
-#: misc-utils/tsort.c:318
-msgid "tsort: internal error -- could not find cycle.\n"
-msgstr "tsort: vnitøní chyba -- smyèku nelze najít.\n"
-
 #: misc-utils/whereis.c:155
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
 msgstr "whereis [ -sbmu ] [ -SBM adresáø ... -f ] jméno...\n"
index edb08d16e38043c07dbdb0233e4da40586a66573..847b3c4f6a971064656e89d63bdb1b9b2ab5d6d0 100644 (file)
--- a/po/da.po
+++ b/po/da.po
 msgid ""
 msgstr ""
 "Project-Id-Version: util-linux 2.10r\n"
-"POT-Creation-Date: 2001-01-21 18:42+0100\n"
-"PO-Revision-Date: 2001-01-21 19:01+01:00\n"
+"POT-Creation-Date: 2001-03-11 13:38+0100\n"
+"PO-Revision-Date: 2001-03-11 14:13GMT\n"
 "Last-Translator: Claus Hindsgaul <claus_h@image.dk>\n"
 "Language-Team: Danish <dansk@klid.dk>\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Type: text/plain; charset=ISO-8859-1\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 0.7.1\n"
+"X-Generator: KBabel 0.8\n"
 
-#: clock/cmos.c:157
-msgid "booted from MILO\n"
-msgstr "startede op med MILO\n"
+#: disk-utils/blockdev.c:47
+msgid "set read-only"
+msgstr "markerer skrivebeskyttet"
 
-#: clock/cmos.c:166
-msgid "Ruffian BCD clock\n"
-msgstr "'Ruffian' BCD-ur\n"
+#: disk-utils/blockdev.c:48
+msgid "set read-write"
+msgstr "markerer skrivbar"
 
-#: clock/cmos.c:182
-#, c-format
-msgid "clockport adjusted to 0x%x\n"
-msgstr "urport justeret til 0x%x\n"
+#: disk-utils/blockdev.c:51
+msgid "get read-only"
+msgstr "få skrivebeskyttet"
 
-#: clock/cmos.c:192
-msgid "funky TOY!\n"
-msgstr "'funky TOY' (tid-på-året)!\n"
+#: disk-utils/blockdev.c:54
+msgid "get sectorsize"
+msgstr "få sektorstørrelse"
 
-#: clock/cmos.c:246
-#, c-format
-msgid "%s: atomic %s failed for 1000 iterations!"
-msgstr "%s: momentan %s mislykkedes i 1000 iterationer!"
+#: disk-utils/blockdev.c:57
+msgid "get size"
+msgstr "få størrelse"
 
-#: clock/cmos.c:570
-#, c-format
-msgid "Cannot open /dev/port: %s"
-msgstr "Kan ikke åbne /dev/port: %s"
+#: disk-utils/blockdev.c:60
+msgid "set readahead"
+msgstr "sæt fremlæsning ('readahead')"
 
-#: clock/cmos.c:577
-msgid "I failed to get permission because I didnt try.\n"
-msgstr "Jeg kunne ikke få adgang fordi jeg ikke forsøgte.\n"
+#: disk-utils/blockdev.c:63
+msgid "get readahead"
+msgstr "få fremlæsning ('readahead')"
 
-#: clock/cmos.c:580
-#, c-format
-msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
-msgstr "%s kan ikke få adgang til I/O-port: kaldet 'iopl(3)' mislykkedes.\n"
+#: disk-utils/blockdev.c:66
+msgid "flush buffers"
+msgstr "tøm buffere"
 
-#: clock/cmos.c:583
-msgid "Probably you need root privileges.\n"
-msgstr "Du behøver nok root-rettigheder.\n"
+#: disk-utils/blockdev.c:70
+msgid "reread partition table"
+msgstr "genlæs partitionstabellen"
 
-#: clock/hwclock.c:219
+#: disk-utils/blockdev.c:79
 #, c-format
-msgid "Assuming hardware clock is kept in %s time.\n"
-msgstr "Antager at maskinuret holdes i %s tid.\n"
-
-#: clock/hwclock.c:220 clock/hwclock.c:309
-msgid "UTC"
-msgstr "UTC"
+msgid "Usage: %s [-V] [-v|-q] commands devices\n"
+msgstr "Brug: %s [-V] [-v|-q] kommandoer enheder\n"
 
-#: clock/hwclock.c:220 clock/hwclock.c:308
-msgid "local"
-msgstr "lokal"
+#: disk-utils/blockdev.c:80
+msgid "Available commands:\n"
+msgstr "Tilgængelige kommandoer:\n"
 
-#: clock/hwclock.c:292
+#: disk-utils/blockdev.c:180
 #, c-format
-msgid "%s: Warning: unrecognized third line in adjtime file\n"
-msgstr "%s: Advarsel: ukendt tredie linie i adjtime-fil\n"
-
-#: clock/hwclock.c:294
-msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
-msgstr "(Forventet: 'UTC', 'LOCAL' eller ingenting.)\n"
+msgid "%s: Unknown command: %s\n"
+msgstr "%s: Ukendt kommando: %s\n"
 
-#: clock/hwclock.c:303
+#: disk-utils/blockdev.c:191
 #, c-format
-msgid "Last drift adjustment done at %d seconds after 1969\n"
-msgstr "Sidste hastighedsjustering blev gjort %d sekunder efter 1969\n"
+msgid "%s requires an argument\n"
+msgstr "%s kræver en parameter\n"
 
-#: clock/hwclock.c:305
-#, c-format
-msgid "Last calibration done at %d seconds after 1969\n"
-msgstr "Sidste kalibrering blev foretaget %d sekunder efter 1969\n"
+#: disk-utils/elvtune.c:46
+msgid "usage:\n"
+msgstr "brug:\n"
 
-#: clock/hwclock.c:307
-#, c-format
-msgid "Hardware clock is on %s time\n"
-msgstr "Maskinuret er i %s-tid\n"
+#: disk-utils/fdformat.c:36
+msgid "Formatting ... "
+msgstr "Formatterer ... "
 
-#: clock/hwclock.c:309
-msgid "unknown"
-msgstr "ukendt"
+#: disk-utils/fdformat.c:54 disk-utils/fdformat.c:89
+msgid "done\n"
+msgstr "færdig\n"
 
-#. -----------------------------------------------------------------------------
-#. Wait until the falling edge of the Hardware Clock's update flag so
-#. that any time that is read from the clock immediately after we
-#. return will be exact.
-#.
-#. The clock only has 1 second precision, so it gives the exact time only
-#. once per second, right on the falling edge of the update flag.
-#.
-#. We wait (up to one second) either blocked waiting for an rtc device
-#. or in a CPU spin loop.  The former is probably not very accurate.
-#.
-#. Return *retcode_p == 0 if it worked, nonzero if it didn't.
-#.
-#. -----------------------------------------------------------------------------
-#: clock/hwclock.c:331
-msgid "Waiting for clock tick...\n"
-msgstr "Venter på et ur-tik...\n"
+#: disk-utils/fdformat.c:65
+msgid "Verifying ... "
+msgstr "Verificerer ... "
 
-#: clock/hwclock.c:335
-msgid "...got clock tick\n"
-msgstr "...fangede ur-tik\n"
+#: disk-utils/fdformat.c:76
+msgid "Read: "
+msgstr "Læs: "
 
-#: clock/hwclock.c:386
+#: disk-utils/fdformat.c:78
 #, c-format
-msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
-msgstr "Ugyldige værdier i maskinur: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgid "Problem reading cylinder %d, expected %d, read %d\n"
+msgstr "Problem ved læsning af cylinder %d, ventede %d, læste %d\n"
 
-#: clock/hwclock.c:394
+#: disk-utils/fdformat.c:84
 #, c-format
-msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
-msgstr "Maskinur-tid: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld sekunder siden 1969\n"
+msgid ""
+"bad data in cyl %d\n"
+"Continuing ... "
+msgstr ""
+"ugyldige data i cyl %d\n"
+"Fortsætter ... "
 
-#: clock/hwclock.c:422
+#: disk-utils/fdformat.c:99
 #, c-format
-msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
-msgstr "Tid læst fra maskinuret: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgid "usage: %s [ -n ] device\n"
+msgstr "brug: %s [ -n ] enhed\n"
 
-#: clock/hwclock.c:449
+#: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1248
+#: disk-utils/isosize.c:179 disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55
+#: disk-utils/mkfs.minix.c:640 disk-utils/mkswap.c:452
+#: disk-utils/setfdprm.c:127 misc-utils/cal.c:203 misc-utils/ddate.c:181
+#: misc-utils/kill.c:188 misc-utils/rename.c:79 misc-utils/script.c:130
 #, c-format
-msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %d seconds since 1969\n"
-msgstr "Sætter maskinuret til %.2d:%.2d:%.2d = %d sekunder siden 1969\n"
-
-#: clock/hwclock.c:455
-msgid "Clock not changed - testing only.\n"
-msgstr "Uret uændret - testede kun.\n"
+msgid "%s from %s\n"
+msgstr "%s fra %s\n"
 
-#: clock/hwclock.c:503
+#: disk-utils/fdformat.c:134
 #, c-format
-msgid ""
-"Time elapsed since reference time has been %.6f seconds.\n"
-"Delaying further to reach the next full second.\n"
-msgstr ""
-"Der er gået %.6f sekunder siden referencetiden.\n"
-"Udskyder yderligere for at nå til næste hele sekund.\n"
+msgid "%s: not a floppy device\n"
+msgstr "%s: ikke et diskettedrev\n"
 
-#: clock/hwclock.c:527
-msgid ""
-"The Hardware Clock registers contain values that are either invalid (e.g. "
-"50th day of month) or beyond the range we can handle (e.g. Year 2095).\n"
-msgstr ""
-"Maskinurets registre indeholder værdier, der enten er ugyldige (f.eks. 50. "
-"dag i måneden) eller udenfor det område, vi kan håndtere (f.eks. år 2095).\n"
+#: disk-utils/fdformat.c:140
+msgid "Could not determine current format type"
+msgstr "Kunne ikke bestemme det eksisterende format"
 
-#. Address of static storage containing time string
-#. For some strange reason, ctime() is designed to include a newline
-#. character at the end.  We have to remove that.
-#.
-#. Compute display value for time
-#. Cut off trailing newline
-#: clock/hwclock.c:539
+#: disk-utils/fdformat.c:141
 #, c-format
-msgid "%s  %.6f seconds\n"
-msgstr "%s  %.6f sekunder\n"
-
-#: clock/hwclock.c:573
-msgid "No --date option specified.\n"
-msgstr "Intet --date tilvalg angivet.\n"
-
-#. Quotation marks in date_opt would ruin the date command we construct.
-#.
-#: clock/hwclock.c:578
-msgid ""
-"The value of the --date option is not a valid date.\n"
-"In particular, it contains quotation marks.\n"
-msgstr ""
-"Værdien af --date tilvalget er ikke en gyldig dato.\n"
-"Mere specifikt, indeholder den anførselstegn.\n"
+msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
+msgstr "%s-sidet, %d spor, %d sekt/spor. Samlet kapacitet %d kB.\n"
 
-#: clock/hwclock.c:584
-#, c-format
-msgid "Issuing date command: %s\n"
-msgstr "Udfører 'date'-kommandoen: %s\n"
+#: disk-utils/fdformat.c:142
+msgid "Double"
+msgstr "Dobbelt"
 
-#: clock/hwclock.c:588
-msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
-msgstr "Kunne ikke køre 'date'-programmet i /bin/sh skallen. popen() mislykkedes"
+#: disk-utils/fdformat.c:142
+msgid "Single"
+msgstr "Enkelt"
 
-#: clock/hwclock.c:594
+#: disk-utils/fsck.minix.c:197
 #, c-format
-msgid "response from date command = %s\n"
-msgstr "svar fra 'date'-kommandoen = %s\n"
+msgid "Usage: %s [-larvsmf] /dev/name\n"
+msgstr "Brug: %s [-larvsmf] /dev/navn\n"
 
-#: clock/hwclock.c:596
+#: disk-utils/fsck.minix.c:296
 #, c-format
-msgid ""
-"The date command issued by %s returned unexpected results.\n"
-"The command was:\n"
-"  %s\n"
-"The response was:\n"
-"  %s\n"
-msgstr ""
-"'date'-kommandoen sendt af %s returnerede uventede resultater.\n"
-"Kommandoen var:\n"
-"  %s\n"
-"Svaret var:\n"
-"  %s\n"
+msgid "%s is mounted.\t "
+msgstr "%s er monteret.\t "
 
-#: clock/hwclock.c:605
-#, c-format
-msgid ""
-"The date command issued by %s returned something other than an integer where "
-"the converted time value was expected.\n"
-"The command was:\n"
-"  %s\n"
-"The response was:\n"
-" %s\n"
-msgstr ""
-"'date'-kommandoen sendt af %s returnerede noget andet end et heltal, hvor "
-"den konverterede tid forventedes.\n"
-"Kommandoen var:\n"
-"  %s\n"
-"Svaret var:\n"
-"  %s\n"
+#: disk-utils/fsck.minix.c:298
+msgid "Do you really want to continue"
+msgstr "Vil du virkelig fortsætte"
 
-#: clock/hwclock.c:615
-#, c-format
-msgid "date string %s equates to %d seconds since 1969.\n"
-msgstr "Datoteksten %s svarer til %d sekunder siden 1969.\n"
+#: disk-utils/fsck.minix.c:302
+msgid "check aborted.\n"
+msgstr "tjek afbrudt.\n"
 
-#: clock/hwclock.c:647
-msgid ""
-"The Hardware Clock does not contain a valid time, so we cannot set the "
-"System Time from it.\n"
-msgstr ""
-"Maskinuret indeholder ikke en gyldig tid, så vi kan ikke sætte systemuret "
-"med det.\n"
+#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
+msgid "Zone nr < FIRSTZONE in file `"
+msgstr "Zone nr < FIRSTZONE i filen '"
 
-#: clock/hwclock.c:669
-msgid "Calling settimeofday:\n"
-msgstr "Kalder 'settimeofday':\n"
+#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:341
+msgid "Zone nr >= ZONES in file `"
+msgstr "Zone nr >= ZONES i filen '"
 
-#: clock/hwclock.c:670
-#, c-format
-msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
-msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+#: disk-utils/fsck.minix.c:326 disk-utils/fsck.minix.c:346
+msgid "Remove block"
+msgstr "Fjern blok"
 
-#: clock/hwclock.c:672
-#, c-format
-msgid "\ttz.tz_minuteswest = %d\n"
-msgstr "\ttz.tz_minuteswest = %d\n"
+#: disk-utils/fsck.minix.c:364
+msgid "Read error: unable to seek to block in file '"
+msgstr "Læsefejl: kunne ikke søge til blok i filen '"
 
-#: clock/hwclock.c:675
-msgid "Not setting system clock because running in test mode.\n"
-msgstr "Sætter ikke systemuret, da der køres i testtilstand.\n"
-
-#: clock/hwclock.c:683
-msgid "Must be superuser to set system clock.\n"
-msgstr "Skal være superbruger for at sætte systemuret.\n"
-
-#: clock/hwclock.c:685
-msgid "settimeofday() failed"
-msgstr "settimeofday() mislykkedes"
+#: disk-utils/fsck.minix.c:370
+msgid "Read error: bad block in file '"
+msgstr "Læsefejl: ugyldig blok i filen '"
 
-#: clock/hwclock.c:718
+#: disk-utils/fsck.minix.c:386
 msgid ""
-"Not adjusting drift factor because the Hardware Clock previously contained "
-"garbage.\n"
+"Internal error: trying to write bad block\n"
+"Write request ignored\n"
 msgstr ""
-"Justerede ikke hastighedsfaktoren, da maskinuret tidligere havde en ugyldig "
-"værdi.\n"
+"Intern fejl: forsøger at skrive ugyldig blok\n"
+"Skriveforsøg ignoreret\n"
 
-#: clock/hwclock.c:722
-msgid ""
-"Not adjusting drift factor because it has been less than a day since the "
-"last calibration.\n"
-msgstr ""
-"Justerede ikke hastighedsfaktoren, da det er mindre en et døgn siden sidste "
-"kalibrering.\n"
+#: disk-utils/fsck.minix.c:392 disk-utils/mkfs.minix.c:283
+msgid "seek failed in write_block"
+msgstr "søgning mislykkedes i write_block"
 
-#: clock/hwclock.c:731
-#, c-format
-msgid ""
-"Clock drifted %d seconds in the past %d seconds in spite of a drift factor "
-"of %f seconds/day.\n"
-"Adjusting drift factor by %f seconds/day\n"
-msgstr ""
-"Uret drev %d sekunder i løbet af de sidste %d sekunder på trods af en "
-"hastighedsfaktor på %f sekunder/døgn.\n"
-"Justerer hastighedsfaktoren med %f sekunder/døgn\n"
+#: disk-utils/fsck.minix.c:394
+msgid "Write error: bad block in file '"
+msgstr "Skrivefejl: ugyldig blok i fil '"
 
-#: clock/hwclock.c:782
-#, c-format
-msgid "Time since last adjustment is %d seconds\n"
-msgstr "%d sekunder siden sidste justering\n"
+#: disk-utils/fsck.minix.c:513
+msgid "seek failed in write_super_block"
+msgstr "søgning mislykkedes i write_super_block"
 
-#: clock/hwclock.c:784
-#, c-format
-msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
-msgstr "Skal indsætte %d sekunder og stille uret %.6f sekunder tilbage\n"
+#: disk-utils/fsck.minix.c:515 disk-utils/mkfs.minix.c:270
+msgid "unable to write super-block"
+msgstr "kunne ikke skrive super-blok"
 
-#: clock/hwclock.c:813
-msgid "Not updating adjtime file because of testing mode.\n"
-msgstr "Opdaterer ikke adjtime-filen, da der køres i testtilstand.\n"
+#: disk-utils/fsck.minix.c:525
+msgid "Unable to write inode map"
+msgstr "Kunne ikke skrive inode-oversigten"
 
-#: clock/hwclock.c:814
-#, c-format
-msgid ""
-"Would have written the following to %s:\n"
-"%s"
-msgstr ""
-"Ville have skrevet følgende til %s:\n"
-"%s"
+#: disk-utils/fsck.minix.c:527
+msgid "Unable to write zone map"
+msgstr "Kunne ikke skrive zone-oversigten"
 
-#: clock/hwclock.c:838
-msgid "Drift adjustment parameters not updated.\n"
-msgstr "Hastighedsjusteringen blev ikke opdateret.\n"
+#: disk-utils/fsck.minix.c:529
+msgid "Unable to write inodes"
+msgstr "Kunne ikke skrive inodes"
 
-#: clock/hwclock.c:879
-msgid "The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
-msgstr "Maskinuret indeholder ikke en gyldig tid, så vi kan ikke justere det.\n"
+#: disk-utils/fsck.minix.c:558
+msgid "seek failed"
+msgstr "søgning fejlede"
 
-#: clock/hwclock.c:903
-msgid "Needed adjustment is less than one second, so not setting clock.\n"
-msgstr "Den krævede justering er mindre end eet sekund, så vi sætter ikke uret.\n"
+#: disk-utils/fsck.minix.c:560
+msgid "unable to read super block"
+msgstr "kunne ikke læse super-blok"
 
-#: clock/hwclock.c:929
-#, c-format
-msgid "Using %s.\n"
-msgstr "Bruger %s.\n"
+#: disk-utils/fsck.minix.c:580
+msgid "bad magic number in super-block"
+msgstr "ugyldigt magisk nummer i super-blok"
 
-#: clock/hwclock.c:931
-msgid "No usable clock interface found.\n"
-msgstr "Fandt ingen brugbare ur-grænseflader.\n"
+#: disk-utils/fsck.minix.c:582
+msgid "Only 1k blocks/zones supported"
+msgstr "Kun 1k blokke/zoner understøttes"
 
-#: clock/hwclock.c:1026
-msgid "Unable to set system clock.\n"
-msgstr "Kunne ikke sætte systemuret.\n"
+#: disk-utils/fsck.minix.c:584
+msgid "bad s_imap_blocks field in super-block"
+msgstr "ugyldigt s_imap_blocks-felt i super-blok"
 
-#: clock/hwclock.c:1055
-msgid ""
-"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
-"machine.\n"
-"This copy of hwclock was built for a machine other than Alpha\n"
-"(and thus is presumably not running on an Alpha now).  No action taken.\n"
-msgstr ""
-"Kernen holder en epokeværdi for maskinuret på Alpha-maskiner\n"
-"Denne kopi af hwclock blev kompileret til en anden maskine end Alpha\n"
-"(og kører derfor sansynligvis ikke på en Alpha nu). Intet blev gjort.\n"
+#: disk-utils/fsck.minix.c:586
+msgid "bad s_zmap_blocks field in super-block"
+msgstr "ugyldigt s_zmap_blocks-felt i super-blok"
 
-#: clock/hwclock.c:1064
-msgid "Unable to get the epoch value from the kernel.\n"
-msgstr "Kunne ikke hente en epokeværdi fra kernen.\n"
+#: disk-utils/fsck.minix.c:593
+msgid "Unable to allocate buffer for inode map"
+msgstr "Kunne ikke allokere buffer til inode-oversigt"
+
+#: disk-utils/fsck.minix.c:601
+msgid "Unable to allocate buffer for inodes"
+msgstr "Kunne ikke allokere buffer til inodes"
+
+#: disk-utils/fsck.minix.c:604
+msgid "Unable to allocate buffer for inode count"
+msgstr "Kunne ikke allokere buffer til inode-optælling"
+
+#: disk-utils/fsck.minix.c:607
+msgid "Unable to allocate buffer for zone count"
+msgstr "Kunne ikke allokere buffer til zoneoptælling"
+
+#: disk-utils/fsck.minix.c:609
+msgid "Unable to read inode map"
+msgstr "Kunne ikke læse inode-oversigt"
+
+#: disk-utils/fsck.minix.c:611
+msgid "Unable to read zone map"
+msgstr "Kunne ikke læse zoneoversigt"
+
+#: disk-utils/fsck.minix.c:613
+msgid "Unable to read inodes"
+msgstr "Kunne ikke læse inodes"
+
+#: disk-utils/fsck.minix.c:615
+msgid "Warning: Firstzone != Norm_firstzone\n"
+msgstr "Advarsel: Firstzone != Norm_firstzone\n"
 
-#: clock/hwclock.c:1066
+#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:524
 #, c-format
-msgid "Kernel is assuming an epoch value of %lu\n"
-msgstr "Kernen går ud fra en epokeværdi på %lu\n"
+msgid "%ld inodes\n"
+msgstr "%ld inodes\n"
 
-#: clock/hwclock.c:1069
-msgid ""
-"To set the epoch value, you must use the 'epoch' option to tell to what "
-"value to set it.\n"
-msgstr ""
-"For at sætte epokeværdien, skal du bruge tilvalget 'epoch' for at angive "
-"hvilken værdi, den skal sættes til\n"
+#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:525
+#, c-format
+msgid "%ld blocks\n"
+msgstr "%ld blokke\n"
 
-#: clock/hwclock.c:1072
+#: disk-utils/fsck.minix.c:622 disk-utils/mkfs.minix.c:526
 #, c-format
-msgid "Not setting the epoch to %d - testing only.\n"
-msgstr "Sætter IKKE epokeværdien til %d - tester bare.\n"
+msgid "Firstdatazone=%ld (%ld)\n"
+msgstr "Firstdatazone=%ld (%ld)\n"
 
-#: clock/hwclock.c:1075
-msgid "Unable to set the epoch value in the kernel.\n"
-msgstr "Kunne ikke sætte epokeværdien i kernen.\n"
+#: disk-utils/fsck.minix.c:623 disk-utils/mkfs.minix.c:527
+#, c-format
+msgid "Zonesize=%d\n"
+msgstr "Zonesize=%d\n"
+
+#: disk-utils/fsck.minix.c:624
+#, c-format
+msgid "Maxsize=%ld\n"
+msgstr "Maxsize=%ld\n"
+
+#: disk-utils/fsck.minix.c:625
+#, c-format
+msgid "Filesystem state=%d\n"
+msgstr "Filesystem state=%d\n"
 
-#: clock/hwclock.c:1104
+#: disk-utils/fsck.minix.c:626
 #, c-format
 msgid ""
-"hwclock - query and set the hardware clock (RTC)\n"
-"\n"
-"Usage: hwclock [function] [options...]\n"
-"\n"
-"Functions:\n"
-"  --help        show this help\n"
-"  --show        read hardware clock and print result\n"
-"  --set         set the rtc to the time given with --date\n"
-"  --hctosys     set the system time from the hardware clock\n"
-"  --systohc     set the hardware clock to the current system time\n"
-"  --adjust      adjust the rtc to account for systematic drift since \n"
-"                the clock was last set or adjusted\n"
-"  --getepoch    print out the kernel's hardware clock epoch value\n"
-"  --setepoch    set the kernel's hardware clock epoch value to the \n"
-"                value given with --epoch\n"
-"  --version     print out the version of hwclock to stdout\n"
+"namelen=%d\n"
 "\n"
-"Options: \n"
-"  --utc         the hardware clock is kept in coordinated universal time\n"
-"  --localtime   the hardware clock is kept in local time\n"
-"  --directisa   access the ISA bus directly instead of %s\n"
-"  --badyear     ignore rtc's year because the bios is broken\n"
-"  --date        specifies the time to which to set the hardware clock\n"
-"  --epoch=year  specifies the year which is the beginning of the \n"
-"                hardware clock's epoch value\n"
 msgstr ""
-"hwclock - læs og sæt maskinuret (RTC)\n"
-"\n"
-"Brug: hwclock [funktion] [tilvalg...]\n"
-"\n"
-"Funktioner:\n"
-"  --help        vis denne hjælp\n"
-"  --show        aflæs maskinuret og vis resultatet\n"
-"  --set         sæt uret til tiden angivet med --date\n"
-"  --hctosys     sæt systemuret til maskinurets tid\n"
-"  --systohc     sæt maskinuret til systemurets tid\n"
-"  --adjust      kalibrér systemuret, så det tager højde for systematisk\n"
-"                hastighedsfejl siden uret sidst blev sat eller justeret\n"
-"  --getepoch    vis kernens epokeværdi for maskinuret\n"
-"  --setepoch    sæt epokeværdien for kernens maskinur til den værdi,\n"
-"                der angives med --epoch\n"
-"  --version     udlæs hwclock's version til standard-ud\n"
+"namelen=%d\n"
 "\n"
-"Tilvalg: \n"
-"  --utc         maskinuret holdes i koordineret universel tid\n"
-"  --localtime   maskinuret holdes i lokal tid\n"
-"  --directisa   tilgå ISA-bussen direkte i stedet for %s\n"
-"  --badyear     igorér maskinurets årstal, da bios'en er fejlbehæftet\n"
-"  --date        angiver tiden, som maskinuret skal sættes til\n"
-"  --epoch=år    angiver det år, som er begyndelsen på maskinurets\n"
-"                epokeværdi\n"
-
-#: clock/hwclock.c:1129
-msgid ""
-"  --jensen, --arc, --srm, --funky-toy\n"
-"                tell hwclock the type of alpha you have (see hwclock(8))\n"
-msgstr ""
-"  --jensen, --arc, --srm, --funky-toy\n"
-"                angiv hvilken slags alpha du har (se hwclock(8))\n"
 
-#: clock/hwclock.c:1227
+#: disk-utils/fsck.minix.c:640 disk-utils/fsck.minix.c:691
 #, c-format
-msgid "%s takes no non-option arguments.  You supplied %d.\n"
-msgstr "%s accepterer ingen parametre. Du angav parametren %d.\n"
+msgid "Inode %d marked not used, but used for file '"
+msgstr "Inode %d er markeret som ubrugt, men bruges af filen '"
 
-#: clock/hwclock.c:1237
-msgid ""
-"You have specified multiple function options.\n"
-"You can only perform one function at a time.\n"
-msgstr ""
-"Du har angivet flere funktionstilvalg.\n"
-"Du kan kun udføre én funktion ad gangen.\n"
+#: disk-utils/fsck.minix.c:645 disk-utils/fsck.minix.c:695
+msgid "Mark in use"
+msgstr "Markér i brug"
 
-#: clock/hwclock.c:1243
+#: disk-utils/fsck.minix.c:667 disk-utils/fsck.minix.c:715
 #, c-format
-msgid ""
-"%s: The --utc and --localtime options are mutually exclusive.  You specified "
-"both.\n"
-msgstr "%s: Tilvalgene --utc og --localtime udelukker hinanden. Du angav begge.\n"
-
-#: clock/hwclock.c:1256
-msgid "No usable set-to time.  Cannot set clock.\n"
-msgstr "Ingen brugbar set-til-tid. Kan ikke sætte uret.\n"
+msgid " has mode %05o\n"
+msgstr " har modus %05o\n"
 
-#: clock/hwclock.c:1271
-msgid "Sorry, only the superuser can change the Hardware Clock.\n"
-msgstr "Beklager, kun superbrugeren kan ændre maskinuret.\n"
+#: disk-utils/fsck.minix.c:673 disk-utils/fsck.minix.c:720
+msgid "Warning: inode count too big.\n"
+msgstr "Advarsel: inode-optælling for stor.\n"
 
-#: clock/hwclock.c:1275
-msgid "Sorry, only the superuser can change the System Clock.\n"
-msgstr "Beklager, kun superbrugeren kan ændre systemuret.\n"
+#: disk-utils/fsck.minix.c:733
+msgid "root inode isn't a directory"
+msgstr "rod-inode er ikke et katalog"
 
-#: clock/hwclock.c:1279
-msgid ""
-"Sorry, only the superuser can change the Hardware Clock epoch in the "
-"kernel.\n"
-msgstr "Beklager, kun superbrugeren kan ændre maskinurets epokeværdi i kernen.\n"
+#: disk-utils/fsck.minix.c:756 disk-utils/fsck.minix.c:790
+msgid "Block has been used before. Now in file `"
+msgstr "Blokke blev brugt tidligere. Nu i filen '"
 
-#: clock/hwclock.c:1299
-msgid "Cannot access the Hardware Clock via any known method.\n"
-msgstr "Kan ikke tilgå maskinuret med nogen kendt metode.\n"
+#: disk-utils/fsck.minix.c:759 disk-utils/fsck.minix.c:793
+#: disk-utils/fsck.minix.c:1115 disk-utils/fsck.minix.c:1124
+#: disk-utils/fsck.minix.c:1167 disk-utils/fsck.minix.c:1176
+msgid "Clear"
+msgstr "Slet"
 
-#: clock/hwclock.c:1302
-msgid ""
-"Use the --debug option to see the details of our search for an access "
-"method.\n"
-msgstr ""
-"Benyt tilvalget --debug for at se detaljerne fra vores søgning efter en "
-"tilgangsmetode.\n"
+#: disk-utils/fsck.minix.c:768 disk-utils/fsck.minix.c:802
+#, c-format
+msgid "Block %d in file `"
+msgstr "Blok %d i filen '"
 
-#: clock/kd.c:41
-msgid "Waiting in loop for time from KDGHWCLK to change\n"
-msgstr "Venter i en løkke for at tiden fra KDGHWCLK ændres\n"
+#: disk-utils/fsck.minix.c:770 disk-utils/fsck.minix.c:804
+msgid "' is marked not in use."
+msgstr "' er markeret som ubrugt."
 
-#: clock/kd.c:44
-msgid "KDGHWCLK ioctl to read time failed"
-msgstr "KDGHWCLK ioctl for at aflæse tiden mislykkedes"
+#: disk-utils/fsck.minix.c:771 disk-utils/fsck.minix.c:805
+msgid "Correct"
+msgstr "Korrigér"
 
-#: clock/kd.c:65 clock/rtc.c:151
-msgid "Timed out waiting for time change.\n"
-msgstr "Tidsudløb mens der ventedes på tidsændring.\n"
+#: disk-utils/fsck.minix.c:951 disk-utils/fsck.minix.c:1014
+msgid " contains a bad inode number for file '"
+msgstr " indeholder forkert inode-antal for filen '"
 
-#: clock/kd.c:69
-msgid "KDGHWCLK ioctl to read time failed in loop"
-msgstr "KDGHWCLK ioctl for at aflæse tiden mislykkedes i løkke"
+#: disk-utils/fsck.minix.c:953 disk-utils/fsck.minix.c:1016
+msgid " Remove"
+msgstr " Fjern"
 
-#: clock/kd.c:91
-msgid "ioctl() failed to read time from  /dev/tty1"
-msgstr "ioctl() kunne ikke aflæse tiden fra /dev/tty1"
+#: disk-utils/fsck.minix.c:967 disk-utils/fsck.minix.c:1030
+msgid ": bad directory: '.' isn't first\n"
+msgstr ": ugyldigt katalog: '.' er ikke først\n"
 
-#: clock/kd.c:127
-msgid "ioctl() to open /dev/tty1 failed"
-msgstr "ioctl() for at åbne /dev/tty1 mislykkedes"
+#: disk-utils/fsck.minix.c:974 disk-utils/fsck.minix.c:1038
+msgid ": bad directory: '..' isn't second\n"
+msgstr ": ugyldigt katalog: ',.' er ikke nummer to\n"
 
-#: clock/kd.c:157
-msgid "KDGHWCLK ioctl failed"
-msgstr "KDGHWCLK ioctl mislykkedes"
+#: disk-utils/fsck.minix.c:1070
+msgid "internal error"
+msgstr "intern fejl"
 
-#: clock/kd.c:163
-msgid "Can't open /dev/tty1"
-msgstr "Kunne ikke åbne /dev/tty1"
+#: disk-utils/fsck.minix.c:1073
+msgid ": bad directory: size<32"
+msgstr ": ugyldigt katalog: størrelse < 32"
 
-#: clock/rtc.c:105
-#, c-format
-msgid "ioctl() to %s to read the time failed.\n"
-msgstr "ioctl() til %s for at aflæse tiden mislykkedes.\n"
+#: disk-utils/fsck.minix.c:1091
+msgid ": bad directory: size < 32"
+msgstr ": ugyldigt katalog: størrelse < 32"
+
+#: disk-utils/fsck.minix.c:1104
+msgid "seek failed in bad_zone"
+msgstr "mislykket søgning i bad_zone"
 
-#: clock/rtc.c:136
+#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1166
 #, c-format
-msgid "Waiting in loop for time from %s to change\n"
-msgstr "Venter i løkke på at tiden fra %s ændres\n"
+msgid "Inode %d mode not cleared."
+msgstr "Inode %d modus ikke slettet."
 
-#: clock/rtc.c:172 clock/rtc.c:229
+#: disk-utils/fsck.minix.c:1123 disk-utils/fsck.minix.c:1175
 #, c-format
-msgid "open() of %s failed"
-msgstr "open() af %s mislykkedes"
+msgid "Inode %d not used, marked used in the bitmap."
+msgstr "Inode %d ikke brugt, markeret som brugt i bitoversigten."
 
-#: clock/rtc.c:190
+#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1181
 #, c-format
-msgid "%s does not have interrupt functions. "
-msgstr "%s har ingen interrupt-funktioner. "
+msgid "Inode %d used, marked unused in the bitmap."
+msgstr "Inode %d i brug, markeret som ubrugt i bitoversigten."
 
-#: clock/rtc.c:198
+#: disk-utils/fsck.minix.c:1135 disk-utils/fsck.minix.c:1186
 #, c-format
-msgid "read() to %s to wait for clock tick failed"
-msgstr "read() af %s for at vente på en ur-tik mislykkedes"
+msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
+msgstr "Inode %d (modus = %07o), i_nlinks=%d, optalt=%d."
+
+#: disk-utils/fsck.minix.c:1137 disk-utils/fsck.minix.c:1188
+msgid "Set i_nlinks to count"
+msgstr "Sæt i_nlinks til det optalte"
 
-#: clock/rtc.c:206
+#: disk-utils/fsck.minix.c:1149 disk-utils/fsck.minix.c:1200
 #, c-format
-msgid "ioctl() to %s to turn off update interrupts failed"
-msgstr "ioctl() til %s for at afbryde opdaterings-interrupts mislykkedes"
+msgid "Zone %d: marked in use, no file uses it."
+msgstr "Zone %d: markeret som brugt, ingen filer bruger den."
+
+#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1201
+msgid "Unmark"
+msgstr "Afmarkér"
 
-#: clock/rtc.c:209
+#: disk-utils/fsck.minix.c:1154 disk-utils/fsck.minix.c:1205
 #, c-format
-msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
-msgstr "ioctl() til %s for at afbryde opdaterings-interrupts mislykkedes uventet"
+msgid "Zone %d: %sin use, counted=%d\n"
+msgstr "Zone %d: %si brug, optalt=%d\n"
+
+#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1206
+msgid "not "
+msgstr "ikke "
+
+#: disk-utils/fsck.minix.c:1182
+msgid "Set"
+msgstr "Sæt"
 
-#: clock/rtc.c:252 clock/rtc.c:331 clock/rtc.c:376
+#: disk-utils/fsck.minix.c:1253 disk-utils/mkfs.minix.c:645
+#: disk-utils/mkfs.minix.c:648
+msgid "bad inode size"
+msgstr "ugyldig inode-størrelse"
+
+#: disk-utils/fsck.minix.c:1256
+msgid "bad v2 inode size"
+msgstr "ugyldig v2 inode-størrelse"
+
+#: disk-utils/fsck.minix.c:1282
+msgid "need terminal for interactive repairs"
+msgstr "kræver terminal til interaktive reparationer"
+
+#: disk-utils/fsck.minix.c:1286
 #, c-format
-msgid "Unable to open %s"
-msgstr "Kunne ikke åbne %s"
+msgid "unable to open '%s'"
+msgstr "kunne ikke åbne '%s'"
 
-#: clock/rtc.c:275
+#: disk-utils/fsck.minix.c:1301
 #, c-format
-msgid "ioctl() to %s to set the time failed.\n"
-msgstr "ioctl() til %s for at sætte tiden mislykkedes.\n"
+msgid "%s is clean, no check.\n"
+msgstr "%s er i orden, tjekkes ikke.\n"
 
-#: clock/rtc.c:279
+#: disk-utils/fsck.minix.c:1305
 #, c-format
-msgid "ioctl(%s) was successful.\n"
-msgstr "ioctl(%s) lykkedes.\n"
+msgid "Forcing filesystem check on %s.\n"
+msgstr "Gennemtvinger tjek af filsystem på %s.\n"
 
-#: clock/rtc.c:309
+#: disk-utils/fsck.minix.c:1307
 #, c-format
-msgid "Open of %s failed"
-msgstr "Åbning af %s mislykkedes"
+msgid "Filesystem on %s is dirty, needs checking.\n"
+msgstr "Filsystem på %s er måske ikke i orden, kræver et tjek.\n"
 
-#: clock/rtc.c:327 clock/rtc.c:372
+#: disk-utils/fsck.minix.c:1336
+msgid ""
+"\n"
+"%6ld inodes used (%ld%%)\n"
+msgstr ""
+"\n"
+"%6ld inodes brugt (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1341
+msgid "%6ld zones used (%ld%%)\n"
+msgstr "%6ld zoner brugt (%ld%%)\n"
+
+#: disk-utils/fsck.minix.c:1343
 #, c-format
 msgid ""
-"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
-"device driver via the device special file %s.  This file does not exist on "
-"this system.\n"
+"\n"
+"%6d regular files\n"
+"%6d directories\n"
+"%6d character device files\n"
+"%6d block device files\n"
+"%6d links\n"
+"%6d symbolic links\n"
+"------\n"
+"%6d files\n"
 msgstr ""
-"For at manipulere epokeværdien i kernen, skal vi have adgang til Linux's "
-"maskinursenhed via enhedsspecialfilen '%s'. Denne fil eksisterer ikke på "
-"dette system.\n"
+"\n"
+"%6d regulære filer\n"
+"%6d kataloger\n"
+"%6d tegn-enheds filer\n"
+"%6d blok-enheds filer\n"
+"%6d lænker\n"
+"%6d symbolske lænker\n"
+"------\n"
+"%6d filer\n"
+
+#: disk-utils/fsck.minix.c:1356
+msgid ""
+"----------------------------\n"
+"FILE SYSTEM HAS BEEN CHANGED\n"
+"----------------------------\n"
+msgstr ""
+"--------------------------\n"
+"FILSYSTEM BLEV MODIFICERET\n"
+"--------------------------\n"
 
-#: clock/rtc.c:338
+#: disk-utils/isosize.c:129
 #, c-format
-msgid "ioctl(RTC_EPOCH_READ) to %s failed"
-msgstr "ioctl(RTC_EPOCH_READ) til %s mislykkedes"
+msgid "%s: failed to open: %s\n"
+msgstr "%s: Kunne ikke åbne: %s\n"
 
-#: clock/rtc.c:344
+#: disk-utils/isosize.c:135
 #, c-format
-msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
-msgstr "vi har aflæst epokeværdi %ld fra %s med RTC_EPOCH_READ ioctl.\n"
+msgid "%s: seek error on %s\n"
+msgstr "%s: søgefejl på %s\n"
 
-#. kernel would not accept this epoch value
-#. Hmm - bad habit, deciding not to do what the user asks
-#. just because one believes that the kernel might not like it.
-#: clock/rtc.c:364
+#: disk-utils/isosize.c:141
 #, c-format
-msgid "The epoch value may not be less than 1900.  You requested %ld\n"
-msgstr "Epokeværdien må ikke være mindre end 1900. Du bad om %ld\n"
+msgid "%s: read error on %s\n"
+msgstr "%s: læsefejl på %s\n"
 
-#: clock/rtc.c:381
+#: disk-utils/isosize.c:150
 #, c-format
-msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
-msgstr "sætter epokeværdien til %ld med en RTC_EPOCH_SET ioctl til %s.\n"
+msgid "sector count: %d, sector size: %d\n"
+msgstr "sektorantal: %d, sektorstørrelse: %d\n"
 
-#: clock/rtc.c:386
+#: disk-utils/isosize.c:198
 #, c-format
-msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
-msgstr "Kernens enheds-driver for %s har ikke en RTC_EPOCH_SET ioctl.\n"
+msgid "%s: option parse error\n"
+msgstr "%s: Fortolkerfejl ved tilvalg\n"
 
-#: clock/rtc.c:389
+#: disk-utils/isosize.c:206
 #, c-format
-msgid "ioctl(RTC_EPOCH_SET) to %s failed"
-msgstr "ioctl(RTC_EPOCH_SET) til %s mislykkedes"
+msgid "Usage: %s [-x] [-d <num>] iso9660-image\n"
+msgstr "Brug: %s [-x] [-d <antal>] iso9660-billede\n"
 
-#: clock/shhopt.c:255 clock/shhopt.c:281
+#: disk-utils/mkfs.bfs.c:88
 #, c-format
-msgid "invalid number `%s'\n"
-msgstr "Ugyldigt tal '%s'\n"
+msgid ""
+"Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
+"       [-F fsname] device [block-count]\n"
+msgstr ""
+"Brug:  %s [-v] [-N antal-inodes] [-V bind-navn]\n"
+"       [-F fsnavn] enhed [antal-blokke]\n"
+
+#: disk-utils/mkfs.bfs.c:135
+msgid "volume name too long"
+msgstr "bind-navn for langt"
+
+#: disk-utils/mkfs.bfs.c:142
+msgid "fsname name too long"
+msgstr "fsnavn for langt"
 
-#: clock/shhopt.c:258 clock/shhopt.c:284
+#: disk-utils/mkfs.bfs.c:167
 #, c-format
-msgid "number `%s' to `%s' out of range\n"
-msgstr "tallet '%s' til '%s' er ikke i det gyldige område\n"
+msgid "cannot stat device %s"
+msgstr "kunne ikke finde enheden %s"
 
-#: clock/shhopt.c:398
+#: disk-utils/mkfs.bfs.c:171
 #, c-format
-msgid "unrecognized option `%s'\n"
-msgstr "ukendt tilvalg '%s'\n"
+msgid "%s is not a block special device"
+msgstr "%s er ikke en blokenhed"
 
-#: clock/shhopt.c:411 clock/shhopt.c:449
+#: disk-utils/mkfs.bfs.c:176
 #, c-format
-msgid "option `%s' requires an argument\n"
-msgstr "tilvalget '%s' kræver en parameter\n"
+msgid "cannot open %s"
+msgstr "kunne ikke åbne %s"
 
-#: clock/shhopt.c:417
+#: disk-utils/mkfs.bfs.c:187
 #, c-format
-msgid "option `%s' doesn't allow an argument\n"
-msgstr "tilvalget '%s' tillader ikke en parameter\n"
+msgid "cannot get size of %s"
+msgstr "Kan ikke få størrelsen af %s"
 
-#: clock/shhopt.c:439
+#: disk-utils/mkfs.bfs.c:192
 #, c-format
-msgid "unrecognized option `-%c'\n"
-msgstr "ukendt tilvalg '-%c'\n"
-
-#: disk-utils/blockdev.c:47
-msgid "set read-only"
-msgstr "markerer skrivebeskyttet"
-
-#: disk-utils/blockdev.c:48
-msgid "set read-write"
-msgstr "markerer skrivbar"
-
-#: disk-utils/blockdev.c:51
-msgid "get read-only"
-msgstr "få skrivebeskyttet"
+msgid "blocks argument too large, max is %lu"
+msgstr "for mange blokke angivet, øvre grænse er %lu"
 
-#: disk-utils/blockdev.c:54
-msgid "get sectorsize"
-msgstr "få sektorstørrelse"
+#: disk-utils/mkfs.bfs.c:207
+msgid "too many inodes - max is 512"
+msgstr "for mange inodes - øvre grænse er 512"
 
-#: disk-utils/blockdev.c:57
-msgid "get size"
-msgstr "få størrelse"
+#: disk-utils/mkfs.bfs.c:216
+#, c-format
+msgid "not enough space, need at least %lu blocks"
+msgstr "ikke plads nok, kræver mindst %lu blokke"
 
-#: disk-utils/blockdev.c:60
-msgid "set readahead"
-msgstr "sæt fremlæsning ('readahead')"
+#: disk-utils/mkfs.bfs.c:228 fdisk/fdisk.c:1930
+#, c-format
+msgid "Device: %s\n"
+msgstr "Enhed: %s\n"
 
-#: disk-utils/blockdev.c:63
-msgid "get readahead"
-msgstr "få fremlæsning ('readahead')"
+#: disk-utils/mkfs.bfs.c:229
+#, c-format
+msgid "Volume: <%-6s>\n"
+msgstr "Bind: <%-6s>\n"
 
-#: disk-utils/blockdev.c:66
-msgid "flush buffers"
-msgstr "tøm buffere"
+#: disk-utils/mkfs.bfs.c:230
+#, c-format
+msgid "FSname: <%-6s>\n"
+msgstr "FSnavn: <%-6s>\n"
 
-#: disk-utils/blockdev.c:70
-msgid "reread partition table"
-msgstr "genlæs partitionstabellen"
+#: disk-utils/mkfs.bfs.c:231
+#, c-format
+msgid "BlockSize: %d\n"
+msgstr "Blokstørrelse: %d\n"
 
-#: disk-utils/blockdev.c:79
+#: disk-utils/mkfs.bfs.c:233
 #, c-format
-msgid "Usage: %s [-V] [-v|-q] commands devices\n"
-msgstr "Brug: %s [-V] [-v|-q] kommandoer enheder\n"
+msgid "Inodes: %d (in 1 block)\n"
+msgstr "Inodes: %d (i en blok)\n"
 
-#: disk-utils/blockdev.c:80
-msgid "Available commands:\n"
-msgstr "Tilgængelige kommandoer:\n"
+#: disk-utils/mkfs.bfs.c:236
+#, c-format
+msgid "Inodes: %d (in %ld blocks)\n"
+msgstr "Inodes: %d (i %ld blokke)\n"
 
-#: disk-utils/blockdev.c:180
+#: disk-utils/mkfs.bfs.c:238
 #, c-format
-msgid "%s: Unknown command: %s\n"
-msgstr "%s: Ukendt kommando: %s\n"
+msgid "Blocks: %ld\n"
+msgstr "Blokke: %ld\n"
 
-#: disk-utils/blockdev.c:191
+#: disk-utils/mkfs.bfs.c:239
 #, c-format
-msgid "%s requires an argument\n"
-msgstr "%s kræver en parameter\n"
+msgid "Inode end: %d, Data end: %d\n"
+msgstr "Inode-slut: %d, Data-slut: %d\n"
 
-#: disk-utils/elvtune.c:46
-msgid "usage:\n"
-msgstr "Brug:\n"
+#: disk-utils/mkfs.bfs.c:244
+msgid "error writing superblock"
+msgstr "fejl under skrivning af superblok"
 
-#: disk-utils/fdformat.c:36
-msgid "Formatting ... "
-msgstr "Formatterer ... "
+#: disk-utils/mkfs.bfs.c:264
+msgid "error writing root inode"
+msgstr "fejl under skrivning af rod-inode"
 
-#: disk-utils/fdformat.c:54 disk-utils/fdformat.c:89
-msgid "done\n"
-msgstr "færdig\n"
+#: disk-utils/mkfs.bfs.c:269
+msgid "error writing inode"
+msgstr "fejl under skrivning inode"
 
-#: disk-utils/fdformat.c:65
-msgid "Verifying ... "
-msgstr "Verificerer ... "
+#: disk-utils/mkfs.bfs.c:272
+msgid "seek error"
+msgstr "søgefejl"
 
-#: disk-utils/fdformat.c:76
-msgid "Read: "
-msgstr "Læs: "
+#: disk-utils/mkfs.bfs.c:278
+msgid "error writing . entry"
+msgstr "fejl under skrivning af '.'-indgang"
 
-#: disk-utils/fdformat.c:78
-#, c-format
-msgid "Problem reading cylinder %d, expected %d, read %d\n"
-msgstr "Problem ved læsning af cylinder %d, ventede %d, læste %d\n"
+#: disk-utils/mkfs.bfs.c:282
+msgid "error writing .. entry"
+msgstr "fejl under skrivning af '..'-indgang"
 
-#: disk-utils/fdformat.c:84
+#: disk-utils/mkfs.bfs.c:286
 #, c-format
-msgid ""
-"bad data in cyl %d\n"
-"Continuing ... "
-msgstr ""
-"ugyldige data i cyl %d\n"
-"Fortsætter ... "
+msgid "error closing %s"
+msgstr "Fejl under lukning af %s"
 
-#: disk-utils/fdformat.c:99
-#, c-format
-msgid "usage: %s [ -n ] device\n"
-msgstr "brug: %s [ -n ] enhed\n"
+#: disk-utils/mkfs.c:76
+msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
+msgstr "Brug: mkfs [-V] [-t fstype] [fs-tilvalg] enhed [størrelse]\n"
 
-#: disk-utils/fdformat.c:120 disk-utils/fsck.minix.c:1248
-#: disk-utils/mkfs.bfs.c:119 disk-utils/mkfs.c:55 disk-utils/mkfs.minix.c:640
-#: disk-utils/mkswap.c:448 disk-utils/setfdprm.c:127 misc-utils/cal.c:203
-#: misc-utils/ddate.c:181 misc-utils/kill.c:192 misc-utils/rename.c:79
+#: disk-utils/mkfs.c:90 fdisk/cfdisk.c:369 getopt-1.1.0a/getopt.c:89
+#: getopt-1.1.0a/getopt.c:99 login-utils/wall.c:228 mount/sundries.c:196
 #, c-format
-msgid "%s from %s\n"
-msgstr "%s fra %s\n"
+msgid "%s: Out of memory!\n"
+msgstr "%s: Hukommelse opbrugt!\n"
 
-#: disk-utils/fdformat.c:134
+#: disk-utils/mkfs.c:99
 #, c-format
-msgid "%s: not a floppy device\n"
-msgstr "%s: ikke et diskettedrev\n"
+msgid "mkfs version %s (%s)\n"
+msgstr "mkfs version %s (%s)\n"
 
-#: disk-utils/fdformat.c:140
-msgid "Could not determine current format type"
-msgstr "Kunne ikke bestemme det eksisterende format"
+#: disk-utils/mkfs.minix.c:179
+#, c-format
+msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
+msgstr "Brug: %s [-c | -l filnavn] [-nXX] [-iXX] /dev/navn [blokke]\n"
 
-#: disk-utils/fdformat.c:141
+#: disk-utils/mkfs.minix.c:203
 #, c-format
-msgid "%s-sided, %d tracks, %d sec/track. Total capacity %d kB.\n"
-msgstr "%s-sidet, %d spor, %d sekt/spor. Samlet kapacitet %d kB.\n"
+msgid "%s is mounted; will not make a filesystem here!"
+msgstr "%s er monteret; vil ikke oprette et filsystem her!"
 
-#: disk-utils/fdformat.c:142
-msgid "Double"
-msgstr "Dobbelt"
+#: disk-utils/mkfs.minix.c:264
+msgid "seek to boot block failed in write_tables"
+msgstr "mislykket søgning til opstartsblok i write_tables"
 
-#: disk-utils/fdformat.c:142
-msgid "Single"
-msgstr "Enkelt"
+#: disk-utils/mkfs.minix.c:266
+msgid "unable to clear boot sector"
+msgstr "kunne ikke slette opstartssektor"
 
-#: disk-utils/fsck.minix.c:197
-#, c-format
-msgid "Usage: %s [-larvsmf] /dev/name\n"
-msgstr "Brug: %s [-larvsmf] /dev/navn\n"
+#: disk-utils/mkfs.minix.c:268
+msgid "seek failed in write_tables"
+msgstr "søgning mislykkedes i write_tables"
 
-#: disk-utils/fsck.minix.c:296
-#, c-format
-msgid "%s is mounted.\t "
-msgstr "%s er monteret.\t "
+#: disk-utils/mkfs.minix.c:272
+msgid "unable to write inode map"
+msgstr "kunne ikke skrive inode-oversigt"
 
-#: disk-utils/fsck.minix.c:298
-msgid "Do you really want to continue"
-msgstr "Vil du virkelig fortsætte"
+#: disk-utils/mkfs.minix.c:274
+msgid "unable to write zone map"
+msgstr "kunne ikke skrive zoneoversigt"
 
-#: disk-utils/fsck.minix.c:302
-msgid "check aborted.\n"
-msgstr "tjek afbrudt.\n"
+#: disk-utils/mkfs.minix.c:276
+msgid "unable to write inodes"
+msgstr "kunne ikke skrive inodes"
 
-#: disk-utils/fsck.minix.c:319 disk-utils/fsck.minix.c:339
-msgid "Zone nr < FIRSTZONE in file `"
-msgstr "Zone nr < FIRSTZONE i filen '"
+#: disk-utils/mkfs.minix.c:285
+msgid "write failed in write_block"
+msgstr "mislykket skrivning i write_block"
 
-#: disk-utils/fsck.minix.c:321 disk-utils/fsck.minix.c:341
-msgid "Zone nr >= ZONES in file `"
-msgstr "Zone nr >= ZONES i filen '"
+#. Could make triple indirect block here
+#: disk-utils/mkfs.minix.c:293 disk-utils/mkfs.minix.c:367
+#: disk-utils/mkfs.minix.c:417
+msgid "too many bad blocks"
+msgstr "for mange ugyldige blokke"
 
-#: disk-utils/fsck.minix.c:326 disk-utils/fsck.minix.c:346
-msgid "Remove block"
-msgstr "Fjern blok"
+#: disk-utils/mkfs.minix.c:301
+msgid "not enough good blocks"
+msgstr "ikke nok gyldige blokke"
 
-#: disk-utils/fsck.minix.c:364
-msgid "Read error: unable to seek to block in file '"
-msgstr "Læsefejl: kunne ikke søge til blok i filen '"
+#: disk-utils/mkfs.minix.c:513
+msgid "unable to allocate buffers for maps"
+msgstr "kunne ikke allokere buffere til oversigter"
 
-#: disk-utils/fsck.minix.c:370
-msgid "Read error: bad block in file '"
-msgstr "Læsefejl: ugyldig blok i filen '"
+#: disk-utils/mkfs.minix.c:522
+msgid "unable to allocate buffer for inodes"
+msgstr "kunne ikke allokere buffere til inodes"
 
-#: disk-utils/fsck.minix.c:386
+#: disk-utils/mkfs.minix.c:528
+#, c-format
 msgid ""
-"Internal error: trying to write bad block\n"
-"Write request ignored\n"
+"Maxsize=%ld\n"
+"\n"
 msgstr ""
-"Intern fejl: forsøger at skrive ugyldig blok\n"
-"Skriveforsøg ignoreret\n"
-
-#: disk-utils/fsck.minix.c:392 disk-utils/mkfs.minix.c:283
-msgid "seek failed in write_block"
-msgstr "søgning mislykkedes i write_blok"
+"Maxsize=%ld\n"
+"\n"
 
-#: disk-utils/fsck.minix.c:394
-msgid "Write error: bad block in file '"
-msgstr "Skrivefejl: ugyldig blok i fil '"
+#: disk-utils/mkfs.minix.c:542
+msgid "seek failed during testing of blocks"
+msgstr "søgning fejlede under test af blokke"
 
-#: disk-utils/fsck.minix.c:513
-msgid "seek failed in write_super_block"
-msgstr "søgning mislykkedes i write_super_block"
+#: disk-utils/mkfs.minix.c:550
+msgid "Weird values in do_check: probably bugs\n"
+msgstr "Mystiske værdier i do_check: sandsynligvis programfejl\n"
 
-#: disk-utils/fsck.minix.c:515 disk-utils/mkfs.minix.c:270
-msgid "unable to write super-block"
-msgstr "kunne ikke skrive super-blok"
+#: disk-utils/mkfs.minix.c:581 disk-utils/mkswap.c:362
+msgid "seek failed in check_blocks"
+msgstr "søgning mislykkedes i check_blocks"
 
-#: disk-utils/fsck.minix.c:525
-msgid "Unable to write inode map"
-msgstr "Kunne ikke skrive inode-oversigten"
+#: disk-utils/mkfs.minix.c:590
+msgid "bad blocks before data-area: cannot make fs"
+msgstr "ugyldige blokke før dataområde: kan ikke oprette filsystem"
 
-#: disk-utils/fsck.minix.c:527
-msgid "Unable to write zone map"
-msgstr "Kunne ikke skrive zone-oversigten"
+#: disk-utils/mkfs.minix.c:596 disk-utils/mkfs.minix.c:616
+#, c-format
+msgid "%d bad blocks\n"
+msgstr "%d ugyldige blokke\n"
 
-#: disk-utils/fsck.minix.c:529
-msgid "Unable to write inodes"
-msgstr "Kunne ikke skrive inodes"
+#: disk-utils/mkfs.minix.c:598 disk-utils/mkfs.minix.c:618
+msgid "one bad block\n"
+msgstr "en ugyldig blok\n"
 
-#: disk-utils/fsck.minix.c:558
-msgid "seek failed"
-msgstr "søgning fejlede"
+#: disk-utils/mkfs.minix.c:608
+msgid "can't open file of bad blocks"
+msgstr "kan ikke åbne fil med ugyldige blokke"
 
-#: disk-utils/fsck.minix.c:560
-msgid "unable to read super block"
-msgstr "kunne ikke læse super-blok"
+#: disk-utils/mkfs.minix.c:677
+#, c-format
+msgid "%s: not compiled with minix v2 support\n"
+msgstr "%s: ikke oversat med understøttelse for minix v2\n"
 
-#: disk-utils/fsck.minix.c:580
-msgid "bad magic number in super-block"
-msgstr "ugyldigt magisk nummer i super-blok"
+#: disk-utils/mkfs.minix.c:693
+msgid "strtol error: number of blocks not specified"
+msgstr "strtol-fejl: antallet af blokke ikke angivet"
 
-#: disk-utils/fsck.minix.c:582
-msgid "Only 1k blocks/zones supported"
-msgstr "Kun 1k blokke/zoner understøttes"
+#: disk-utils/mkfs.minix.c:725
+#, c-format
+msgid "unable to open %s"
+msgstr "kunne ikke åbne %s"
 
-#: disk-utils/fsck.minix.c:584
-msgid "bad s_imap_blocks field in super-block"
-msgstr "ugyldigt s_imap_blocks-felt i super-blok"
+#: disk-utils/mkfs.minix.c:727
+#, c-format
+msgid "unable to stat %s"
+msgstr "kunne ikke finde %s"
 
-#: disk-utils/fsck.minix.c:586
-msgid "bad s_zmap_blocks field in super-block"
-msgstr "ugyldigt s_zmap_blocks-felt i super-blok"
+#: disk-utils/mkfs.minix.c:731
+#, c-format
+msgid "will not try to make filesystem on '%s'"
+msgstr "vil ikke forsøge at oprette filsystem på '%s'"
 
-#: disk-utils/fsck.minix.c:593
-msgid "Unable to allocate buffer for inode map"
-msgstr "Kunne ikke allokere buffer til inode-oversigt"
+#: disk-utils/mkswap.c:178
+#, c-format
+msgid "Bad user-specified page size %d\n"
+msgstr "Ugyldig sidestørrelse '%d' angivet af bruger\n"
 
-#: disk-utils/fsck.minix.c:601
-msgid "Unable to allocate buffer for inodes"
-msgstr "Kunne ikke allokere buffer til inodes"
+#: disk-utils/mkswap.c:187
+#, c-format
+msgid "Using user-specified page size %d, instead of the system values %d/%d\n"
+msgstr "Benytter bruger-bestemt sidestørrelse %d i stedet for systemværdierne %d/%d\n"
 
-#: disk-utils/fsck.minix.c:604
-msgid "Unable to allocate buffer for inode count"
-msgstr "Kunne ikke allokere buffer til inode-optælling"
+#: disk-utils/mkswap.c:191
+#, c-format
+msgid "Assuming pages of size %d (not %d)\n"
+msgstr "Antager sider med størrelsen %d (ikke %d)\n"
 
-#: disk-utils/fsck.minix.c:607
-msgid "Unable to allocate buffer for zone count"
-msgstr "Kunne ikke allokere buffer til zoneoptælling"
+#: disk-utils/mkswap.c:316
+#, c-format
+msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
+msgstr "Brug: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/navn [blokke]\n"
 
-#: disk-utils/fsck.minix.c:609
-msgid "Unable to read inode map"
-msgstr "Kunne ikke læse inode-oversigt"
+#: disk-utils/mkswap.c:339
+msgid "too many bad pages"
+msgstr "for mange ugyldige sider"
 
-#: disk-utils/fsck.minix.c:611
-msgid "Unable to read zone map"
-msgstr "Kunne ikke læse zoneoversigt"
+#: disk-utils/mkswap.c:353 misc-utils/look.c:182 misc-utils/setterm.c:1129
+#: text-utils/more.c:1930 text-utils/more.c:1941
+msgid "Out of memory"
+msgstr "Hukommelse opbrugt"
 
-#: disk-utils/fsck.minix.c:613
-msgid "Unable to read inodes"
-msgstr "Kunne ikke læse inodes"
+#: disk-utils/mkswap.c:370
+msgid "one bad page\n"
+msgstr "en ugyldig side\n"
 
-#: disk-utils/fsck.minix.c:615
-msgid "Warning: Firstzone != Norm_firstzone\n"
-msgstr "Advarsel: Firstzone != Norm_firstzone\n"
+#: disk-utils/mkswap.c:372
+#, c-format
+msgid "%d bad pages\n"
+msgstr "%d ugyldige sider\n"
 
-#: disk-utils/fsck.minix.c:620 disk-utils/mkfs.minix.c:524
+#: disk-utils/mkswap.c:492
 #, c-format
-msgid "%ld inodes\n"
-msgstr "%ld inodes\n"
+msgid "%s: error: Nowhere to set up swap on?\n"
+msgstr "%s: fejl: Ingen steder at opsætte swap?\n"
 
-#: disk-utils/fsck.minix.c:621 disk-utils/mkfs.minix.c:525
+#: disk-utils/mkswap.c:510
 #, c-format
-msgid "%ld blocks\n"
-msgstr "%ld blokke\n"
+msgid "%s: error: size %ld is larger than device size %d\n"
+msgstr "%s: fejl: størrelsen %ld er større end enhedsstørrelsen %d\n"
 
-#: disk-utils/fsck.minix.c:622 disk-utils/mkfs.minix.c:526
+#: disk-utils/mkswap.c:529
 #, c-format
-msgid "Firstdatazone=%ld (%ld)\n"
-msgstr "Firstdatazone=%ld (%ld)\n"
+msgid "%s: error: unknown version %d\n"
+msgstr "%s: fejl: ukendt version %d\n"
 
-#: disk-utils/fsck.minix.c:623 disk-utils/mkfs.minix.c:527
+#: disk-utils/mkswap.c:535
 #, c-format
-msgid "Zonesize=%d\n"
-msgstr "Zonesize=%d\n"
+msgid "%s: error: swap area needs to be at least %ldkB\n"
+msgstr "%s: fejl: swap-område skal mindst være på %ldkB\n"
 
-#: disk-utils/fsck.minix.c:624
+#: disk-utils/mkswap.c:554
 #, c-format
-msgid "Maxsize=%ld\n"
-msgstr "Maxsize=%ld\n"
+msgid "%s: warning: truncating swap area to %ldkB\n"
+msgstr "%s: fejl: afkorter swap-området til %ldkB\n"
 
-#: disk-utils/fsck.minix.c:625
+#: disk-utils/mkswap.c:566
 #, c-format
-msgid "Filesystem state=%d\n"
-msgstr "Filesystem state=%d\n"
+msgid "Will not try to make swapdevice on '%s'"
+msgstr "Vil ikke forsøge at oprette swap-enhed på '%s'"
 
-#: disk-utils/fsck.minix.c:626
+#: disk-utils/mkswap.c:575 disk-utils/mkswap.c:596
+msgid "fatal: first page unreadable"
+msgstr "fatalt: første side kan ikke læses"
+
+#: disk-utils/mkswap.c:581
 #, c-format
 msgid ""
-"namelen=%d\n"
-"\n"
+"%s: Device '%s' contains a valid Sun disklabel.\n"
+"This probably means creating v0 swap would destroy your partition table\n"
+"No swap created. If you really want to create swap v0 on that device, use\n"
+"the -f option to force it.\n"
 msgstr ""
-"namelen=%d\n"
-"\n"
-
-#: disk-utils/fsck.minix.c:640 disk-utils/fsck.minix.c:691
-#, c-format
-msgid "Inode %d marked not used, but used for file '"
-msgstr "Inode %d er markeret som ubrugt, men bruges af filen '"
+"%s: Enhed '%s' undeholder en gyldig Sun diskmarkør.\n"
+"Det betyder sikkert at det ville ødelægge din partitionstabel, hvis du\n"
+"opretter en v0 swap. Ingen swap oprettet. Hvis du virkelig vil oprette en\n"
+"v0 swap på denne enhed, kan du gennemtvinge det med tilvalget -f.\n"
 
-#: disk-utils/fsck.minix.c:645 disk-utils/fsck.minix.c:695
-msgid "Mark in use"
-msgstr "Markér i brug"
+#: disk-utils/mkswap.c:605
+msgid "Unable to set up swap-space: unreadable"
+msgstr "Kunne ikke klargøre swap-område: ulæseligt"
 
-#: disk-utils/fsck.minix.c:667 disk-utils/fsck.minix.c:715
+#: disk-utils/mkswap.c:606
 #, c-format
-msgid " has mode %05o\n"
-msgstr " har modus %05o\n"
+msgid "Setting up swapspace version %d, size = %ld bytes\n"
+msgstr "Klargører swap-område version %d, størrelse = %ld byte\n"
 
-#: disk-utils/fsck.minix.c:673 disk-utils/fsck.minix.c:720
-msgid "Warning: inode count too big.\n"
-msgstr "Advarsel: inode-optælling for stor.\n"
+#: disk-utils/mkswap.c:612
+msgid "unable to rewind swap-device"
+msgstr "kunne ikke spole tilbage på swap-enheden"
 
-#: disk-utils/fsck.minix.c:733
-msgid "root inode isn't a directory"
-msgstr "rod-inode er ikke et katalog"
+#: disk-utils/mkswap.c:615
+msgid "unable to write signature page"
+msgstr "kunne ikke skrive signatur-side"
 
-#: disk-utils/fsck.minix.c:756 disk-utils/fsck.minix.c:790
-msgid "Block has been used before. Now in file `"
-msgstr "Blokke blev brugt tidligere. Nu i filen '"
+#: disk-utils/mkswap.c:623
+msgid "fsync failed"
+msgstr "fsync mislykkedes"
 
-#: disk-utils/fsck.minix.c:759 disk-utils/fsck.minix.c:793
-#: disk-utils/fsck.minix.c:1115 disk-utils/fsck.minix.c:1124
-#: disk-utils/fsck.minix.c:1167 disk-utils/fsck.minix.c:1176
-msgid "Clear"
-msgstr "Slet"
+#: disk-utils/setfdprm.c:31
+#, c-format
+msgid "Invalid number: %s\n"
+msgstr "Ugyldigt tal: %s\n"
 
-#: disk-utils/fsck.minix.c:768 disk-utils/fsck.minix.c:802
+#: disk-utils/setfdprm.c:81
 #, c-format
-msgid "Block %d in file `"
-msgstr "Blok %d i filen '"
+msgid "Syntax error: '%s'\n"
+msgstr "Syntaksfejl: '%s'\n"
 
-#: disk-utils/fsck.minix.c:770 disk-utils/fsck.minix.c:804
-msgid "' is marked not in use."
-msgstr "' er markeret som ubrugt."
+#: disk-utils/setfdprm.c:91
+#, c-format
+msgid "No such parameter set: '%s'\n"
+msgstr "Ingen sådan parameter sat: '%s'\n"
 
-#: disk-utils/fsck.minix.c:771 disk-utils/fsck.minix.c:805
-msgid "Correct"
-msgstr "Korrigér"
+#: disk-utils/setfdprm.c:100
+#, c-format
+msgid "usage: %s [ -p ] dev name\n"
+msgstr "brug: %s [ -p ] enh navn\n"
 
-#: disk-utils/fsck.minix.c:951 disk-utils/fsck.minix.c:1014
-msgid " contains a bad inode number for file '"
-msgstr " indeholder forkert inode-antal for filen '"
+#: disk-utils/setfdprm.c:101
+#, c-format
+msgid "       %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
+msgstr "       %s [ -p ] enh str sekt hoveder spor stræk gab rate spec1 fmt_gab\n"
 
-#: disk-utils/fsck.minix.c:953 disk-utils/fsck.minix.c:1016
-msgid " Remove"
-msgstr " Fjern"
+#: disk-utils/setfdprm.c:104
+#, c-format
+msgid "       %s [ -c | -y | -n | -d ] dev\n"
+msgstr "       %s [ -c | -y | -n | -d ] enh\n"
 
-#: disk-utils/fsck.minix.c:967 disk-utils/fsck.minix.c:1030
-msgid ": bad directory: '.' isn't first\n"
-msgstr ": ugyldigt katalog: '.' er ikke først\n"
+#: disk-utils/setfdprm.c:106
+#, c-format
+msgid "       %s [ -c | -y | -n ] dev\n"
+msgstr "       %s [ -c | -y | -n ] enh\n"
 
-#: disk-utils/fsck.minix.c:974 disk-utils/fsck.minix.c:1038
-msgid ": bad directory: '..' isn't second\n"
-msgstr ": ugyldigt katalog: ',.' er ikke nummer to\n"
+#: fdisk/cfdisk.c:394 fdisk/cfdisk.c:1900
+msgid "Unusable"
+msgstr "Ubrugelig"
 
-#: disk-utils/fsck.minix.c:1070
-msgid "internal error"
-msgstr "intern fejl"
+#: fdisk/cfdisk.c:396 fdisk/cfdisk.c:1902
+msgid "Free Space"
+msgstr "Frit område"
 
-#: disk-utils/fsck.minix.c:1073
-msgid ": bad directory: size<32"
-msgstr ": ugyldigt katalog: størrelse < 32"
+#: fdisk/cfdisk.c:399
+msgid "Linux ext2"
+msgstr "Linux ext2"
 
-#: disk-utils/fsck.minix.c:1091
-msgid ": bad directory: size < 32"
-msgstr ": ugyldigt katalog: størrelse < 32"
+#. also Solaris
+#: fdisk/cfdisk.c:401 fdisk/i386_sys_types.c:57
+msgid "Linux"
+msgstr "Linux"
 
-#: disk-utils/fsck.minix.c:1104
-msgid "seek failed in bad_zone"
-msgstr "mislykket søgning i bad_zone"
+#: fdisk/cfdisk.c:404
+msgid "OS/2 HPFS"
+msgstr "OS/2 HPFS"
 
-#: disk-utils/fsck.minix.c:1114 disk-utils/fsck.minix.c:1166
-#, c-format
-msgid "Inode %d mode not cleared."
-msgstr "Inode %d modus ikke slettet."
+#: fdisk/cfdisk.c:406
+msgid "OS/2 IFS"
+msgstr "OS/2 IFS"
 
-#: disk-utils/fsck.minix.c:1123 disk-utils/fsck.minix.c:1175
-#, c-format
-msgid "Inode %d not used, marked used in the bitmap."
-msgstr "Inode %d ikke brugt, markeret som brugt i bitoversigten."
+#: fdisk/cfdisk.c:410
+msgid "NTFS"
+msgstr "NTFS"
 
-#: disk-utils/fsck.minix.c:1129 disk-utils/fsck.minix.c:1181
-#, c-format
-msgid "Inode %d used, marked unused in the bitmap."
-msgstr "Inode %d i brug, markeret som ubrugt i bitoversigten."
+#: fdisk/cfdisk.c:421
+msgid "Disk has been changed.\n"
+msgstr "Disken er blevet udskiftet.\n"
 
-#: disk-utils/fsck.minix.c:1135 disk-utils/fsck.minix.c:1186
-#, c-format
-msgid "Inode %d (mode = %07o), i_nlinks=%d, counted=%d."
-msgstr "Inode %d (modus = %07o), i_nlinks=%d, optalt=%d."
+#: fdisk/cfdisk.c:422
+msgid "Reboot the system to ensure the partition table is correctly updated.\n"
+msgstr "Genstart systemet for at sikre, at partitionstabellen er opdateret korrekt.\n"
 
-#: disk-utils/fsck.minix.c:1137 disk-utils/fsck.minix.c:1188
-msgid "Set i_nlinks to count"
-msgstr "Sæt i_nlinks til det optalte"
+#: fdisk/cfdisk.c:425
+msgid ""
+"\n"
+"WARNING: If you have created or modified any\n"
+"DOS 6.x partitions, please see the cfdisk manual\n"
+"page for additional information.\n"
+msgstr ""
+"\n"
+"ADVARSEL: Læs venligst cfdisk manual-siden for\n"
+"yderligere information, hvis du har oprettet eller\n"
+"ændret DOS 6.x partitioner.\n"
 
-#: disk-utils/fsck.minix.c:1149 disk-utils/fsck.minix.c:1200
-#, c-format
-msgid "Zone %d: marked in use, no file uses it."
-msgstr "Zone %d: markeret som brugt, ingen filer bruger den."
+#: fdisk/cfdisk.c:520
+msgid "FATAL ERROR"
+msgstr "FATAL FEJL"
 
-#: disk-utils/fsck.minix.c:1150 disk-utils/fsck.minix.c:1201
-msgid "Unmark"
-msgstr "Afmarkér"
+#: fdisk/cfdisk.c:521
+msgid "Press any key to exit cfdisk"
+msgstr "Tryk en tast for at afslutte cfdisk"
 
-#: disk-utils/fsck.minix.c:1154 disk-utils/fsck.minix.c:1205
-#, c-format
-msgid "Zone %d: %sin use, counted=%d\n"
-msgstr "Zone %d: %si brug, optalt=%d\n"
+#: fdisk/cfdisk.c:568 fdisk/cfdisk.c:576
+msgid "Cannot seek on disk drive"
+msgstr "Kan ikke søge på drev"
 
-#: disk-utils/fsck.minix.c:1155 disk-utils/fsck.minix.c:1206
-msgid "not "
-msgstr "ikke "
+#: fdisk/cfdisk.c:570
+msgid "Cannot read disk drive"
+msgstr "Kan ikke læse drev"
 
-#: disk-utils/fsck.minix.c:1182
-msgid "Set"
-msgstr "Sæt"
+#: fdisk/cfdisk.c:578
+msgid "Cannot write disk drive"
+msgstr "Kan ikke skrive på drev"
 
-#: disk-utils/fsck.minix.c:1253 disk-utils/mkfs.minix.c:645
-#: disk-utils/mkfs.minix.c:648
-msgid "bad inode size"
-msgstr "ugyldig inode-størrelse"
+#: fdisk/cfdisk.c:818
+msgid "Too many partitions"
+msgstr "For mange partitioner"
 
-#: disk-utils/fsck.minix.c:1256
-msgid "bad v2 inode size"
-msgstr "ugyldig v2 inode-størrelse"
+#: fdisk/cfdisk.c:823
+msgid "Partition begins before sector 0"
+msgstr "Partition starter før sektor 0"
 
-#: disk-utils/fsck.minix.c:1282
-msgid "need terminal for interactive repairs"
-msgstr "kræver terminal til interaktive reperationer"
+#: fdisk/cfdisk.c:828
+msgid "Partition ends before sector 0"
+msgstr "Partition slutter før sektor 0"
 
-#: disk-utils/fsck.minix.c:1286
-#, c-format
-msgid "unable to open '%s'"
-msgstr "kunne ikke åbne '%s'"
+#: fdisk/cfdisk.c:833
+msgid "Partition begins after end-of-disk"
+msgstr "Partition starter efter slut-på-disk"
 
-#: disk-utils/fsck.minix.c:1301
-#, c-format
-msgid "%s is clean, no check.\n"
-msgstr "%s er i orden, tjekkes ikke.\n"
+#: fdisk/cfdisk.c:838
+msgid "Partition ends after end-of-disk"
+msgstr "Partition slutter efter slut-på-disk"
 
-#: disk-utils/fsck.minix.c:1305
-#, c-format
-msgid "Forcing filesystem check on %s.\n"
-msgstr "Gennemtvinger tjek af filsystem på %s.\n"
+#: fdisk/cfdisk.c:862
+msgid "logical partitions not in disk order"
+msgstr "logiske partitioner ikke i disk-rækkefølge"
 
-#: disk-utils/fsck.minix.c:1307
-#, c-format
-msgid "Filesystem on %s is dirty, needs checking.\n"
-msgstr "Filsystem på %s er måske ikke i orden, kræver et tjek.\n"
+#: fdisk/cfdisk.c:865
+msgid "logical partitions overlap"
+msgstr "logisk partitions-overlap"
 
-#: disk-utils/fsck.minix.c:1336
-msgid ""
-"\n"
-"%6ld inodes used (%ld%%)\n"
-msgstr ""
-"\n"
-"%6ld inodes brugt (%ld%%)\n"
+#: fdisk/cfdisk.c:867
+msgid "enlarged logical partitions overlap"
+msgstr "forstørret logisk partitions-overlap"
 
-#: disk-utils/fsck.minix.c:1341
-msgid "%6ld zones used (%ld%%)\n"
-msgstr "%6ld zoner brugt (%ld%%)\n"
+#: fdisk/cfdisk.c:897
+msgid "!!!! Internal error creating logical drive with no extended partition !!!!"
+msgstr "!!!! Intern fejl under oprettelse af logisk drev uden udvidet partition !!!!"
 
-#: disk-utils/fsck.minix.c:1343
-#, c-format
-msgid ""
-"\n"
-"%6d regular files\n"
-"%6d directories\n"
-"%6d character device files\n"
-"%6d block device files\n"
-"%6d links\n"
-"%6d symbolic links\n"
-"------\n"
-"%6d files\n"
-msgstr ""
-"\n"
-"%6d regulære filer\n"
-"%6d kataloger\n"
-"%6d tegn-enheds filer\n"
-"%6d blok-enheds filer\n"
-"%6d lænker\n"
-"%6d symbolske lænker\n"
-"------\n"
-"%6d filer\n"
+#: fdisk/cfdisk.c:908 fdisk/cfdisk.c:920
+msgid "Cannot create logical drive here -- would create two extended partitions"
+msgstr "Kan ikke oprette logisk drev her -- ville resultere i to udvidede partitioner"
 
-#: disk-utils/fsck.minix.c:1356
-msgid ""
-"----------------------------\n"
-"FILE SYSTEM HAS BEEN CHANGED\n"
-"----------------------------\n"
-msgstr ""
-"--------------------------\n"
-"FILSYSTEM BLEV MODIFICERET\n"
-"--------------------------\n"
+#: fdisk/cfdisk.c:1068
+msgid "Menu item too long. Menu may look odd."
+msgstr "Menupunkt for langt. Menu ser muligvis mærkeligt ud."
 
-#: disk-utils/mkfs.bfs.c:88
-#, c-format
-msgid ""
-"Usage: %s [-v] [-N nr-of-inodes] [-V volume-name]\n"
-"       [-F fsname] device [block-count]\n"
-msgstr ""
-"Brug: %s [-v] [-N antal-inode] [-V bind-navn]\n"
-"       [-F fsnavn] enhed [antal-blokke]\n"
+#: fdisk/cfdisk.c:1122
+msgid "Menu without direction. Defaulting horizontal."
+msgstr "Menu uden retning. Vælger standarden horisontal."
 
-#: disk-utils/mkfs.bfs.c:135
-msgid "volume name too long"
-msgstr "for langt bind-navn"
+#: fdisk/cfdisk.c:1252
+msgid "Illegal key"
+msgstr "Ugyldig tast"
 
-#: disk-utils/mkfs.bfs.c:142
-msgid "fsname name too long"
-msgstr "for langt filsystem-navn"
+#: fdisk/cfdisk.c:1275
+msgid "Press a key to continue"
+msgstr "Tryk en tast for at fortsætte"
 
-#: disk-utils/mkfs.bfs.c:167
-#, c-format
-msgid "cannot stat device %s"
-msgstr "kunne ikke finde enhed %s"
+#: fdisk/cfdisk.c:1322 fdisk/cfdisk.c:1871 fdisk/cfdisk.c:2401
+#: fdisk/cfdisk.c:2403
+msgid "Primary"
+msgstr "Primær"
 
-#: disk-utils/mkfs.bfs.c:171
-#, c-format
-msgid "%s is not a block special device"
-msgstr "%s er ikke en blokenhed"
+#: fdisk/cfdisk.c:1322
+msgid "Create a new primary partition"
+msgstr "Opret en ny primær partition"
 
-#: disk-utils/mkfs.bfs.c:176
-#, c-format
-msgid "cannot open %s"
-msgstr "kunne ikke åbne %s"
+#: fdisk/cfdisk.c:1323 fdisk/cfdisk.c:1871 fdisk/cfdisk.c:2400
+#: fdisk/cfdisk.c:2403
+msgid "Logical"
+msgstr "Logisk"
 
-#: disk-utils/mkfs.bfs.c:187
-#, c-format
-msgid "cannot get size of %s"
-msgstr "Kan ikke få størrelsen af %s"
+#: fdisk/cfdisk.c:1323
+msgid "Create a new logical partition"
+msgstr "Opret en ny logisk partition"
 
-#: disk-utils/mkfs.bfs.c:192
-#, c-format
-msgid "blocks argument too large, max is %d"
-msgstr "parameteret antal-blokke er for stort. Maksimum er %d"
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379 fdisk/cfdisk.c:2075
+msgid "Cancel"
+msgstr "Fortryd"
 
-#: disk-utils/mkfs.bfs.c:207
-msgid "too many inodes - max is 512"
-msgstr "for mange inode"
+#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379
+msgid "Don't create a partition"
+msgstr "Opret ikke partition"
 
-#: disk-utils/mkfs.bfs.c:216
-#, c-format
-msgid "not enough space, need at least %d blocks"
-msgstr "ikke nok plads. Mangler mindst %d blokke"
+#: fdisk/cfdisk.c:1340
+msgid "!!! Internal error !!!"
+msgstr "!!! Intern fejl !!!"
 
-#: disk-utils/mkfs.bfs.c:228 fdisk/fdisk.c:1913
-#, c-format
-msgid "Device: %s\n"
-msgstr "Enhed: %s\n"
+#: fdisk/cfdisk.c:1343
+msgid "Size (in MB): "
+msgstr "Størrelse (i MB): "
 
-#: disk-utils/mkfs.bfs.c:229
-#, c-format
-msgid "Volume: <%-6s>\n"
-msgstr "Bind:   <%-6s>\n"
+#: fdisk/cfdisk.c:1377
+msgid "Beginning"
+msgstr "Begyndelse"
 
-#: disk-utils/mkfs.bfs.c:230
-#, c-format
-msgid "FSname: <%-6s>\n"
-msgstr "FSnavn: <%-6s>\n"
+#: fdisk/cfdisk.c:1377
+msgid "Add partition at beginning of free space"
+msgstr "Tilføj partition i starten af det frie område"
 
-#: disk-utils/mkfs.bfs.c:231
-#, c-format
-msgid "BlockSize: %d\n"
-msgstr "BlokStørr: %d\n"
+#: fdisk/cfdisk.c:1378
+msgid "End"
+msgstr "Slut"
 
-#: disk-utils/mkfs.bfs.c:233
-#, c-format
-msgid "Inodes: %d (in 1 block)\n"
-msgstr "Inodes: %d (i 1 blok)\n"
+#: fdisk/cfdisk.c:1378
+msgid "Add partition at end of free space"
+msgstr "Tilføj partition i slutningen af det frie område"
 
-#: disk-utils/mkfs.bfs.c:236
-#, c-format
-msgid "Inodes: %d (in %ld blocks)\n"
-msgstr "Inodes: %d (i %ld blokke)\n"
+#: fdisk/cfdisk.c:1396
+msgid "No room to create the extended partition"
+msgstr "Ikke plads til at oprette udvidet partition"
 
-#: disk-utils/mkfs.bfs.c:238
-#, c-format
-msgid "Blocks: %ld\n"
-msgstr "Blokke: %ld\n"
+#: fdisk/cfdisk.c:1435
+msgid "Bad signature on partition table"
+msgstr "Ugyldig signatur på partitionstabellen"
 
-#: disk-utils/mkfs.bfs.c:239
-#, c-format
-msgid "Inode end: %d, Data end: %d\n"
-msgstr "Inode-slut: %d, Data-slut: %d\n"
+#: fdisk/cfdisk.c:1473
+msgid "You specified more cylinders than fit on disk"
+msgstr "Du angav flere cylindre end der kan være på disken"
 
-#: disk-utils/mkfs.bfs.c:244
-msgid "error writing superblock"
-msgstr "kunne ikke skrive superblok"
+#: fdisk/cfdisk.c:1503
+msgid "Cannot open disk drive"
+msgstr "Kan ikke åbne drev"
 
-#: disk-utils/mkfs.bfs.c:264
-msgid "error writing root inode"
-msgstr "fejl ved skrivning af rod-inode"
-
-#: disk-utils/mkfs.bfs.c:269
-msgid "error writing inode"
-msgstr "fejl ved skrivning af inode"
-
-#: disk-utils/mkfs.bfs.c:272
-msgid "seek error"
-msgstr "søgefejl"
-
-#: disk-utils/mkfs.bfs.c:278
-msgid "error writing . entry"
-msgstr "fejl ved skrivning af '.'-indgang"
-
-#: disk-utils/mkfs.bfs.c:282
-msgid "error writing .. entry"
-msgstr "fejl ved skrivning af '..'-indgang"
-
-#: disk-utils/mkfs.bfs.c:286
-#, c-format
-msgid "error closing %s"
-msgstr "Fejl ved lukning af %s"
+#: fdisk/cfdisk.c:1505 fdisk/cfdisk.c:1684
+msgid "Opened disk read-only - you have no permission to write"
+msgstr "Åbnede drev skrivebeskyttet - du har ikke adgang til at skrive"
 
-#: disk-utils/mkfs.c:76
-msgid "Usage: mkfs [-V] [-t fstype] [fs-options] device [size]\n"
-msgstr "Brug: mkfs [-V] [-t fstype] [fs-tilvalg] enhed [størrelse]\n"
+#: fdisk/cfdisk.c:1526
+msgid "Cannot get disk size"
+msgstr "Kan ikke få diskstørrelsen"
 
-#: disk-utils/mkfs.c:90 fdisk/cfdisk.c:368 getopt-1.1.0a/getopt.c:89
-#: getopt-1.1.0a/getopt.c:99 login-utils/wall.c:227 mount/sundries.c:196
-#, c-format
-msgid "%s: Out of memory!\n"
-msgstr "%s: Hukommelse opbrugt!\n"
+#: fdisk/cfdisk.c:1551
+msgid "Bad primary partition"
+msgstr "Ugyldig primærpartition"
 
-#: disk-utils/mkfs.c:99
-#, c-format
-msgid "mkfs version %s (%s)\n"
-msgstr "mkfs version %s (%s)\n"
+#: fdisk/cfdisk.c:1581
+msgid "Bad logical partition"
+msgstr "Ugyldig logisk partition"
 
-#: disk-utils/mkfs.minix.c:179
-#, c-format
-msgid "Usage: %s [-c | -l filename] [-nXX] [-iXX] /dev/name [blocks]\n"
-msgstr "Brug: %s [-c | -l filnavn] [-nXX] [-iXX] /dev/navn [blokke]\n"
+#: fdisk/cfdisk.c:1696
+msgid "Warning!!  This may destroy data on your disk!"
+msgstr "Advarsel!! Dette ødelægger muligvis data på din disk!"
 
-#: disk-utils/mkfs.minix.c:203
-#, c-format
-msgid "%s is mounted; will not make a filesystem here!"
-msgstr "%s er monteret; vil ikke oprette et filsystem her!"
+#: fdisk/cfdisk.c:1700
+msgid "Are you sure you want write the partition table to disk? (yes or no): "
+msgstr ""
+"Er du sikke på, at du vil skrive partitionstabellen til disken? (ja eller "
+"nej): "
 
-#: disk-utils/mkfs.minix.c:264
-msgid "seek to boot block failed in write_tables"
-msgstr "mislykket søgning til opstartsblok i write_tables"
+#: fdisk/cfdisk.c:1706
+msgid "no"
+msgstr "nej"
 
-#: disk-utils/mkfs.minix.c:266
-msgid "unable to clear boot sector"
-msgstr "kunne ikke slette opstartssektor"
+#: fdisk/cfdisk.c:1707
+msgid "Did not write partition table to disk"
+msgstr "Skrev ikke partitionstabellen til disken"
 
-#: disk-utils/mkfs.minix.c:268
-msgid "seek failed in write_tables"
-msgstr "søgning mislykkedes i write_tables"
+#: fdisk/cfdisk.c:1709
+msgid "yes"
+msgstr "ja"
 
-#: disk-utils/mkfs.minix.c:272
-msgid "unable to write inode map"
-msgstr "kunne ikke skrive inode-oversigt"
+#: fdisk/cfdisk.c:1712
+msgid "Please enter `yes' or `no'"
+msgstr "Skriv venligst 'ja' eller 'nej'"
 
-#: disk-utils/mkfs.minix.c:274
-msgid "unable to write zone map"
-msgstr "kunne ikke skrive zoneoversigt"
+#: fdisk/cfdisk.c:1716
+msgid "Writing partition table to disk..."
+msgstr "Skriver partitionstabel til disken..."
 
-#: disk-utils/mkfs.minix.c:276
-msgid "unable to write inodes"
-msgstr "kunne ikke skrive inodes"
+#: fdisk/cfdisk.c:1741 fdisk/cfdisk.c:1745
+msgid "Wrote partition table to disk"
+msgstr "Skrev partitionstabel til disken"
 
-#: disk-utils/mkfs.minix.c:285
-msgid "write failed in write_block"
-msgstr "mislykked skrivning i write_block"
+#: fdisk/cfdisk.c:1743
+msgid "Wrote partition table, but re-read table failed.  Reboot to update table."
+msgstr ""
+"Skrev partitionstabel, men genindlæsning mislykkedes. Genstart for at "
+"opdatere tabellen."
 
-#. Could make triple indirect block here
-#: disk-utils/mkfs.minix.c:293 disk-utils/mkfs.minix.c:367
-#: disk-utils/mkfs.minix.c:417
-msgid "too many bad blocks"
-msgstr "for mange ugyldige blokke"
+#: fdisk/cfdisk.c:1753
+msgid "No primary partitions are marked bootable. DOS MBR cannot boot this."
+msgstr "Ingen primærpartitioner er markeret opstartbar. DOS MBR vil ikke kunne starte op."
 
-#: disk-utils/mkfs.minix.c:301
-msgid "not enough good blocks"
-msgstr "ikke nok gyldige blokke"
+#: fdisk/cfdisk.c:1755
+msgid "More than one primary partition is marked bootable. DOS MBR cannot boot this."
+msgstr "Da flere primærpartitioner er opstartbare, vil DOS MBR ikke kunne starte op."
 
-#: disk-utils/mkfs.minix.c:513
-msgid "unable to allocate buffers for maps"
-msgstr "kunne ikke allokere buffere til oversigter"
+#: fdisk/cfdisk.c:1813 fdisk/cfdisk.c:1932 fdisk/cfdisk.c:2016
+msgid "Enter filename or press RETURN to display on screen: "
+msgstr "Angiv filnavn eller tryk RETUR for at vise på skærmen: "
 
-#: disk-utils/mkfs.minix.c:522
-msgid "unable to allocate buffer for inodes"
-msgstr "kunne ikke allokere buffere til inodes"
+#: fdisk/cfdisk.c:1822 fdisk/cfdisk.c:1940 fdisk/cfdisk.c:2024
+#, c-format
+msgid "Cannot open file '%s'"
+msgstr "Kan ikke åbne filen '%s'"
 
-#: disk-utils/mkfs.minix.c:528
+#: fdisk/cfdisk.c:1833
 #, c-format
-msgid ""
-"Maxsize=%ld\n"
-"\n"
-msgstr ""
-"Maxsize=%ld\n"
-"\n"
+msgid "Disk Drive: %s\n"
+msgstr "Drev: %s\n"
 
-#: disk-utils/mkfs.minix.c:542
-msgid "seek failed during testing of blocks"
-msgstr "søgning fejlede under test af blokke"
+#: fdisk/cfdisk.c:1835
+msgid "Sector 0:\n"
+msgstr "Sektor 0:\n"
 
-#: disk-utils/mkfs.minix.c:550
-msgid "Weird values in do_check: probably bugs\n"
-msgstr "Mystiske værdier i do_check: sansynligvis programfejl\n"
+#: fdisk/cfdisk.c:1842
+#, c-format
+msgid "Sector %d:\n"
+msgstr "Sektor %d:\n"
 
-#: disk-utils/mkfs.minix.c:581 disk-utils/mkswap.c:358
-msgid "seek failed in check_blocks"
-msgstr "søgning mislykkedes i check_blocks"
+#: fdisk/cfdisk.c:1862
+msgid "   None   "
+msgstr "   Ingen  "
 
-#: disk-utils/mkfs.minix.c:590
-msgid "bad blocks before data-area: cannot make fs"
-msgstr "ugyldige blokke før dataområde: kan ikke oprette filsystem"
+#: fdisk/cfdisk.c:1864
+msgid "   Pri/Log"
+msgstr "   Pri/Log"
 
-#: disk-utils/mkfs.minix.c:596 disk-utils/mkfs.minix.c:616
-#, c-format
-msgid "%d bad blocks\n"
-msgstr "%d ugyldige blokke\n"
+#: fdisk/cfdisk.c:1866
+msgid "   Primary"
+msgstr "   Primær"
 
-#: disk-utils/mkfs.minix.c:598 disk-utils/mkfs.minix.c:618
-msgid "one bad block\n"
-msgstr "en ugyldig blok\n"
+#: fdisk/cfdisk.c:1868
+msgid "   Logical"
+msgstr "   Logisk "
 
-#: disk-utils/mkfs.minix.c:608
-msgid "can't open file of bad blocks"
-msgstr "kan ikke åbne fil med ugyldige blokke"
+#. odd flag on end
+#. type id
+#. type name
+#: fdisk/cfdisk.c:1906 fdisk/fdisk.c:1249 fdisk/fdisk.c:1473
+#: fdisk/fdisksgilabel.c:240 fdisk/fdisksunlabel.c:672 fdisk/sfdisk.c:581
+msgid "Unknown"
+msgstr "Ukendt"
 
-#: disk-utils/mkfs.minix.c:677
+#: fdisk/cfdisk.c:1912
 #, c-format
-msgid "%s: not compiled with minix v2 support\n"
-msgstr "%s: ikke oversat med understøttelse for minix v2\n"
-
-#: disk-utils/mkfs.minix.c:693
-msgid "strtol error: number of blocks not specified"
-msgstr "strtol-fejl: antallet af blokke ikke angivet"
+msgid "Boot (%02X)"
+msgstr "Opstart (%02X)"
 
-#: disk-utils/mkfs.minix.c:725
+#: fdisk/cfdisk.c:1914 fdisk/cfdisk.c:2409
 #, c-format
-msgid "unable to open %s"
-msgstr "kunne ikke åbne %s"
+msgid "Unknown (%02X)"
+msgstr "Ukendt (%02X)"
 
-#: disk-utils/mkfs.minix.c:727
+#: fdisk/cfdisk.c:1916
 #, c-format
-msgid "unable to stat %s"
-msgstr "kunne ikke finde %s"
+msgid "None (%02X)"
+msgstr "Ingen (%02X)"
 
-#: disk-utils/mkfs.minix.c:731
+#: fdisk/cfdisk.c:1951 fdisk/cfdisk.c:2035
 #, c-format
-msgid "will not try to make filesystem on '%s'"
-msgstr "vil ikke forsøge at oprette filsystem på '%s'"
+msgid "Partition Table for %s\n"
+msgstr "Partitionstabel for %s\n"
 
-#: disk-utils/mkswap.c:174
-#, c-format
-msgid "Bad user-specified page size %d\n"
-msgstr "Ugyldig sidestørrelse '%d' angivet af bruger\n"
+#: fdisk/cfdisk.c:1953
+msgid "            First    Last\n"
+msgstr "            Første   Sidste\n"
 
-#: disk-utils/mkswap.c:183
-#, c-format
-msgid "Using user-specified page size %d, instead of the system values %d/%d\n"
-msgstr "Benytter bruger-bestemt sidestørrelse %d i stedet for systemværdierne %d/%d\n"
+#: fdisk/cfdisk.c:1954
+msgid " # Type     Sector   Sector   Offset  Length   Filesystem Type (ID)   Flags\n"
+msgstr " # Type     Sektor   Sektor   Forskyd Længde   Filsystem type (ID)    Flag\n"
 
-#: disk-utils/mkswap.c:187
-#, c-format
-msgid "Assuming pages of size %d (not %d)\n"
-msgstr "Antager sider med størrelsen %d (ikke %d)\n"
+#: fdisk/cfdisk.c:1955
+msgid ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
+msgstr ""
+"-- ------- -------- --------- ------ --------- ---------------------- "
+"---------\n"
 
-#: disk-utils/mkswap.c:312
-#, c-format
-msgid "Usage: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/name [blocks]\n"
-msgstr "Brug: %s [-c] [-v0|-v1] [-pPAGESZ] /dev/navn [blokke]\n"
+#: fdisk/cfdisk.c:2037
+msgid "         ---Starting---      ----Ending----    Start Number of\n"
+msgstr "         --- Start-----      -----Slut-----    Start antal af\n"
 
-#: disk-utils/mkswap.c:335
-msgid "too many bad pages"
-msgstr "for mange ugyldige sider"
+#: fdisk/cfdisk.c:2038
+msgid " # Flags Head Sect Cyl   ID  Head Sect Cyl    Sector  Sectors\n"
+msgstr " # Flag  Hovd Sekt Cyl   ID  Hovd Sekt Cyl    Sektor  Sektorer\n"
 
-#: disk-utils/mkswap.c:349 misc-utils/look.c:182 misc-utils/setterm.c:1129
-#: text-utils/more.c:1931 text-utils/more.c:1942
-msgid "Out of memory"
-msgstr "Hukommelse opbrugt"
+#: fdisk/cfdisk.c:2039
+msgid "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
 
-#: disk-utils/mkswap.c:366
-msgid "one bad page\n"
-msgstr "en ugyldig side\n"
+#: fdisk/cfdisk.c:2072
+msgid "Raw"
+msgstr ""
 
-#: disk-utils/mkswap.c:368
-#, c-format
-msgid "%d bad pages\n"
-msgstr "%d ugyldige sider\n"
+#: fdisk/cfdisk.c:2072
+msgid "Print the table using raw data format"
+msgstr "Vis tabellen i råtdata format"
 
-#: disk-utils/mkswap.c:488
-#, c-format
-msgid "%s: error: Nowhere to set up swap on?\n"
-msgstr "%s: fejl: Ingen steder at opsætte swap?\n"
+#: fdisk/cfdisk.c:2073 fdisk/cfdisk.c:2175
+msgid "Sectors"
+msgstr "Sektorer"
 
-#: disk-utils/mkswap.c:506
-#, c-format
-msgid "%s: error: size %ld is larger than device size %d\n"
-msgstr "%s: fejl: størrelsen %ld er større end enhedsstørrelsen %d\n"
+#: fdisk/cfdisk.c:2073
+msgid "Print the table ordered by sectors"
+msgstr "Vis tabellen ordnet efter sektorer"
 
-#: disk-utils/mkswap.c:525
-#, c-format
-msgid "%s: error: unknown version %d\n"
-msgstr "%s: fejl: ukendt version %d\n"
+#: fdisk/cfdisk.c:2074
+msgid "Table"
+msgstr "Tabel"
 
-#: disk-utils/mkswap.c:531
-#, c-format
-msgid "%s: error: swap area needs to be at least %ldkB\n"
-msgstr "%s: fejl: swap-område skal mindst være på %ldkB\n"
+#: fdisk/cfdisk.c:2074
+msgid "Just print the partition table"
+msgstr "Vis kun partitionstabellen"
 
-#: disk-utils/mkswap.c:550
-#, c-format
-msgid "%s: warning: truncating swap area to %ldkB\n"
-msgstr "%s: fejl: afkorter swap-området til %ldkB\n"
+#: fdisk/cfdisk.c:2075
+msgid "Don't print the table"
+msgstr "Vis ikke tabellen"
 
-#: disk-utils/mkswap.c:562
-#, c-format
-msgid "Will not try to make swapdevice on '%s'"
-msgstr "Vil ikke forsøge at oprette swap-enhed på '%s'"
+#: fdisk/cfdisk.c:2103
+msgid "Help Screen for cfdisk"
+msgstr "Hjælpeskærm for cfdisk"
 
-#: disk-utils/mkswap.c:571 disk-utils/mkswap.c:592
-msgid "fatal: first page unreadable"
-msgstr "fatalt: første side kan ikke læses"
+#: fdisk/cfdisk.c:2105
+msgid "This is cfdisk, a curses based disk partitioning program, which"
+msgstr "Dette er cfdisk, et curses-baseret diskpartitionerings-program, som"
 
-#: disk-utils/mkswap.c:577
-#, c-format
-msgid ""
-"%s: Device '%s' contains a valid Sun disklabel.\n"
-"This probably means creating v0 swap would destroy your partition table\n"
-"No swap created. If you really want to create swap v0 on that device, use\n"
-"the -f option to force it.\n"
-msgstr ""
-"%s: Enhed '%s' undeholder en gyldig Sun diskmarkør.\n"
-"Det betyder sikkert at det ville ødelægge din partitionstabel, hvis du\n"
-"opretter en v0 swap. Ingen swap oprettet. Hvis du virkelig vil oprette en\n"
-"v0 swap på denne enhed, kan du gennemtvinge det med tilvalget -f.\n"
+#: fdisk/cfdisk.c:2106
+msgid "allows you to create, delete and modify partitions on your hard"
+msgstr "lader dig oprette, slette eller modificere partitioner på din"
 
-#: disk-utils/mkswap.c:601
-msgid "Unable to set up swap-space: unreadable"
-msgstr "Kunne ikke klargøre swap-område: ulæseligt"
+#: fdisk/cfdisk.c:2107
+msgid "disk drive."
+msgstr "harddisk."
 
-#: disk-utils/mkswap.c:602
-#, c-format
-msgid "Setting up swapspace version %d, size = %ld bytes\n"
-msgstr "Klargører swap-område version %d, størrelse = %ld byte\n"
+#: fdisk/cfdisk.c:2109
+msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
 
-#: disk-utils/mkswap.c:608
-msgid "unable to rewind swap-device"
-msgstr "kunne ikke spole tilbage på swap-enheden"
+#: fdisk/cfdisk.c:2111
+msgid "Command      Meaning"
+msgstr "Kommando     Betydning"
 
-#: disk-utils/mkswap.c:611
-msgid "unable to write signature page"
-msgstr "kunne ikke skrive signatur-side"
+#: fdisk/cfdisk.c:2112
+msgid "-------      -------"
+msgstr "-------      -------"
 
-#: disk-utils/mkswap.c:619
-msgid "fsync failed"
-msgstr "fsync mislykkedes"
+#: fdisk/cfdisk.c:2113
+msgid "  b          Toggle bootable flag of the current partition"
+msgstr "  b          Skift opstartbar-flaget for partitionen ('bootable')"
 
-#: disk-utils/setfdprm.c:31
-#, c-format
-msgid "Invalid number: %s\n"
-msgstr "Ugyldigt tal: %s\n"
+#: fdisk/cfdisk.c:2114
+msgid "  d          Delete the current partition"
+msgstr "  d          Slet partitionen"
 
-#: disk-utils/setfdprm.c:81
-#, c-format
-msgid "Syntax error: '%s'\n"
-msgstr "Syntaksfejl: '%s'\n"
+#: fdisk/cfdisk.c:2115
+msgid "  g          Change cylinders, heads, sectors-per-track parameters"
+msgstr "  g          Ret cylinder, hoved, sektorer-per-spor parametre"
 
-#: disk-utils/setfdprm.c:91
-#, c-format
-msgid "No such parameter set: '%s'\n"
-msgstr "Ingen sådan parameter sat: '%s'\n"
+#: fdisk/cfdisk.c:2116
+msgid "             WARNING: This option should only be used by people who"
+msgstr "             ADVARSEL: Denne kommando bør kun bruges af folk, der"
 
-#: disk-utils/setfdprm.c:100
-#, c-format
-msgid "usage: %s [ -p ] dev name\n"
-msgstr "brug: %s [ -p ] enh navn\n"
+#: fdisk/cfdisk.c:2117
+msgid "             know what they are doing."
+msgstr "             er klar over, hvad de gør."
 
-#: disk-utils/setfdprm.c:101
-#, c-format
-msgid "       %s [ -p ] dev size sect heads tracks stretch gap rate spec1 fmt_gap\n"
-msgstr "       %s [ -p ] enh str sekt hoveder spor stræk gab rate spec1 fmt_gab\n"
+#: fdisk/cfdisk.c:2118
+msgid "  h          Print this screen"
+msgstr "  h          Vis denne skærm"
 
-#: disk-utils/setfdprm.c:104
-#, c-format
-msgid "       %s [ -c | -y | -n | -d ] dev\n"
-msgstr "       %s [ -c | -y | -n | -d ] enh\n"
+#: fdisk/cfdisk.c:2119
+msgid "  m          Maximize disk usage of the current partition"
+msgstr "  m          Maksimér partitionens diskforbrug"
 
-#: disk-utils/setfdprm.c:106
-#, c-format
-msgid "       %s [ -c | -y | -n ] dev\n"
-msgstr "       %s [ -c | -y | -n ] enh\n"
+#: fdisk/cfdisk.c:2120
+msgid "             Note: This may make the partition incompatible with"
+msgstr "             Bemærk: Dette kan gøre partitionen inkompatibel med"
 
-#: fdisk/cfdisk.c:393 fdisk/cfdisk.c:1899
-msgid "Unusable"
-msgstr "Ubrugelig"
+#: fdisk/cfdisk.c:2121
+msgid "             DOS, OS/2, ..."
+msgstr "             DOS, OS/2, ..."
 
-#: fdisk/cfdisk.c:395 fdisk/cfdisk.c:1901
-msgid "Free Space"
-msgstr "Frit område"
+#: fdisk/cfdisk.c:2122
+msgid "  n          Create new partition from free space"
+msgstr "  n          Opret ny partition i frit område"
 
-#: fdisk/cfdisk.c:398
-msgid "Linux ext2"
-msgstr "Linux ext2"
+#: fdisk/cfdisk.c:2123
+msgid "  p          Print partition table to the screen or to a file"
+msgstr "  p          Udlæs partitionstabellen til skærmen eller en fil"
 
-#. also Solaris
-#: fdisk/cfdisk.c:400 fdisk/i386_sys_types.c:57
-msgid "Linux"
-msgstr "Linux"
+#: fdisk/cfdisk.c:2124
+msgid "             There are several different formats for the partition"
+msgstr "             Der er flere forskellige formater på partitionen,"
 
-#: fdisk/cfdisk.c:403
-msgid "OS/2 HPFS"
-msgstr "OS/2 HPFS"
+#: fdisk/cfdisk.c:2125
+msgid "             that you can choose from:"
+msgstr "             som du kan vælge mellem:"
 
-#: fdisk/cfdisk.c:405
-msgid "OS/2 IFS"
-msgstr "OS/2 IFS"
+#: fdisk/cfdisk.c:2126
+msgid "                r - Raw data (exactly what would be written to disk)"
+msgstr "                r - Rådata (nøjagtig de, som ville skrives på disken)"
 
-#: fdisk/cfdisk.c:409
-msgid "NTFS"
-msgstr "NTFS"
+#: fdisk/cfdisk.c:2127
+msgid "                s - Table ordered by sectors"
+msgstr "                s - Tabel ordnet efter sektorer"
 
-#: fdisk/cfdisk.c:420
-msgid "Disk has been changed.\n"
-msgstr "Disken er blevet udskiftet.\n"
+#: fdisk/cfdisk.c:2128
+msgid "                t - Table in raw format"
+msgstr "                t - Tabel i rådata format"
 
-#: fdisk/cfdisk.c:421
-msgid "Reboot the system to ensure the partition table is correctly updated.\n"
-msgstr "Genstart systemet for at sikre, at partitionstabellen er opdateret korrekt.\n"
+#: fdisk/cfdisk.c:2129
+msgid "  q          Quit program without writing partition table"
+msgstr "  q          Afslut program uden at skrive partitionstabellen"
 
-#: fdisk/cfdisk.c:424
-msgid ""
-"\n"
-"WARNING: If you have created or modified any\n"
-"DOS 6.x partitions, please see the cfdisk manual\n"
-"page for additional information.\n"
-msgstr ""
-"\n"
-"ADVARSEL: Læs venligst cfdisk manual-siden for\n"
-"yderligere information, hvis du har oprettet eller\n"
-"ændret DOS 6.x partitioner.\n"
+#: fdisk/cfdisk.c:2130
+msgid "  t          Change the filesystem type"
+msgstr "  t          Skift filsystem type"
 
-#: fdisk/cfdisk.c:519
-msgid "FATAL ERROR"
-msgstr "FATAL FEJL"
+#: fdisk/cfdisk.c:2131
+msgid "  u          Change units of the partition size display"
+msgstr "  u          Skift enhed for visning af partitionsstørrelser"
 
-#: fdisk/cfdisk.c:528
-msgid "Press any key to exit cfdisk"
-msgstr "Tryk en tast for at afslutte cfdisk"
+#: fdisk/cfdisk.c:2132
+msgid "             Rotates through MB, sectors and cylinders"
+msgstr "             Skifter mellem MB, sektorer og cylindre"
 
-#: fdisk/cfdisk.c:564 fdisk/cfdisk.c:572
-msgid "Cannot seek on disk drive"
-msgstr "Kan ikke søge på drev"
+#: fdisk/cfdisk.c:2133
+msgid "  W          Write partition table to disk (must enter upper case W)"
+msgstr "  W          Skriv partitionstabellen til disk (skal være stort W)"
 
-#: fdisk/cfdisk.c:566
-msgid "Cannot read disk drive"
-msgstr "Kan ikke læse drev"
+#: fdisk/cfdisk.c:2134
+msgid "             Since this might destroy data on the disk, you must"
+msgstr "             Siden dette kan ødelægge data på disken, skal du enten"
 
-#: fdisk/cfdisk.c:574
-msgid "Cannot write disk drive"
-msgstr "Kan ikke skrive på drev"
+#: fdisk/cfdisk.c:2135
+msgid "             either confirm or deny the write by entering `yes' or"
+msgstr "             bekræfte eller afvise ved at skrive henholdsvis 'ja'"
 
-#: fdisk/cfdisk.c:814
-msgid "Too many partitions"
-msgstr "For mange partitioner"
+#: fdisk/cfdisk.c:2136
+msgid "             `no'"
+msgstr "             eller 'nej'"
 
-#: fdisk/cfdisk.c:819
-msgid "Partition begins before sector 0"
-msgstr "Partition starter før sektor 0"
+#: fdisk/cfdisk.c:2137
+msgid "Up Arrow     Move cursor to the previous partition"
+msgstr "Pil op       Flyt markøren til forrige partition"
 
-#: fdisk/cfdisk.c:824
-msgid "Partition ends before sector 0"
-msgstr "Partition slutter før sektor 0"
+#: fdisk/cfdisk.c:2138
+msgid "Down Arrow   Move cursor to the next partition"
+msgstr "Pil ned      Flyt markøren til næste partition"
 
-#: fdisk/cfdisk.c:829
-msgid "Partition begins after end-of-disk"
-msgstr "Partition starter efter slut-på-disk"
+#: fdisk/cfdisk.c:2139
+msgid "CTRL-L       Redraws the screen"
+msgstr "CTRL-L       Gentegner skærmen"
 
-#: fdisk/cfdisk.c:834
-msgid "Partition ends after end-of-disk"
-msgstr "Partition slutter efter slut-på-disk"
+#: fdisk/cfdisk.c:2140
+msgid "  ?          Print this screen"
+msgstr "  ?          Vis denne skærm"
 
-#: fdisk/cfdisk.c:858
-msgid "logical partitions not in disk order"
-msgstr "logiske partitioner ikke i disk-rækkefølge"
+#: fdisk/cfdisk.c:2142
+msgid "Note: All of the commands can be entered with either upper or lower"
+msgstr "Bemærk: Alle kommandoerne kan angives med enten store eller små"
 
-#: fdisk/cfdisk.c:861
-msgid "logical partitions overlap"
-msgstr "logisk partitions-overlap"
+#: fdisk/cfdisk.c:2143
+msgid "case letters (except for Writes)."
+msgstr "bogstaver (undtagen W)."
 
-#: fdisk/cfdisk.c:863
-msgid "enlarged logical partitions overlap"
-msgstr "forstørret logisk partitions-overlap"
+#: fdisk/cfdisk.c:2173 fdisk/cfdisk.c:2495 fdisk/fdisksunlabel.c:318
+#: fdisk/fdisksunlabel.c:320
+msgid "Cylinders"
+msgstr "Cylindre"
 
-#: fdisk/cfdisk.c:893
-msgid "!!!! Internal error creating logical drive with no extended partition !!!!"
-msgstr "!!!! Intern fejl ved oprettelse af logisk drev uden udvidet partition !!!!"
+#: fdisk/cfdisk.c:2173
+msgid "Change cylinder geometry"
+msgstr "Skift cylindergeometri"
 
-#: fdisk/cfdisk.c:904 fdisk/cfdisk.c:916
-msgid "Cannot create logical drive here -- would create two extended partitions"
-msgstr "Kan ikke oprette logisk drev her -- ville resultere i to udvidede partitioner"
+#: fdisk/cfdisk.c:2174 fdisk/fdisksunlabel.c:315
+msgid "Heads"
+msgstr "Hoveder"
 
-#: fdisk/cfdisk.c:1066
-msgid "Menu item too long. Menu may look odd."
-msgstr "Menupunkt for langt. Menu ser muligvis mærkeligt ud."
+#: fdisk/cfdisk.c:2174
+msgid "Change head geometry"
+msgstr "Skift hovedgeometri"
 
-#: fdisk/cfdisk.c:1122
-msgid "Menu without direction. Defaulting horizontal."
-msgstr "Menu uden retning. Vælger standarden horisontal."
+#: fdisk/cfdisk.c:2175
+msgid "Change sector geometry"
+msgstr "Skift sektorgeometri"
 
-#: fdisk/cfdisk.c:1252
-msgid "Illegal key"
-msgstr "Ugyldig tast"
+#: fdisk/cfdisk.c:2176
+msgid "Done"
+msgstr "Færdig"
 
-#: fdisk/cfdisk.c:1275
-msgid "Press a key to continue"
-msgstr "Tryk en tast for at fortsætte"
+#: fdisk/cfdisk.c:2176
+msgid "Done with changing geometry"
+msgstr "Færdig med geometriændring"
 
-#: fdisk/cfdisk.c:1322 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2400
-#: fdisk/cfdisk.c:2402
-msgid "Primary"
-msgstr "Primær"
+#: fdisk/cfdisk.c:2189
+msgid "Enter the number of cylinders: "
+msgstr "Angiv antallet af cylindre: "
 
-#: fdisk/cfdisk.c:1322
-msgid "Create a new primary partition"
-msgstr "Opret en ny primær partition"
+#: fdisk/cfdisk.c:2201 fdisk/cfdisk.c:2763
+msgid "Illegal cylinders value"
+msgstr "Ugyldigt cylinderantal"
 
-#: fdisk/cfdisk.c:1323 fdisk/cfdisk.c:1870 fdisk/cfdisk.c:2399
-#: fdisk/cfdisk.c:2402
-msgid "Logical"
-msgstr "Logisk"
+#: fdisk/cfdisk.c:2207
+msgid "Enter the number of heads: "
+msgstr "Angiv antallet af hoveder: "
 
-#: fdisk/cfdisk.c:1323
-msgid "Create a new logical partition"
-msgstr "Opret en ny logisk partition"
+#: fdisk/cfdisk.c:2214 fdisk/cfdisk.c:2773
+msgid "Illegal heads value"
+msgstr "Ugyldig hovedantal"
 
-#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379 fdisk/cfdisk.c:2074
-msgid "Cancel"
-msgstr "Fortryd"
+#: fdisk/cfdisk.c:2220
+msgid "Enter the number of sectors per track: "
+msgstr "Angiv antallet af sektorer per spor: "
 
-#: fdisk/cfdisk.c:1324 fdisk/cfdisk.c:1379
-msgid "Don't create a partition"
-msgstr "Opret ikke partition"
+#: fdisk/cfdisk.c:2227 fdisk/cfdisk.c:2780
+msgid "Illegal sectors value"
+msgstr "Ugyldig sektorantal"
 
-#: fdisk/cfdisk.c:1340
-msgid "!!! Internal error !!!"
-msgstr "!!! Intern fejl !!!"
+#: fdisk/cfdisk.c:2330
+msgid "Enter filesystem type: "
+msgstr "Angiv filsystemtype: "
 
-#: fdisk/cfdisk.c:1343
-msgid "Size (in MB): "
-msgstr "Størrelse (i MB): "
+#: fdisk/cfdisk.c:2348
+msgid "Cannot change FS Type to empty"
+msgstr "Kan ikke ændre filsystemtype til tom"
 
-#: fdisk/cfdisk.c:1377
-msgid "Beginning"
-msgstr "Begyndelse"
+#: fdisk/cfdisk.c:2350
+msgid "Cannot change FS Type to extended"
+msgstr "Kan ikke ændre filsystemtype til udvidet"
 
-#: fdisk/cfdisk.c:1377
-msgid "Add partition at beginning of free space"
-msgstr "Tilføj partition i starten af det frie område"
+#: fdisk/cfdisk.c:2378 fdisk/fdisksunlabel.c:44
+msgid "Boot"
+msgstr "Opstart"
 
-#: fdisk/cfdisk.c:1378
-msgid "End"
-msgstr "Slut"
+#: fdisk/cfdisk.c:2380
+#, c-format
+msgid "Unk(%02X)"
+msgstr "Ukt(%02X)"
 
-#: fdisk/cfdisk.c:1378
-msgid "Add partition at end of free space"
-msgstr "Tilføj partition i slutningen af det frie område"
+#: fdisk/cfdisk.c:2383 fdisk/cfdisk.c:2386
+msgid ", NC"
+msgstr ", NC"
 
-#: fdisk/cfdisk.c:1396
-msgid "No room to create the extended partition"
-msgstr "Ikke plads til at oprette udvidet partition"
+#: fdisk/cfdisk.c:2391 fdisk/cfdisk.c:2394
+msgid "NC"
+msgstr "NC"
 
-#: fdisk/cfdisk.c:1435
-msgid "Bad signature on partition table"
-msgstr "Ugyldig signatur på partitionstabellen"
+#: fdisk/cfdisk.c:2402
+msgid "Pri/Log"
+msgstr "Pri/Log"
 
-#: fdisk/cfdisk.c:1473
-msgid "You specified more cylinders than fit on disk"
-msgstr "Du angav flere cylindre end der kan være på disken"
+#: fdisk/cfdisk.c:2478
+#, c-format
+msgid "Disk Drive: %s"
+msgstr "Drev: %s"
 
-#: fdisk/cfdisk.c:1503
-msgid "Cannot open disk drive"
-msgstr "Kan ikke åbne drev"
+#: fdisk/cfdisk.c:2481
+#, c-format
+msgid "Size: %lld bytes"
+msgstr "Størrelse: %lld byte"
 
-#: fdisk/cfdisk.c:1505 fdisk/cfdisk.c:1686
-msgid "Opened disk read-only - you have no permission to write"
-msgstr "Åbnede drev skrivebeskyttet - du har ikke adgang til at skrive"
+#: fdisk/cfdisk.c:2483
+#, c-format
+msgid "Heads: %d   Sectors per Track: %d   Cylinders: %d"
+msgstr "Hoveder: %d   Sektorer per spor: %d   Cylindre: %d"
 
-#: fdisk/cfdisk.c:1526
-msgid "Cannot get disk size"
-msgstr "Kan ikke få diskstørrelsen"
+#: fdisk/cfdisk.c:2487
+msgid "Name"
+msgstr "Navn"
 
-#. avoid snprintf - it does not exist on ancient systems
-#: fdisk/cfdisk.c:1552
-msgid "Bad primary partition"
-msgstr "Ugyldig primærpartition"
+#: fdisk/cfdisk.c:2488
+msgid "Flags"
+msgstr "Flag"
 
-#. avoid snprintf
-#: fdisk/cfdisk.c:1583
-msgid "Bad logical partition"
-msgstr "Ugyldig logisk partition"
+#: fdisk/cfdisk.c:2489
+msgid "Part Type"
+msgstr "Part-type"
 
-#: fdisk/cfdisk.c:1698
-msgid "Warning!!  This may destroy data on your disk!"
-msgstr "Advarsel!! Dette ødelægger muligvis data på din disk!"
+#: fdisk/cfdisk.c:2490
+msgid "FS Type"
+msgstr "Fs-type"
 
-#: fdisk/cfdisk.c:1702
-msgid "Are you sure you want write the partition table to disk? (yes or no): "
-msgstr ""
-"Er du sikke på, at du vil skrive partitionstabellen til disken? (ja eller "
-"nej): "
+#: fdisk/cfdisk.c:2491
+msgid "[Label]"
+msgstr "[Mærkat]"
 
-#: fdisk/cfdisk.c:1708
-msgid "no"
-msgstr "nej"
+#: fdisk/cfdisk.c:2493
+msgid "  Sectors"
+msgstr "  Sektorer"
 
-#: fdisk/cfdisk.c:1709
-msgid "Did not write partition table to disk"
-msgstr "Skrev ikke partitionstabellen til disken"
+#: fdisk/cfdisk.c:2497
+msgid "Size (MB)"
+msgstr "Størrelse (MB)"
 
-#: fdisk/cfdisk.c:1711
-msgid "yes"
-msgstr "ja"
+#: fdisk/cfdisk.c:2499
+msgid "Size (GB)"
+msgstr "Størrelse (GB)"
 
-#: fdisk/cfdisk.c:1714
-msgid "Please enter `yes' or `no'"
-msgstr "Skriv venligst 'ja' eller 'nej'"
+#: fdisk/cfdisk.c:2554
+msgid "Bootable"
+msgstr "Opstartbar"
 
-#: fdisk/cfdisk.c:1718
-msgid "Writing partition table to disk..."
-msgstr "Skriver partitionstabel til disken..."
+#: fdisk/cfdisk.c:2554
+msgid "Toggle bootable flag of the current partition"
+msgstr "Skift opstartbar-flaget for partitionen ('bootable')"
 
-#: fdisk/cfdisk.c:1743 fdisk/cfdisk.c:1747
-msgid "Wrote partition table to disk"
-msgstr "Skrev partitionstabel til disken"
+#: fdisk/cfdisk.c:2555
+msgid "Delete"
+msgstr "Slet"
 
-#: fdisk/cfdisk.c:1745
-msgid "Wrote partition table, but re-read table failed.  Reboot to update table."
-msgstr ""
-"Skrev partitionstabel, men genindlæsning mislykkedes. Genstart for at "
-"opdatere tabellen."
+#: fdisk/cfdisk.c:2555
+msgid "Delete the current partition"
+msgstr "Slet partitionen"
 
-#: fdisk/cfdisk.c:1755
-msgid "Not precisely one primary partition is bootable. DOS MBR cannot boot this."
-msgstr ""
-"Da ikke nøjagtig én primærpartition er opstartbar, vil DOS MBR ikke kunne "
-"starte op."
+#: fdisk/cfdisk.c:2556
+msgid "Geometry"
+msgstr "Geometri"
 
-#: fdisk/cfdisk.c:1813 fdisk/cfdisk.c:1931 fdisk/cfdisk.c:2015
-msgid "Enter filename or press RETURN to display on screen: "
-msgstr "Angiv filnavn eller tryk RETUR for at vise på skærmen: "
+#: fdisk/cfdisk.c:2556
+msgid "Change disk geometry (experts only)"
+msgstr "Skift diskgeometri (kun for eksperter)"
 
-#: fdisk/cfdisk.c:1821 fdisk/cfdisk.c:1939 fdisk/cfdisk.c:2023
-#, c-format
-msgid "Cannot open file '%s'"
-msgstr "Kan ikke åbne filen '%s'"
+#: fdisk/cfdisk.c:2557
+msgid "Help"
+msgstr "Hjælp"
 
-#: fdisk/cfdisk.c:1832
-#, c-format
-msgid "Disk Drive: %s\n"
-msgstr "Drev: %s\n"
+#: fdisk/cfdisk.c:2557
+msgid "Print help screen"
+msgstr "Vis hjælpeskærm"
 
-#: fdisk/cfdisk.c:1834
-msgid "Sector 0:\n"
-msgstr "Sektor 0:\n"
+#: fdisk/cfdisk.c:2558
+msgid "Maximize"
+msgstr "Maksimér"
 
-#: fdisk/cfdisk.c:1841
-#, c-format
-msgid "Sector %d:\n"
-msgstr "Sektor %d:\n"
+#: fdisk/cfdisk.c:2558
+msgid "Maximize disk usage of the current partition (experts only)"
+msgstr "Maksimér diskforbruget for partitionen (kun for eksperter)"
 
-#: fdisk/cfdisk.c:1861
-msgid "   None   "
-msgstr "   Ingen  "
+#: fdisk/cfdisk.c:2559
+msgid "New"
+msgstr "Ny"
 
-#: fdisk/cfdisk.c:1863
-msgid "   Pri/Log"
-msgstr "   Pri/Log"
+#: fdisk/cfdisk.c:2559
+msgid "Create new partition from free space"
+msgstr "Opret ny partition i frit område"
 
-#: fdisk/cfdisk.c:1865
-msgid "   Primary"
-msgstr "   Primær"
+#: fdisk/cfdisk.c:2560
+msgid "Print"
+msgstr "Udlæs"
 
-#: fdisk/cfdisk.c:1867
-msgid "   Logical"
-msgstr "   Logisk "
+#: fdisk/cfdisk.c:2560
+msgid "Print partition table to the screen or to a file"
+msgstr "Udlæs partitionstabellen til skærmen eller til en fil"
 
-#. odd flag on end
-#. type id
-#. type name
-#: fdisk/cfdisk.c:1905 fdisk/fdisk.c:1234 fdisk/fdisk.c:1458
-#: fdisk/fdisksgilabel.c:238 fdisk/fdisksunlabel.c:669 fdisk/sfdisk.c:581
-msgid "Unknown"
-msgstr "Ukendt"
+#: fdisk/cfdisk.c:2561
+msgid "Quit"
+msgstr "Afslut"
 
-#: fdisk/cfdisk.c:1911
-#, c-format
-msgid "Boot (%02X)"
-msgstr "Opstart (%02X)"
+#: fdisk/cfdisk.c:2561
+msgid "Quit program without writing partition table"
+msgstr "Afslut program uden at ændre partitionstabellen"
 
-#: fdisk/cfdisk.c:1913 fdisk/cfdisk.c:2408
-#, c-format
-msgid "Unknown (%02X)"
-msgstr "Ukendt (%02X)"
+#: fdisk/cfdisk.c:2562
+msgid "Type"
+msgstr "Type"
 
-#: fdisk/cfdisk.c:1915
-#, c-format
-msgid "None (%02X)"
-msgstr "Ingen (%02X)"
+#: fdisk/cfdisk.c:2562
+msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
+msgstr "Skift filsystemtype (DOS, Linux, OS/2 osv.)"
 
-#: fdisk/cfdisk.c:1950 fdisk/cfdisk.c:2034
-#, c-format
-msgid "Partition Table for %s\n"
-msgstr "Partitionstabel for %s\n"
+#: fdisk/cfdisk.c:2563
+msgid "Units"
+msgstr "Enheder"
 
-#: fdisk/cfdisk.c:1952
-msgid "            First    Last\n"
-msgstr "            Første   Sidste\n"
+#: fdisk/cfdisk.c:2563
+msgid "Change units of the partition size display (MB, sect, cyl)"
+msgstr "Skift enheder for visning af partitionstabellen (MB, sekt, cyl)"
 
-#: fdisk/cfdisk.c:1953
-msgid " # Type     Sector   Sector   Offset  Length   Filesystem Type (ID)   Flags\n"
-msgstr " # Type     Sektor   Sektor   Forskyd Længde   Filsystem type (ID)    Flag\n"
+#: fdisk/cfdisk.c:2564
+msgid "Write"
+msgstr "Skriv"
 
-#: fdisk/cfdisk.c:1954
-msgid ""
-"-- ------- -------- --------- ------ --------- ---------------------- "
-"---------\n"
-msgstr ""
-"-- ------- -------- --------- ------ --------- ---------------------- "
-"---------\n"
+#: fdisk/cfdisk.c:2564
+msgid "Write partition table to disk (this might destroy data)"
+msgstr "Skriv partitionstabellen til disk (dette kan ødelægge data)"
 
-#: fdisk/cfdisk.c:2036
-msgid "         ---Starting---      ----Ending----    Start Number of\n"
-msgstr "         --- Start-----      -----Slut-----    Start antal af\n"
+#: fdisk/cfdisk.c:2610
+msgid "Cannot make this partition bootable"
+msgstr "Kan ikke gøre denne partition opstartbar"
 
-#: fdisk/cfdisk.c:2037
-msgid " # Flags Head Sect Cyl   ID  Head Sect Cyl    Sector  Sectors\n"
-msgstr " # Flag  Hovd Sekt Cyl   ID  Hovd Sekt Cyl    Sektor  Sektorer\n"
+#: fdisk/cfdisk.c:2620
+msgid "Cannot delete an empty partition"
+msgstr "Kan ikke slette en tom partition"
 
-#: fdisk/cfdisk.c:2038
-msgid "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
-msgstr "-- ----- ---- ---- ---- ---- ---- ---- ---- -------- ---------\n"
+#: fdisk/cfdisk.c:2640 fdisk/cfdisk.c:2642
+msgid "Cannot maximize this partition"
+msgstr "Kan ikke maksimere denne partition"
 
-#: fdisk/cfdisk.c:2071
-msgid "Raw"
-msgstr ""
+#: fdisk/cfdisk.c:2650
+msgid "This partition is unusable"
+msgstr "Denne partition er ubrugelig"
 
-#: fdisk/cfdisk.c:2071
-msgid "Print the table using raw data format"
-msgstr "Vis tabellen i råtdata format"
+#: fdisk/cfdisk.c:2652
+msgid "This partition is already in use"
+msgstr "Denne partition er allerede i brug"
 
-#: fdisk/cfdisk.c:2072 fdisk/cfdisk.c:2174
-msgid "Sectors"
-msgstr "Sektorer"
+#: fdisk/cfdisk.c:2669
+msgid "Cannot change the type of an empty partition"
+msgstr "Kan ikke ændre en tom partitions type"
 
-#: fdisk/cfdisk.c:2072
-msgid "Print the table ordered by sectors"
-msgstr "Vis tabellen ordnet efter sektorer"
+#: fdisk/cfdisk.c:2696 fdisk/cfdisk.c:2702
+msgid "No more partitions"
+msgstr "Ikke flere partitioner"
 
-#: fdisk/cfdisk.c:2073
-msgid "Table"
-msgstr "Tabel"
+#: fdisk/cfdisk.c:2709
+msgid "Illegal command"
+msgstr "Ugyldig kommando"
 
-#: fdisk/cfdisk.c:2073
-msgid "Just print the partition table"
-msgstr "Vis kun partitionstabellen"
+#: fdisk/cfdisk.c:2719
+msgid "Copyright (C) 1994-2000 Kevin E. Martin & aeb\n"
+msgstr "Copyright (C) 1994-2000 Kevin E. Martin & aeb\n"
 
-#: fdisk/cfdisk.c:2074
-msgid "Don't print the table"
-msgstr "Vis ikke tabellen"
+#. Unfortunately, xgettext does not handle multi-line strings
+#. so, let's use explicit \n's instead
+#: fdisk/cfdisk.c:2726
+#, c-format
+msgid ""
+"\n"
+"Usage:\n"
+"Print version:\n"
+"        %s -v\n"
+"Print partition table:\n"
+"        %s -P {r|s|t} [options] device\n"
+"Interactive use:\n"
+"        %s [options] device\n"
+"\n"
+"Options:\n"
+"-a: Use arrow instead of highlighting;\n"
+"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
+"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
+"                the number of heads and the number of sectors/track.\n"
+"\n"
+msgstr ""
+"\n"
+"Brug:\n"
+"Vis version:\n"
+"        %s -v\n"
+"Vi partitionstabellen:\n"
+"        %s -P {r|s|t} [tilvalg] enhed\n"
+"Interaktivt brug:\n"
+"        %s [tilvalg] enhed\n"
+"\n"
+"Tilvalg:\n"
+"-a: Brug pil i stedet for baggrundsfyld;\n"
+"-z: Start med en tom partitionstabel i stedet for at læse diskens;\n"
+"-c C -h H -s S: Underkend kernens ide om antallet af cylindre,\n"
+"                hoveder og sektorer/spor.\n"
+"\n"
 
-#: fdisk/cfdisk.c:2102
-msgid "Help Screen for cfdisk"
-msgstr "Hjælpeskærm for cfdisk"
+#: fdisk/fdiskaixlabel.c:28
+msgid ""
+"\n"
+"\tThere is a valid AIX label on this disk.\n"
+"\tUnfortunately Linux cannot handle these\n"
+"\tdisks at the moment.  Nevertheless some\n"
+"\tadvice:\n"
+"\t1. fdisk will destroy its contents on write.\n"
+"\t2. Be sure that this disk is NOT a still vital\n"
+"\t   part of a volume group. (Otherwise you may\n"
+"\t   erase the other disks as well, if unmirrored.)\n"
+"\t3. Before deleting this physical volume be sure\n"
+"\t   to remove the disk logically from your AIX\n"
+"\t   machine.  (Otherwise you become an AIXpert)."
+msgstr ""
+"\n"
+"\tDer er et gyldig AIX-mærkat på denne disk.\n"
+"\tDesværre kan Linux endnu ikke arbejde med disse\n"
+"\tdiske. Alligevel er her nogle gode råd:\n"
+"\t1. fdisk vil ødelægge dens indhold når du gemmer.\n"
+"\t2. Vær sikker på at denne disk IKKE er en vital\n"
+"\t   del af en bind-gruppe. (Ellers kan du også slette\n"
+"\t   de andre diske, hvis de ikke er spejlede.)\n"
+"\t3. Før du sletter dette fysiske bind, vær sikker på\n"
+"\t   at du fjerne disken logisk fra din AIX maskine.\n"
+"\t   (Ellers bliver du en AIXpert)."
 
-#: fdisk/cfdisk.c:2104
-msgid "This is cfdisk, a curses based disk partitioning program, which"
-msgstr "Dette er cfdisk, et curses-baseret diskpartitionerings-program, som"
+#: fdisk/fdiskbsdlabel.c:117
+#, c-format
+msgid ""
+"\n"
+"BSD label for device: %s\n"
+msgstr ""
+"\n"
+"BSD-mærkat for enhed: %s\n"
 
-#: fdisk/cfdisk.c:2105
-msgid "allows you to create, delete and modify partitions on your hard"
-msgstr "lader dig oprette, slette eller modificere partitioner på din"
+#: fdisk/fdisk.c:318 fdisk/fdisk.c:337 fdisk/fdisk.c:355 fdisk/fdisk.c:362
+#: fdisk/fdisk.c:385 fdisk/fdisk.c:403 fdisk/fdisk.c:419 fdisk/fdisk.c:435
+#: fdisk/fdiskbsdlabel.c:124
+msgid "Command action"
+msgstr "Kommando beskrivelse"
 
-#: fdisk/cfdisk.c:2106
-msgid "disk drive."
-msgstr "harddisk."
+#: fdisk/fdiskbsdlabel.c:125
+msgid "   d   delete a BSD partition"
+msgstr "   d    slet en BSD-partition"
 
-#: fdisk/cfdisk.c:2108
-msgid "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
-msgstr "Copyright (C) 1994-1999 Kevin E. Martin & aeb"
+#: fdisk/fdiskbsdlabel.c:126
+msgid "   e   edit drive data"
+msgstr "   e    redigér drev-data"
 
-#: fdisk/cfdisk.c:2110
-msgid "Command      Meaning"
-msgstr "Kommando     Betydning"
+#: fdisk/fdiskbsdlabel.c:127
+msgid "   i   install bootstrap"
+msgstr "   i    installer opstarts-igangsætter ('bootstrap')"
 
-#: fdisk/cfdisk.c:2111
-msgid "-------      -------"
-msgstr "-------      -------"
+#: fdisk/fdiskbsdlabel.c:128
+msgid "   l   list known filesystem types"
+msgstr "   l    vis liste over filsystemtyper"
 
-#: fdisk/cfdisk.c:2112
-msgid "  b          Toggle bootable flag of the current partition"
-msgstr "  b          Skift opstartbar-flaget for partitionen ('bootable')"
+#. sun
+#: fdisk/fdisk.c:324 fdisk/fdisk.c:343 fdisk/fdisk.c:356 fdisk/fdisk.c:368
+#: fdisk/fdisk.c:393 fdisk/fdisk.c:410 fdisk/fdisk.c:426 fdisk/fdisk.c:443
+#: fdisk/fdiskbsdlabel.c:129
+msgid "   m   print this menu"
+msgstr "   m    vis denne menu"
 
-#: fdisk/cfdisk.c:2113
-msgid "  d          Delete the current partition"
-msgstr "  d          Slet partitionen"
+#: fdisk/fdiskbsdlabel.c:130
+msgid "   n   add a new BSD partition"
+msgstr "   n    tilføj en ny BSD-partition"
 
-#: fdisk/cfdisk.c:2114
-msgid "  g          Change cylinders, heads, sectors-per-track parameters"
-msgstr "  g          Ret cylinder, hoved, sektorer-per-spor parametre"
+#: fdisk/fdiskbsdlabel.c:131
+msgid "   p   print BSD partition table"
+msgstr "   p    vis BSD-partitionstabel"
 
-#: fdisk/cfdisk.c:2115
-msgid "             WARNING: This option should only be used by people who"
-msgstr "             ADVARSEL: Denne kommando bør kun bruges af folk, der"
+#: fdisk/fdisk.c:328 fdisk/fdisk.c:347 fdisk/fdisk.c:358 fdisk/fdisk.c:372
+#: fdisk/fdisk.c:395 fdisk/fdisk.c:412 fdisk/fdisk.c:428 fdisk/fdisk.c:445
+#: fdisk/fdiskbsdlabel.c:132
+msgid "   q   quit without saving changes"
+msgstr "   q    afslut uden at gemme ændringerne"
 
-#: fdisk/cfdisk.c:2116
-msgid "             know what they are doing."
-msgstr "             er klar over, hvad de gør."
+#: fdisk/fdisk.c:396 fdisk/fdisk.c:413 fdisk/fdisk.c:429 fdisk/fdisk.c:446
+#: fdisk/fdiskbsdlabel.c:133
+msgid "   r   return to main menu"
+msgstr "   r    returnér til hovedmenuen"
 
-#: fdisk/cfdisk.c:2117
-msgid "  h          Print this screen"
-msgstr "  h          Vis denne skærm"
+#: fdisk/fdiskbsdlabel.c:134
+msgid "   s   show complete disklabel"
+msgstr "   s    vis hele diskmærkatet"
 
-#: fdisk/cfdisk.c:2118
-msgid "  m          Maximize disk usage of the current partition"
-msgstr "  m          Maksimér partitionens diskforbrug"
+#: fdisk/fdiskbsdlabel.c:135
+msgid "   t   change a partition's filesystem id"
+msgstr "   t    ændr filsystem-id for en partition"
 
-#: fdisk/cfdisk.c:2119
-msgid "             Note: This may make the partition incompatible with"
-msgstr "             Bemærk: Dette kan gøre partitionen inkompatibel med"
+#: fdisk/fdiskbsdlabel.c:136
+msgid "   u   change units (cylinders/sectors)"
+msgstr "   u    skift enheder (cylindre/sektorer)"
 
-#: fdisk/cfdisk.c:2120
-msgid "             DOS, OS/2, ..."
-msgstr "             DOS, OS/2, ..."
+#: fdisk/fdiskbsdlabel.c:137
+msgid "   w   write disklabel to disk"
+msgstr "   w    skriv diskmærkatet til disken"
 
-#: fdisk/cfdisk.c:2121
-msgid "  n          Create new partition from free space"
-msgstr "  n          Opret ny partition i frit område"
+#: fdisk/fdiskbsdlabel.c:139
+msgid "   x   link BSD partition to non-BSD partition"
+msgstr "   x   lænk en BSD-partition til en ikke-BSD-partition"
 
-#: fdisk/cfdisk.c:2122
-msgid "  p          Print partition table to the screen or to a file"
-msgstr "  p          Udlæs partitionstabellen til skærmen eller en fil"
+#: fdisk/fdiskbsdlabel.c:168
+#, c-format
+msgid "Partition %s has invalid starting sector 0.\n"
+msgstr "Partition %s har en ugyldig startsektor 0.\n"
 
-#: fdisk/cfdisk.c:2123
-msgid "             There are several different formats for the partition"
-msgstr "             Der er flere forskellige formater på partitionen,"
+#: fdisk/fdiskbsdlabel.c:172
+#, c-format
+msgid "Reading disklabel of %s at sector %d.\n"
+msgstr "Læser diskmærkat for %s fra sektor %d.\n"
 
-#: fdisk/cfdisk.c:2124
-msgid "             that you can choose from:"
-msgstr "             som du kan vælge mellem:"
+#: fdisk/fdiskbsdlabel.c:182
+#, c-format
+msgid "There is no *BSD partition on %s.\n"
+msgstr "Der er ingen *BSD-partitioner på %s.\n"
 
-#: fdisk/cfdisk.c:2125
-msgid "                r - Raw data (exactly what would be written to disk)"
-msgstr "                r - Rådata (nøjagtig de, som ville skrives på disken)"
+#: fdisk/fdiskbsdlabel.c:196
+msgid "BSD disklabel command (m for help): "
+msgstr "BSD-diskmærkat kommando (m for hjælp): "
 
-#: fdisk/cfdisk.c:2126
-msgid "                s - Table ordered by sectors"
-msgstr "                s - Tabel ordnet efter sektorer"
+#: fdisk/fdisk.c:1659 fdisk/fdiskbsdlabel.c:276 fdisk/fdisksgilabel.c:686
+#: fdisk/fdisksunlabel.c:518
+#, c-format
+msgid "First %s"
+msgstr "Første %s"
 
-#: fdisk/cfdisk.c:2127
-msgid "                t - Table in raw format"
-msgstr "                t - Tabel i rådata format"
+#: fdisk/fdisk.c:1719 fdisk/fdiskbsdlabel.c:283 fdisk/fdisksunlabel.c:554
+#, c-format
+msgid "Last %s or +size or +sizeM or +sizeK"
+msgstr "Sidste %s eller +størrelse eller +størrelseM eller +størrelseK"
 
-#: fdisk/cfdisk.c:2128
-msgid "  q          Quit program without writing partition table"
-msgstr "  q          Afslut program uden at skrive partitionstabellen"
+#: fdisk/fdiskbsdlabel.c:310
+#, c-format
+msgid "type: %s\n"
+msgstr "type: %s\n"
 
-#: fdisk/cfdisk.c:2129
-msgid "  t          Change the filesystem type"
-msgstr "  t          Skift filsystem type"
+#: fdisk/fdiskbsdlabel.c:312
+#, c-format
+msgid "type: %d\n"
+msgstr "type: %d\n"
 
-#: fdisk/cfdisk.c:2130
-msgid "  u          Change units of the partition size display"
-msgstr "  u          Skift enhed for visning af partitionsstørrelser"
+#: fdisk/fdiskbsdlabel.c:313
+#, c-format
+msgid "disk: %.*s\n"
+msgstr "disk: %.*s\n"
 
-#: fdisk/cfdisk.c:2131
-msgid "             Rotates through MB, sectors and cylinders"
-msgstr "             Skifter mellem MB, sektorer og cylindrer"
+#: fdisk/fdiskbsdlabel.c:314
+#, c-format
+msgid "label: %.*s\n"
+msgstr "mærkat: %.*s\n"
 
-#: fdisk/cfdisk.c:2132
-msgid "  W          Write partition table to disk (must enter upper case W)"
-msgstr "  W          Skriv partitionstabellen til disk (skal være stort W)"
+#: fdisk/fdiskbsdlabel.c:315
+msgid "flags:"
+msgstr "flag:"
 
-#: fdisk/cfdisk.c:2133
-msgid "             Since this might destroy data on the disk, you must"
-msgstr "             Siden dette kan ødelægge data på disken, skal du enten"
+#: fdisk/fdiskbsdlabel.c:317
+msgid " removable"
+msgstr " flytbar"
 
-#: fdisk/cfdisk.c:2134
-msgid "             either confirm or deny the write by entering `yes' or"
-msgstr "             bekræfte eller afvise ved at skrive henholdsvis 'ja'"
+#: fdisk/fdiskbsdlabel.c:319
+msgid " ecc"
+msgstr " ecc"
 
-#: fdisk/cfdisk.c:2135
-msgid "             `no'"
-msgstr "             eller 'nej'"
+#: fdisk/fdiskbsdlabel.c:321
+msgid " badsect"
+msgstr " fjlsekt"
 
-#: fdisk/cfdisk.c:2136
-msgid "Up Arrow     Move cursor to the previous partition"
-msgstr "Pil op       Flyt markøren til forrige partition"
+#. On various machines the fields of *lp are short/int/long
+#. In order to avoid problems, we cast them all to long.
+#: fdisk/fdiskbsdlabel.c:325
+#, c-format
+msgid "bytes/sector: %ld\n"
+msgstr "byte/sektor: %ld\n"
 
-#: fdisk/cfdisk.c:2137
-msgid "Down Arrow   Move cursor to the next partition"
-msgstr "Pil ned      Flyt markøren til næste partition"
+#: fdisk/fdiskbsdlabel.c:326
+#, c-format
+msgid "sectors/track: %ld\n"
+msgstr "sektorer/spor: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:327
+#, c-format
+msgid "tracks/cylinder: %ld\n"
+msgstr "spor/cylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:328
+#, c-format
+msgid "sectors/cylinder: %ld\n"
+msgstr "sektorer/cylinder: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:329
+#, c-format
+msgid "cylinders: %ld\n"
+msgstr "cylindre: %ld\n"
+
+#: fdisk/fdiskbsdlabel.c:330
+#, c-format
+msgid "rpm: %d\n"
+msgstr "omdr. per minut: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:331
+#, c-format
+msgid "interleave: %d\n"
+msgstr "interleave: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:332
+#, c-format
+msgid "trackskew: %d\n"
+msgstr "sporafvigelse: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:333
+#, c-format
+msgid "cylinderskew: %d\n"
+msgstr "cylinderafvigelse: %d\n"
+
+#: fdisk/fdiskbsdlabel.c:334
+#, c-format
+msgid "headswitch: %ld\t\t# milliseconds\n"
+msgstr "hovedskift: %ld\t\t# millisekunder\n"
+
+#: fdisk/fdiskbsdlabel.c:336
+#, c-format
+msgid "track-to-track seek: %ld\t# milliseconds\n"
+msgstr "spor-til-spor søgning: %ld\t# millisekunder\n"
+
+#: fdisk/fdiskbsdlabel.c:338
+msgid "drivedata: "
+msgstr "drevdata: "
+
+#: fdisk/fdiskbsdlabel.c:347
+#, c-format
+msgid ""
+"\n"
+"%d partitions:\n"
+msgstr ""
+"\n"
+"%d partitioner:\n"
+
+#: fdisk/fdiskbsdlabel.c:348
+msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
+msgstr "#       start       slut     størr.   fstype   [fstr. bstr.   cpg]\n"
 
-#: fdisk/cfdisk.c:2138
-msgid "CTRL-L       Redraws the screen"
-msgstr "CTRL-L       Gentegner skærmen"
+#: fdisk/fdiskbsdlabel.c:397 fdisk/fdiskbsdlabel.c:400
+#, c-format
+msgid "Writing disklabel to %s.\n"
+msgstr "Skiver diskmærkat til %s.\n"
 
-#: fdisk/cfdisk.c:2139
-msgid "  ?          Print this screen"
-msgstr "  ?          Vis denne skærm"
+#: fdisk/fdiskbsdlabel.c:412 fdisk/fdiskbsdlabel.c:414
+#, c-format
+msgid "%s contains no disklabel.\n"
+msgstr "%s har intet diskmærkat.\n"
 
-#: fdisk/cfdisk.c:2141
-msgid "Note: All of the commands can be entered with either upper or lower"
-msgstr "Bemærk: Alle kommandoerne kan angives med enten store eller små"
+#: fdisk/fdiskbsdlabel.c:419
+msgid "Do you want to create a disklabel? (y/n) "
+msgstr "Vil du oprette et diskmærkat? (j/n) "
 
-#: fdisk/cfdisk.c:2142
-msgid "case letters (except for Writes)."
-msgstr "bogstaver (undtagen W)."
+#: fdisk/fdiskbsdlabel.c:458
+msgid "bytes/sector"
+msgstr "byte/sektor"
 
-#: fdisk/cfdisk.c:2172 fdisk/cfdisk.c:2494 fdisk/fdisksunlabel.c:318
-#: fdisk/fdisksunlabel.c:320
-msgid "Cylinders"
-msgstr "Cylindre"
+#: fdisk/fdiskbsdlabel.c:459
+msgid "sectors/track"
+msgstr "sektorer/spor"
 
-#: fdisk/cfdisk.c:2172
-msgid "Change cylinder geometry"
-msgstr "Skift cylindergeometri"
+#: fdisk/fdiskbsdlabel.c:460
+msgid "tracks/cylinder"
+msgstr "spor/cylinder"
 
-#: fdisk/cfdisk.c:2173 fdisk/fdisksunlabel.c:315
-msgid "Heads"
-msgstr "Hoveder"
+#: fdisk/fdisk.c:557 fdisk/fdisk.c:1077 fdisk/fdiskbsdlabel.c:461
+#: fdisk/sfdisk.c:864
+msgid "cylinders"
+msgstr "cylindre"
 
-#: fdisk/cfdisk.c:2173
-msgid "Change head geometry"
-msgstr "Skift hovedgeometri"
+#: fdisk/fdiskbsdlabel.c:468
+msgid "sectors/cylinder"
+msgstr "sektorer/cylinder"
 
-#: fdisk/cfdisk.c:2174
-msgid "Change sector geometry"
-msgstr "Skift sektorgeometri"
+#: fdisk/fdiskbsdlabel.c:472
+msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
+msgstr "Skal være <= sektorer/spor * spor/cylinder (standard).\n"
 
-#: fdisk/cfdisk.c:2175
-msgid "Done"
-msgstr "Færdig"
+#: fdisk/fdiskbsdlabel.c:474
+msgid "rpm"
+msgstr "omdr. per minut"
 
-#: fdisk/cfdisk.c:2175
-msgid "Done with changing geometry"
-msgstr "Færdig med geometriændring"
+#: fdisk/fdiskbsdlabel.c:475
+msgid "interleave"
+msgstr "interleave"
 
-#: fdisk/cfdisk.c:2188
-msgid "Enter the number of cylinders: "
-msgstr "Angiv antallet af cylindre: "
+#: fdisk/fdiskbsdlabel.c:476
+msgid "trackskew"
+msgstr "sporafvigelse"
 
-#: fdisk/cfdisk.c:2200 fdisk/cfdisk.c:2762
-msgid "Illegal cylinders value"
-msgstr "Ugyldigt cylinderantal"
+#: fdisk/fdiskbsdlabel.c:477
+msgid "cylinderskew"
+msgstr "cylinderafvigelse"
 
-#: fdisk/cfdisk.c:2206
-msgid "Enter the number of heads: "
-msgstr "Angiv antallet af hoveder: "
+#: fdisk/fdiskbsdlabel.c:478
+msgid "headswitch"
+msgstr "hovedskift"
 
-#: fdisk/cfdisk.c:2213 fdisk/cfdisk.c:2772
-msgid "Illegal heads value"
-msgstr "Ugyldig hovedantal"
+#: fdisk/fdiskbsdlabel.c:479
+msgid "track-to-track seek"
+msgstr "spor-til-spor søgning"
 
-#: fdisk/cfdisk.c:2219
-msgid "Enter the number of sectors per track: "
-msgstr "Angiv antallet af sektorer per spor: "
+#: fdisk/fdiskbsdlabel.c:520
+#, c-format
+msgid "Bootstrap: %sboot -> boot%s (%s): "
+msgstr "Opstarts-igangsætter: %sopstart -> opstart%s (%s): "
 
-#: fdisk/cfdisk.c:2226 fdisk/cfdisk.c:2779
-msgid "Illegal sectors value"
-msgstr "Ugyldig sektorantal"
+#: fdisk/fdiskbsdlabel.c:545
+msgid "Bootstrap overlaps with disk label!\n"
+msgstr "Opstarts-igangsætter overlapper med diskmærkatet!\n"
 
-#: fdisk/cfdisk.c:2329
-msgid "Enter filesystem type: "
-msgstr "Angiv filsystemtype: "
+#: fdisk/fdiskbsdlabel.c:566 fdisk/fdiskbsdlabel.c:568
+#, c-format
+msgid "Bootstrap installed on %s.\n"
+msgstr "Opstarts-igangsætter installeret på %s.\n"
 
-#: fdisk/cfdisk.c:2347
-msgid "Cannot change FS Type to empty"
-msgstr "Kn ikke ændre FS type til tom"
+#: fdisk/fdiskbsdlabel.c:590
+#, c-format
+msgid "Partition (a-%c): "
+msgstr "Partition (a-%c): "
 
-#: fdisk/cfdisk.c:2349
-msgid "Cannot change FS Type to extended"
-msgstr "Kan ikke ændre FS type til udvidet"
+#: fdisk/fdisk.c:1792 fdisk/fdiskbsdlabel.c:610
+msgid "The maximum number of partitions has been created\n"
+msgstr "Det maksimale antal partitioner er blevet oprettet\n"
 
-#: fdisk/cfdisk.c:2377 fdisk/fdisksunlabel.c:44
-msgid "Boot"
-msgstr "Opstart"
+#: fdisk/fdiskbsdlabel.c:621
+msgid "This partition already exists.\n"
+msgstr "Denne partition eksisterer allerede.\n"
 
-#: fdisk/cfdisk.c:2379
+#: fdisk/fdiskbsdlabel.c:741
 #, c-format
-msgid "Unk(%02X)"
-msgstr "Ukt(%02X)"
+msgid "Warning: too many partitions (%d, maximum is %d).\n"
+msgstr "Advarsel: for mange partitioner (%d, maksimum er %d).\n"
 
-#: fdisk/cfdisk.c:2382 fdisk/cfdisk.c:2385
-msgid ", NC"
-msgstr ", NC"
+#: fdisk/fdiskbsdlabel.c:788
+msgid ""
+"\n"
+"Syncing disks.\n"
+msgstr ""
+"\n"
+"Synkroniserer diske.\n"
 
-#: fdisk/cfdisk.c:2390 fdisk/cfdisk.c:2393
-msgid "NC"
-msgstr "NC"
+#: fdisk/fdisk.c:205
+msgid ""
+"Usage: fdisk [-b SSZ] [-u] DISK     Change partition table\n"
+"       fdisk -l [-b SSZ] [-u] DISK  List partition table(s)\n"
+"       fdisk -s PARTITION           Give partition size(s) in blocks\n"
+"       fdisk -v                     Give fdisk version\n"
+"Here DISK is something like /dev/hdb or /dev/sda\n"
+"and PARTITION is something like /dev/hda7\n"
+"-u: give Start and End in sector (instead of cylinder) units\n"
+"-b 2048: (for certain MO drives) use 2048-byte sectors\n"
+msgstr ""
+"Brug: fdisk [-b SSZ] [-u] DISK     Skift partitionstabel\n"
+"      fdisk -l [-b SSZ] [-u] DISK  Vis partitionstabel(ler)\n"
+"      fdisk -s PARTITION           Vis partitionsstørrelser i blokke\n"
+"      fdisk -v                     Vis fdisks version\n"
+"DISK er f.eks. /dev/hdb eller /dev/sda\n"
+"PARTITION er f.eks. /dev/hda7\n"
+"-u: angiv start og slut som sektornumre (i stedet for cylindernumre)\n"
+"-b 2048: (for visse MO drev) brug sektorer på 2048-byte\n"
 
-#: fdisk/cfdisk.c:2401
-msgid "Pri/Log"
-msgstr "Pri/Log"
+#: fdisk/fdisk.c:217
+msgid ""
+"Usage: fdisk [-l] [-b SSZ] [-u] device\n"
+"E.g.: fdisk /dev/hda  (for the first IDE disk)\n"
+"  or: fdisk /dev/sdc  (for the third SCSI disk)\n"
+"  or: fdisk /dev/eda  (for the first PS/2 ESDI drive)\n"
+"  or: fdisk /dev/rd/c0d0  or: fdisk /dev/ida/c0d0  (for RAID devices)\n"
+"  ...\n"
+msgstr ""
+"Brug: fdisk [-l] [-b SSZ] [-u] enhed\n"
+"F.eks.: fdisk /dev/hda  (for den første IDE-disk)\n"
+" eller: fdisk /dev/sdc  (for den tredie SCSI-disk)\n"
+" eller: fdisk /dev/eda  (for det første PS/2 ESDI-drev)\n"
+" eller: fdisk /dev/rd/c0d0  eller: fdisk /dev/ida/c0d0  (for RAID-enheder)\n"
+"  ...\n"
 
-#: fdisk/cfdisk.c:2477
+#: fdisk/fdisk.c:226
 #, c-format
-msgid "Disk Drive: %s"
-msgstr "Drev: %s"
+msgid "Unable to open %s\n"
+msgstr "Kunne ikke åbne %s\n"
 
-#: fdisk/cfdisk.c:2480
+#: fdisk/fdisk.c:230
 #, c-format
-msgid "Size: %lld bytes"
-msgstr "Størrelse: %lld byte"
+msgid "Unable to read %s\n"
+msgstr "Kunne ikke læse %s\n"
 
-#: fdisk/cfdisk.c:2482
+#: fdisk/fdisk.c:234
 #, c-format
-msgid "Heads: %d   Sectors per Track: %d   Cylinders: %d"
-msgstr "Hoveder: %d   Sektorer per spor: %d   Cylindre: %d"
-
-#: fdisk/cfdisk.c:2486
-msgid "Name"
-msgstr "Navn"
+msgid "Unable to seek on %s\n"
+msgstr "Kunne ikke søge til %s\n"
 
-#: fdisk/cfdisk.c:2487
-msgid "Flags"
-msgstr "Flag"
+#: fdisk/fdisk.c:238
+#, c-format
+msgid "Unable to write %s\n"
+msgstr "Kunne ikke skrive %s\n"
 
-#: fdisk/cfdisk.c:2488
-msgid "Part Type"
-msgstr "Part-type"
+#: fdisk/fdisk.c:242
+#, c-format
+msgid "BLKGETSIZE ioctl failed on %s\n"
+msgstr "BLKGETSIZE ioctl mislykkedes på %s\n"
 
-#: fdisk/cfdisk.c:2489
-msgid "FS Type"
-msgstr "FS-type"
+#: fdisk/fdisk.c:246
+msgid "Unable to allocate any more memory\n"
+msgstr "Kunne ikke allokere mere hukommelse\n"
 
-#: fdisk/cfdisk.c:2490
-msgid "[Label]"
-msgstr "[Mærkat]"
+#: fdisk/fdisk.c:249
+msgid "Fatal error\n"
+msgstr "Fatal fejl\n"
 
-#: fdisk/cfdisk.c:2492
-msgid "  Sectors"
-msgstr "  Sektorer"
+#: fdisk/fdisk.c:319
+msgid "   a   toggle a read only flag"
+msgstr "   a    skift et skrivebeskyttelses-flag"
 
-#: fdisk/cfdisk.c:2496
-msgid "Size (MB)"
-msgstr "Størrelse (MB)"
+#. sun
+#: fdisk/fdisk.c:320 fdisk/fdisk.c:364
+msgid "   b   edit bsd disklabel"
+msgstr "   b    skift bsd-diskmærkat"
 
-#: fdisk/cfdisk.c:2498
-msgid "Size (GB)"
-msgstr "Størrelse (GB)"
+#: fdisk/fdisk.c:321
+msgid "   c   toggle the mountable flag"
+msgstr "   c    skift montérbart-flag"
 
-#: fdisk/cfdisk.c:2553
-msgid "Bootable"
-msgstr "Opstartbar"
+#. sun
+#: fdisk/fdisk.c:322 fdisk/fdisk.c:341 fdisk/fdisk.c:366
+msgid "   d   delete a partition"
+msgstr "   d    slet en partition"
 
-#: fdisk/cfdisk.c:2553
-msgid "Toggle bootable flag of the current partition"
-msgstr "Skift opstartbar-flaget for partitionen ('bootable')"
+#: fdisk/fdisk.c:323 fdisk/fdisk.c:342 fdisk/fdisk.c:367
+msgid "   l   list known partition types"
+msgstr "   l    vis liste over kendte partitionstyper"
 
-#: fdisk/cfdisk.c:2554
-msgid "Delete"
-msgstr "Slet"
+#: fdisk/fdisk.c:325 fdisk/fdisk.c:344 fdisk/fdisk.c:369
+msgid "   n   add a new partition"
+msgstr "   n    tilføj en ny partition"
 
-#: fdisk/cfdisk.c:2554
-msgid "Delete the current partition"
-msgstr "Slet partitionen"
+#: fdisk/fdisk.c:326 fdisk/fdisk.c:345 fdisk/fdisk.c:357 fdisk/fdisk.c:370
+msgid "   o   create a new empty DOS partition table"
+msgstr "   o    opret en ny, tom DOS-partitionstabel"
 
-#: fdisk/cfdisk.c:2555
-msgid "Geometry"
-msgstr "Geometri"
+#: fdisk/fdisk.c:327 fdisk/fdisk.c:346 fdisk/fdisk.c:371 fdisk/fdisk.c:394
+#: fdisk/fdisk.c:411 fdisk/fdisk.c:427 fdisk/fdisk.c:444
+msgid "   p   print the partition table"
+msgstr "   p    vis partitionstabellen"
 
-#: fdisk/cfdisk.c:2555
-msgid "Change disk geometry (experts only)"
-msgstr "Skift diskgeometri (kun for eksperter)"
+#: fdisk/fdisk.c:329 fdisk/fdisk.c:348 fdisk/fdisk.c:359 fdisk/fdisk.c:373
+msgid "   s   create a new empty Sun disklabel"
+msgstr "   s    opret en ny, tom Sun-diskmærkat"
 
-#: fdisk/cfdisk.c:2556
-msgid "Help"
-msgstr "Hjælp"
+#. sun
+#: fdisk/fdisk.c:330 fdisk/fdisk.c:349 fdisk/fdisk.c:374
+msgid "   t   change a partition's system id"
+msgstr "   t    skift system-id for en partition"
 
-#: fdisk/cfdisk.c:2556
-msgid "Print help screen"
-msgstr "Vis hjælpeskærm"
+#: fdisk/fdisk.c:331 fdisk/fdisk.c:350 fdisk/fdisk.c:375
+msgid "   u   change display/entry units"
+msgstr "   u    skift enheder for visning/indtastning"
 
-#: fdisk/cfdisk.c:2557
-msgid "Maximize"
-msgstr "Maksimér"
+#: fdisk/fdisk.c:332 fdisk/fdisk.c:351 fdisk/fdisk.c:376 fdisk/fdisk.c:398
+#: fdisk/fdisk.c:415 fdisk/fdisk.c:431 fdisk/fdisk.c:448
+msgid "   v   verify the partition table"
+msgstr "   v    verificér partitionstabellen"
 
-#: fdisk/cfdisk.c:2557
-msgid "Maximize disk usage of the current partition (experts only)"
-msgstr "Maximér diskforbruget for partitionen (kun for eksperter)"
+#: fdisk/fdisk.c:333 fdisk/fdisk.c:352 fdisk/fdisk.c:377 fdisk/fdisk.c:399
+#: fdisk/fdisk.c:416 fdisk/fdisk.c:432 fdisk/fdisk.c:449
+msgid "   w   write table to disk and exit"
+msgstr "   w    skriv partitionstabel til disk og afslut"
 
-#: fdisk/cfdisk.c:2558
-msgid "New"
-msgstr "Ny"
+#: fdisk/fdisk.c:334 fdisk/fdisk.c:378
+msgid "   x   extra functionality (experts only)"
+msgstr "   x    ekstra funktionalitet (kun for eksperter)"
 
-#: fdisk/cfdisk.c:2558
-msgid "Create new partition from free space"
-msgstr "Opret ny partition i frit område"
+#: fdisk/fdisk.c:338
+msgid "   a   select bootable partition"
+msgstr "   a    vælg en opstartbar partition"
 
-#: fdisk/cfdisk.c:2559
-msgid "Print"
-msgstr "Udlæs"
+#. sgi flavour
+#: fdisk/fdisk.c:339
+msgid "   b   edit bootfile entry"
+msgstr "   b    redigér indgang i opstartsfil"
 
-#: fdisk/cfdisk.c:2559
-msgid "Print partition table to the screen or to a file"
-msgstr "Udlæs partitionstabellen til skærmen eller til en fil"
+#. sgi
+#: fdisk/fdisk.c:340
+msgid "   c   select sgi swap partition"
+msgstr "   c    vælg sgi swap-partition"
 
-#: fdisk/cfdisk.c:2560
-msgid "Quit"
-msgstr "Afslut"
+#: fdisk/fdisk.c:363
+msgid "   a   toggle a bootable flag"
+msgstr "   a    skift opstartbar-flaget"
 
-#: fdisk/cfdisk.c:2560
-msgid "Quit program without writing partition table"
-msgstr "Afslut program uden at ændre partitionstabellen"
+#: fdisk/fdisk.c:365
+msgid "   c   toggle the dos compatibility flag"
+msgstr "   c    skift DOS-kompatilitets-flaget"
 
-#: fdisk/cfdisk.c:2561
-msgid "Type"
-msgstr "Type"
+#: fdisk/fdisk.c:386
+msgid "   a   change number of alternate cylinders"
+msgstr "   a    ændr antallet af alternative cylindre"
 
-#: fdisk/cfdisk.c:2561
-msgid "Change the filesystem type (DOS, Linux, OS/2 and so on)"
-msgstr "Skift filsystemtype (DOS, Linux, OS/2 osv.)"
+#. sun
+#: fdisk/fdisk.c:387 fdisk/fdisk.c:405 fdisk/fdisk.c:421 fdisk/fdisk.c:437
+msgid "   c   change number of cylinders"
+msgstr "   c    ændr antallet af cylindre"
 
-#: fdisk/cfdisk.c:2562
-msgid "Units"
-msgstr "Enheder"
+#: fdisk/fdisk.c:388 fdisk/fdisk.c:406 fdisk/fdisk.c:422 fdisk/fdisk.c:438
+msgid "   d   print the raw data in the partition table"
+msgstr "   d    vis rådataene fra partitionstabellen"
 
-#: fdisk/cfdisk.c:2562
-msgid "Change units of the partition size display (MB, sect, cyl)"
-msgstr "Skift enheder for visning af partitionstabellen (MB, sekt, cyl)"
+#: fdisk/fdisk.c:389
+msgid "   e   change number of extra sectors per cylinder"
+msgstr "   e    ændr antallet af ekstra sektorer per cylinder"
 
-#: fdisk/cfdisk.c:2563
-msgid "Write"
-msgstr "Skriv"
+#. sun
+#: fdisk/fdisk.c:390 fdisk/fdisk.c:409 fdisk/fdisk.c:425 fdisk/fdisk.c:442
+msgid "   h   change number of heads"
+msgstr "   h    ændr antallet af hoveder"
 
-#: fdisk/cfdisk.c:2563
-msgid "Write partition table to disk (this might destroy data)"
-msgstr "Skriv partitionstabellen til disk (dette kan ødelægge data)"
+#: fdisk/fdisk.c:391
+msgid "   i   change interleave factor"
+msgstr "   i   ændr interleavefaktor"
 
-#: fdisk/cfdisk.c:2609
-msgid "Cannot make this partition bootable"
-msgstr "Kan ikke gøre denne partition opstartbar"
+#. sun
+#: fdisk/fdisk.c:392
+msgid "   o   change rotation speed (rpm)"
+msgstr "   o    ændr rotationshastighed (omdr. per minut)"
 
-#: fdisk/cfdisk.c:2619
-msgid "Cannot delete an empty partition"
-msgstr "Kan ikke slette en tom partition"
+#: fdisk/fdisk.c:397 fdisk/fdisk.c:414 fdisk/fdisk.c:430 fdisk/fdisk.c:447
+msgid "   s   change number of sectors/track"
+msgstr "   s    ændr antallet af sektorer/spor"
 
-#: fdisk/cfdisk.c:2639 fdisk/cfdisk.c:2641
-msgid "Cannot maximize this partition"
-msgstr "Kan ikke maksimere denne partition"
+#: fdisk/fdisk.c:400
+msgid "   y   change number of physical cylinders"
+msgstr "   y   ændr antallet af fysiske cylindre"
 
-#: fdisk/cfdisk.c:2649
-msgid "This partition is unusable"
-msgstr "Denne partition er ubrugelig"
+#: fdisk/fdisk.c:404 fdisk/fdisk.c:420 fdisk/fdisk.c:436
+msgid "   b   move beginning of data in a partition"
+msgstr "   b    flyt starten på data i en partition"
 
-#: fdisk/cfdisk.c:2651
-msgid "This partition is already in use"
-msgstr "Denne partition er allerede i brug"
+#: fdisk/fdisk.c:407 fdisk/fdisk.c:423 fdisk/fdisk.c:439
+msgid "   e   list extended partitions"
+msgstr "   e    vis udvidede partitioner"
 
-#: fdisk/cfdisk.c:2668
-msgid "Cannot change the type of an empty partition"
-msgstr "Kan ikke ændre en tom partitions type"
+#. !sun
+#: fdisk/fdisk.c:408 fdisk/fdisk.c:424 fdisk/fdisk.c:441
+msgid "   g   create an IRIX partition table"
+msgstr "   g    opret en IRIX partitionstabel"
 
-#: fdisk/cfdisk.c:2695 fdisk/cfdisk.c:2701
-msgid "No more partitions"
-msgstr "Ikke flere partitioner"
+#. !sun
+#: fdisk/fdisk.c:440
+msgid "   f   fix partition order"
+msgstr "   f    ordn partitionsrækkefølgen"
 
-#: fdisk/cfdisk.c:2708
-msgid "Illegal command"
-msgstr "Ugyldig kommando"
+#: fdisk/fdisk.c:539
+msgid "You must set"
+msgstr "Du skal angive"
 
-#: fdisk/cfdisk.c:2718
-msgid "Copyright (C) 1994-2000 Kevin E. Martin & aeb\n"
-msgstr "Copyright (C) 1994-2000 Kevin E. Martin & aeb\n"
+#: fdisk/fdisk.c:553
+msgid "heads"
+msgstr "hoveder"
 
-#. Unfortunately, xgettext does not handle multi-line strings
-#. so, let's use explicit \n's instead
-#: fdisk/cfdisk.c:2725
+#: fdisk/fdisk.c:555 fdisk/fdisk.c:1077 fdisk/sfdisk.c:864
+msgid "sectors"
+msgstr "sektorer"
+
+#: fdisk/fdisk.c:561
 #, c-format
 msgid ""
-"\n"
-"Usage:\n"
-"Print version:\n"
-"        %s -v\n"
-"Print partition table:\n"
-"        %s -P {r|s|t} [options] device\n"
-"Interactive use:\n"
-"        %s [options] device\n"
-"\n"
-"Options:\n"
-"-a: Use arrow instead of highlighting;\n"
-"-z: Start with a zero partition table, instead of reading the pt from disk;\n"
-"-c C -h H -s S: Override the kernel's idea of the number of cylinders,\n"
-"                the number of heads and the number of sectors/track.\n"
-"\n"
+"%s%s.\n"
+"You can do this from the extra functions menu.\n"
 msgstr ""
-"\n"
-"Brug:\n"
-"Vis version:\n"
-"        %s -v\n"
-"Vi partitionstabellen:\n"
-"        %s -P {r|s|t} [tilvalg] enhed\n"
-"Interaktivt brug:\n"
-"        %s [tilvalg] enhed\n"
-"\n"
-"Tilvalg:\n"
-"-a: Brug pil i stedet for baggrundsfyld;\n"
-"-z: Ster med en tom partitionstabel i stedet for at læse diskens;\n"
-"-c C -h H -s S: Underkend kernens ide om antallet af cylindre,\n"
-"                hoveder og sektorer/spor.\n"
-"\n"
+"%s%s.\n"
+"Dette kan du gøre fra menuen 'Ekstra funktioner'.\n"
 
-#: fdisk/fdiskaixlabel.c:28
-msgid ""
-"\n"
-"\tThere is a valid AIX label on this disk.\n"
-"\tUnfortunately Linux cannot handle these\n"
-"\tdisks at the moment.  Nevertheless some\n"
-"\tadvice:\n"
-"\t1. fdisk will destroy its contents on write.\n"
-"\t2. Be sure that this disk is NOT a still vital\n"
-"\t   part of a volume group. (Otherwise you may\n"
-"\t   erase the other disks as well, if unmirrored.)\n"
-"\t3. Before deleting this physical volume be sure\n"
-"\t   to remove the disk logically from your AIX\n"
-"\t   machine.  (Otherwise you become an AIXpert)."
-msgstr ""
-"\n"
-"\tDer er et gyldig AIX-mærkat på denne disk.\n"
-"\tDesværre kan Linux endnu ikke arbejde med disse\n"
-"\tdiske. Alligevel er her nogle gode råd:\n"
-"\t1. fdisk vil ødelægge dens indhold når du gemmer.\n"
-"\t2. Vær sikker på at denne disk IKKE er en vital\n"
-"\t   del af en bind-gruppe. (Ellers kan du også slette\n"
-"\t   de andre diske, hvis de ikke er spejlede.)\n"
-"\t3. Før du sletter dette fysiske bind, vær sikker på\n"
-"\t   at du fjerne disken logisk fra din AIX maskine.\n"
-"\t   (Ellers bliver du en AIXpert)."
+#: fdisk/fdisk.c:562
+msgid " and "
+msgstr " og "
 
-#: fdisk/fdiskbsdlabel.c:117
+#: fdisk/fdisk.c:579
 #, c-format
 msgid ""
 "\n"
-"BSD label for device: %s\n"
+"The number of cylinders for this disk is set to %d.\n"
+"There is nothing wrong with that, but this is larger than 1024,\n"
+"and could in certain setups cause problems with:\n"
+"1) software that runs at boot time (e.g., old versions of LILO)\n"
+"2) booting and partitioning software from other OSs\n"
+"   (e.g., DOS FDISK, OS/2 FDISK)\n"
 msgstr ""
 "\n"
-"BSD-mærkat for enhed: %s\n"
-
-#: fdisk/fdisk.c:312 fdisk/fdisk.c:331 fdisk/fdisk.c:349 fdisk/fdisk.c:356
-#: fdisk/fdisk.c:379 fdisk/fdisk.c:397 fdisk/fdisk.c:413 fdisk/fdisk.c:429
-#: fdisk/fdiskbsdlabel.c:124
-msgid "Command action"
-msgstr "Kommando beskrivelse"
-
-#: fdisk/fdiskbsdlabel.c:125
-msgid "   d   delete a BSD partition"
-msgstr "   d    slet en BSD-partition"
-
-#: fdisk/fdiskbsdlabel.c:126
-msgid "   e   edit drive data"
-msgstr "   e    redigér drev-data"
-
-#: fdisk/fdiskbsdlabel.c:127
-msgid "   i   install bootstrap"
-msgstr "   i    installer opstarts-igangsætter ('bootstrap')"
-
-#: fdisk/fdiskbsdlabel.c:128
-msgid "   l   list known filesystem types"
-msgstr "   l    vis liste over filsystemtyper"
-
-#. sun
-#: fdisk/fdisk.c:318 fdisk/fdisk.c:337 fdisk/fdisk.c:350 fdisk/fdisk.c:362
-#: fdisk/fdisk.c:387 fdisk/fdisk.c:404 fdisk/fdisk.c:420 fdisk/fdisk.c:437
-#: fdisk/fdiskbsdlabel.c:129
-msgid "   m   print this menu"
-msgstr "   m    vis denne menu"
+"Antallet af cylindre er sat til %d for denne disk.\n"
+"Det er der intet galt med, men da det er større end 1024,\n"
+"kan det i visse opsætninger give problemer med:\n"
+"1) programmer, der kører tidligt i opstarten (bl.a. gamle LILO-versioner)\n"
+"2) opstarts- og partitioneringsprogrammer fra andre OS'er\n"
+"   (Bl.a. DOS FDISK og OS/2 FDISK)\n"
 
-#: fdisk/fdiskbsdlabel.c:130
-msgid "   n   add a new BSD partition"
-msgstr "   n    tilføj en ny BSD-partition"
+#: fdisk/fdisk.c:602
+msgid "Bad offset in primary extended partition\n"
+msgstr "Ugyldig forskydning i primær udvidet partition\n"
 
-#: fdisk/fdiskbsdlabel.c:131
-msgid "   p   print BSD partition table"
-msgstr "   p    vis BSD-partitionstabel"
+#: fdisk/fdisk.c:616
+#, c-format
+msgid "Warning: deleting partitions after %d\n"
+msgstr "Advarsel: sletter partitioner efter %d\n"
 
-#: fdisk/fdisk.c:322 fdisk/fdisk.c:341 fdisk/fdisk.c:352 fdisk/fdisk.c:366
-#: fdisk/fdisk.c:389 fdisk/fdisk.c:406 fdisk/fdisk.c:422 fdisk/fdisk.c:439
-#: fdisk/fdiskbsdlabel.c:132
-msgid "   q   quit without saving changes"
-msgstr "   q    afslut uden at gemme ændringerne"
+#: fdisk/fdisk.c:633
+#, c-format
+msgid "Warning: extra link pointer in partition table %d\n"
+msgstr "Advarsel: ekstra lænkepeger (link pointer) i partitionstabel %d\n"
 
-#: fdisk/fdisk.c:390 fdisk/fdisk.c:407 fdisk/fdisk.c:423 fdisk/fdisk.c:440
-#: fdisk/fdiskbsdlabel.c:133
-msgid "   r   return to main menu"
-msgstr "   r    returnér til hovedmenuen"
+#: fdisk/fdisk.c:641
+#, c-format
+msgid "Warning: ignoring extra data in partition table %d\n"
+msgstr "Advarsel: ignorerer ekstra data i partitionstabel %d\n"
 
-#: fdisk/fdiskbsdlabel.c:134
-msgid "   s   show complete disklabel"
-msgstr "   s    vis hele diskmærkatet"
+#: fdisk/fdisk.c:686
+msgid ""
+"Building a new DOS disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
+"\n"
+msgstr ""
+"Opretter et ny DOS diskmærkat. Ændringer vil holdes i hukommelsen,\n"
+"indtil du bestemmer dig for at gemme dem. Derefter kan det tidligere\n"
+"indhold naturligvis ikke genskabes\n"
+"\n"
 
-#: fdisk/fdiskbsdlabel.c:135
-msgid "   t   change a partition's filesystem id"
-msgstr "   t    ændr filsystem-id for en partition"
+#: fdisk/fdisk.c:728
+#, c-format
+msgid "Note: sector size is %d (not %d)\n"
+msgstr "Bemærk: sektorstørrelsen er %d (ikke %d)\n"
 
-#: fdisk/fdiskbsdlabel.c:136
-msgid "   u   change units (cylinders/sectors)"
-msgstr "   u    skift enheder (cylindre/sektorer)"
+#: fdisk/fdisk.c:811
+msgid "You will not be able to write the partition table.\n"
+msgstr "Du vil ikke kunne gemme partitionstabellen.\n"
 
-#: fdisk/fdiskbsdlabel.c:137
-msgid "   w   write disklabel to disk"
-msgstr "   w    skriv diskmærkatet til disken"
+#: fdisk/fdisk.c:839
+msgid ""
+"Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
+"disklabel\n"
+msgstr ""
+"Enheden indeholder hverken en gyldig DOS-partitionstabel eller et Sun-, SGI- "
+"eller OSF-diskmærkat.\n"
 
-#: fdisk/fdiskbsdlabel.c:139
-msgid "   x   link BSD partition to non-BSD partition"
-msgstr "   x   lænk en BSD-partition til en ikke-BSD-partition"
+#: fdisk/fdisk.c:855
+msgid "Internal error\n"
+msgstr "Intern fejl\n"
 
-#: fdisk/fdiskbsdlabel.c:168
+#: fdisk/fdisk.c:877
 #, c-format
-msgid "Partition %s has invalid starting sector 0.\n"
-msgstr "Partition %s har en ugyldig startsektor 0.\n"
+msgid "Ignoring extra extended partition %d\n"
+msgstr "Ignorerer ekstra udvidet partition %d\n"
 
-#: fdisk/fdiskbsdlabel.c:172
+#: fdisk/fdisk.c:889
 #, c-format
-msgid "Reading disklabel of %s at sector %d.\n"
-msgstr "Læser diskmærkat for %s fra sektor %d.\n"
+msgid ""
+"Warning: invalid flag 0x%04x of partition table %d will be corrected by "
+"w(rite)\n"
+msgstr ""
+"Advarsel: ugyldigt flag 0x%04x for partitionstabel %d vil blive rettet med "
+"'w' (skriv)\n"
 
-#: fdisk/fdiskbsdlabel.c:182
-#, c-format
-msgid "There is no *BSD partition on %s.\n"
-msgstr "Der er ingen *BSD-partitioner på %s.\n"
+#: fdisk/fdisk.c:911
+msgid ""
+"\n"
+"got EOF thrice - exiting..\n"
+msgstr ""
+"\n"
+"fik filslut (EOF) tre gange - afslutter..\n"
 
-#: fdisk/fdiskbsdlabel.c:196
-msgid "BSD disklabel command (m for help): "
-msgstr "BSD-diskmærkat kommando (m for hjælp): "
+#: fdisk/fdisk.c:950
+msgid "Hex code (type L to list codes): "
+msgstr "Hex-kode (tryk L for en liste over koderne): "
 
-#: fdisk/fdisk.c:1644 fdisk/fdiskbsdlabel.c:276 fdisk/fdisksgilabel.c:684
-#: fdisk/fdisksunlabel.c:517
+#: fdisk/fdisk.c:989
 #, c-format
-msgid "First %s"
-msgstr "Første %s"
+msgid "%s (%d-%d, default %d): "
+msgstr "%s (%d-%d, standard %d): "
 
-#: fdisk/fdisk.c:1703 fdisk/fdiskbsdlabel.c:283 fdisk/fdisksunlabel.c:552
+#: fdisk/fdisk.c:1045
 #, c-format
-msgid "Last %s or +size or +sizeM or +sizeK"
-msgstr "Sidste %s eller +størrelse eller +størrelseM eller +størrelseK"
+msgid "Using default value %d\n"
+msgstr "Bruger standard-værdi %d\n"
 
-#: fdisk/fdiskbsdlabel.c:310
+#: fdisk/fdisk.c:1049
+msgid "Value out of range.\n"
+msgstr "Værdi udenfor området.\n"
+
+#: fdisk/fdisk.c:1059
+msgid "Partition number"
+msgstr "Partitionsnummer"
+
+#: fdisk/fdisk.c:1068
 #, c-format
-msgid "type: %s\n"
-msgstr "type: %s\n"
+msgid "Warning: partition %d has empty type\n"
+msgstr "Advarsel: partition %d er af typen 'tom'\n"
 
-#: fdisk/fdiskbsdlabel.c:312
+#: fdisk/fdisk.c:1075
+msgid "cylinder"
+msgstr "cylinder"
+
+#: fdisk/fdisk.c:1075
+msgid "sector"
+msgstr "sektor"
+
+#: fdisk/fdisk.c:1084
 #, c-format
-msgid "type: %d\n"
-msgstr "type: %d\n"
+msgid "Changing display/entry units to %s\n"
+msgstr "Skifter enheder for visning/indtastning til %s\n"
 
-#: fdisk/fdiskbsdlabel.c:313
+#: fdisk/fdisk.c:1095
 #, c-format
-msgid "disk: %.*s\n"
-msgstr "disk: %.*s\n"
+msgid "WARNING: Partition %d is an extended partition\n"
+msgstr "ADVARSEL: Partition %d er en udvidet partition\n"
 
-#: fdisk/fdiskbsdlabel.c:314
+#: fdisk/fdisk.c:1106
+msgid "DOS Compatibility flag is set\n"
+msgstr "DOS-kompatilitetsflag er sat\n"
+
+#: fdisk/fdisk.c:1110
+msgid "DOS Compatibility flag is not set\n"
+msgstr "DOS-kompatilitetsflag er ikke sat\n"
+
+#: fdisk/fdisk.c:1203
 #, c-format
-msgid "label: %.*s\n"
-msgstr "mærkat: %.*s\n"
+msgid "Partition %d does not exist yet!\n"
+msgstr "Partition %d eksisterer ikke endnu!\n"
 
-#: fdisk/fdiskbsdlabel.c:315
-msgid "flags:"
-msgstr "flag:"
+#: fdisk/fdisk.c:1208
+msgid ""
+"Type 0 means free space to many systems\n"
+"(but not to Linux). Having partitions of\n"
+"type 0 is probably unwise. You can delete\n"
+"a partition using the `d' command.\n"
+msgstr ""
+"Type 0 betyder frit område for mange systemer\n"
+"(men ikke for Linux). At have type 0 partitioner\n"
+"er nok uklogt. Du kan slette en partition med\n"
+"'d'-kommandoen.\n"
 
-#: fdisk/fdiskbsdlabel.c:317
-msgid " removable"
-msgstr " flytbar"
+#: fdisk/fdisk.c:1217
+msgid ""
+"You cannot change a partition into an extended one or vice versa\n"
+"Delete it first.\n"
+msgstr ""
+"Du kan ikke ændre en partition mellem at være udvidet eller ikke-udvidet\n"
+"Slet den først.\n"
 
-#: fdisk/fdiskbsdlabel.c:319
-msgid " ecc"
-msgstr " ecc"
+#: fdisk/fdisk.c:1226
+msgid ""
+"Consider leaving partition 3 as Whole disk (5),\n"
+"as SunOS/Solaris expects it and even Linux likes it.\n"
+"\n"
+msgstr ""
+"Overvej at lade partition 3 være 'Hel disk' (5), da\n"
+"SunOS/Solaris forventer det og selv Linux foretrækker det.\n"
+"\n"
 
-#: fdisk/fdiskbsdlabel.c:321
-msgid " badsect"
-msgstr " fjlsekt"
+#: fdisk/fdisk.c:1232
+msgid ""
+"Consider leaving partition 9 as volume header (0),\n"
+"and partition 11 as entire volume (6)as IRIX expects it.\n"
+"\n"
+msgstr ""
+"Overvej at lade partition 9 være disk-hovede ('volume header') (0),\n"
+"og partition 11 som 'entire volume' (6), da IRIX forventer det.\n"
+"\n"
 
-#. On various machines the fields of *lp are short/int/long
-#. In order to avoid problems, we cast them all to long.
-#: fdisk/fdiskbsdlabel.c:325
+#: fdisk/fdisk.c:1246
 #, c-format
-msgid "bytes/sector: %ld\n"
-msgstr "byte/sektor: %ld\n"
+msgid "Changed system type of partition %d to %x (%s)\n"
+msgstr "Ændrede systemtypen for partition %d til %x (%s)\n"
 
-#: fdisk/fdiskbsdlabel.c:326
+#: fdisk/fdisk.c:1297
 #, c-format
-msgid "sectors/track: %ld\n"
-msgstr "sektorer/spor: %ld\n"
+msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
+msgstr "Partition %d har forskellig fysisk/logisk begyndelse (ikke-Linux?):\n"
 
-#: fdisk/fdiskbsdlabel.c:327
+#: fdisk/fdisk.c:1299 fdisk/fdisk.c:1307 fdisk/fdisk.c:1316 fdisk/fdisk.c:1325
 #, c-format
-msgid "tracks/cylinder: %ld\n"
-msgstr "spor/cylinder: %ld\n"
+msgid "     phys=(%d, %d, %d) "
+msgstr "     fys=(%d, %d, %d) "
 
-#: fdisk/fdiskbsdlabel.c:328
+#: fdisk/fdisk.c:1300 fdisk/fdisk.c:1308
 #, c-format
-msgid "sectors/cylinder: %ld\n"
-msgstr "sektorer/cylinder: %ld\n"
+msgid "logical=(%d, %d, %d)\n"
+msgstr "logisk=(%d, %d, %d)\n"
 
-#: fdisk/fdiskbsdlabel.c:329
+#: fdisk/fdisk.c:1305
 #, c-format
-msgid "cylinders: %ld\n"
-msgstr "cylindre: %ld\n"
+msgid "Partition %d has different physical/logical endings:\n"
+msgstr "Partition %d har forskellig fysisk/logisk endelse:\n"
 
-#: fdisk/fdiskbsdlabel.c:330
+#: fdisk/fdisk.c:1314
 #, c-format
-msgid "rpm: %d\n"
-msgstr "omdr. per minut: %d\n"
+msgid "Partition %i does not start on cylinder boundary:\n"
+msgstr "Partition %i starter ikke på en cylinder-grænse:\n"
 
-#: fdisk/fdiskbsdlabel.c:331
+#: fdisk/fdisk.c:1317
 #, c-format
-msgid "interleave: %d\n"
-msgstr "interleave: %d\n"
+msgid "should be (%d, %d, 1)\n"
+msgstr "burde være (%d, %d, 1)\n"
 
-#: fdisk/fdiskbsdlabel.c:332
+#: fdisk/fdisk.c:1323
 #, c-format
-msgid "trackskew: %d\n"
-msgstr "sporafvigelse: %d\n"
+msgid "Partition %i does not end on cylinder boundary:\n"
+msgstr "Partition %i slutter ikke på en cylinder-grænse:\n"
 
-#: fdisk/fdiskbsdlabel.c:333
+#: fdisk/fdisk.c:1326
 #, c-format
-msgid "cylinderskew: %d\n"
-msgstr "cylinderafvigelse: %d\n"
+msgid "should be (%d, %d, %d)\n"
+msgstr "burde være (%d, %d, %d)\n"
 
-#: fdisk/fdiskbsdlabel.c:334
+#: fdisk/fdisk.c:1333
 #, c-format
-msgid "headswitch: %ld\t\t# milliseconds\n"
-msgstr "hovedskift: %ld\t\t# millisekunder\n"
+msgid ""
+"\n"
+"Disk %s: %d heads, %d sectors, %d cylinders\n"
+"Units = %s of %d * %d bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s: %d hoveder, %d sektorer, %d cylindre\n"
+"Enheder = %s á %d * %d byte\n"
+"\n"
 
-#: fdisk/fdiskbsdlabel.c:336
+#: fdisk/fdisk.c:1378
+msgid ""
+"Nothing to do. Ordering is correct already.\n"
+"\n"
+msgstr ""
+"Intet at gøre. Rækkefølgen er allerede korrekt.\n"
+"\n"
+
+#: fdisk/fdisk.c:1444
 #, c-format
-msgid "track-to-track seek: %ld\t# milliseconds\n"
-msgstr "spor-til-spor søgning: %ld\t# millisekunder\n"
+msgid "%*s Boot    Start       End    Blocks   Id  System\n"
+msgstr "%*s Opstart Start       Slut   Blokke   Id  System\n"
 
-#: fdisk/fdiskbsdlabel.c:338
-msgid "drivedata: "
-msgstr "drevdata: "
+#: fdisk/fdisk.c:1445 fdisk/fdisksgilabel.c:223 fdisk/fdisksunlabel.c:657
+msgid "Device"
+msgstr "Enhed"
 
-#: fdisk/fdiskbsdlabel.c:347
+#: fdisk/fdisk.c:1482
+msgid ""
+"\n"
+"Partition table entries are not in disk order\n"
+msgstr ""
+"\n"
+"Partitionstabellens indgange er ikke i disk-rækkefølge\n"
+
+#: fdisk/fdisk.c:1492
 #, c-format
 msgid ""
 "\n"
-"%d partitions:\n"
+"Disk %s: %d heads, %d sectors, %d cylinders\n"
+"\n"
 msgstr ""
 "\n"
-"%d partitioner:\n"
+"Disk %s: %d hoveder, %d sektorer, %d cylindre\n"
+"\n"
 
-#: fdisk/fdiskbsdlabel.c:348
-msgid "#       start       end      size     fstype   [fsize bsize   cpg]\n"
-msgstr "#       start       slut     størr.   fstype   [fstr. bstr.   cpg]\n"
+#: fdisk/fdisk.c:1494
+msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl    Start     Size ID\n"
+msgstr "Nr AF Hvd Sekt Cyl Hvd Sekt Cyl    Start     Str. ID\n"
 
-#: fdisk/fdiskbsdlabel.c:397 fdisk/fdiskbsdlabel.c:400
+#: fdisk/fdisk.c:1538
 #, c-format
-msgid "Writing disklabel to %s.\n"
-msgstr "Skiver diskmærkat til %s.\n"
+msgid "Warning: partition %d contains sector 0\n"
+msgstr "Advarsel: partition %d indeholder sektor 0\n"
 
-#: fdisk/fdiskbsdlabel.c:412 fdisk/fdiskbsdlabel.c:414
+#: fdisk/fdisk.c:1541
 #, c-format
-msgid "%s contains no disklabel.\n"
-msgstr "%s har intet diskmærkat.\n"
-
-#: fdisk/fdiskbsdlabel.c:419
-msgid "Do you want to create a disklabel? (y/n) "
-msgstr "Vil du oprette et diskmærkat? (j/n) "
-
-#: fdisk/fdiskbsdlabel.c:458
-msgid "bytes/sector"
-msgstr "byte/sektor"
-
-#: fdisk/fdiskbsdlabel.c:459
-msgid "sectors/track"
-msgstr "sektorer/spor"
-
-#: fdisk/fdiskbsdlabel.c:460
-msgid "tracks/cylinder"
-msgstr "spor/cylinder"
+msgid "Partition %d: head %d greater than maximum %d\n"
+msgstr "Partition %d: hovedet %d er større end de maksimale %d\n"
 
-#: fdisk/fdisk.c:551 fdisk/fdisk.c:1067 fdisk/fdiskbsdlabel.c:461
-#: fdisk/sfdisk.c:864
-msgid "cylinders"
-msgstr "cylindre"
+#: fdisk/fdisk.c:1544
+#, c-format
+msgid "Partition %d: sector %d greater than maximum %d\n"
+msgstr "Partition %d: sektor %d er større end de maksimale %d\n"
 
-#: fdisk/fdiskbsdlabel.c:468
-msgid "sectors/cylinder"
-msgstr "sektorer/cylinder"
+#: fdisk/fdisk.c:1547
+#, c-format
+msgid "Partitions %d: cylinder %d greater than maximum %d\n"
+msgstr "Partitionerne %d: cylinder %d større end de maksimale %d\n"
 
-#: fdisk/fdiskbsdlabel.c:472
-msgid "Must be <= sectors/track * tracks/cylinder (default).\n"
-msgstr "Skal være <= sektorer/spor * spor/cylinder (standard).\n"
+#: fdisk/fdisk.c:1551
+#, c-format
+msgid "Partition %d: previous sectors %d disagrees with total %d\n"
+msgstr "Partition %d: forrige sektorer %d stemmer ikke med totalen %d\n"
 
-#: fdisk/fdiskbsdlabel.c:474
-msgid "rpm"
-msgstr "omdr. per minut"
+#: fdisk/fdisk.c:1583
+#, c-format
+msgid "Warning: bad start-of-data in partition %d\n"
+msgstr "Advarsel: ugyldig start-på-data i partition %d\n"
 
-#: fdisk/fdiskbsdlabel.c:475
-msgid "interleave"
-msgstr "interleave"
+#: fdisk/fdisk.c:1591
+#, c-format
+msgid "Warning: partition %d overlaps partition %d.\n"
+msgstr "Advarsel: partition %d overlapper med partition %d.\n"
 
-#: fdisk/fdiskbsdlabel.c:476
-msgid "trackskew"
-msgstr "sporafvigelse"
+#: fdisk/fdisk.c:1611
+#, c-format
+msgid "Warning: partition %d is empty\n"
+msgstr "Advarsel: partition %d er tom\n"
 
-#: fdisk/fdiskbsdlabel.c:477
-msgid "cylinderskew"
-msgstr "cylinderafvigelse"
+#: fdisk/fdisk.c:1616
+#, c-format
+msgid "Logical partition %d not entirely in partition %d\n"
+msgstr "Logisk partition %d ikke fuldstændigt indenfor partition %d\n"
 
-#: fdisk/fdiskbsdlabel.c:478
-msgid "headswitch"
-msgstr "hovedskift"
+#: fdisk/fdisk.c:1622
+#, c-format
+msgid "Total allocated sectors %d greater than the maximum %d\n"
+msgstr "Allokerede sektorer i alt %d er større end de maksimale %d\n"
 
-#: fdisk/fdiskbsdlabel.c:479
-msgid "track-to-track seek"
-msgstr "spor-til-spor søgning"
+#: fdisk/fdisk.c:1625
+#, c-format
+msgid "%d unallocated sectors\n"
+msgstr "%d ikke-allokerede sektorer\n"
 
-#: fdisk/fdiskbsdlabel.c:520
+#: fdisk/fdisk.c:1638 fdisk/fdisksgilabel.c:664 fdisk/fdisksunlabel.c:503
 #, c-format
-msgid "Bootstrap: %sboot -> boot%s (%s): "
-msgstr "Opstarts-igangsætter: %sopstart -> opstart%s (%s): "
+msgid "Partition %d is already defined.  Delete it before re-adding it.\n"
+msgstr "Partition %d er allerede defineret. Slet den før du tilføjer den igen.\n"
 
-#: fdisk/fdiskbsdlabel.c:546
-msgid "Bootstrap overlaps with disk label!\n"
-msgstr "Opstarts-igangsætter overlapper med diskmærkatet!\n"
+#: fdisk/fdisk.c:1674 fdisk/fdisksunlabel.c:543
+#, c-format
+msgid "Sector %d is already allocated\n"
+msgstr "Sektor %d er allerede allokeret\n"
+
+#: fdisk/fdisk.c:1710
+msgid "No free sectors available\n"
+msgstr "Ingen tilgængelige frie sektorer\n"
 
-#: fdisk/fdiskbsdlabel.c:567 fdisk/fdiskbsdlabel.c:569
+#: fdisk/fdisk.c:1752
 #, c-format
-msgid "Bootstrap installed on %s.\n"
-msgstr "Opstarts-igangsætter installeret på %s.\n"
+msgid "Warning: partition %d has an odd number of sectors.\n"
+msgstr "Advarsel: partition %d har et ulige antal sektorer.\n"
+
+#: fdisk/fdisk.c:1802
+msgid "You must delete some partition and add an extended partition first\n"
+msgstr "Du må først slette en partition og tilføje en udvidet partition\n"
 
-#: fdisk/fdiskbsdlabel.c:591
+#: fdisk/fdisk.c:1807
 #, c-format
-msgid "Partition (a-%c): "
-msgstr "Partition (a-%c): "
+msgid ""
+"Command action\n"
+"   %s\n"
+"   p   primary partition (1-4)\n"
+msgstr ""
+"Kommando beskrivelse\n"
+"   %s\n"
+"   p    primær partition (1-4)\n"
 
-#: fdisk/fdisk.c:1776 fdisk/fdiskbsdlabel.c:611
-msgid "The maximum number of partitions has been created\n"
-msgstr "Det maksimale antal partitioner er blevet oprettet\n"
+#: fdisk/fdisk.c:1809
+msgid "l   logical (5 or over)"
+msgstr "l    logisk (5 eller derover)"
 
-#: fdisk/fdiskbsdlabel.c:622
-msgid "This partition already exists.\n"
-msgstr "Denne partition eksisterer allerede.\n"
+#: fdisk/fdisk.c:1809
+msgid "e   extended"
+msgstr "e    udvidet"
 
-#: fdisk/fdiskbsdlabel.c:742
+#: fdisk/fdisk.c:1826
 #, c-format
-msgid "Warning: too many partitions (%d, maximum is %d).\n"
-msgstr "Advarsel: for mange partitioner (%d, maksimum er %d).\n"
+msgid "Invalid partition number for type `%c'\n"
+msgstr "Ugyldigt partitionsnummer for type '%c'\n"
 
-#: fdisk/fdiskbsdlabel.c:789
+#: fdisk/fdisk.c:1861
 msgid ""
+"The partition table has been altered!\n"
 "\n"
-"Syncing disks.\n"
 msgstr ""
+"Partitionstabellen er ændret!\n"
 "\n"
-"Syncing disks.\n"
 
-#: fdisk/fdisk.c:205
+#: fdisk/fdisk.c:1870
+msgid "Calling ioctl() to re-read partition table.\n"
+msgstr "Kalder ioctl() for at genindlæse partitionstabellen.\n"
+
+#: fdisk/fdisk.c:1886
+#, c-format
 msgid ""
-"Usage: fdisk [-b SSZ] [-u] DISK     Change partition table\n"
-"       fdisk -l [-b SSZ] [-u] DISK  List partition table(s)\n"
-"       fdisk -s PARTITION           Give partition size(s) in blocks\n"
-"       fdisk -v                     Give fdisk version\n"
-"Here DISK is something like /dev/hdb or /dev/sda\n"
-"and PARTITION is something like /dev/hda7\n"
-"-u: give Start and End in sector (instead of cylinder) units\n"
-"-b 2048: (for certain MO drives) use 2048-byte sectors\n"
+"Re-read table failed with error %d: %s.\n"
+"Reboot your system to ensure the partition table is updated.\n"
 msgstr ""
-"Brug: fdisk [-b SSZ] [-u] DISK     Skift partitionstabel\n"
-"      fdisk -l [-b SSZ] [-u] DISK  Vis partitionstabel(ler)\n"
-"      fdisk -s PARTITION           Vis partitionsstørrelser i blokke\n"
-"      fdisk -v                     Vis fdisks version\n"
-"DISK er f.eks. /dev/hdb eller /dev/sda\n"
-"PARTITION er f.eks. /dev/hda7\n"
-"-u: angiv start og slut som sektornumre (i stedet for cylindernumre)\n"
-"-b 2048: (for visse MO drev) brug sektorer på 2048-byte\n"
+"Genindlæsning af tabellen mislykkedes med fejl %d: %s.\n"
+"Genstart dit system for at sikre at partitionstabellen er opdateret.\n"
 
-#: fdisk/fdisk.c:217
+#: fdisk/fdisk.c:1892
 msgid ""
-"Usage: fdisk [-l] [-b SSZ] [-u] device\n"
-"E.g.: fdisk /dev/hda  (for the first IDE disk)\n"
-"  or: fdisk /dev/sdc  (for the third SCSI disk)\n"
-"  or: fdisk /dev/eda  (for the first PS/2 ESDI drive)\n"
-"  or: fdisk /dev/rd/c0d0  or: fdisk /dev/ida/c0d0  (for RAID devices)\n"
-"  ...\n"
+"\n"
+"WARNING: If you have created or modified any DOS 6.x\n"
+"partitions, please see the fdisk manual page for additional\n"
+"information.\n"
 msgstr ""
-"Brug: fdisk [-l] [-b SSZ] [-u] enhed\n"
-"F.eks.: fdisk /dev/hda  (for den første IDE-disk)\n"
-" eller: fdisk /dev/sdc  (for den tredie SCSI-disk)\n"
-" eller: fdisk /dev/eda  (for det første PS/2 ESDI-drev)\n"
-" eller: fdisk /dev/rd/c0d0  eller: fdisk /dev/ida/c0d0  (for RAID-enheder)\n"
-"  ...\n"
-
-#: fdisk/fdisk.c:225
-#, c-format
-msgid "Unable to open %s\n"
-msgstr "Kunne ikke åbne %s\n"
-
-#: fdisk/fdisk.c:228
-#, c-format
-msgid "Unable to read %s\n"
-msgstr "Kunne ikke læse %s\n"
+"\n"
+"ADVARSEL: Læs venligst fdisk manual-siden for\n"
+"yderligere information, hvis du har oprettet eller\n"
+"ændret DOS 6.x partitioner.\n"
 
-#: fdisk/fdisk.c:231
-#, c-format
-msgid "Unable to seek on %s\n"
-msgstr "Kunne ikke søge til %s\n"
+#: fdisk/fdisk.c:1899
+msgid "Syncing disks.\n"
+msgstr "Synkroniserer diske.\n"
 
-#: fdisk/fdisk.c:234
+#: fdisk/fdisk.c:1946
 #, c-format
-msgid "Unable to write %s\n"
-msgstr "Kunne ikke skrive %s\n"
+msgid "Partition %d has no data area\n"
+msgstr "Partition %d har intet dataområde\n"
 
-#: fdisk/fdisk.c:237
-#, c-format
-msgid "BLKGETSIZE ioctl failed on %s\n"
-msgstr "BLKGETSIZE ioctl mislykkedes på %s\n"
+#: fdisk/fdisk.c:1951
+msgid "New beginning of data"
+msgstr "Ny begyndelse på data"
 
-#: fdisk/fdisk.c:241
-msgid "Unable to allocate any more memory\n"
-msgstr "Kunne ikke allokere mere hukommelse\n"
+#: fdisk/fdisk.c:1967
+msgid "Expert command (m for help): "
+msgstr "Ekspert kommando (m for hjælp): "
 
-#: fdisk/fdisk.c:243
-msgid "Fatal error\n"
-msgstr "Fatal fejl\n"
+#: fdisk/fdisk.c:1980
+msgid "Number of cylinders"
+msgstr "Antal cylindre"
 
-#: fdisk/fdisk.c:313
-msgid "   a   toggle a read only flag"
-msgstr "   a    skift et skrivebeskyttelses-flag"
+#: fdisk/fdisk.c:2006
+msgid "Number of heads"
+msgstr "Antal hoveder"
 
-#. sun
-#: fdisk/fdisk.c:314 fdisk/fdisk.c:358
-msgid "   b   edit bsd disklabel"
-msgstr "   b    skift bsd-diskmærkat"
+#: fdisk/fdisk.c:2031
+msgid "Number of sectors"
+msgstr "Antal sektorer"
 
-#: fdisk/fdisk.c:315
-msgid "   c   toggle the mountable flag"
-msgstr "   c    skift montérbart-flag"
+#: fdisk/fdisk.c:2034
+msgid "Warning: setting sector offset for DOS compatiblity\n"
+msgstr "Advarsel: sætter sektorforskydning for DOS-kompatilitet\n"
 
-#. sun
-#: fdisk/fdisk.c:316 fdisk/fdisk.c:335 fdisk/fdisk.c:360
-msgid "   d   delete a partition"
-msgstr "   d    slet en partition"
+#: fdisk/fdisk.c:2099
+#, c-format
+msgid "Disk %s doesn't contain a valid partition table\n"
+msgstr "Disk %s indeholder ikke en gyldig partitionstabel\n"
 
-#: fdisk/fdisk.c:317 fdisk/fdisk.c:336 fdisk/fdisk.c:361
-msgid "   l   list known partition types"
-msgstr "   l    vis liste over kendte partitionstyper"
+#: fdisk/fdisk.c:2113
+#, c-format
+msgid "Cannot open %s\n"
+msgstr "Kunne ikke åbne %s\n"
 
-#: fdisk/fdisk.c:319 fdisk/fdisk.c:338 fdisk/fdisk.c:363
-msgid "   n   add a new partition"
-msgstr "   n    tilføj en ny partition"
+#: fdisk/fdisk.c:2129
+#, c-format
+msgid "cannot open %s\n"
+msgstr "kunne ikke åbne %s\n"
 
-#: fdisk/fdisk.c:320 fdisk/fdisk.c:339 fdisk/fdisk.c:351 fdisk/fdisk.c:364
-msgid "   o   create a new empty DOS partition table"
-msgstr "   o    opret en ny, tom DOS-partitionstabel"
+#: fdisk/fdisk.c:2150
+#, c-format
+msgid "%c: unknown command\n"
+msgstr "%c: ukendt kommando\n"
 
-#: fdisk/fdisk.c:321 fdisk/fdisk.c:340 fdisk/fdisk.c:365 fdisk/fdisk.c:388
-#: fdisk/fdisk.c:405 fdisk/fdisk.c:421 fdisk/fdisk.c:438
-msgid "   p   print the partition table"
-msgstr "   p    vis partitionstabellen"
+#: fdisk/fdisk.c:2200
+msgid "This kernel finds the sector size itself - -b option ignored\n"
+msgstr "Denne kerne finder selv sektorstørrelser - tilvalget -b ignoreres\n"
 
-#: fdisk/fdisk.c:323 fdisk/fdisk.c:342 fdisk/fdisk.c:353 fdisk/fdisk.c:367
-msgid "   s   create a new empty Sun disklabel"
-msgstr "   s    opret en ny, tom Sun-diskmærkat"
+#: fdisk/fdisk.c:2203
+msgid ""
+"Warning: the -b (set sector size) option should be used with one specified "
+"device\n"
+msgstr ""
+"Advarsel: tilvalget -b (angiv sektorstørrelse) kræver angivelse af "
+"disk-enhed\n"
 
-#. sun
-#: fdisk/fdisk.c:324 fdisk/fdisk.c:343 fdisk/fdisk.c:368
-msgid "   t   change a partition's system id"
-msgstr "   t    skift system-id for en partition"
+#: fdisk/fdisk.c:2268
+#, c-format
+msgid ""
+"Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
+"To return to DOS partition table mode, use the 'r' command.\n"
+msgstr ""
+"Detekterede et OSF/1 diskmærkat på %s. Går i diskmærkat-tilstand.\n"
+"Brug 'r'-kommandoen for at returnere til DOS-partitionstabel-tilstand.\n"
 
-#: fdisk/fdisk.c:325 fdisk/fdisk.c:344 fdisk/fdisk.c:369
-msgid "   u   change display/entry units"
-msgstr "   u    skift enheder for visning/indtastning"
+#: fdisk/fdisk.c:2277
+msgid "Command (m for help): "
+msgstr "Kommando (m for hjælp): "
 
-#: fdisk/fdisk.c:326 fdisk/fdisk.c:345 fdisk/fdisk.c:370 fdisk/fdisk.c:392
-#: fdisk/fdisk.c:409 fdisk/fdisk.c:425 fdisk/fdisk.c:442
-msgid "   v   verify the partition table"
-msgstr "   v    verificér partitionstabellen"
+#: fdisk/fdisk.c:2293
+#, c-format
+msgid ""
+"\n"
+"The current boot file is: %s\n"
+msgstr ""
+"\n"
+"Den nuværende opstartfil er: %s\n"
 
-#: fdisk/fdisk.c:327 fdisk/fdisk.c:346 fdisk/fdisk.c:371 fdisk/fdisk.c:393
-#: fdisk/fdisk.c:410 fdisk/fdisk.c:426 fdisk/fdisk.c:443
-msgid "   w   write table to disk and exit"
-msgstr "   w    skriv partitionstabel til disk og afslut"
+#: fdisk/fdisk.c:2295
+msgid "Please enter the name of the new boot file: "
+msgstr "Angiv venligt navnet på den ny opstartsfil: "
 
-#: fdisk/fdisk.c:328 fdisk/fdisk.c:372
-msgid "   x   extra functionality (experts only)"
-msgstr "   x    ekstra funktionalitet (kun for eksperter)"
+#: fdisk/fdisk.c:2297
+msgid "Boot file unchanged\n"
+msgstr "Opstartsfil uændret\n"
 
-#: fdisk/fdisk.c:332
-msgid "   a   select bootable partition"
-msgstr "   a    vælg en opstartbar partition"
+#: fdisk/fdisk.c:2361
+msgid ""
+"\n"
+"\tSorry, no experts menu for SGI partition tables available.\n"
+"\n"
+msgstr ""
+"\n"
+"\tBeklager, der er ingen ekspertmenu for SGI-partitionstabeller.\n"
+"\n"
 
-#. sgi flavour
-#: fdisk/fdisk.c:333
-msgid "   b   edit bootfile entry"
-msgstr "   b    redigér indgang i opstartsfil"
+#: fdisk/fdisksgilabel.c:79
+msgid "SGI volhdr"
+msgstr "SGI bndhvd"
 
-#. sgi
-#: fdisk/fdisk.c:334
-msgid "   c   select sgi swap partition"
-msgstr "   c    vælg sgi swap-partition"
+#: fdisk/fdisksgilabel.c:80
+msgid "SGI trkrepl"
+msgstr "SGI sprrepl"
 
-#: fdisk/fdisk.c:357
-msgid "   a   toggle a bootable flag"
-msgstr "   a    skift opstartbar-flaget"
+#: fdisk/fdisksgilabel.c:81
+msgid "SGI secrepl"
+msgstr "SGI sekrepl"
 
-#: fdisk/fdisk.c:359
-msgid "   c   toggle the dos compatibility flag"
-msgstr "   c    skift DOS-kompatilitets-flaget"
+#: fdisk/fdisksgilabel.c:82
+msgid "SGI raw"
+msgstr "SGI raw"
 
-#: fdisk/fdisk.c:380
-msgid "   a   change number of alternate cylinders"
-msgstr "   a    ændr antallet af alternative cylindre"
+#: fdisk/fdisksgilabel.c:83
+msgid "SGI bsd"
+msgstr "SGI bsd"
 
-#. sun
-#: fdisk/fdisk.c:381 fdisk/fdisk.c:399 fdisk/fdisk.c:415 fdisk/fdisk.c:431
-msgid "   c   change number of cylinders"
-msgstr "   c    ændr antallet af cylindre"
+#: fdisk/fdisksgilabel.c:84
+msgid "SGI sysv"
+msgstr "SGI sysv"
 
-#: fdisk/fdisk.c:382 fdisk/fdisk.c:400 fdisk/fdisk.c:416 fdisk/fdisk.c:432
-msgid "   d   print the raw data in the partition table"
-msgstr "   d    vis rådataene fra partitionstabellen"
+#: fdisk/fdisksgilabel.c:85
+msgid "SGI volume"
+msgstr "SGI bind"
 
-#: fdisk/fdisk.c:383
-msgid "   e   change number of extra sectors per cylinder"
-msgstr "   e    ændr antallet af ekstra sektorer per cylinder"
+#: fdisk/fdisksgilabel.c:86
+msgid "SGI efs"
+msgstr "SGI efs"
 
-#. sun
-#: fdisk/fdisk.c:384 fdisk/fdisk.c:403 fdisk/fdisk.c:419 fdisk/fdisk.c:436
-msgid "   h   change number of heads"
-msgstr "   h    ændr antallet af hoveder"
+#: fdisk/fdisksgilabel.c:87
+msgid "SGI lvol"
+msgstr "SGI lvol"
 
-#: fdisk/fdisk.c:385
-msgid "   i   change interleave factor"
-msgstr "   i   ændr interleavefaktor"
+#: fdisk/fdisksgilabel.c:88
+msgid "SGI rlvol"
+msgstr "SGI rlvol"
 
-#. sun
-#: fdisk/fdisk.c:386
-msgid "   o   change rotation speed (rpm)"
-msgstr "   o    ændr rotationshastighed (omdr. per minut)"
+#: fdisk/fdisksgilabel.c:89
+msgid "SGI xfs"
+msgstr "SGI xfs"
 
-#: fdisk/fdisk.c:391 fdisk/fdisk.c:408 fdisk/fdisk.c:424 fdisk/fdisk.c:441
-msgid "   s   change number of sectors/track"
-msgstr "   s    ændr antallet af sektorer/spor"
+#: fdisk/fdisksgilabel.c:90
+msgid "SGI xfslog"
+msgstr "SGI xfslog"
 
-#: fdisk/fdisk.c:394
-msgid "   y   change number of physical cylinders"
-msgstr "   y   ændr antallet af fysiske cylindre"
+#: fdisk/fdisksgilabel.c:91
+msgid "SGI xlv"
+msgstr "SGI xlv"
 
-#: fdisk/fdisk.c:398 fdisk/fdisk.c:414 fdisk/fdisk.c:430
-msgid "   b   move beginning of data in a partition"
-msgstr "   b    flyt starten på data i en partition"
+#: fdisk/fdisksgilabel.c:92
+msgid "SGI xvm"
+msgstr "SGI xvm"
 
-#: fdisk/fdisk.c:401 fdisk/fdisk.c:417 fdisk/fdisk.c:433
-msgid "   e   list extended partitions"
-msgstr "   e    vis udvidede partitioner"
+#. Minix 1.4b and later
+#: fdisk/fdisksgilabel.c:93 fdisk/fdisksunlabel.c:52 fdisk/i386_sys_types.c:56
+msgid "Linux swap"
+msgstr "Linux swap"
 
-#. !sun
-#: fdisk/fdisk.c:402 fdisk/fdisk.c:418 fdisk/fdisk.c:435
-msgid "   g   create an IRIX partition table"
-msgstr "   g    opret en IRIX partitionstabel"
+#: fdisk/fdisksgilabel.c:94 fdisk/fdisksunlabel.c:53
+msgid "Linux native"
+msgstr "Linux's egen"
 
-#. !sun
-#: fdisk/fdisk.c:434
-msgid "   f   fix partition order"
-msgstr "   f    ordn partitionsrækkefølgen"
+#: fdisk/fdisksgilabel.c:95 fdisk/fdisksunlabel.c:54 fdisk/i386_sys_types.c:62
+msgid "Linux LVM"
+msgstr "Linux LVM"
 
-#: fdisk/fdisk.c:533
-msgid "You must set"
-msgstr "Du skal angive"
+#: fdisk/fdisksgilabel.c:96
+msgid "Linux RAID"
+msgstr "Linux RAID"
 
-#: fdisk/fdisk.c:547
-msgid "heads"
-msgstr "hoveder"
+#: fdisk/fdisksgilabel.c:160
+msgid ""
+"According to MIPS Computer Systems, Inc the Label must not contain more than "
+"512 bytes\n"
+msgstr "Ifølge MIPS Computer Systems. Inc, må mærkatet ikke fylde mere end 512 byte\n"
 
-#: fdisk/fdisk.c:549 fdisk/fdisk.c:1067 fdisk/sfdisk.c:864
-msgid "sectors"
-msgstr "sektorer"
+#: fdisk/fdisksgilabel.c:179
+msgid "Detected sgi disklabel with wrong checksum.\n"
+msgstr "Detekterede SGI diskmærkat med forkert checksum.\n"
 
-#: fdisk/fdisk.c:555
+#: fdisk/fdisksgilabel.c:202
 #, c-format
 msgid ""
-"%s%s.\n"
-"You can do this from the extra functions menu.\n"
+"\n"
+"Disk %s (SGI disk label): %d heads, %d sectors\n"
+"%d cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
 msgstr ""
-"%s%s.\n"
-"Dette kan du gøre fra menuen 'Ekstra funktioner'.\n"
-
-#: fdisk/fdisk.c:556
-msgid " and "
-msgstr " og "
+"\n"
+"Disk %s (SGI diskmærkat): %d hoveder, %d sektorer\n"
+"%d cylindre, %d fysiske cylindre\n"
+"%d ekstra sekt/cyl, interleave %d:1\n"
+"%s\n"
+"Enheder = %s á %d * 512 bytes\n"
+"\n"
 
-#: fdisk/fdisk.c:596
-msgid "Bad offset in primary extended partition\n"
-msgstr "Ugyldig forskydning i primær udvidet partition\n"
+#: fdisk/fdisksgilabel.c:215
+#, c-format
+msgid ""
+"\n"
+"Disk %s (SGI disk label): %d heads, %d sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
+msgstr ""
+"\n"
+"Disk %s (SGI disk label): %d hoveder, %d sektorer, %d cylindre\n"
+"Enheder = %s á %d * 512 bytes\n"
+"\n"
 
-#: fdisk/fdisk.c:610
+#: fdisk/fdisksgilabel.c:221
 #, c-format
-msgid "Warning: deleting partitions after %d\n"
-msgstr "Advarsel: sleter partitioner efter %d\n"
+msgid ""
+"----- partitions -----\n"
+"%*s  Info      Start       End   Sectors  Id  System\n"
+msgstr ""
+"----- partitioner -----\n"
+"%*s  Info      Start       Slut  Sektorer Id  System\n"
 
-#: fdisk/fdisk.c:626
+#: fdisk/fdisksgilabel.c:243
 #, c-format
-msgid "Warning: extra link pointer in partition table %d\n"
-msgstr "Advarsel: ekstra lænkepeger (link pointer) i partitionstabel %d\n"
+msgid ""
+"----- bootinfo -----\n"
+"Bootfile: %s\n"
+"----- directory entries -----\n"
+msgstr ""
+"----- opstartsinfo -----\n"
+"Opstartsfil: %s\n"
+"----- katalogindgange -----\n"
 
-#: fdisk/fdisk.c:634
+#: fdisk/fdisksgilabel.c:253
 #, c-format
-msgid "Warning: ignoring extra data in partition table %d\n"
-msgstr "Advarsel: ignorerer ekstra data i partitionstabel %d\n"
+msgid "%2d: %-10s sector%5u size%8u\n"
+msgstr "%2d: %-10s sektor%5u størrelse%8u\n"
 
-#: fdisk/fdisk.c:678
+#: fdisk/fdisksgilabel.c:307
 msgid ""
-"Building a new DOS disklabel. Changes will remain in memory only,\n"
-"until you decide to write them. After that, of course, the previous\n"
-"content won't be recoverable.\n"
 "\n"
+"Invalid Bootfile!\n"
+"\tThe bootfile must be an absolute non-zero pathname,\n"
+"\te.g. \"/unix\" or \"/unix.save\".\n"
 msgstr ""
-"Opretter et ny DOS diskmærkat. Ændringer vil holdes i hukommelsen,\n"
-"indtil du bestemmer dig for at gemme dem. Derefter kan det tidligere\n"
-"indhold naturligvis ikke genskabes\n"
 "\n"
+"Ugyldig opstartsfil!\n"
+"\tOpstartsfilen skal være et absolut, ikke-tomt stinavn,\n"
+"\tf.eks. \"/unix\" eller \"/unix.save\".\n"
 
-#: fdisk/fdisk.c:721
-#, c-format
-msgid "Note: sector size is %d (not %d)\n"
-msgstr "Bemærk: sektorstørrelsen er %d (ikke %d)\n"
-
-#: fdisk/fdisk.c:804
-msgid "You will not be able to write the partition table.\n"
-msgstr "Du vil ikke kunne gemme partitionstabellen.\n"
-
-#: fdisk/fdisk.c:832
+#: fdisk/fdisksgilabel.c:314
 msgid ""
-"Device contains neither a valid DOS partition table, nor Sun, SGI or OSF "
-"disklabel\n"
+"\n"
+"\tName of Bootfile too long:  16 bytes maximum.\n"
 msgstr ""
-"Enheden indeholder hverken en gyldig DOS-partitionstabel eller et Sun-, SGI- "
-"eller OSF-diskmærkat.\n"
-
-#: fdisk/fdisk.c:848
-msgid "Internal error\n"
-msgstr "Intern fejl\n"
-
-#: fdisk/fdisk.c:870
-#, c-format
-msgid "Ignoring extra extended partition %d\n"
-msgstr "Ignorerer ekstra udvidet partition %d\n"
+"\n"
+"\tFor langt navn på opstartsfil: højst 16 byte.\n"
 
-#: fdisk/fdisk.c:882
-#, c-format
+#: fdisk/fdisksgilabel.c:319
 msgid ""
-"Warning: invalid flag 0x%04x of partition table %d will be corrected by "
-"w(rite)\n"
+"\n"
+"\tBootfile must have a fully qualified pathname.\n"
 msgstr ""
-"Advarsel: ugyldigt flag 0x%04x for partitionstabel %d vil blive rettet med "
-"'w' (skriv)\n"
+"\n"
+"\tOpstartsfil skal have et komplet stinavn.\n"
 
-#: fdisk/fdisk.c:904
+#: fdisk/fdisksgilabel.c:324
 msgid ""
 "\n"
-"got EOF thrice - exiting..\n"
+"\tBe aware, that the bootfile is not checked for existence.\n"
+"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
 msgstr ""
 "\n"
-"fik filslut (EOF) tre gange - afslutter..\n"
-
-#: fdisk/fdisk.c:942
-msgid "Hex code (type L to list codes): "
-msgstr "Hex-kode (tryk L for en liste over koderne): "
+"\tBemærk, at der ikke tjekkes for opstartsfilens eksistens.\n"
+"\tSGI's standard er \"/unix\" og som backup \"/unix.save\".\n"
 
-#: fdisk/fdisk.c:981
+#: fdisk/fdisksgilabel.c:352
 #, c-format
-msgid "%s (%d-%d, default %d): "
-msgstr "%s (%d-%d, standard %d): "
+msgid ""
+"\n"
+"\tBootfile is changed to \"%s\".\n"
+msgstr ""
+"\n"
+"\tOpstartsfil er ændret til \"%s\".\n"
 
-#: fdisk/fdisk.c:1035
-#, c-format
-msgid "Using default value %d\n"
-msgstr "Bruger standard-værdi %d\n"
+#: fdisk/fdisksgilabel.c:450
+msgid "More than one entire disk entry present.\n"
+msgstr "Der er mere end én fuldstændig diskindgang.\n"
 
-#: fdisk/fdisk.c:1039
-msgid "Value out of range.\n"
-msgstr "Værdi udenfor området.\n"
+#: fdisk/fdisksgilabel.c:458 fdisk/fdisksunlabel.c:479
+msgid "No partitions defined\n"
+msgstr "Ingen partitioner defineret\n"
 
-#: fdisk/fdisk.c:1049
-msgid "Partition number"
-msgstr "Partitionsnummer"
+#: fdisk/fdisksgilabel.c:465
+msgid "IRIX likes when Partition 11 covers the entire disk.\n"
+msgstr "IRIX kan lide, når partition 11 fylder hele disken.\n"
 
-#: fdisk/fdisk.c:1058
+#: fdisk/fdisksgilabel.c:467
 #, c-format
-msgid "Warning: partition %d has empty type\n"
-msgstr "Advarsel: partition %d er af typen 'tom'\n"
-
-#: fdisk/fdisk.c:1065
-msgid "cylinder"
-msgstr "cylinder"
-
-#: fdisk/fdisk.c:1065
-msgid "sector"
-msgstr "sektor"
+msgid ""
+"The entire disk partition should start at block 0,\n"
+"not at diskblock %d.\n"
+msgstr ""
+"Hele diskpartitionen bør starte ved blok 0,\n"
+"ikke ved diskblok %d.\n"
 
-#: fdisk/fdisk.c:1074
+#: fdisk/fdisksgilabel.c:471
 #, c-format
-msgid "Changing display/entry units to %s\n"
-msgstr "Skifter enheder for visning/indtastning til %s\n"
+msgid ""
+"The entire disk partition is only %d diskblock large,\n"
+"but the disk is %d diskblocks long.\n"
+msgstr ""
+"Hele diskpartitionen er kun %d diskblokke stor,\n"
+"men disken er på %d diskblokke.\n"
+
+#: fdisk/fdisksgilabel.c:478
+msgid "One Partition (#11) should cover the entire disk.\n"
+msgstr "En partition (#11) bør fylde hele disken.\n"
 
-#: fdisk/fdisk.c:1085
+#: fdisk/fdisksgilabel.c:490
 #, c-format
-msgid "WARNING: Partition %d is an extended partition\n"
-msgstr "ADVARSEL: Partition %d er en udvidet partition\n"
-
-#: fdisk/fdisk.c:1096
-msgid "DOS Compatibility flag is set\n"
-msgstr "DOS-kompatilitetsflag er sat\n"
+msgid "Partition %d does not start on cylinder boundary.\n"
+msgstr "Partition %d starter ikke på en cylindergrænse.\n"
 
-#: fdisk/fdisk.c:1100
-msgid "DOS Compatibility flag is not set\n"
-msgstr "DOS-kompatilitetsflag er ikke sat\n"
+#: fdisk/fdisksgilabel.c:497
+#, c-format
+msgid "Partition %d does not end on cylinder boundary.\n"
+msgstr "Partition %d slutter ikke på en cylindergrænse.\n"
 
-#: fdisk/fdisk.c:1188
+#: fdisk/fdisksgilabel.c:505
 #, c-format
-msgid "Partition %d does not exist yet!\n"
-msgstr "Partition %d eksisterer ikke endnu!\n"
+msgid "The Partition %d and %d overlap by %d sectors.\n"
+msgstr "Partition %d og %d overlapper hinanden i %d sektorer.\n"
 
-#: fdisk/fdisk.c:1193
-msgid ""
-"Type 0 means free space to many systems\n"
-"(but not to Linux). Having partitions of\n"
-"type 0 is probably unwise. You can delete\n"
-"a partition using the `d' command.\n"
-msgstr ""
-"Type 0 betyder frit område for mange systemer\n"
-"(men ikke for Linux). At have type 0 partitioner\n"
-"er nok uklogt. Du kan slette en partition med\n"
-"'d'-kommandoen.\n"
+#: fdisk/fdisksgilabel.c:514 fdisk/fdisksgilabel.c:534
+#, c-format
+msgid "Unused gap of %8d sectors - sectors %8d-%d\n"
+msgstr "Ubenyttet hul på %8d sektorer - sektor %8d-%d\n"
 
-#: fdisk/fdisk.c:1202
+#: fdisk/fdisksgilabel.c:547
 msgid ""
-"You cannot change a partition into an extended one or vice versa\n"
-"Delete it first.\n"
+"\n"
+"The boot partition does not exist.\n"
 msgstr ""
-"Du kan ikke ændre en partition mellem at være udvidet eller ikke-udvidet\n"
-"Slet den først.\n"
+"\n"
+"Opstartpartitionen eksisterer ikke.\n"
 
-#: fdisk/fdisk.c:1211
+#: fdisk/fdisksgilabel.c:551
 msgid ""
-"Consider leaving partition 3 as Whole disk (5),\n"
-"as SunOS/Solaris expects it and even Linux likes it.\n"
 "\n"
+"The swap partition does not exist.\n"
 msgstr ""
-"Overvej at lade partition 3 være 'Hel disk' (5), da\n"
-"SunOS/Solaris forventer det og selv Linux foretrækker det.\n"
 "\n"
+"Swappartitionen eksisterer ikke.\n"
 
-#: fdisk/fdisk.c:1217
+#: fdisk/fdisksgilabel.c:556
 msgid ""
-"Consider leaving partition 9 as volume header (0),\n"
-"and partition 11 as entire volume (6)as IRIX expects it.\n"
 "\n"
+"The swap partition has no swap type.\n"
 msgstr ""
-"Overvej at lade partition 9 være disk-hovede ('volume header') (0),\n"
-"og partition 11 som 'entire volume' (6), da IRIX forventer det.\n"
 "\n"
+"Swappartitionen har ikke nogen swaptype.\n"
 
-#: fdisk/fdisk.c:1231
-#, c-format
-msgid "Changed system type of partition %d to %x (%s)\n"
-msgstr "Ændrede systemtypen for partition %d til %x (%s)\n"
+#: fdisk/fdisksgilabel.c:560
+msgid "\tYou have chosen an unusual boot file name.\n"
+msgstr "\tDu har valgt et ikke-standard navn på opstartsfilen.\n"
 
-#: fdisk/fdisk.c:1282
-#, c-format
-msgid "Partition %d has different physical/logical beginnings (non-Linux?):\n"
-msgstr "Partition %d har forskellig fysisk/logisk begyndelse (ikke-Linux?):\n"
+#: fdisk/fdisksgilabel.c:571
+msgid "Sorry You may change the Tag of non-empty partitions.\n"
+msgstr "Beklager. Du må ændre mærket (tag) på ikke-tomme partitioner.\n"
 
-#: fdisk/fdisk.c:1284 fdisk/fdisk.c:1292 fdisk/fdisk.c:1301 fdisk/fdisk.c:1310
-#, c-format
-msgid "     phys=(%d, %d, %d) "
-msgstr "     fys=(%d, %d, %d) "
+#: fdisk/fdisksgilabel.c:578
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
+"retrieve from its directory standalone tools like sash and fx.\n"
+"Only the \"SGI volume\" entire disk section may violate this.\n"
+"Type YES if you are sure about tagging this partition differently.\n"
+msgstr ""
+"Det anbefales kraftigt at partitionen på forskydning 0\n"
+"er en \"SGI volhdr\"-type. IRIX-systemet vil bruge den til\n"
+"at hente fra dets katalogværktøjer som sash og fx.\n"
+"Kun \"SGI volume\" hele-disk-sektionen kan bryde dette.\n"
+"Skriv JA, hvis du er sikker på, at du vil mærke partitionen anderledes.\n"
 
-#: fdisk/fdisk.c:1285 fdisk/fdisk.c:1293
-#, c-format
-msgid "logical=(%d, %d, %d)\n"
-msgstr "logisk=(%d, %d, %d)\n"
+#. rebuild freelist
+#: fdisk/fdisksgilabel.c:609
+msgid "Do You know, You got a partition overlap on the disk?\n"
+msgstr "Ved du, at du har overlappende partitioner på disken?\n"
 
-#: fdisk/fdisk.c:1290
-#, c-format
-msgid "Partition %d has different physical/logical endings:\n"
-msgstr "Partition %d har forskellig fysisk/logisk endelse:\n"
+#: fdisk/fdisksgilabel.c:671
+msgid "Attempting to generate entire disk entry automatically.\n"
+msgstr "Forsøger at genere hele-disk-indgang automatisk.\n"
 
-#: fdisk/fdisk.c:1299
-#, c-format
-msgid "Partition %i does not start on cylinder boundary:\n"
-msgstr "Partition %i starter ikke på en cylinder-grænse:\n"
+#: fdisk/fdisksgilabel.c:678
+msgid "The entire disk is already covered with partitions.\n"
+msgstr "Hele disken er allerede fyldt med partitioner.\n"
 
-#: fdisk/fdisk.c:1302
-#, c-format
-msgid "should be (%d, %d, 1)\n"
-msgstr "burde være (%d, %d, 1)\n"
+#: fdisk/fdisksgilabel.c:683
+msgid "You got a partition overlap on the disk. Fix it first!\n"
+msgstr "Du har overlappende partitioner på disken. Ret det først!\n"
 
-#: fdisk/fdisk.c:1308
-#, c-format
-msgid "Partition %i does not end on cylinder boundary:\n"
-msgstr "Partition %i slutter ikke på en cylinder-grænse:\n"
+#: fdisk/fdisksgilabel.c:692 fdisk/fdisksgilabel.c:721
+msgid ""
+"It is highly recommended that eleventh partition\n"
+"covers the entire disk and is of type `SGI volume'\n"
+msgstr ""
+"Det anbefales kraftigt at den ellevte partition\n"
+"fylder hele disken og er af typen 'SGI volume'\n"
 
-#: fdisk/fdisk.c:1311
-#, c-format
-msgid "should be (%d, %d, %d)\n"
-msgstr "burde være (%d, %d, %d)\n"
+#: fdisk/fdisksgilabel.c:708
+msgid "You will get a partition overlap on the disk. Fix it first!\n"
+msgstr "Du vil få overlappende partitioner på disken. Ret dette først!\n"
 
-#: fdisk/fdisk.c:1318
+#: fdisk/fdisksgilabel.c:713
 #, c-format
-msgid ""
-"\n"
-"Disk %s: %d heads, %d sectors, %d cylinders\n"
-"Units = %s of %d * %d bytes\n"
-"\n"
-msgstr ""
-"\n"
-"Disk %s: %d hoveder, %d sektorer, %d cylindre\n"
-"Enheder = %s á %d * %d byte\n"
-"\n"
+msgid " Last %s"
+msgstr " Sidste %s"
 
-#: fdisk/fdisk.c:1363
+#: fdisk/fdisksgilabel.c:735
 msgid ""
-"Nothing to do. Ordering is correct already.\n"
+"Building a new SGI disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content will be unrecoverably lost.\n"
 "\n"
 msgstr ""
-"Intet at gøre. Rækkefølgen er allerede korrekt.\n"
+"Opbygger et nyt SGI-diskmærkat. Ændringer vil holdes i hukommelsen\n"
+"indtil du beslutter at gemme dem. Derefter vil det tidligere indhold\n"
+"naturligvis ikke kunne genskabes.\n"
 "\n"
 
-#: fdisk/fdisk.c:1429
+#: fdisk/fdisksgilabel.c:763
 #, c-format
-msgid "%*s Boot    Start       End    Blocks   Id  System\n"
-msgstr "%*s Opstart Start       Slut   Blokke   Id  System\n"
+msgid "Trying to keep parameters of partition %d.\n"
+msgstr "Forsøger at bibeholde parametrene for partition %d.\n"
 
-#: fdisk/fdisk.c:1430 fdisk/fdisksgilabel.c:221 fdisk/fdisksunlabel.c:654
-msgid "Device"
-msgstr "Enhed"
+#: fdisk/fdisksgilabel.c:765
+#, c-format
+msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
+msgstr "ID=%02x\tSTART=%d\tLÆNGDE=%d\n"
+
+#: fdisk/fdisksunlabel.c:43 fdisk/i386_sys_types.c:6
+msgid "Empty"
+msgstr "Tom"
+
+#: fdisk/fdisksunlabel.c:45
+msgid "SunOS root"
+msgstr "SunOS root"
+
+#: fdisk/fdisksunlabel.c:46
+msgid "SunOS swap"
+msgstr "SunOS swap"
+
+#: fdisk/fdisksunlabel.c:47
+msgid "SunOS usr"
+msgstr "SunOS usr"
+
+#: fdisk/fdisksunlabel.c:48
+msgid "Whole disk"
+msgstr "Whole disk"
+
+#: fdisk/fdisksunlabel.c:49
+msgid "SunOS stand"
+msgstr "SunOS stand"
+
+#: fdisk/fdisksunlabel.c:50
+msgid "SunOS var"
+msgstr "SunOS var"
+
+#: fdisk/fdisksunlabel.c:51
+msgid "SunOS home"
+msgstr "SunOS home"
 
-#: fdisk/fdisk.c:1467
+#: fdisk/fdisksunlabel.c:129
 msgid ""
-"\n"
-"Partition table entries are not in disk order\n"
+"Detected sun disklabel with wrong checksum.\n"
+"Probably you'll have to set all the values,\n"
+"e.g. heads, sectors, cylinders and partitions\n"
+"or force a fresh label (s command in main menu)\n"
 msgstr ""
-"\n"
-"Partitionstabellens indgange er ikke i disk-rækkefølge\n"
+"Opdagede SUN-diskmærkat med forkert checksum.\n"
+"Du er nok nødt til at angive alle værdierne\n"
+"dvs. hoveder, sektorer, cylindre og partitioner\n"
+"eller gennemtvinge et helt nyt mærkat.\n"
+"(s-kommandoen i hovedmenuen\n"
 
-#: fdisk/fdisk.c:1477
+#: fdisk/fdisksunlabel.c:228
 #, c-format
+msgid "Autoconfigure found a %s%s%s\n"
+msgstr "Autokonfigurering fandt en %s%s%s\n"
+
+#: fdisk/fdisksunlabel.c:255
 msgid ""
-"\n"
-"Disk %s: %d heads, %d sectors, %d cylinders\n"
+"Building a new sun disklabel. Changes will remain in memory only,\n"
+"until you decide to write them. After that, of course, the previous\n"
+"content won't be recoverable.\n"
 "\n"
 msgstr ""
-"\n"
-"Disk %s: %d hoveder, %d sektorer, %d cylindre\n"
+"Opbygger et nyt SUN-diskmærkat. Ændringer vil holdes i hukommelsen\n"
+"indtil du beslutter at gemme dem. Derefter vil det tidligere indhold\n"
+"naturligvis ikke kunne genskabes.\n"
 "\n"
 
-#: fdisk/fdisk.c:1479
-msgid "Nr AF  Hd Sec  Cyl  Hd Sec  Cyl    Start     Size ID\n"
-msgstr "Nr AF Hvd Sekt Cyl Hvd Sekt Cyl    Start     Str. ID\n"
+#: fdisk/fdisksunlabel.c:266
+msgid ""
+"Drive type\n"
+"   ?   auto configure\n"
+"   0   custom (with hardware detected defaults)"
+msgstr ""
+"Drevtype\n"
+"   ?   autokonfigurering\n"
+"   0   brugerangivet (med maskinens fundne standardværdier)"
 
-#: fdisk/fdisk.c:1523
-#, c-format
-msgid "Warning: partition %d contains sector 0\n"
-msgstr "Advarsel: partition %d indeholder sektor 0\n"
+#: fdisk/fdisksunlabel.c:276
+msgid "Select type (? for auto, 0 for custom): "
+msgstr "Vælg type (? for auto. 0 for brugerangivet): "
 
-#: fdisk/fdisk.c:1526
-#, c-format
-msgid "Partition %d: head %d greater than maximum %d\n"
-msgstr "Partition %d: hovedet %d er større end de maksimale %d\n"
+#: fdisk/fdisksunlabel.c:288
+msgid "Autoconfigure failed.\n"
+msgstr "Autokonfigurering mislykkedes.\n"
 
-#: fdisk/fdisk.c:1529
-#, c-format
-msgid "Partition %d: sector %d greater than maximum %d\n"
-msgstr "Partition %d: sektor %d er større end de maksimale %d\n"
+#: fdisk/fdisksunlabel.c:316
+msgid "Sectors/track"
+msgstr "Sektorer/spor"
 
-#: fdisk/fdisk.c:1532
-#, c-format
-msgid "Partitions %d: cylinder %d greater than maximum %d\n"
-msgstr "Partitionerne %d: cylinder %d større end de maksimale %d\n"
+#: fdisk/fdisksunlabel.c:323
+msgid "Alternate cylinders"
+msgstr "Alternative cylindre"
 
-#: fdisk/fdisk.c:1536
-#, c-format
-msgid "Partition %d: previous sectors %d disagrees with total %d\n"
-msgstr "Partition %d: forrige sektorer %d stemmer ikke med totalen %d\n"
+#: fdisk/fdisksunlabel.c:326
+msgid "Physical cylinders"
+msgstr "Fysiske cylindre"
 
-#: fdisk/fdisk.c:1568
-#, c-format
-msgid "Warning: bad start-of-data in partition %d\n"
-msgstr "Advarsel: ugyldig start-på-data i partition %d\n"
+#: fdisk/fdisksunlabel.c:329 fdisk/fdisksunlabel.c:707
+msgid "Rotation speed (rpm)"
+msgstr "Rotationshastighed (omdr. per minut)"
 
-#: fdisk/fdisk.c:1576
-#, c-format
-msgid "Warning: partition %d overlaps partition %d.\n"
-msgstr "Advarsel: partition %d overlapper med partition %d.\n"
+#: fdisk/fdisksunlabel.c:331 fdisk/fdisksunlabel.c:700
+msgid "Interleave factor"
+msgstr "Interleavefaktor"
 
-#: fdisk/fdisk.c:1596
-#, c-format
-msgid "Warning: partition %d is empty\n"
-msgstr "Advarsel: partition %d er tom\n"
+#: fdisk/fdisksunlabel.c:334 fdisk/fdisksunlabel.c:693
+msgid "Extra sectors per cylinder"
+msgstr "Ekstra sektorer per cylinder"
+
+#: fdisk/fdisksunlabel.c:348
+msgid "You may change all the disk params from the x menu"
+msgstr "Du kan ændre alle diskparametrene fra x-menuen"
+
+#: fdisk/fdisksunlabel.c:355
+msgid "3,5\" floppy"
+msgstr "3,5\" diskette"
 
-#: fdisk/fdisk.c:1601
-#, c-format
-msgid "Logical partition %d not entirely in partition %d\n"
-msgstr "Logisk partition %d ikke fuldstændigt indenfor partition %d\n"
+#: fdisk/fdisksunlabel.c:355
+msgid "Linux custom"
+msgstr "Linux's egen"
 
-#: fdisk/fdisk.c:1607
+#: fdisk/fdisksunlabel.c:442
 #, c-format
-msgid "Total allocated sectors %d greater than the maximum %d\n"
-msgstr "Allokerede sektorer i alt %d er større end de maksimale %d\n"
+msgid "Partition %d doesn't end on cylinder boundary\n"
+msgstr "Partition %d slutter ikke på en cylinder-grænse\n"
 
-#: fdisk/fdisk.c:1610
+#: fdisk/fdisksunlabel.c:462
 #, c-format
-msgid "%d unallocated sectors\n"
-msgstr "%d ikke-allokerede sektorer\n"
+msgid "Partition %d overlaps with others in sectors %d-%d\n"
+msgstr "Partition %d overlapper med andre i sektorerne %d-%d\n"
 
-#: fdisk/fdisk.c:1623 fdisk/fdisksgilabel.c:662 fdisk/fdisksunlabel.c:502
+#: fdisk/fdisksunlabel.c:484
 #, c-format
-msgid "Partition %d is already defined.  Delete it before re-adding it.\n"
-msgstr "Partition %d er allerede defineret. Slet den før du tilføjer den igen.\n"
+msgid "Unused gap - sectors 0-%d\n"
+msgstr "Ubenyttet hul - sektorerne 0­%d\n"
 
-#: fdisk/fdisk.c:1659 fdisk/fdisksunlabel.c:542
+#: fdisk/fdisksunlabel.c:486 fdisk/fdisksunlabel.c:490
 #, c-format
-msgid "Sector %d is already allocated\n"
-msgstr "Sektor %d er allerede allokeret\n"
+msgid "Unused gap - sectors %d-%d\n"
+msgstr "Ubenyttet hul - sektorerne %d­%d\n"
 
-#: fdisk/fdisk.c:1695
-msgid "No free sectors available\n"
-msgstr "Ingen tilgængelige frie sektorer\n"
+#: fdisk/fdisksunlabel.c:513
+msgid ""
+"Other partitions already cover the whole disk.\n"
+"Delete some/shrink them before retry.\n"
+msgstr ""
+"Disken er allerede helt udfyldt med andre partitioner.\n"
+"Slet eller formindsk nogen af dem, før du prøver igen.\n"
 
-#: fdisk/fdisk.c:1736
+#: fdisk/fdisksunlabel.c:573
 #, c-format
-msgid "Warning: partition %d has an odd number of sectors.\n"
-msgstr "Advarsel: partition %d har et ulige antal sektorer.\n"
-
-#: fdisk/fdisk.c:1786
-msgid "You must delete some partition and add an extended partition first\n"
-msgstr "Du må først slette en partition og tilføje en udvidet partition\n"
+msgid ""
+"You haven't covered the whole disk with the 3rd partition, but your value\n"
+"%d %s covers some other partition. Your entry has been changed\n"
+"to %d %s\n"
+msgstr ""
+"Du har ikke udfyldt hele disken med tredie partition, men din værdi\n"
+"%d %s dækker en anden partition. Din indgang er blevet ændret til\n"
+"%d %s \n"
 
-#: fdisk/fdisk.c:1790
+#: fdisk/fdisksunlabel.c:593
 #, c-format
 msgid ""
-"Command action\n"
-"   %s\n"
-"   p   primary partition (1-4)\n"
+"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
+"partition as Whole disk (5), starting at 0, with %u sectors\n"
 msgstr ""
-"Kommando beskrivelse\n"
-"   %s\n"
-"   p    primær partition (1-4)\n"
-
-#: fdisk/fdisk.c:1792
-msgid "l   logical (5 or over)"
-msgstr "l    logisk (5 eller derover)"
+"Hvis du vil beholde SunOS/Solaris-kompatilitet, bør du beholde denne\n"
+"partition som 'Whole disk' (5), der begynder på 0, med %u sektorer\n"
 
-#: fdisk/fdisk.c:1792
-msgid "e   extended"
-msgstr "e    udvidet"
+#: fdisk/fdisksunlabel.c:606
+msgid ""
+"It is highly recommended that the partition at offset 0\n"
+"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
+"there may destroy your partition table and bootblock.\n"
+"Type YES if you're very sure you would like that partition\n"
+"tagged with 82 (Linux swap): "
+msgstr ""
+"Det anbefales kraftigt at partitionen med forskydningen 0\n"
+"er et UFS-, EXT2FS-filsystem eller en SunOS swap. Ved at\n"
+"lægge en Linux swap der, kan du ødelægge din partitionstabel\n"
+"og opstartsblok. Skriv JA hvis du er helt sikker på, at du vil\n"
+"markere den partition som Linux swap (82): "
 
-#: fdisk/fdisk.c:1809
+#: fdisk/fdisksunlabel.c:637
 #, c-format
-msgid "Invalid partition number for type `%c'\n"
-msgstr "Ugyldigt partitionsnummer for type '%c'\n"
-
-#: fdisk/fdisk.c:1844
 msgid ""
-"The partition table has been altered!\n"
+"\n"
+"Disk %s (Sun disk label): %d heads, %d sectors, %d rpm\n"
+"%d cylinders, %d alternate cylinders, %d physical cylinders\n"
+"%d extra sects/cyl, interleave %d:1\n"
+"%s\n"
+"Units = %s of %d * 512 bytes\n"
 "\n"
 msgstr ""
-"Partitionstabellen er ændret!\n"
+"\n"
+"Disk %s (Sun-diskmærkat): %d hoveder, %d sektorer, %d omdr. per minut\n"
+"%d cylindre, %d alternative cylindre, %d fysiske cylindre\n"
+"%d ekstra sekt/cyl, interleave %d:1\n"
+"%s\n"
+"Enheder = %s á %d * 512 byte\n"
 "\n"
 
-#: fdisk/fdisk.c:1853
-msgid "Calling ioctl() to re-read partition table.\n"
-msgstr "Kalder ioctl() for at genindlæse partitionstabellen.\n"
-
-#: fdisk/fdisk.c:1869
+#: fdisk/fdisksunlabel.c:651
 #, c-format
 msgid ""
-"Re-read table failed with error %d: %s.\n"
-"Reboot your system to ensure the partition table is updated.\n"
-msgstr ""
-"Genindlæsning af tabellen mislykkedes med fejl %d: %s.\n"
-"Genstart dit system for at sikre at partitionstabellen er opdateret.\n"
-
-#: fdisk/fdisk.c:1875
-msgid ""
 "\n"
-"WARNING: If you have created or modified any DOS 6.x\n"
-"partitions, please see the fdisk manual page for additional\n"
-"information.\n"
+"Disk %s (Sun disk label): %d heads, %d sectors, %d cylinders\n"
+"Units = %s of %d * 512 bytes\n"
+"\n"
 msgstr ""
 "\n"
-"ADVARSEL: Læs venligst fdisk manual-siden for\n"
-"yderligere information, hvis du har oprettet eller\n"
-"ændret DOS 6.x partitioner.\n"
-
-#: fdisk/fdisk.c:1882
-msgid "Syncing disks.\n"
-msgstr "Synkroniserer diske.\n"
+"Disk %s (Sun-diskmærkat): %d hoveder, %d sektorer, %d cylindre\n"
+"Enheder = %s á %d * 512 byte\n"
+"\n"
 
-#: fdisk/fdisk.c:1929
+#: fdisk/fdisksunlabel.c:656
 #, c-format
-msgid "Partition %d has no data area\n"
-msgstr "Partition %d har intet dataområde\n"
-
-#: fdisk/fdisk.c:1934
-msgid "New beginning of data"
-msgstr "Ny begyndelse på data"
-
-#: fdisk/fdisk.c:1950
-msgid "Expert command (m for help): "
-msgstr "Ekspert kommando (m for hjælp): "
-
-#: fdisk/fdisk.c:1963
-msgid "Number of cylinders"
-msgstr "Antal cylindre"
+msgid "%*s Flag    Start       End    Blocks   Id  System\n"
+msgstr "%*s Flag    Start       Slut   Blokke   Id  System\n"
 
-#: fdisk/fdisk.c:1989
-msgid "Number of heads"
-msgstr "Antal hoveder"
+#: fdisk/fdisksunlabel.c:681
+msgid "Number of alternate cylinders"
+msgstr "Antal alternative cylindre"
 
-#: fdisk/fdisk.c:2014
-msgid "Number of sectors"
-msgstr "Antal sektorer"
+#: fdisk/fdisksunlabel.c:714
+msgid "Number of physical cylinders"
+msgstr "Antal fysiske cylindre"
 
-#: fdisk/fdisk.c:2017
-msgid "Warning: setting sector offset for DOS compatiblity\n"
-msgstr "Advarsel: sætter sektorforskydning for DOS-kompatilitet\n"
+#: fdisk/i386_sys_types.c:7
+msgid "FAT12"
+msgstr "FAT12"
 
-#: fdisk/fdisk.c:2081
-#, c-format
-msgid "Disk %s doesn't contain a valid partition table\n"
-msgstr "Disk %s indeholder ikke en gyldig partitionstabel\n"
+#: fdisk/i386_sys_types.c:8
+msgid "XENIX root"
+msgstr "XENIX root"
 
-#: fdisk/fdisk.c:2095
-#, c-format
-msgid "Cannot open %s\n"
-msgstr "Kunne ikke åbne %s\n"
+#: fdisk/i386_sys_types.c:9
+msgid "XENIX usr"
+msgstr "XENIX usr"
 
-#: fdisk/fdisk.c:2112
-#, c-format
-msgid "cannot open %s\n"
-msgstr "kunne ikke åbne %s\n"
+#: fdisk/i386_sys_types.c:10
+msgid "FAT16 <32M"
+msgstr "FAT16 <32M"
 
-#: fdisk/fdisk.c:2133
-#, c-format
-msgid "%c: unknown command\n"
-msgstr "%c: ukendt kommando\n"
+#: fdisk/i386_sys_types.c:11
+msgid "Extended"
+msgstr "Udvidet"
 
-#: fdisk/fdisk.c:2183
-msgid "This kernel finds the sector size itself - -b option ignored\n"
-msgstr "Denne kerne finder selv sektorstørrelser - tilvalget -b ignoreres\n"
+#. DOS 3.3+ extended partition
+#: fdisk/i386_sys_types.c:12
+msgid "FAT16"
+msgstr "FAT16"
 
-#: fdisk/fdisk.c:2186
-msgid ""
-"Warning: the -b (set sector size) option should be used with one specified "
-"device\n"
-msgstr ""
-"Advarsel: tilvalget -b (angiv sektorstørrelse) kræver angivelse af "
-"disk-enhed\n"
+#. DOS 16-bit >=32M
+#: fdisk/i386_sys_types.c:13
+msgid "HPFS/NTFS"
+msgstr "HPFS/NTFS"
 
-#: fdisk/fdisk.c:2251
-#, c-format
-msgid ""
-"Detected an OSF/1 disklabel on %s, entering disklabel mode.\n"
-"To return to DOS partition table mode, use the 'r' command.\n"
-msgstr ""
-"Detekterede et OSF/1 diskmærkat på %s. Går i diskmærkat-tilstand.\n"
-"Brug 'r'-kommandoen for at returnere til DOS-partitionstabel-tilstand.\n"
+#. OS/2 IFS, eg, HPFS or NTFS or QNX
+#: fdisk/i386_sys_types.c:14
+msgid "AIX"
+msgstr "AIX"
 
-#: fdisk/fdisk.c:2260
-msgid "Command (m for help): "
-msgstr "Kommando (m for hjælp): "
+#. AIX boot (AIX -- PS/2 port) or SplitDrive
+#: fdisk/i386_sys_types.c:15
+msgid "AIX bootable"
+msgstr "AIX opstartbar"
 
-#: fdisk/fdisk.c:2276
-#, c-format
-msgid ""
-"\n"
-"The current boot file is: %s\n"
-msgstr ""
-"\n"
-"Den nuværende opstartfil er: %s\n"
+#. AIX data or Coherent
+#: fdisk/i386_sys_types.c:16
+msgid "OS/2 Boot Manager"
+msgstr "OS/2 Opstartshåndtering"
 
-#: fdisk/fdisk.c:2278
-msgid "Please enter the name of the new boot file: "
-msgstr "Angiv venligt navnet på den ny opstartsfil: "
+#. OS/2 Boot Manager
+#: fdisk/i386_sys_types.c:17
+msgid "Win95 FAT32"
+msgstr "Win95 FAT32"
 
-#: fdisk/fdisk.c:2280
-msgid "Boot file unchanged\n"
-msgstr "Opstartsfil uændret\n"
+#: fdisk/i386_sys_types.c:18
+msgid "Win95 FAT32 (LBA)"
+msgstr "Win95 FAT32 (LBA)"
 
-#: fdisk/fdisk.c:2344
-msgid ""
-"\n"
-"\tSorry, no experts menu for SGI partition tables available.\n"
-"\n"
-msgstr ""
-"\n"
-"\tBeklager, der er ingen ekspertmenu for SGI-partitionstabeller.\n"
-"\n"
+#. LBA really is `Extended Int 13h'
+#: fdisk/i386_sys_types.c:19
+msgid "Win95 FAT16 (LBA)"
+msgstr "Win95 FAT16 (LBA)"
 
-#: fdisk/fdisksgilabel.c:79
-msgid "SGI volhdr"
-msgstr "SGI bndhvd"
+#: fdisk/i386_sys_types.c:20
+msgid "Win95 Ext'd (LBA)"
+msgstr "Win95 udvidet (LBA)"
 
-#: fdisk/fdisksgilabel.c:80
-msgid "SGI trkrepl"
-msgstr "SGI sprrepl"
+#: fdisk/i386_sys_types.c:21
+msgid "OPUS"
+msgstr "OPUS"
 
-#: fdisk/fdisksgilabel.c:81
-msgid "SGI secrepl"
-msgstr "SGI sekrepl"
+#: fdisk/i386_sys_types.c:22
+msgid "Hidden FAT12"
+msgstr "Skjult FAT12"
 
-#: fdisk/fdisksgilabel.c:82
-msgid "SGI raw"
-msgstr "SGI raw"
+#: fdisk/i386_sys_types.c:23
+msgid "Compaq diagnostics"
+msgstr "Compaq diagnosticering"
 
-#: fdisk/fdisksgilabel.c:83
-msgid "SGI bsd"
-msgstr "SGI bsd"
+#: fdisk/i386_sys_types.c:24
+msgid "Hidden FAT16 <32M"
+msgstr "Skjult FAT16 <32M"
 
-#: fdisk/fdisksgilabel.c:84
-msgid "SGI sysv"
-msgstr "SGI sysv"
+#: fdisk/i386_sys_types.c:25
+msgid "Hidden FAT16"
+msgstr "Skjult FAT16"
 
-#: fdisk/fdisksgilabel.c:85
-msgid "SGI volume"
-msgstr "SGI bind"
+#: fdisk/i386_sys_types.c:26
+msgid "Hidden HPFS/NTFS"
+msgstr "Skjult HPFS/NTFS"
 
-#: fdisk/fdisksgilabel.c:86
-msgid "SGI efs"
-msgstr "SGI efs"
+#: fdisk/i386_sys_types.c:27
+msgid "AST Windows swapfile"
+msgstr "AST Windows swapfil"
 
-#: fdisk/fdisksgilabel.c:87
-msgid "SGI lvol"
-msgstr "SGI lvol"
+#: fdisk/i386_sys_types.c:28
+msgid "Hidden Win95 FAT32"
+msgstr "Skjult Win95 FAT32"
 
-#: fdisk/fdisksgilabel.c:88
-msgid "SGI rlvol"
-msgstr "SGI rlvol"
+#: fdisk/i386_sys_types.c:29
+msgid "Hidden Win95 FAT32 (LBA)"
+msgstr "Skjult Win95 FAT32 (LBA)"
 
-#: fdisk/fdisksgilabel.c:89
-msgid "SGI xfs"
-msgstr "SGI xfs"
+#: fdisk/i386_sys_types.c:30
+msgid "Hidden Win95 FAT16 (LBA)"
+msgstr "Skjult Win95 FAT16 (LBA)"
 
-#: fdisk/fdisksgilabel.c:90
-msgid "SGI xlvol"
-msgstr "SGI xlvol"
+#: fdisk/i386_sys_types.c:31
+msgid "NEC DOS"
+msgstr "NEC DOS"
 
-#: fdisk/fdisksgilabel.c:91
-msgid "SGI rxlvol"
-msgstr "SGI rxlvol"
+#: fdisk/i386_sys_types.c:32
+msgid "Plan 9"
+msgstr "Plan 9"
 
-#. Minix 1.4b and later
-#: fdisk/fdisksgilabel.c:92 fdisk/fdisksunlabel.c:52 fdisk/i386_sys_types.c:56
-msgid "Linux swap"
-msgstr "Linux swap"
+#: fdisk/i386_sys_types.c:33
+msgid "PartitionMagic recovery"
+msgstr "PartitionMagic redning"
 
-#: fdisk/fdisksgilabel.c:93 fdisk/fdisksunlabel.c:53
-msgid "Linux native"
-msgstr "Linux's egen"
+#: fdisk/i386_sys_types.c:34
+msgid "Venix 80286"
+msgstr "Venix 80286"
 
-#: fdisk/fdisksgilabel.c:94 fdisk/fdisksunlabel.c:54 fdisk/i386_sys_types.c:62
-msgid "Linux LVM"
-msgstr "Linux LVM"
+#: fdisk/i386_sys_types.c:35
+msgid "PPC PReP Boot"
+msgstr "PPC PReP Opstart"
 
-#: fdisk/fdisksgilabel.c:158
-msgid ""
-"According to MIPS Computer Systems, Inc the Label must not contain more than "
-"512 bytes\n"
-msgstr "Ifølge MIPS Computer Systems. Inc, må mærkatet ikke fylde mere end 512 byte\n"
+#: fdisk/i386_sys_types.c:36
+msgid "SFS"
+msgstr "SFS"
 
-#: fdisk/fdisksgilabel.c:177
-msgid "Detected sgi disklabel with wrong checksum.\n"
-msgstr "Detekterede SGI diskmærkat med forkert checksum.\n"
+#: fdisk/i386_sys_types.c:37
+msgid "QNX4.x"
+msgstr "QNX4.x"
 
-#: fdisk/fdisksgilabel.c:200
-#, c-format
-msgid ""
-"\n"
-"Disk %s (SGI disk label): %d heads, %d sectors\n"
-"%d cylinders, %d physical cylinders\n"
-"%d extra sects/cyl, interleave %d:1\n"
-"%s\n"
-"Units = %s of %d * 512 bytes\n"
-"\n"
-msgstr ""
-"\n"
-"Disk %s (SGI diskmærkat): %d hoveder, %d sektorer\n"
-"%d cylindre, %d fysiske cylindre\n"
-"%d ekstra sekt/cyl, interleave %d:1\n"
-"%s\n"
-"Enheder = %s á %d * 512 bytes\n"
-"\n"
+#: fdisk/i386_sys_types.c:38
+msgid "QNX4.x 2nd part"
+msgstr "QNX4.x 2. part"
 
-#: fdisk/fdisksgilabel.c:213
-#, c-format
-msgid ""
-"\n"
-"Disk %s (SGI disk label): %d heads, %d sectors, %d cylinders\n"
-"Units = %s of %d * 512 bytes\n"
-"\n"
-msgstr ""
-"\n"
-"Disk %s (SGI disk label): %d hoveder, %d sektorer, %d cylindre\n"
-"Enheder = %s á %d * 512 bytes\n"
-"\n"
+#: fdisk/i386_sys_types.c:39
+msgid "QNX4.x 3rd part"
+msgstr "QNX4.x 3. part"
 
-#: fdisk/fdisksgilabel.c:219
-#, c-format
-msgid ""
-"----- partitions -----\n"
-"%*s  Info      Start       End   Sectors  Id  System\n"
-msgstr ""
-"----- partitioner -----\n"
-"%*s  Info      Start       Slut  Sektorer Id  System\n"
+#: fdisk/i386_sys_types.c:40
+msgid "OnTrack DM"
+msgstr "OnTrack DM"
 
-#: fdisk/fdisksgilabel.c:241
-#, c-format
-msgid ""
-"----- bootinfo -----\n"
-"Bootfile: %s\n"
-"----- directory entries -----\n"
-msgstr ""
-"----- opstartsinfo -----\n"
-"Opstartsfil: %s\n"
-"----- katalogindgange -----\n"
+#: fdisk/i386_sys_types.c:41
+msgid "OnTrack DM6 Aux1"
+msgstr "OnTrack DM6 Aux1"
 
-#: fdisk/fdisksgilabel.c:251
-#, c-format
-msgid "%2d: %-10s sector%5u size%8u\n"
-msgstr "%2d: %-10s sektor%5u størrelse%8u\n"
+#. (or Novell)
+#: fdisk/i386_sys_types.c:42
+msgid "CP/M"
+msgstr "CP/M"
 
-#: fdisk/fdisksgilabel.c:305
-msgid ""
-"\n"
-"Invalid Bootfile!\n"
-"\tThe bootfile must be an absolute non-zero pathname,\n"
-"\te.g. \"/unix\" or \"/unix.save\".\n"
-msgstr ""
-"\n"
-"Ugyldig opstartsfil!\n"
-"\tOpstartsfilen skal være et absolut, ikke-tomt stinavn,\n"
-"\tf.eks. \"/unix\" eller \"/unix.save\".\n"
+#. CP/M or Microport SysV/AT
+#: fdisk/i386_sys_types.c:43
+msgid "OnTrack DM6 Aux3"
+msgstr "OnTrack DM6 Aux3"
 
-#: fdisk/fdisksgilabel.c:312
-msgid ""
-"\n"
-"\tName of Bootfile too long:  16 bytes maximum.\n"
-msgstr ""
-"\n"
-"\tFor langt navn på opstartsfil: højst 16 byte.\n"
+#: fdisk/i386_sys_types.c:44
+msgid "OnTrackDM6"
+msgstr "OnTrackDM6"
 
-#: fdisk/fdisksgilabel.c:317
-msgid ""
-"\n"
-"\tBootfile must have a fully qualified pathname.\n"
-msgstr ""
-"\n"
-"\tOpstartsfil skal have et komplet stinavn.\n"
+#: fdisk/i386_sys_types.c:45
+msgid "EZ-Drive"
+msgstr "EZ-Drev"
 
-#: fdisk/fdisksgilabel.c:322
-msgid ""
-"\n"
-"\tBe aware, that the bootfile is not checked for existence.\n"
-"\tSGI's default is \"/unix\" and for backup \"/unix.save\".\n"
-msgstr ""
-"\n"
-"\tBemærk, at der ikke tjekkes for opstartsfilens eksistens.\n"
-"\tSGI's standard er \"/unix\" og som backup \"/unix.save\".\n"
+#: fdisk/i386_sys_types.c:46
+msgid "Golden Bow"
+msgstr "Golden Bow"
 
-#: fdisk/fdisksgilabel.c:350
-#, c-format
-msgid ""
-"\n"
-"\tBootfile is changed to \"%s\".\n"
-msgstr ""
-"\n"
-"\tOpstartsfil er ændret til \"%s\".\n"
+#: fdisk/i386_sys_types.c:47
+msgid "Priam Edisk"
+msgstr "Priam Edisk"
 
-#: fdisk/fdisksgilabel.c:448
-msgid "More than one entire disk entry present.\n"
-msgstr "Der er mere end én fuldstændig diskindgang.\n"
+#. DOS R/O or SpeedStor
+#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:83
+#: fdisk/i386_sys_types.c:88 fdisk/i386_sys_types.c:89
+msgid "SpeedStor"
+msgstr "SpeedStor"
 
-#: fdisk/fdisksgilabel.c:456 fdisk/fdisksunlabel.c:478
-msgid "No partitions defined\n"
-msgstr "Ingen partitioner defineret\n"
+#: fdisk/i386_sys_types.c:49
+msgid "GNU HURD or SysV"
+msgstr "GNU HURD eller SysV"
 
-#: fdisk/fdisksgilabel.c:463
-msgid "IRIX likes when Partition 11 covers the entire disk.\n"
-msgstr "IRIX kan lide, når partition 11 fylder hele disken.\n"
+#. GNU HURD or Mach or Sys V/386 (such as ISC UNIX)
+#: fdisk/i386_sys_types.c:50
+msgid "Novell Netware 286"
+msgstr "Novell Netware 286"
 
-#: fdisk/fdisksgilabel.c:465
-#, c-format
-msgid ""
-"The entire disk partition should start at block 0,\n"
-"not at diskblock %d.\n"
-msgstr ""
-"Hele diskpartitionen bør starte ved blok 0,\n"
-"ikke ved diskblok %d.\n"
+#: fdisk/i386_sys_types.c:51
+msgid "Novell Netware 386"
+msgstr "Novell Netware 386"
 
-#: fdisk/fdisksgilabel.c:469
-#, c-format
-msgid ""
-"The entire disk partition is only %d diskblock large,\n"
-"but the disk is %d diskblocks long.\n"
-msgstr ""
-"Hele diskpartitionen er kun %d diskblokke stor,\n"
-"men disken er på %d diskblokke.\n"
+#: fdisk/i386_sys_types.c:52
+msgid "DiskSecure Multi-Boot"
+msgstr "DiskSecure Multi-Boot"
 
-#: fdisk/fdisksgilabel.c:476
-msgid "One Partition (#11) should cover the entire disk.\n"
-msgstr "En partition (#11) bør fylde hele disken.\n"
+#: fdisk/i386_sys_types.c:53
+msgid "PC/IX"
+msgstr "PC/IX"
 
-#: fdisk/fdisksgilabel.c:488
-#, c-format
-msgid "Partition %d does not start on cylinder boundary.\n"
-msgstr "Partition %d starter ikke på en cylindergrænse.\n"
+#: fdisk/i386_sys_types.c:54
+msgid "Old Minix"
+msgstr "Gammel Minix"
 
-#: fdisk/fdisksgilabel.c:495
-#, c-format
-msgid "Partition %d does not end on cylinder boundary.\n"
-msgstr "Partition %d slutter ikke på en cylindergrænse.\n"
+#. Minix 1.4a and earlier
+#: fdisk/i386_sys_types.c:55
+msgid "Minix / old Linux"
+msgstr "Minix / gammel Linux"
 
-#: fdisk/fdisksgilabel.c:503
-#, c-format
-msgid "The Partition %d and %d overlap by %d sectors.\n"
-msgstr "Partition %d pg %d overlapper hinanden i %d sektorer.\n"
+#: fdisk/i386_sys_types.c:58
+msgid "OS/2 hidden C: drive"
+msgstr "OS/2 skjult C-drev"
 
-#: fdisk/fdisksgilabel.c:512 fdisk/fdisksgilabel.c:532
-#, c-format
-msgid "Unused gap of %8d sectors - sectors %8d-%d\n"
-msgstr "Ubenyttet hul på %8d sektorer - sektor %8d-%d\n"
+#: fdisk/i386_sys_types.c:59
+msgid "Linux extended"
+msgstr "Linux udvidet"
 
-#: fdisk/fdisksgilabel.c:545
-msgid ""
-"\n"
-"The boot partition does not exist.\n"
-msgstr ""
-"\n"
-"Opstartpartitionen eksisterer ikke.\n"
+#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
+msgid "NTFS volume set"
+msgstr "NTFS bind-sæt"
 
-#: fdisk/fdisksgilabel.c:549
-msgid ""
-"\n"
-"The swap partition does not exist.\n"
-msgstr ""
-"\n"
-"Swappartitionen eksisterer ikke.\n"
+#: fdisk/i386_sys_types.c:63
+msgid "Amoeba"
+msgstr "Amoeba"
 
-#: fdisk/fdisksgilabel.c:554
-msgid ""
-"\n"
-"The swap partition has no swap type.\n"
-msgstr ""
-"\n"
-"Swappartitionen har ikke nogen swaptype.\n"
+#: fdisk/i386_sys_types.c:64
+msgid "Amoeba BBT"
+msgstr "Amoeba BBT"
 
-#: fdisk/fdisksgilabel.c:558
-msgid "\tYou have chosen an unusual boot file name.\n"
-msgstr "\tDu har valgt et ikke-standard navn på opstartsfilen.\n"
+#. (bad block table)
+#: fdisk/i386_sys_types.c:65
+msgid "BSD/OS"
+msgstr "BSD/OS"
 
-#: fdisk/fdisksgilabel.c:569
-msgid "Sorry You may change the Tag of non-empty partitions.\n"
-msgstr "Beklager. Du må ændre mærket (tag) på ikke-tomme partitioner.\n"
+#. BSDI
+#: fdisk/i386_sys_types.c:66
+msgid "IBM Thinkpad hibernation"
+msgstr "IBM Thinkpad dvale"
 
-#: fdisk/fdisksgilabel.c:576
-msgid ""
-"It is highly recommended that the partition at offset 0\n"
-"is of type \"SGI volhdr\", the IRIX system will rely on it to\n"
-"retrieve from its directory standalone tools like sash and fx.\n"
-"Only the \"SGI volume\" entire disk section may violate this.\n"
-"Type YES if you are sure about tagging this partition differently.\n"
-msgstr ""
-"Det anbefales kraftigt at partitionen på forskydning 0\n"
-"er en \"SGI volhdr\"-type. IRIX-systemet vil bruge den til\bat hente fra "
-"dets katalogværktøjer som sash og fx.\n"
-"Kun \"SGI volume\" hele-disk-sektionen kan bryde dette.\n"
-"Skriv JA, hvis du er sikker på, at du vil mærke partitionen anderledes.\n"
+#: fdisk/i386_sys_types.c:67
+msgid "BSD/386"
+msgstr "BSD/386"
 
-#. rebuild freelist
-#: fdisk/fdisksgilabel.c:607
-msgid "Do You know, You got a partition overlap on the disk?\n"
-msgstr "Ved du, at du har overlappende partitioner på disken?\n"
+#: fdisk/i386_sys_types.c:68
+msgid "OpenBSD"
+msgstr "OpenBSD"
 
-#: fdisk/fdisksgilabel.c:669
-msgid "Attempting to generate entire disk entry automatically.\n"
-msgstr "Forsøger at genere hele-disk-indgang automatisk.\n"
+#: fdisk/i386_sys_types.c:69
+msgid "NeXTSTEP"
+msgstr "NeXTSTEP"
 
-#: fdisk/fdisksgilabel.c:676
-msgid "The entire disk is already covered with partitions.\n"
-msgstr "Hele disken er allerede fyldt med partitioner.\n"
+#: fdisk/i386_sys_types.c:70
+msgid "BSDI fs"
+msgstr "BSDI fs"
 
-#: fdisk/fdisksgilabel.c:681
-msgid "You got a partition overlap on the disk. Fix it first!\n"
-msgstr "Du har overlappende partitioner på disken. Ret det først!\n"
+#: fdisk/i386_sys_types.c:71
+msgid "BSDI swap"
+msgstr "BSDI swap"
 
-#: fdisk/fdisksgilabel.c:690 fdisk/fdisksgilabel.c:719
-msgid ""
-"It is highly recommended that eleventh partition\n"
-"covers the entire disk and is of type `SGI volume'\n"
-msgstr ""
-"Det anbefales kraftigt at den ellevte partition\bfylder hele disken og er af "
-"typen 'SGI volume'\n"
+#: fdisk/i386_sys_types.c:72
+msgid "DRDOS/sec (FAT-12)"
+msgstr "DRDOS/sec (FAT-12)"
 
-#: fdisk/fdisksgilabel.c:706
-msgid "You will get a partition overlap on the disk. Fix it first!\n"
-msgstr "Du vil få overlappende partitioner på disken. Ret dette først!\n"
+#: fdisk/i386_sys_types.c:73
+msgid "DRDOS/sec (FAT-16 < 32M)"
+msgstr "DRDOS/sec (FAT-16 < 32M)"
 
-#: fdisk/fdisksgilabel.c:711
-#, c-format
-msgid " Last %s"
-msgstr " Sidste %s"
+#: fdisk/i386_sys_types.c:74
+msgid "DRDOS/sec (FAT-16)"
+msgstr "DRDOS/sec (FAT-16)"
 
-#: fdisk/fdisksgilabel.c:733
-msgid ""
-"Building a new SGI disklabel. Changes will remain in memory only,\n"
-"until you decide to write them. After that, of course, the previous\n"
-"content will be unrecoverably lost.\n"
-"\n"
-msgstr ""
-"Opbygger et nyt SGI-diskmærkat. Ændringer vil holdes i hukommelsen\n"
-"indtil du beslutter at gemme dem. Derfter vil det tidligere indhold\n"
-"naturligvis ikke kunne genskabes.\n"
-"\n"
+#: fdisk/i386_sys_types.c:75
+msgid "Syrinx"
+msgstr "Syrinx"
 
-#: fdisk/fdisksgilabel.c:761
-#, c-format
-msgid "Trying to keep parameters of partition %d.\n"
-msgstr "Forsøger at bibeholde parametrene for partition %d.\n"
+#: fdisk/i386_sys_types.c:76
+msgid "Non-FS data"
+msgstr "Ikke-filsystemdata"
 
-#: fdisk/fdisksgilabel.c:763
-#, c-format
-msgid "ID=%02x\tSTART=%d\tLENGTH=%d\n"
-msgstr "ID=%02x\tSTART=%d\tLÆNGDE=%d\n"
+#: fdisk/i386_sys_types.c:77
+msgid "CP/M / CTOS / ..."
+msgstr "CP/M / CTOS / ..."
 
-#: fdisk/fdisksunlabel.c:43 fdisk/i386_sys_types.c:6
-msgid "Empty"
-msgstr "Tom"
+#. CP/M or Concurrent CP/M or
+#. Concurrent DOS or CTOS
+#: fdisk/i386_sys_types.c:79
+msgid "Dell Utility"
+msgstr "Dell Værktøj"
 
-#: fdisk/fdisksunlabel.c:45
-msgid "SunOS root"
-msgstr "SunOS root"
+#. Dell PowerEdge Server utilities
+#: fdisk/i386_sys_types.c:80
+msgid "DOS access"
+msgstr "DOS access"
 
-#: fdisk/fdisksunlabel.c:46
-msgid "SunOS swap"
-msgstr "SunOS swap"
+#. DOS access or SpeedStor 12-bit FAT
+#. extended partition
+#: fdisk/i386_sys_types.c:82
+msgid "DOS R/O"
+msgstr "DOS R/O"
 
-#: fdisk/fdisksunlabel.c:47
-msgid "SunOS usr"
-msgstr "SunOS usr"
+#. SpeedStor 16-bit FAT extended
+#. partition < 1024 cyl.
+#: fdisk/i386_sys_types.c:85
+msgid "BeOS fs"
+msgstr "BeOS fs"
 
-#: fdisk/fdisksunlabel.c:48
-msgid "Whole disk"
-msgstr "Whole disk"
+#: fdisk/i386_sys_types.c:86
+msgid "EFI GPT"
+msgstr "EFI GPT"
 
-#: fdisk/fdisksunlabel.c:49
-msgid "SunOS stand"
-msgstr "SunOS stand"
+#. Intel EFI GUID Partition Table
+#: fdisk/i386_sys_types.c:87
+msgid "EFI (FAT-12/16/32)"
+msgstr "EFI (FAT-12/16/32)"
 
-#: fdisk/fdisksunlabel.c:50
-msgid "SunOS var"
-msgstr "SunOS var"
+#. SpeedStor large partition
+#: fdisk/i386_sys_types.c:90
+msgid "DOS secondary"
+msgstr "DOS sekundær"
 
-#: fdisk/fdisksunlabel.c:51
-msgid "SunOS home"
-msgstr "SunOS home"
+#. DOS 3.3+ secondary
+#: fdisk/i386_sys_types.c:91
+msgid "Linux raid autodetect"
+msgstr "Linux raid autodetekt"
 
-#: fdisk/fdisksunlabel.c:129
-msgid ""
-"Detected sun disklabel with wrong checksum.\n"
-"Probably you'll have to set all the values,\n"
-"e.g. heads, sectors, cylinders and partitions\n"
-"or force a fresh label (s command in main menu)\n"
-msgstr ""
-"Opdatede SUN-diskmærkat med forkert checksum.\n"
-"Du er nok nødt til at angive alle værdierne\n"
-"dvs. hoveder, sektorer, cylindre og partitioner\n"
-"eller gennemtvinge et helt nyt mærkat.\n"
-"(s-kommandoen i hovedmenuen\n"
+#. New (2.2.x) raid partition with
+#. autodetect using persistent
+#. superblock
+#: fdisk/i386_sys_types.c:94
+msgid "LANstep"
+msgstr "LANstep"
 
-#: fdisk/fdisksunlabel.c:228
-#, c-format
-msgid "Autoconfigure found a %s%s%s\n"
-msgstr "Autokonfigurering fandt en %s%s%s\n"
+#. SpeedStor >1024 cyl. or LANstep
+#: fdisk/i386_sys_types.c:95
+msgid "BBT"
+msgstr "BBT"
 
-#: fdisk/fdisksunlabel.c:255
-msgid ""
-"Building a new sun disklabel. Changes will remain in memory only,\n"
-"until you decide to write them. After that, of course, the previous\n"
-"content won't be recoverable.\n"
-"\n"
-msgstr ""
-"Opbygger et nyt SUN-diskmærkat. Ændringer vil holdes i hukommelsen\n"
-"indtil du beslutter at gemme dem. Derfter vil det tidligere indhold\n"
-"naturligvis ikke kunne genskabes.\n"
-"\n"
+#: fdisk/sfdisk.c:152
+#, c-format
+msgid "seek error on %s - cannot seek to %lu\n"
+msgstr "søgefejl på %s - kunne ikke søge til %lu\n"
 
-#: fdisk/fdisksunlabel.c:266
-msgid ""
-"Drive type\n"
-"   ?   auto configure\n"
-"   0   custom (with hardware detected defaults)"
-msgstr ""
-"Drevtype\n"
-"   ?   autokonfigurering\n"
-"   0   brugerangivet (med maskinens fundne standardværdier)"
+#: fdisk/sfdisk.c:157
+#, c-format
+msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
+msgstr "søgefejl: ønskede 0x%08x%08x, fik 0x%08x%08x\n"
 
-#: fdisk/fdisksunlabel.c:276
-msgid "Select type (? for auto, 0 for custom): "
-msgstr "Vælg type (? for auto. 0 for brugerangivet): "
+#: fdisk/sfdisk.c:203
+msgid "out of memory - giving up\n"
+msgstr "løbet tør for hukommelse - opgiver\n"
 
-#: fdisk/fdisksunlabel.c:288
-msgid "Autoconfigure failed.\n"
-msgstr "Autokonfigurering mislykkedes.\n"
+#: fdisk/sfdisk.c:208 fdisk/sfdisk.c:291
+#, c-format
+msgid "read error on %s - cannot read sector %lu\n"
+msgstr "læsefejl på %s - kunne ikke læse sektor %lu\n"
 
-#: fdisk/fdisksunlabel.c:316
-msgid "Sectors/track"
-msgstr "Sektorer/spor"
+#: fdisk/sfdisk.c:224
+#, c-format
+msgid "ERROR: sector %lu does not have an msdos signature\n"
+msgstr "FEJL: sektor %lu har ikke en MSDOS-signatur\n"
 
-#: fdisk/fdisksunlabel.c:323
-msgid "Alternate cylinders"
-msgstr "Alternative cylindre"
+#: fdisk/sfdisk.c:241
+#, c-format
+msgid "write error on %s - cannot write sector %lu\n"
+msgstr "skrivefejl på %s - kan ikke skrive sektor %lu\n"
 
-#: fdisk/fdisksunlabel.c:326
-msgid "Physical cylinders"
-msgstr "Fysiske cylindre"
+#: fdisk/sfdisk.c:279
+#, c-format
+msgid "cannot open partition sector save file (%s)\n"
+msgstr "kunne ikke åbne partitionssektor-redningsfil (%s)\n"
 
-#: fdisk/fdisksunlabel.c:329 fdisk/fdisksunlabel.c:704
-msgid "Rotation speed (rpm)"
-msgstr "Rotationshastighed (omdr. per minut)"
+#: fdisk/sfdisk.c:297
+#, c-format
+msgid "write error on %s\n"
+msgstr "skrivefejl på %s\n"
 
-#: fdisk/fdisksunlabel.c:331 fdisk/fdisksunlabel.c:697
-msgid "Interleave factor"
-msgstr "Interleavefaktor"
+#: fdisk/sfdisk.c:315
+#, c-format
+msgid "cannot stat partition restore file (%s)\n"
+msgstr "kunne ikke finde partitions-genskabelsesfil (%s)\n"
 
-#: fdisk/fdisksunlabel.c:334 fdisk/fdisksunlabel.c:690
-msgid "Extra sectors per cylinder"
-msgstr "Ekstra sektorer per cylinder"
+#: fdisk/sfdisk.c:320
+msgid "partition restore file has wrong size - not restoring\n"
+msgstr "partitions-genskabelsesfil har forkert størrelse - genskaber ikke\n"
 
-#: fdisk/fdisksunlabel.c:348
-msgid "You may change all the disk params from the x menu"
-msgstr "Du kan ændre alle diskparametrene fra x-menuen"
+#: fdisk/sfdisk.c:324
+msgid "out of memory?\n"
+msgstr "løbet tør for hukommelse?\n"
 
-#: fdisk/fdisksunlabel.c:354
-msgid "3,5\" floppy"
-msgstr "3,5\" diskette"
+#: fdisk/sfdisk.c:330
+#, c-format
+msgid "cannot open partition restore file (%s)\n"
+msgstr "kan ikke åbne partitions-genskabelsesfilen (%s)\n"
 
-#: fdisk/fdisksunlabel.c:354
-msgid "Linux custom"
-msgstr "Linux's egen"
+#: fdisk/sfdisk.c:336
+#, c-format
+msgid "error reading %s\n"
+msgstr "fejl under læsning af %s\n"
 
-#: fdisk/fdisksunlabel.c:441
+#: fdisk/sfdisk.c:343
 #, c-format
-msgid "Partition %d doesn't end on cylinder boundary\n"
-msgstr "Partition %d slutter ikke på en cylinder-grænse\n"
+msgid "cannot open device %s for writing\n"
+msgstr "kan ikke åbne enheden %s for skrivning\n"
 
-#: fdisk/fdisksunlabel.c:461
+#: fdisk/sfdisk.c:355
 #, c-format
-msgid "Partition %d overlaps with others in sectors %d-%d\n"
-msgstr "Partition %d overlapper med andre i sektorerne %d-%d\n"
+msgid "error writing sector %lu on %s\n"
+msgstr "fejl ved skrivning af sektor %lu på %s\n"
 
-#: fdisk/fdisksunlabel.c:483
+#: fdisk/sfdisk.c:406
 #, c-format
-msgid "Unused gap - sectors 0-%d\n"
-msgstr "Ubenyttet hul - sektorerne 0­%d\n"
+msgid "Disk %s: cannot get size\n"
+msgstr "Disk %s: kan ikke bestemme størrelsen\n"
 
-#: fdisk/fdisksunlabel.c:485 fdisk/fdisksunlabel.c:489
+#: fdisk/sfdisk.c:411
 #, c-format
-msgid "Unused gap - sectors %d-%d\n"
-msgstr "Ubenyttet hul - sektorerne %d­%d\n"
+msgid "Disk %s: cannot get geometry\n"
+msgstr "Disk %s: kan ikke bestemme geometrien\n"
 
-#: fdisk/fdisksunlabel.c:512
+#: fdisk/sfdisk.c:435
+#, c-format
 msgid ""
-"Other partitions already cover the whole disk.\n"
-"Delete some/shrink them before retry.\n"
+"Warning: start=%lu - this looks like a partition rather than\n"
+"the entire disk. Using fdisk on it is probably meaningless.\n"
+"[Use the --force option if you really want this]\n"
 msgstr ""
-"Disken er allerede helt udfyldt med andre partitioner.\n"
-"Slet eller formindsk nogen af dem, før du prøver igen.\n"
+"Advarsel: start=%lu - dette ligner mere en partition end en\n"
+"hel disk. Brug af fdisk på den er sikkert meningsløst.\n"
+"[Brug tilvalget --force hvis du virkelig gerne vil]\n"
 
-#: fdisk/fdisksunlabel.c:570
+#: fdisk/sfdisk.c:442
 #, c-format
-msgid ""
-"You haven't covered the whole disk with the 3rd partition, but your value\n"
-"%d %s covers some other partition. Your entry has been changed\n"
-"to %d %s\n"
-msgstr ""
-"Du har ikke udfyldt hele disken med tredie partition, men din værdi\n"
-"%d %s dækker en anden partition. Din indgang er blevet ændret til\n"
-"%d %s \n"
+msgid "Warning: HDIO_GETGEO says that there are %lu heads\n"
+msgstr "Advarsel: HDIO_GETGEO siger,at der er %lu hoveder\n"
 
-#: fdisk/fdisksunlabel.c:590
+#: fdisk/sfdisk.c:445
 #, c-format
-msgid ""
-"If you want to maintain SunOS/Solaris compatibility, consider leaving this\n"
-"partition as Whole disk (5), starting at 0, with %u sectors\n"
-msgstr ""
-"Hvis du vil beholde SunOS/Solaris-kompatilitet, bør du beholde denne\n"
-"partition som 'Whole disk' (5), der begynder på 0, med %u sektorer\n"
+msgid "Warning: HDIO_GETGEO says that there are %lu sectors\n"
+msgstr "Advarsel: HDIO_GETGEO siger, at der er %lu sektorer\n"
 
-#: fdisk/fdisksunlabel.c:603
-msgid ""
-"It is highly recommended that the partition at offset 0\n"
-"is UFS, EXT2FS filesystem or SunOS swap. Putting Linux swap\n"
-"there may destroy your partition table and bootblock.\n"
-"Type YES if you're very sure you would like that partition\n"
-"tagged with 82 (Linux swap): "
-msgstr ""
-"Det anbefales kraftigt at partitionen med forskydningen 0\n"
-"er et UFS-, EXT2FS-filsystem eller en SunOS swap. Ved at\n"
-"lægge en Linux swap der, kan du ødelægge din partitionstabel\n"
-"og opstartsblok. Skriv JA hvis du er helt sikker på, at du vil\n"
-"markere den partition som Linux swap (82): "
+#: fdisk/sfdisk.c:449
+#, c-format
+msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %lu cylinders\n"
+msgstr "Advarsel: BLKGETSIZE/HDIO_GETGEO siger, at der er  %lu cylindre\n"
 
-#: fdisk/fdisksunlabel.c:634
+#: fdisk/sfdisk.c:453
 #, c-format
 msgid ""
-"\n"
-"Disk %s (Sun disk label): %d heads, %d sectors, %d rpm\n"
-"%d cylinders, %d alternate cylinders, %d physical cylinders\n"
-"%d extra sects/cyl, interleave %d:1\n"
-"%s\n"
-"Units = %s of %d * 512 bytes\n"
-"\n"
+"Warning: unlikely number of sectors (%lu) - usually at most 63\n"
+"This will give problems with all software that uses C/H/S addressing.\n"
 msgstr ""
-"\n"
-"Disk %s (Sun-diskmærkat): %d hoveder, %d sektorer, %d omdr. per minut\n"
-"%d cylindre, %d alternative cylindre, %d fysiske cylindre\n"
-"%d ekstra sekt/cyl, interleave %d:1\n"
-"%s\n"
-"Enheder = %s á %d * 512 byte\n"
-"\n"
+"Advarsel: usandsynligt antal sektorer (%lu) - normalt højst 63\n"
+"Dette vil give problemer med al programmel, der bruger C/H/S-adressering.\n"
 
-#: fdisk/fdisksunlabel.c:648
+#: fdisk/sfdisk.c:457
 #, c-format
 msgid ""
 "\n"
-"Disk %s (Sun disk label): %d heads, %d sectors, %d cylinders\n"
-"Units = %s of %d * 512 bytes\n"
-"\n"
+"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
 msgstr ""
 "\n"
-"Disk %s (Sun-diskmærkat): %d hoveder, %d sektorer, %d cylindre\n"
-"Enheder = %s á %d * 512 byte\n"
-"\n"
+"Disk %s: %lu cylindre, %lu hoveder, %lu sektorer/spor\n"
 
-#: fdisk/fdisksunlabel.c:653
+#: fdisk/sfdisk.c:539
 #, c-format
-msgid "%*s Flag    Start       End    Blocks   Id  System\n"
-msgstr "%*s Flag    Start       Slut   Blokke   Id  System\n"
-
-#: fdisk/fdisksunlabel.c:678
-msgid "Number of alternate cylinders"
-msgstr "Antal alternative cylindre"
-
-#: fdisk/fdisksunlabel.c:711
-msgid "Number of physical cylinders"
-msgstr "Antal fysiske cylindre"
-
-#: fdisk/i386_sys_types.c:7
-msgid "FAT12"
-msgstr "FAT12"
-
-#: fdisk/i386_sys_types.c:8
-msgid "XENIX root"
-msgstr "XENIX root"
-
-#: fdisk/i386_sys_types.c:9
-msgid "XENIX usr"
-msgstr "XENIX usr"
-
-#: fdisk/i386_sys_types.c:10
-msgid "FAT16 <32M"
-msgstr "FAT16 <32M"
-
-#: fdisk/i386_sys_types.c:11
-msgid "Extended"
-msgstr "Udvidet"
-
-#. DOS 3.3+ extended partition
-#: fdisk/i386_sys_types.c:12
-msgid "FAT16"
-msgstr "FAT16"
-
-#. DOS 16-bit >=32M
-#: fdisk/i386_sys_types.c:13
-msgid "HPFS/NTFS"
-msgstr "HPFS/NTFS"
-
-#. OS/2 IFS, eg, HPFS or NTFS or QNX
-#: fdisk/i386_sys_types.c:14
-msgid "AIX"
-msgstr "AIX"
-
-#. AIX boot (AIX -- PS/2 port) or SplitDrive
-#: fdisk/i386_sys_types.c:15
-msgid "AIX bootable"
-msgstr "AIX opstartbar"
-
-#. AIX data or Coherent
-#: fdisk/i386_sys_types.c:16
-msgid "OS/2 Boot Manager"
-msgstr "OS/2 Opstartshåndtering"
-
-#. OS/2 Boot Manager
-#: fdisk/i386_sys_types.c:17
-msgid "Win95 FAT32"
-msgstr "Win95 FAT32"
-
-#: fdisk/i386_sys_types.c:18
-msgid "Win95 FAT32 (LBA)"
-msgstr "Win95 FAT32 (LBA)"
-
-#. LBA really is `Extended Int 13h'
-#: fdisk/i386_sys_types.c:19
-msgid "Win95 FAT16 (LBA)"
-msgstr "Win95 FAT16 (LBA)"
-
-#: fdisk/i386_sys_types.c:20
-msgid "Win95 Ext'd (LBA)"
-msgstr "Win95 udvidet (LBA)"
-
-#: fdisk/i386_sys_types.c:21
-msgid "OPUS"
-msgstr "OPUS"
+msgid "%s of partition %s has impossible value for head: %lu (should be in 0-%lu)\n"
+msgstr "%s for partition %s har umulig hoved-værdi: %lu (burde være mellem 0-%lu)\n"
 
-#: fdisk/i386_sys_types.c:22
-msgid "Hidden FAT12"
-msgstr "Skjult FAT12"
+#: fdisk/sfdisk.c:544
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for sector: %lu (should be in "
+"1-%lu)\n"
+msgstr "%s for partition %s har umulig sektor-værdi: %lu (burde være mellem 1-%lu)\n"
 
-#: fdisk/i386_sys_types.c:23
-msgid "Compaq diagnostics"
-msgstr "Compaq diagnosticering"
+#: fdisk/sfdisk.c:549
+#, c-format
+msgid ""
+"%s of partition %s has impossible value for cylinders: %lu (should be in "
+"0-%lu)\n"
+msgstr ""
+"%s for partition %s har umulig cylinder-værdi: %lu (burde være mellem "
+"0-%lu)\n"
 
-#: fdisk/i386_sys_types.c:24
-msgid "Hidden FAT16 <32M"
-msgstr "Skjult FAT16 <32M"
+#: fdisk/sfdisk.c:588
+msgid ""
+"Id  Name\n"
+"\n"
+msgstr ""
+"Id  Navn\n"
+"\n"
 
-#: fdisk/i386_sys_types.c:25
-msgid "Hidden FAT16"
-msgstr "Skjult FAT16"
+#: fdisk/sfdisk.c:741
+msgid "Re-reading the partition table ...\n"
+msgstr "Genindlæser partitionstabel ...\n"
 
-#: fdisk/i386_sys_types.c:26
-msgid "Hidden HPFS/NTFS"
-msgstr "Skjult HPFS/NTFS"
+#: fdisk/sfdisk.c:747
+msgid ""
+"The command to re-read the partition table failed\n"
+"Reboot your system now, before using mkfs\n"
+msgstr ""
+"Kommandoen for genindlæsning af partitionstabellen mislykkedes\n"
+"Genstart dit system nu, før du formatterer med mkfs\n"
 
-#: fdisk/i386_sys_types.c:27
-msgid "AST Windows swapfile"
-msgstr "AST Windows swapfil"
+#: fdisk/sfdisk.c:752
+#, c-format
+msgid "Error closing %s\n"
+msgstr "Fejl ved lukning af %s\n"
 
-#: fdisk/i386_sys_types.c:28
-msgid "Hidden Win95 FAT32"
-msgstr "Skjult Win95 FAT32"
+#: fdisk/sfdisk.c:790
+#, c-format
+msgid "%s: no such partition\n"
+msgstr "%s: ingen sådan partition\n"
 
-#: fdisk/i386_sys_types.c:29
-msgid "Hidden Win95 FAT32 (LBA)"
-msgstr "Skjult Win95 FAT32 (LBA)"
+#: fdisk/sfdisk.c:813
+msgid "unrecognized format - using sectors\n"
+msgstr "ukendt format - benyttet sektorer\n"
 
-#: fdisk/i386_sys_types.c:30
-msgid "Hidden Win95 FAT16 (LBA)"
-msgstr "Skjult Win95 FAT16 (LBA)"
+#: fdisk/sfdisk.c:852
+#, c-format
+msgid "# partition table of %s\n"
+msgstr "# partitionstabel for %s\n"
 
-#: fdisk/i386_sys_types.c:31
-msgid "NEC DOS"
-msgstr "NEC DOS"
+#: fdisk/sfdisk.c:863
+#, c-format
+msgid "unimplemented format - using %s\n"
+msgstr "ikke-implementeret format - benytter %s\n"
 
-#: fdisk/i386_sys_types.c:32
-msgid "Plan 9"
-msgstr "Plan 9"
+#: fdisk/sfdisk.c:867
+#, c-format
+msgid ""
+"Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheder = cylindre á %lu byte, blokke á 1024 byte, tæller fra %d\n"
+"\n"
 
-#: fdisk/i386_sys_types.c:33
-msgid "PartitionMagic recovery"
-msgstr "PartitionMagic redning"
+#: fdisk/sfdisk.c:870
+msgid "   Device Boot Start     End   #cyls   #blocks   Id  System\n"
+msgstr "   Enhed  Opst Start     Slut  #cyldr. #blokke   Id  System\n"
 
-#: fdisk/i386_sys_types.c:34
-msgid "Venix 80286"
-msgstr "Venix 80286"
+#: fdisk/sfdisk.c:875
+#, c-format
+msgid ""
+"Units = sectors of 512 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheder = sektorer á 512 byte, tæller fra %d\n"
+"\n"
 
-#: fdisk/i386_sys_types.c:35
-msgid "PPC PReP Boot"
-msgstr "PPC PReP Opstart"
+#: fdisk/sfdisk.c:877
+msgid "   Device Boot    Start       End  #sectors  Id  System\n"
+msgstr "   Enhed  Opstart Start       Slut #sektorer Id  System\n"
 
-#: fdisk/i386_sys_types.c:36
-msgid "SFS"
-msgstr "SFS"
+#: fdisk/sfdisk.c:880
+#, c-format
+msgid ""
+"Units = blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheder = blokke á 1024 byte, tæller fra %d\n"
+"\n"
 
-#: fdisk/i386_sys_types.c:37
-msgid "QNX4.x"
-msgstr "QNX4.x"
+#: fdisk/sfdisk.c:882
+msgid "   Device Boot   Start       End   #blocks   Id  System\n"
+msgstr "   Enhed  Opstrt Start       Slut  #blokke   Id  System\n"
 
-#: fdisk/i386_sys_types.c:38
-msgid "QNX4.x 2nd part"
-msgstr "QNX4.x 2. part"
+#: fdisk/sfdisk.c:885
+#, c-format
+msgid ""
+"Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
+"\n"
+msgstr ""
+"Enheder = megabyte á 1048576 byte, blokke á 1024 byte, tæller fra %d\n"
+"\n"
 
-#: fdisk/i386_sys_types.c:39
-msgid "QNX4.x 3rd part"
-msgstr "QNX4.x 3. part"
+#: fdisk/sfdisk.c:887
+msgid "   Device Boot Start   End     MB   #blocks   Id  System\n"
+msgstr "   Enhed  Opst Start   End     MB   #blokke   Id  System\n"
 
-#: fdisk/i386_sys_types.c:40
-msgid "OnTrack DM"
-msgstr "OnTrack DM"
+#: fdisk/sfdisk.c:1019
+#, c-format
+msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tstart: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
 
-#: fdisk/i386_sys_types.c:41
-msgid "OnTrack DM6 Aux1"
-msgstr "OnTrack DM6 Aux1"
+#: fdisk/sfdisk.c:1026
+#, c-format
+msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "\t\tslut: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
 
-#. (or Novell)
-#: fdisk/i386_sys_types.c:42
-msgid "CP/M"
-msgstr "CP/M"
+#: fdisk/sfdisk.c:1029
+#, c-format
+msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partitionen slutter på cylinder %ld, efter diskens slutning\n"
 
-#. CP/M or Microport SysV/AT
-#: fdisk/i386_sys_types.c:43
-msgid "OnTrack DM6 Aux3"
-msgstr "OnTrack DM6 Aux3"
+#: fdisk/sfdisk.c:1040
+msgid "No partitions found\n"
+msgstr "Fandt ingen partitioner\n"
 
-#: fdisk/i386_sys_types.c:44
-msgid "OnTrackDM6"
-msgstr "OnTrackDM6"
+#: fdisk/sfdisk.c:1047
+#, c-format
+msgid ""
+"Warning: The first partition looks like it was made\n"
+"  for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
+"For this listing I'll assume that geometry.\n"
+msgstr ""
+"Advarsel: Den første partition ser ud som om den var lavet\n"
+"   til C/H/S=*/%ld/%ld (i stedet for %ld/%ld/%ld).\n"
+"I denne visning vil jeg gå ud fra denne geometri.\n"
 
-#: fdisk/i386_sys_types.c:45
-msgid "EZ-Drive"
-msgstr "EZ-Drev"
+#: fdisk/sfdisk.c:1097
+msgid "no partition table present.\n"
+msgstr "der er ingen partitionstabel.\n"
 
-#: fdisk/i386_sys_types.c:46
-msgid "Golden Bow"
-msgstr "Golden Bow"
+#: fdisk/sfdisk.c:1099
+#, c-format
+msgid "strange, only %d partitions defined.\n"
+msgstr "mærkeligt, kun %d partitioner er defineret.\n"
 
-#: fdisk/i386_sys_types.c:47
-msgid "Priam Edisk"
-msgstr "Priam Edisk"
+#: fdisk/sfdisk.c:1108
+#, c-format
+msgid "Warning: partition %s has size 0 but is not marked Empty\n"
+msgstr "Advarsel: partition %s har størrelsen 0, men er ikke markeret tom\n"
 
-#. DOS R/O or SpeedStor
-#: fdisk/i386_sys_types.c:48 fdisk/i386_sys_types.c:82
-#: fdisk/i386_sys_types.c:85 fdisk/i386_sys_types.c:86
-msgid "SpeedStor"
-msgstr "SpeedStor"
+#: fdisk/sfdisk.c:1111
+#, c-format
+msgid "Warning: partition %s has size 0 and is bootable\n"
+msgstr "Advarsel: partition %s har størrelsen 0, men er opstartbar\n"
 
-#: fdisk/i386_sys_types.c:49
-msgid "GNU HURD or SysV"
-msgstr "GNU HURD eller SysV"
+#: fdisk/sfdisk.c:1114
+#, c-format
+msgid "Warning: partition %s has size 0 and nonzero start\n"
+msgstr "Advarsel: partition %s har størrelsen 0, men starter ikke i 0\n"
 
-#. GNU HURD or Mach or Sys V/386 (such as ISC UNIX)
-#: fdisk/i386_sys_types.c:50
-msgid "Novell Netware 286"
-msgstr "Novell Netware 286"
+#: fdisk/sfdisk.c:1125
+#, c-format
+msgid "Warning: partition %s "
+msgstr "Advarsel: partition %s "
 
-#: fdisk/i386_sys_types.c:51
-msgid "Novell Netware 386"
-msgstr "Novell Netware 386"
+#: fdisk/sfdisk.c:1126
+#, c-format
+msgid "is not contained in partition %s\n"
+msgstr "indeholdes ikke i partition %s\n"
 
-#: fdisk/i386_sys_types.c:52
-msgid "DiskSecure Multi-Boot"
-msgstr "DiskSecure Multi-Boot"
+#: fdisk/sfdisk.c:1137
+#, c-format
+msgid "Warning: partitions %s "
+msgstr "Advarsel: partitionerne %s "
 
-#: fdisk/i386_sys_types.c:53
-msgid "PC/IX"
-msgstr "PC/IX"
+#: fdisk/sfdisk.c:1138
+#, c-format
+msgid "and %s overlap\n"
+msgstr "og %s overlapper hinanden\n"
 
-#: fdisk/i386_sys_types.c:54
-msgid "Old Minix"
-msgstr "Gammel Minix"
+#: fdisk/sfdisk.c:1149
+#, c-format
+msgid "Warning: partition %s contains part of "
+msgstr "Advarsel: partition %s indeholder noget af "
 
-#. Minix 1.4a and earlier
-#: fdisk/i386_sys_types.c:55
-msgid "Minix / old Linux"
-msgstr "Minix / gammel Linux"
+#: fdisk/sfdisk.c:1150
+#, c-format
+msgid "the partition table (sector %lu),\n"
+msgstr "partitionstabellen (sektor %lu),\n"
 
-#: fdisk/i386_sys_types.c:58
-msgid "OS/2 hidden C: drive"
-msgstr "OS/2 skjult C-drev"
+#: fdisk/sfdisk.c:1151
+msgid "and will destroy it when filled\n"
+msgstr "og vil ødelægge denne, når den fyldes\n"
 
-#: fdisk/i386_sys_types.c:59
-msgid "Linux extended"
-msgstr "Linux udvidet"
+#: fdisk/sfdisk.c:1160
+#, c-format
+msgid "Warning: partition %s starts at sector 0\n"
+msgstr "Advarsel: partition %s starter i sektor 0\n"
 
-#: fdisk/i386_sys_types.c:60 fdisk/i386_sys_types.c:61
-msgid "NTFS volume set"
-msgstr "NTFS bind-sæt"
+#: fdisk/sfdisk.c:1164
+#, c-format
+msgid "Warning: partition %s extends past end of disk\n"
+msgstr "Advarsel: partition %s når ud over diskens slutning\n"
 
-#: fdisk/i386_sys_types.c:63
-msgid "Amoeba"
-msgstr "Amoeba"
+#: fdisk/sfdisk.c:1178
+msgid "Among the primary partitions, at most one can be extended\n"
+msgstr "Højst én af primærpartitionerne må være udvidet\n"
 
-#: fdisk/i386_sys_types.c:64
-msgid "Amoeba BBT"
-msgstr "Amoeba BBT"
+#: fdisk/sfdisk.c:1179
+msgid " (although this is not a problem under Linux)\n"
+msgstr " (selvom det nok ikke vil være et problem under Linux)\n"
 
-#. (bad block table)
-#: fdisk/i386_sys_types.c:65
-msgid "BSD/OS"
-msgstr "BSD/OS"
+#: fdisk/sfdisk.c:1196
+#, c-format
+msgid "Warning: partition %s does not start at a cylinder boundary\n"
+msgstr "Advarsel: partition %s starter ikke på en cylindergrænse\n"
 
-#. BSDI
-#: fdisk/i386_sys_types.c:66
-msgid "IBM Thinkpad hibernation"
-msgstr "IBM Thinkpad dvale"
+#: fdisk/sfdisk.c:1202
+#, c-format
+msgid "Warning: partition %s does not end at a cylinder boundary\n"
+msgstr "Advarsel: partition %s slutter ikke på en cylindergrænse\n"
 
-#: fdisk/i386_sys_types.c:67
-msgid "BSD/386"
-msgstr "BSD/386"
+#: fdisk/sfdisk.c:1220
+msgid ""
+"Warning: more than one primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Advarsel: adskillige primærpartitioner er markeret opstartbare (aktive)\n"
+"Dette generer ikke LILO, men DOS MBR vil ikke kunne starte op fra denne "
+"disk.\n"
 
-#: fdisk/i386_sys_types.c:68
-msgid "OpenBSD"
-msgstr "OpenBSD"
+#: fdisk/sfdisk.c:1227
+msgid ""
+"Warning: usually one can boot from primary partitions only\n"
+"LILO disregards the `bootable' flag.\n"
+msgstr ""
+"Advarsel: normalt kan man kun starte op fra primærpartitioner\n"
+"LILO ignorerer opstartbar flaget.\n"
 
-#: fdisk/i386_sys_types.c:69
-msgid "NeXTSTEP"
-msgstr "NeXTSTEP"
+#: fdisk/sfdisk.c:1233
+msgid ""
+"Warning: no primary partition is marked bootable (active)\n"
+"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
+msgstr ""
+"Advarsel: ingen primærpartition er markeret opstartbar (aktiv)\n"
+"Det generer ikke LILO, men DOS MBR vil ikke kunne starte op fra denne disk.\n"
 
-#: fdisk/i386_sys_types.c:70
-msgid "BSDI fs"
-msgstr "BSDI fs"
+#: fdisk/sfdisk.c:1250
+#, c-format
+msgid "partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "partition %s: start: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
 
-#: fdisk/i386_sys_types.c:71
-msgid "BSDI swap"
-msgstr "BSDI swap"
+#: fdisk/sfdisk.c:1259
+#, c-format
+msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
+msgstr "partition %s: end: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
 
-#: fdisk/i386_sys_types.c:72
-msgid "DRDOS/sec (FAT-12)"
-msgstr "DRDOS/sec (FAT-12)"
+#: fdisk/sfdisk.c:1262
+#, c-format
+msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
+msgstr "partition %s slutter på cylinder %ld, efter diskens slutning\n"
 
-#: fdisk/i386_sys_types.c:73
-msgid "DRDOS/sec (FAT-16 < 32M)"
-msgstr "DRDOS/sec (FAT-16 < 32M)"
+#: fdisk/sfdisk.c:1287
+#, c-format
+msgid "Warning: shifted start of the extd partition from %ld to %ld\n"
+msgstr "Advarsel: ændrede starten på udvidet partition fra %ld til %ld\n"
 
-#: fdisk/i386_sys_types.c:74
-msgid "DRDOS/sec (FAT-16)"
-msgstr "DRDOS/sec (FAT-16)"
+#: fdisk/sfdisk.c:1289
+msgid "(For listing purposes only. Do not change its contents.)\n"
+msgstr "(Kun til visning. Redigér ikke indholdet.)\n"
 
-#: fdisk/i386_sys_types.c:75
-msgid "Syrinx"
-msgstr "Syrinx"
+#: fdisk/sfdisk.c:1291
+msgid "Warning: extended partition does not start at a cylinder boundary.\n"
+msgstr "Advarsel: udvidet partition starter ikke på en cylindergrænse.\n"
 
-#: fdisk/i386_sys_types.c:76
-msgid "Non-FS data"
-msgstr "Ikke-FS data"
+#: fdisk/sfdisk.c:1293
+msgid "DOS and Linux will interpret the contents differently.\n"
+msgstr "DOS og Linux vil fortolke indholdet forskelligt.\n"
 
-#: fdisk/i386_sys_types.c:77
-msgid "CP/M / CTOS / ..."
-msgstr "CP/M / CTOS / ..."
+#: fdisk/sfdisk.c:1309 fdisk/sfdisk.c:1386
+#, c-format
+msgid "too many partitions - ignoring those past nr (%d)\n"
+msgstr "for mange partitioner - ignorerer dem efter nr. (%d)\n"
 
-#. CP/M or Concurrent CP/M or
-#. Concurrent DOS or CTOS
-#: fdisk/i386_sys_types.c:79
-msgid "DOS access"
-msgstr "DOS access"
+#: fdisk/sfdisk.c:1324
+msgid "tree of partitions?\n"
+msgstr "træ med partitioner?\n"
 
-#. DOS access or SpeedStor 12-bit FAT
-#. extended partition
-#: fdisk/i386_sys_types.c:81
-msgid "DOS R/O"
-msgstr "DOS R/O"
+#: fdisk/sfdisk.c:1445
+msgid "detected Disk Manager - unable to handle that\n"
+msgstr "fandt Disk Manager - kan ikke håndtere sådan en\n"
 
-#. SpeedStor 16-bit FAT extended
-#. partition < 1024 cyl.
-#: fdisk/i386_sys_types.c:84
-msgid "BeOS fs"
-msgstr "BeOS fs"
+#: fdisk/sfdisk.c:1452
+msgid "DM6 signature found - giving up\n"
+msgstr "fandt DM6 signatur - opgiver\n"
 
-#. SpeedStor large partition
-#: fdisk/i386_sys_types.c:87
-msgid "DOS secondary"
-msgstr "DOS sekundær"
+#: fdisk/sfdisk.c:1472
+msgid "strange..., an extended partition of size 0?\n"
+msgstr "mærkeligt... en udvidet partition med størrelsen 0?\n"
 
-#. DOS 3.3+ secondary
-#: fdisk/i386_sys_types.c:88
-msgid "Linux raid autodetect"
-msgstr "Linux raid autodetekt"
+#: fdisk/sfdisk.c:1479 fdisk/sfdisk.c:1490
+msgid "strange..., a BSD partition of size 0?\n"
+msgstr "mærkeligt..., en BSD-partition med størrelsen 0?\n"
 
-#. New (2.2.x) raid partition with
-#. autodetect using persistent
-#. superblock
-#: fdisk/i386_sys_types.c:91
-msgid "LANstep"
-msgstr "LANstep"
+#: fdisk/sfdisk.c:1524
+#, c-format
+msgid " %s: unrecognized partition\n"
+msgstr " %s: ukendt partition\n"
 
-#. SpeedStor >1024 cyl. or LANstep
-#: fdisk/i386_sys_types.c:92
-msgid "BBT"
-msgstr "BBT"
+#: fdisk/sfdisk.c:1536
+msgid "-n flag was given: Nothing changed\n"
+msgstr "flaget -n blev givet: Intet ændret\n"
 
-#: fdisk/sfdisk.c:152
-#, c-format
-msgid "seek error on %s - cannot seek to %lu\n"
-msgstr "søgefejl på %s - kunne ikke søge til %lu\n"
+#: fdisk/sfdisk.c:1549
+msgid "Failed saving the old sectors - aborting\n"
+msgstr "Kunne ikke gemme de gamle sektorer- afbryder\n"
 
-#: fdisk/sfdisk.c:157
+#: fdisk/sfdisk.c:1554
 #, c-format
-msgid "seek error: wanted 0x%08x%08x, got 0x%08x%08x\n"
-msgstr "søgefejl: ønskede 0x%08x%08x, fik 0x%08x%08x\n"
+msgid "Failed writing the partition on %s\n"
+msgstr "Mislykket skrivning af partition på %s\n"
 
-#: fdisk/sfdisk.c:203
-msgid "out of memory - giving up\n"
-msgstr "løbet tør for hukommelse - opgiver\n"
+#: fdisk/sfdisk.c:1631
+msgid "long or incomplete input line - quitting\n"
+msgstr "lang eller uafsluttet inddatalinie - afbryder\n"
 
-#: fdisk/sfdisk.c:208 fdisk/sfdisk.c:291
+#: fdisk/sfdisk.c:1667
 #, c-format
-msgid "read error on %s - cannot read sector %lu\n"
-msgstr "læsefejl på %s - kunne ikke læse sektor %lu\n"
+msgid "input error: `=' expected after %s field\n"
+msgstr "inddatafejl: forventer '=' efter %s-felt\n"
 
-#: fdisk/sfdisk.c:224
+#: fdisk/sfdisk.c:1674
 #, c-format
-msgid "ERROR: sector %lu does not have an msdos signature\n"
-msgstr "FEJL: sektor %lu har ikke en MSDOS-signatur\n"
+msgid "input error: unexpected character %c after %s field\n"
+msgstr "inddatafejl: uventet tegn %c efter %s-felt\n"
 
-#: fdisk/sfdisk.c:241
+#: fdisk/sfdisk.c:1680
 #, c-format
-msgid "write error on %s - cannot write sector %lu\n"
-msgstr "skrivefejl på %s - kan ikke skrive sektor %lu\n"
+msgid "unrecognized input: %s\n"
+msgstr "ukendt inddata: %s\n"
 
-#: fdisk/sfdisk.c:279
-#, c-format
-msgid "cannot open partition sector save file (%s)\n"
-msgstr "kunne ikke åbne partitionssektor-redningsfil (%s)\n"
+#: fdisk/sfdisk.c:1712
+msgid "number too big\n"
+msgstr "tal for stort\n"
 
-#: fdisk/sfdisk.c:297
-#, c-format
-msgid "write error on %s\n"
-msgstr "skrivefejl på %s\n"
+#: fdisk/sfdisk.c:1716
+msgid "trailing junk after number\n"
+msgstr "uvedkommende tegn efter tallet\n"
 
-#: fdisk/sfdisk.c:315
-#, c-format
-msgid "cannot stat partition restore file (%s)\n"
-msgstr "kunne ikke finde partitions-genskabelsesfil (%s)\n"
+#: fdisk/sfdisk.c:1832
+msgid "no room for partition descriptor\n"
+msgstr "ikke plads til partitionsbeskrivelse\n"
 
-#: fdisk/sfdisk.c:320
-msgid "partition restore file has wrong size - not restoring\n"
-msgstr "partitions-genskabelsesfil har forkert størrelse - genskaber ikke\n"
+#: fdisk/sfdisk.c:1865
+msgid "cannot build surrounding extended partition\n"
+msgstr "kunne ikke opbygge den omgivende udvidede partition\n"
 
-#: fdisk/sfdisk.c:324
-msgid "out of memory?\n"
-msgstr "løbet tør for hukommelse?\n"
+#: fdisk/sfdisk.c:1916
+msgid "too many input fields\n"
+msgstr "for mange inddatafelter\n"
 
-#: fdisk/sfdisk.c:330
-#, c-format
-msgid "cannot open partition restore file (%s)\n"
-msgstr "kan ikke åbne partitions-genskabelsesfilen (%s)\n"
+#. no free blocks left - don't read any further
+#: fdisk/sfdisk.c:1950
+msgid "No room for more\n"
+msgstr "Ikke plads til mere\n"
 
-#: fdisk/sfdisk.c:336
-#, c-format
-msgid "error reading %s\n"
-msgstr "fejl ved læsning af %s\n"
+#: fdisk/sfdisk.c:1969
+msgid "Illegal type\n"
+msgstr "Ugyldig type\n"
 
-#: fdisk/sfdisk.c:343
+#: fdisk/sfdisk.c:2001
 #, c-format
-msgid "cannot open device %s for writing\n"
-msgstr "kan ikke åbne enheden %s for skrivning\n"
+msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
+msgstr ""
+"Advarsel: den angiven størrelse(%lu) overstiger den maksimalt tilladte "
+"(%lu)\n"
 
-#: fdisk/sfdisk.c:355
-#, c-format
-msgid "error writing sector %lu on %s\n"
-msgstr "fejl ved skrivning af sektor %lu på %s\n"
+#: fdisk/sfdisk.c:2007
+msgid "Warning: empty partition\n"
+msgstr "Advarsel: tom partition\n"
 
-#: fdisk/sfdisk.c:406
+#: fdisk/sfdisk.c:2021
 #, c-format
-msgid "Disk %s: cannot get size\n"
-msgstr "Disk %s: kan ikke bestemme størrelsen\n"
+msgid "Warning: bad partition start (earliest %lu)\n"
+msgstr "Advarsel: ugyldigt partitionsbegyndelse (tidligst %lu)\n"
 
-#: fdisk/sfdisk.c:411
-#, c-format
-msgid "Disk %s: cannot get geometry\n"
-msgstr "Disk %s: kan ikke bestemme geometrien\n"
+#: fdisk/sfdisk.c:2034
+msgid "unrecognized bootable flag - choose - or *\n"
+msgstr "ukendt opstartbar-flag,  vælg - eller *\n"
+
+#: fdisk/sfdisk.c:2051 fdisk/sfdisk.c:2064
+msgid "partial c,h,s specification?\n"
+msgstr "delvis c,h,s-specifikation?\n"
+
+#: fdisk/sfdisk.c:2075
+msgid "Extended partition not where expected\n"
+msgstr "Udvidet partition ikke hvor den forventedes\n"
+
+#: fdisk/sfdisk.c:2107
+msgid "bad input\n"
+msgstr "ugyldige inddata\n"
+
+#: fdisk/sfdisk.c:2129
+msgid "too many partitions\n"
+msgstr "for mange partitioner\n"
+
+#: fdisk/sfdisk.c:2162
+msgid ""
+"Input in the following format; absent fields get a default value.\n"
+"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
+msgstr ""
+"Inddata i følgende format; udeladte felter tildeles standardværdi.\n"
+"<start> <størr> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
+"Du behøver normalt kun at angive <start> og <størr> (og måske <type>).\n"
+
+#: fdisk/sfdisk.c:2182
+msgid "version"
+msgstr "version"
 
-#: fdisk/sfdisk.c:435
+#: fdisk/sfdisk.c:2188
 #, c-format
-msgid ""
-"Warning: start=%d - this looks like a partition rather than\n"
-"the entire disk. Using fdisk on it is probably meaningless.\n"
-"[Use the --force option if you really want this]\n"
-msgstr ""
-"Advarsel: start=%d - dette ligner mere en partition end en\n"
-"hel disk. Brug af fdisk på den er sikkert meningsløst.\n"
-"[Brug tilvalget --force hvis du virkelig gerne vil]\n"
+msgid "Usage: %s [options] device ...\n"
+msgstr "Brug: %s [tilvalg] enhed ...\n"
 
-#: fdisk/sfdisk.c:442
-#, c-format
-msgid "Warning: HDIO_GETGEO says that there are %d heads\n"
-msgstr "Advarsel: HDIO_GETGEO siger,at der er %d hoveder\n"
+#: fdisk/sfdisk.c:2189
+msgid "device: something like /dev/hda or /dev/sda"
+msgstr "enhed: noget lignende /dev/hda eller /dev/sda"
 
-#: fdisk/sfdisk.c:445
-#, c-format
-msgid "Warning: HDIO_GETGEO says that there are %d sectors\n"
-msgstr "Advarsel: HDIO_GETGEO siger, at der er %d sektorer\n"
+#: fdisk/sfdisk.c:2190
+msgid "useful options:"
+msgstr "nyttige tilvalg:"
 
-#: fdisk/sfdisk.c:449
-#, c-format
-msgid "Warning: BLKGETSIZE/HDIO_GETGEO says that there are %d cylinders\n"
-msgstr "Advarsel: BLKGETSIZE/HDIO_GETGEO siger, at der er  %d cylindre\n"
+#: fdisk/sfdisk.c:2191
+msgid "    -s [or --show-size]: list size of a partition"
+msgstr "    -s [eller --show-size]: vis partitionens størrelse"
 
-#: fdisk/sfdisk.c:453
-#, c-format
-msgid ""
-"Warning: unlikely number of sectors (%d) - usually at most 63\n"
-"This will give problems with all software that uses C/H/S addressing.\n"
+#: fdisk/sfdisk.c:2192
+msgid "    -c [or --id]:        print or change partition Id"
+msgstr "    -c [eller --id]:        vis eller ændr partitions-id"
+
+#: fdisk/sfdisk.c:2193
+msgid "    -l [or --list]:      list partitions of each device"
+msgstr "    -l [eller --list]:      vis hver enheds partitioner"
+
+#: fdisk/sfdisk.c:2194
+msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
 msgstr ""
-"Advarsel: usandsynligt antal sektorer (%d) - normalt højst 63\n"
-"Dette vil give problemer med al programmel, der bruger C/H/S-adressering.\n"
+"    -d [eller --dump]:      det samme, men i et format, der vil passe til "
+"senere inddata"
 
-#: fdisk/sfdisk.c:457
-#, c-format
+#: fdisk/sfdisk.c:2195
+msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
+msgstr "    -i [eller --increment]: antal cylindre osv. fra 1 i stedet for fra 0"
+
+#: fdisk/sfdisk.c:2196
 msgid ""
-"\n"
-"Disk %s: %lu cylinders, %lu heads, %lu sectors/track\n"
+"    -uS, -uB, -uC, -uM:  accept/report in units of "
+"sectors/blocks/cylinders/MB"
 msgstr ""
-"\n"
-"Disk %s: %lu cylindre, %lu hoveder, %lu sektorer/spor\n"
+"    -uS, -uB, -uC, -uM:     indlæs/vis i enhederne "
+"sektorer/blokke/cylindre/MB"
 
-#: fdisk/sfdisk.c:539
-#, c-format
-msgid "%s of partition %s has impossible value for head: %d (should be in 0-%d)\n"
-msgstr "%s for partition %s har umulig hoved-værdi: %d (burde være mellem 0-%d)\n"
+#: fdisk/sfdisk.c:2197
+msgid "    -T [or --list-types]:list the known partition types"
+msgstr "    -T [eller --list-types]:vis kendte partitionstyper"
 
-#: fdisk/sfdisk.c:544
-#, c-format
-msgid "%s of partition %s has impossible value for sector: %d (should be in 1-%d)\n"
-msgstr "%s for partition %s har umulig sektor-værdi: %d (burde være mellem 1-%d)\n"
+#: fdisk/sfdisk.c:2198
+msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
+msgstr "    -D [eller --DOS]:       DOS-kompatibilitet: spilder lidt plads"
 
-#: fdisk/sfdisk.c:549
-#, c-format
-msgid ""
-"%s of partition %s has impossible value for cylinders: %d (should be in "
-"0-%d)\n"
-msgstr "%s for partition %s har umulig cylinder-værdi: %d (burde være mellem 0-%d)\n"
+#: fdisk/sfdisk.c:2199
+msgid "    -R [or --re-read]:   make kernel reread partition table"
+msgstr "    -R [eller --re-read]:   lad kernen genindlæse partitionstabellen"
 
-#: fdisk/sfdisk.c:588
-msgid ""
-"Id  Name\n"
-"\n"
-msgstr ""
-"Id  Navn\n"
-"\n"
+#: fdisk/sfdisk.c:2200
+msgid "    -N# :                change only the partition with number #"
+msgstr "    -N# :                   ret kun partitionen med nummer #"
 
-#: fdisk/sfdisk.c:741
-msgid "Re-reading the partition table ...\n"
-msgstr "Genindlæser partitionstabel ...\n"
+#: fdisk/sfdisk.c:2201
+msgid "    -n :                 do not actually write to disk"
+msgstr "    -n :                    undlad at skrive ændringerne til disken"
 
-#: fdisk/sfdisk.c:747
-msgid ""
-"The command to re-read the partition table failed\n"
-"Reboot your system now, before using mkfs\n"
-msgstr ""
-"Kommandoen for genindlæsning af partitionstabellen mislykkedes\n"
-"Genstart dit system nu, før du formatterer med mkfs\n"
+#: fdisk/sfdisk.c:2202
+msgid "    -O file :            save the sectors that will be overwritten to file"
+msgstr "    -O fil :                gem de sektorer, der overskrives, i en fil"
 
-#: fdisk/sfdisk.c:752
-#, c-format
-msgid "Error closing %s\n"
-msgstr "Fejl ved lukning af %s\n"
+#: fdisk/sfdisk.c:2203
+msgid "    -I file :            restore these sectors again"
+msgstr "    -I fil :                genskab disse sektorer"
 
-#: fdisk/sfdisk.c:790
-#, c-format
-msgid "%s: no such partition\n"
-msgstr "%s: ingen sådan partition\n"
+#: fdisk/sfdisk.c:2204
+msgid "    -v [or --version]:   print version"
+msgstr "    -v [eller --version]:   vis version"
 
-#: fdisk/sfdisk.c:813
-msgid "unrecognized format - using sectors\n"
-msgstr "ukendt format - benyttet sektorer\n"
+#: fdisk/sfdisk.c:2205
+msgid "    -? [or --help]:      print this message"
+msgstr "    -? [eller --help]:      vis denne besked"
 
-#: fdisk/sfdisk.c:852
-#, c-format
-msgid "# partition table of %s\n"
-msgstr "# partitionstabel for %s\n"
+#: fdisk/sfdisk.c:2206
+msgid "dangerous options:"
+msgstr "farlige tilvalg:"
 
-#: fdisk/sfdisk.c:863
-#, c-format
-msgid "unimplemented format - using %s\n"
-msgstr "ikke-implementeret format - benytter %s\n"
+#: fdisk/sfdisk.c:2207
+msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
+msgstr "    -g [eller --show-geometry]: vis kernens bud på den geometri"
 
-#: fdisk/sfdisk.c:867
-#, c-format
+#: fdisk/sfdisk.c:2208
 msgid ""
-"Units = cylinders of %lu bytes, blocks of 1024 bytes, counting from %d\n"
-"\n"
+"    -x [or --show-extended]: also list extended partitions on output\n"
+"                             or expect descriptors for them on input"
 msgstr ""
-"Enheder = cylindre á %lu byte, blokke á 1024 byte, tæller fra %d\n"
-"\n"
+"    -x [eller --show-extended]: medtag udvidede partitioner i uddata\n"
+"                                eller forvent beskrivelser af dem i inddata"
 
-#: fdisk/sfdisk.c:870
-msgid "   Device Boot Start     End   #cyls   #blocks   Id  System\n"
-msgstr "   Enhed  Opst Start     Slut  #cyldr. #blokke   Id  System\n"
+#: fdisk/sfdisk.c:2210
+msgid "    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
+msgstr "    -L  [eller --Linux]:      giv ikke råd, der ikke vedrører Linux"
 
-#: fdisk/sfdisk.c:875
-#, c-format
-msgid ""
-"Units = sectors of 512 bytes, counting from %d\n"
-"\n"
-msgstr ""
-"Enheder = sektorer á 512 byte, tæller fra %d\n"
-"\n"
+#: fdisk/sfdisk.c:2211
+msgid "    -q  [or --quiet]:      suppress warning messages"
+msgstr "    -q  [eller --quiet]:      undertryk advarsler"
 
-#: fdisk/sfdisk.c:877
-msgid "   Device Boot    Start       End  #sectors  Id  System\n"
-msgstr "   Enhed  Opstart Start       Slut #sektorer Id  System\n"
+#: fdisk/sfdisk.c:2212
+msgid "    You can override the detected geometry using:"
+msgstr "    Du kan tilsidesætte den detekterede geometri med:"
 
-#: fdisk/sfdisk.c:880
-#, c-format
-msgid ""
-"Units = blocks of 1024 bytes, counting from %d\n"
-"\n"
-msgstr ""
-"Enheder = blokke á 1024 byte, tæller fra %d\n"
-"\n"
+#: fdisk/sfdisk.c:2213
+msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
+msgstr "    -C# [eller --cylinders #]:angiv det cylinderantal, der skal bruges"
 
-#: fdisk/sfdisk.c:882
-msgid "   Device Boot   Start       End   #blocks   Id  System\n"
-msgstr "   Enhed  Opstrt Start       Slut  #blokke   Id  System\n"
+#: fdisk/sfdisk.c:2214
+msgid "    -H# [or --heads #]:    set the number of heads to use"
+msgstr "    -H# [eller --heads #]:    angiv det hovedantal, der skal bruges"
 
-#: fdisk/sfdisk.c:885
-#, c-format
-msgid ""
-"Units = megabytes of 1048576 bytes, blocks of 1024 bytes, counting from %d\n"
-"\n"
-msgstr ""
-"Enheder = megabyte á 1048576 byte, blokke á 1024 byte, tæller fra %d\n"
-"\n"
+#: fdisk/sfdisk.c:2215
+msgid "    -S# [or --sectors #]:  set the number of sectors to use"
+msgstr "    -S# [eller --sectors #]:  angiv det sektorantal, der skal bruges"
 
-#: fdisk/sfdisk.c:887
-msgid "   Device Boot Start   End     MB   #blocks   Id  System\n"
-msgstr "   Enhed  Opst Start   End     MB   #blokke   Id  System\n"
+#: fdisk/sfdisk.c:2216
+msgid "You can disable all consistency checking with:"
+msgstr "Du kan undertrykke alle forenelighedstjek med:"
 
-#: fdisk/sfdisk.c:1019
-#, c-format
-msgid "\t\tstart: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
-msgstr "\t\tstart: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
+#: fdisk/sfdisk.c:2217
+msgid "    -f  [or --force]:      do what I say, even if it is stupid"
+msgstr "    -f  [eller --force]:      gør hvad jeg siger, selvom det er dumt"
 
-#: fdisk/sfdisk.c:1026
-#, c-format
-msgid "\t\tend: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
-msgstr "\t\tslut: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
+#: fdisk/sfdisk.c:2223
+msgid "Usage:"
+msgstr "Brug:"
 
-#: fdisk/sfdisk.c:1029
+#: fdisk/sfdisk.c:2224
 #, c-format
-msgid "partition ends on cylinder %ld, beyond the end of the disk\n"
-msgstr "partitionen slutter på cylinder %ld, efter diskens slutning\n"
+msgid "%s device\t\t list active partitions on device\n"
+msgstr "%s enhed\t\t vis aktive partitioner på enhed\n"
 
-#: fdisk/sfdisk.c:1040
-msgid "No partitions found\n"
-msgstr "Fandt ingen partitioner\n"
+#: fdisk/sfdisk.c:2225
+#, c-format
+msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
+msgstr "%s enhed n1 n2 ... aktivér partitionerne på n1 ..., deaktivér resten\n"
 
-#: fdisk/sfdisk.c:1047
+#: fdisk/sfdisk.c:2226
 #, c-format
-msgid ""
-"Warning: The first partition looks like it was made\n"
-"  for C/H/S=*/%ld/%ld (instead of %ld/%ld/%ld).\n"
-"For this listing I'll assume that geometry.\n"
-msgstr ""
-"Advarsel: Den første partition ser ud som om den var lavet\n"
-"   til C/H/S=*/%ld/%ld (i stedet for %ld/%ld/%ld).\n"
-"I denne visning vil jeg gå ud fra denne geometri.\n"
+msgid "%s -An device\t activate partition n, inactivate the other ones\n"
+msgstr "%s -An enhed\t aktivér partition n, deaktivér de andre\n"
 
-#: fdisk/sfdisk.c:1097
-msgid "no partition table present.\n"
-msgstr "der er ingen partitionstabel.\n"
+#: fdisk/sfdisk.c:2346
+msgid "no command?\n"
+msgstr "ingen kommando?\n"
 
-#: fdisk/sfdisk.c:1099
+#: fdisk/sfdisk.c:2471
 #, c-format
-msgid "strange, only %d partitions defined.\n"
-msgstr "mærkeligt, kun %d partitioner er defineret.\n"
+msgid "total: %d blocks\n"
+msgstr "i alt: %d blokke\n"
+
+#: fdisk/sfdisk.c:2508
+msgid "usage: sfdisk --print-id device partition-number\n"
+msgstr "brug: sfdisk --print-id enhed partitionsnummer\n"
 
-#: fdisk/sfdisk.c:1108
-#, c-format
-msgid "Warning: partition %s has size 0 but is not marked Empty\n"
-msgstr "Advarsel: partition %s har størrelsen 0, men er ikke markeret tom\n"
+#: fdisk/sfdisk.c:2510
+msgid "usage: sfdisk --change-id device partition-number Id\n"
+msgstr "brug: sfdisk --change-id enhed partitionsnummer id\n"
 
-#: fdisk/sfdisk.c:1111
-#, c-format
-msgid "Warning: partition %s has size 0 and is bootable\n"
-msgstr "Advarsel: partition %s har størrelsen 0, men er opstartbar\n"
+#: fdisk/sfdisk.c:2512
+msgid "usage: sfdisk --id device partition-number [Id]\n"
+msgstr "brug: sfdisk --id enhed partitionsnummer [id]\n"
 
-#: fdisk/sfdisk.c:1114
-#, c-format
-msgid "Warning: partition %s has size 0 and nonzero start\n"
-msgstr "Advarsel: partition %s har størrelsen 0, men starter ikke i 0\n"
+#: fdisk/sfdisk.c:2519
+msgid "can specify only one device (except with -l or -s)\n"
+msgstr "du kan kun angive én enhed (undtagen med -l eller -s)\n"
 
-#: fdisk/sfdisk.c:1125
+#: fdisk/sfdisk.c:2544
 #, c-format
-msgid "Warning: partition %s "
-msgstr "Advarsel: partition %s "
+msgid "cannot open %s %s\n"
+msgstr "kunne ikke åbne %s %s\n"
 
-#: fdisk/sfdisk.c:1126
-#, c-format
-msgid "is not contained in partition %s\n"
-msgstr "indeholdes ikke i partition %s\n"
+#: fdisk/sfdisk.c:2544
+msgid "read-write"
+msgstr "for skrivning"
 
-#: fdisk/sfdisk.c:1137
+#: fdisk/sfdisk.c:2544
+msgid "for reading"
+msgstr "for læsning"
+
+#: fdisk/sfdisk.c:2569
 #, c-format
-msgid "Warning: partitions %s "
-msgstr "Advarsel: partitionerne %s "
+msgid "%s: OK\n"
+msgstr "%s: O.k.\n"
 
-#: fdisk/sfdisk.c:1138
+#: fdisk/sfdisk.c:2586
 #, c-format
-msgid "and %s overlap\n"
-msgstr "og %s overlapper hinanden\n"
+msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
+msgstr "%s: %ld cylindre, %ld hoveder, %ld sektorer/spor\n"
 
-#: fdisk/sfdisk.c:1149
+#: fdisk/sfdisk.c:2603
 #, c-format
-msgid "Warning: partition %s contains part of "
-msgstr "Advarsel: partition %s indeholder noget af "
+msgid "BLKGETSIZE ioctl failed for %s\n"
+msgstr "BLKGETSIZE ioctl mislykkedes for %s\n"
 
-#: fdisk/sfdisk.c:1150
+#: fdisk/sfdisk.c:2680
 #, c-format
-msgid "the partition table (sector %lu),\n"
-msgstr "partitionstabellen (sektor %lu),\n"
+msgid "bad active byte: 0x%x instead of 0x80\n"
+msgstr "ugyldig aktiv-byte: 0x%x i stedet for 0x80\n"
 
-#: fdisk/sfdisk.c:1151
-msgid "and will destroy it when filled\n"
-msgstr "og vil ødelægge denne, når den fyldes\n"
+#: fdisk/sfdisk.c:2697 fdisk/sfdisk.c:2750 fdisk/sfdisk.c:2781
+msgid ""
+"Done\n"
+"\n"
+msgstr ""
+"Færdig\n"
+"\n"
 
-#: fdisk/sfdisk.c:1160
+#: fdisk/sfdisk.c:2706
 #, c-format
-msgid "Warning: partition %s starts at sector 0\n"
-msgstr "Advarsel: partition %s starter i sektor 0\n"
+msgid ""
+"You have %d active primary partitions. This does not matter for LILO,\n"
+"but the DOS MBR will only boot a disk with 1 active partition.\n"
+msgstr ""
+"Du har %d aktive primærpartitioner. Dette generer ikke LILO,\n"
+"men DOS MBR vil kun kunne starte op fra en disk med én aktiv partition.\n"
 
-#: fdisk/sfdisk.c:1164
+#: fdisk/sfdisk.c:2720
 #, c-format
-msgid "Warning: partition %s extends past end of disk\n"
-msgstr "Advarsel: partition %s når ud over diskens slutning\n"
+msgid "partition %s has id %x and is not hidden\n"
+msgstr "partition %s har id %x og er ikke skjult\n"
 
-#: fdisk/sfdisk.c:1178
-msgid "Among the primary partitions, at most one can be extended\n"
-msgstr "Højst én af primærpartitionerne må være udvidet\n"
+#: fdisk/sfdisk.c:2777
+#, c-format
+msgid "Bad Id %lx\n"
+msgstr "Ugyldig id %lx\n"
 
-#: fdisk/sfdisk.c:1179
-msgid " (although this is not a problem under Linux)\n"
-msgstr " (selvom det nok ikke vil være et problem under Linux)\n"
+#: fdisk/sfdisk.c:2792
+msgid "This disk is currently in use.\n"
+msgstr "Denne disk er i brug for øjeblikket.\n"
 
-#: fdisk/sfdisk.c:1196
+#: fdisk/sfdisk.c:2809
 #, c-format
-msgid "Warning: partition %s does not start at a cylinder boundary\n"
-msgstr "Advarsel: partition %s starter ikke på en cylindergrænse\n"
+msgid "Fatal error: cannot find %s\n"
+msgstr "Fatal fejl: kunne ikke finde %s\n"
 
-#: fdisk/sfdisk.c:1202
+#: fdisk/sfdisk.c:2812
 #, c-format
-msgid "Warning: partition %s does not end at a cylinder boundary\n"
-msgstr "Advarsel: partition %s slutter ikke på en cylindergrænse\n"
+msgid "Warning: %s is not a block device\n"
+msgstr "Advarsel: %s er ikke en blokenhed\n"
 
-#: fdisk/sfdisk.c:1220
-msgid ""
-"Warning: more than one primary partition is marked bootable (active)\n"
-"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
-msgstr ""
-"Advarsel: adskillige primærpartitioner er markeret opstartbare (aktive)\n"
-"Dette generer ikke LILO, men DOS MBR vil ikke kunne starte op fra denne "
-"disk.\n"
+#: fdisk/sfdisk.c:2818
+msgid "Checking that no-one is using this disk right now ...\n"
+msgstr "Tjekker, at ingen benytter denne disk for øjeblikket...\n"
 
-#: fdisk/sfdisk.c:1227
+#: fdisk/sfdisk.c:2820
 msgid ""
-"Warning: usually one can boot from primary partitions only\n"
-"LILO disregards the `bootable' flag.\n"
+"\n"
+"This disk is currently in use - repartitioning is probably a bad idea.\n"
+"Umount all file systems, and swapoff all swap partitions on this disk.\n"
+"Use the --no-reread flag to suppress this check.\n"
 msgstr ""
-"Advarsel: normalt kan man kun starte op fra primærpartitioner\n"
-"LILO ignorerer opstartbar flaget.\n"
+"\n"
+"Denne disk er for øjeblikket i brug - genpartitionering er nok i dårlig "
+"idé.\n"
+"Afmonter alle filsystemer og 'swapoff' alle swappartitioner på denne disk.\n"
+"Brug flaget --no-reread for at undertrykke dette tjek.\n"
 
-#: fdisk/sfdisk.c:1233
-msgid ""
-"Warning: no primary partition is marked bootable (active)\n"
-"This does not matter for LILO, but the DOS MBR will not boot this disk.\n"
-msgstr ""
-"Advarsel: ingen primærpartition er markeret opstartbar (aktiv)\n"
-"Det generer ikke LILO, men DOS MBR vil ikke kunne starte op fra denne disk.\n"
+#: fdisk/sfdisk.c:2824
+msgid "Use the --force flag to overrule all checks.\n"
+msgstr "Brug flaget --force for at undertrykke alle tjek.\n"
 
-#: fdisk/sfdisk.c:1250
-#, c-format
-msgid "partition %s: start: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
-msgstr "partition %s: start: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
+#: fdisk/sfdisk.c:2828
+msgid "OK\n"
+msgstr "O.k.\n"
 
-#: fdisk/sfdisk.c:1259
-#, c-format
-msgid "partition %s: end: (c,h,s) expected (%ld,%ld,%ld) found (%ld,%ld,%ld)\n"
-msgstr "partition %s: end: (c,h,s) forventede (%ld,%ld,%ld) fandt (%ld,%ld,%ld)\n"
+#: fdisk/sfdisk.c:2837
+msgid "Old situation:\n"
+msgstr "Gammel situation:\n"
 
-#: fdisk/sfdisk.c:1262
+#: fdisk/sfdisk.c:2841
 #, c-format
-msgid "partition %s ends on cylinder %ld, beyond the end of the disk\n"
-msgstr "partition %s slutter på cylinder %ld, efter diskens slutning\n"
+msgid "Partition %d does not exist, cannot change it\n"
+msgstr "Partitionen %d eksisterer ikke. Kan ikke ændre den\n"
 
-#: fdisk/sfdisk.c:1287
-#, c-format
-msgid "Warning: shifted start of the extd partition from %ld to %ld\n"
-msgstr "Advarsel: ændrede starten på udvidet partition fra %ld til %ld\n"
+#: fdisk/sfdisk.c:2849
+msgid "New situation:\n"
+msgstr "Ny situation:\n"
 
-#: fdisk/sfdisk.c:1289
-msgid "(For listing purposes only. Do not change its contents.)\n"
-msgstr "(Kun til visning. Redigér ikke indholdet.)\n"
+#: fdisk/sfdisk.c:2854
+msgid ""
+"I don't like these partitions - nothing changed.\n"
+"(If you really want this, use the --force option.)\n"
+msgstr ""
+"Jeg kan ikke lide disse partitioner - intet blev ændret.\n"
+"(Hvis du virkelig ønsker det, kan du bruge flaget --force.)\n"
 
-#: fdisk/sfdisk.c:1291
-msgid "Warning: extended partition does not start at a cylinder boundary.\n"
-msgstr "Advarsel: udvidet partition starter ikke på en cylindergrænse.\n"
+#: fdisk/sfdisk.c:2857
+msgid "I don't like this - probably you should answer No\n"
+msgstr "Jeg kan ikke lide detteher - du bør nok svare Nej\n"
 
-#: fdisk/sfdisk.c:1293
-msgid "DOS and Linux will interpret the contents differently.\n"
-msgstr "DOS og Linux vil fortolke indholdet forskelligt.\n"
+#: fdisk/sfdisk.c:2862
+msgid "Are you satisfied with this? [ynq] "
+msgstr "Er du tilfreds med dette? [jna] "
 
-#: fdisk/sfdisk.c:1309 fdisk/sfdisk.c:1386
-#, c-format
-msgid "too many partitions - ignoring those past nr (%d)\n"
-msgstr "for mange partitioner - ignorerer dem efter nr. (%d)\n"
+#: fdisk/sfdisk.c:2864
+msgid "Do you want to write this to disk? [ynq] "
+msgstr "Vil du virkelig skrive dette til disken? [jna] "
 
-#: fdisk/sfdisk.c:1324
-msgid "tree of partitions?\n"
-msgstr "træ med partitioner?\n"
+#: fdisk/sfdisk.c:2869
+msgid ""
+"\n"
+"sfdisk: premature end of input\n"
+msgstr ""
+"\n"
+"sfdisk: inddata sluttede for tidligt\n"
 
-#: fdisk/sfdisk.c:1445
-msgid "detected Disk Manager - unable to handle that\n"
-msgstr "fandt Disk Manager - kan ikke håndtere sådan en\n"
+#: fdisk/sfdisk.c:2871
+msgid "Quitting - nothing changed\n"
+msgstr "Afslutter - intet blev ændret\n"
 
-#: fdisk/sfdisk.c:1452
-msgid "DM6 signature found - giving up\n"
-msgstr "fandt DM6 signatur - opgiver\n"
+#: fdisk/sfdisk.c:2877
+msgid "Please answer one of y,n,q\n"
+msgstr "Svar venligst j,n,a\n"
 
-#: fdisk/sfdisk.c:1472
-msgid "strange..., an extended partition of size 0?\n"
-msgstr "mærkeligt... en udvidet partition med størrelsen 0?\n"
+#: fdisk/sfdisk.c:2885
+msgid ""
+"Successfully wrote the new partition table\n"
+"\n"
+msgstr ""
+"Skrivning af ny partitionstabel lykkedes\n"
+"\n"
 
-#: fdisk/sfdisk.c:1479 fdisk/sfdisk.c:1490
-msgid "strange..., a BSD partition of size 0?\n"
-msgstr "mærkeligt..., en BSD-partition med størrelsen 0?\n"
+#: fdisk/sfdisk.c:2891
+msgid ""
+"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
+"to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
+"(See fdisk(8).)\n"
+msgstr ""
+"Hvis du oprettede eller ændrede en DOS-partition, f.eks. /dev/xxx7, så brug\n"
+"dd(1) til at nulstille de første 512 byte:\n"
+"'dd if=/dev/zero of=/dev/xxx7 bs=512 count=1'  (se fdisk(8))\n"
+
+#: games/banner.c:1045
+msgid "usage: banner [-w width]\n"
+msgstr "brug: banner [-w bredde]\n"
+
+#: games/banner.c:1065
+msgid "Message: "
+msgstr "Besked: "
+
+#: games/banner.c:1099
+#, c-format
+msgid "The character '%c' is not in my character set"
+msgstr "Tegnet '%c' findes ikke i mit tegnsæt"
 
-#: fdisk/sfdisk.c:1524
+#: games/banner.c:1107
 #, c-format
-msgid " %s: unrecognized partition\n"
-msgstr " %s: ukendt partition\n"
+msgid "Message '%s' is OK\n"
+msgstr "Beskeden '%s' er o.k.\n"
 
-#: fdisk/sfdisk.c:1536
-msgid "-n flag was given: Nothing changed\n"
-msgstr "flaget -n blev givet: Intet ændret\n"
+#: getopt-1.1.0a/getopt.c:233
+msgid "Try `getopt --help' for more information.\n"
+msgstr "Brug 'getopt --help' for flere detaljer.\n"
 
-#: fdisk/sfdisk.c:1549
-msgid "Failed saving the old sectors - aborting\n"
-msgstr "Kunne ikke gemme de gamle sektorer- afbryder\n"
+#: getopt-1.1.0a/getopt.c:299
+msgid "empty long option after -l or --long argument"
+msgstr "tomt 'long'­tilvalg efter -l eller --long"
 
-#: fdisk/sfdisk.c:1554
-#, c-format
-msgid "Failed writing the partition on %s\n"
-msgstr "Mislykket skrivning af partition på %s\n"
+#: getopt-1.1.0a/getopt.c:319
+msgid "unknown shell after -s or --shell argument"
+msgstr "ukendt skal efter -s eller --shell"
 
-#: fdisk/sfdisk.c:1631
-msgid "long or incomplete input line - quitting\n"
-msgstr "lang eller uafsluttet inddatalinie - afbryder\n"
+#: getopt-1.1.0a/getopt.c:324
+msgid "Usage: getopt optstring parameters\n"
+msgstr "Brug: getopt tilvalgsstreng parametre\n"
 
-#: fdisk/sfdisk.c:1667
-#, c-format
-msgid "input error: `=' expected after %s field\n"
-msgstr "inddatafejl: forventer '=' efter %s-felt\n"
+#: getopt-1.1.0a/getopt.c:325
+msgid "       getopt [options] [--] optstring parameters\n"
+msgstr "       getopt [tilvalg] [--] tilvalgsstreng parametre\n"
 
-#: fdisk/sfdisk.c:1674
-#, c-format
-msgid "input error: unexpected character %c after %s field\n"
-msgstr "inddatafejl: uventet tegn %c efter %s-felt\n"
+#: getopt-1.1.0a/getopt.c:326
+msgid "       getopt [options] -o|--options optstring [options] [--]\n"
+msgstr "       getopt [tilvalg] -o|--options tilvalgsstreng [tilvalg] [--]\n"
 
-#: fdisk/sfdisk.c:1680
-#, c-format
-msgid "unrecognized input: %s\n"
-msgstr "ukendt inddata: %s\n"
+#: getopt-1.1.0a/getopt.c:327
+msgid "              parameters\n"
+msgstr "              parametre\n"
 
-#: fdisk/sfdisk.c:1712
-msgid "number too big\n"
-msgstr "tal for stort\n"
+#: getopt-1.1.0a/getopt.c:328
+msgid "  -a, --alternative            Allow long options starting with single -\n"
+msgstr "  -a, --alternative            Tillad lange tilvalg med enkelt -\n"
 
-#: fdisk/sfdisk.c:1716
-msgid "trailing junk after number\n"
-msgstr "trailing junk after number\n"
+#: getopt-1.1.0a/getopt.c:329
+msgid "  -h, --help                   This small usage guide\n"
+msgstr "  -h, --help                   Denne lille brugsmanual\n"
 
-#: fdisk/sfdisk.c:1832
-msgid "no room for partition descriptor\n"
-msgstr "ikke plads til partitionsbeskrivelse\n"
+#: getopt-1.1.0a/getopt.c:330
+msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
+msgstr "  -l, --longoptions=langtilvalg  Lange tilvalg, der skal genkendes\n"
 
-#: fdisk/sfdisk.c:1865
-msgid "cannot build surrounding extended partition\n"
-msgstr "kunne ikke opbygge den omgivende udvidede partition\n"
+#: getopt-1.1.0a/getopt.c:331
+msgid "  -n, --name=progname          The name under which errors are reported\n"
+msgstr "  -n, --name=prognavn          Navnet som fejl skal rapporteres under\n"
 
-#: fdisk/sfdisk.c:1916
-msgid "too many input fields\n"
-msgstr "for mange inddatafelter\n"
+#: getopt-1.1.0a/getopt.c:332
+msgid "  -o, --options=optstring      Short options to be recognized\n"
+msgstr "  -o, --options=tilvalgsstreng Korte tilvalg, der skal genkendes\n"
 
-#. no free blocks left - don't read any further
-#: fdisk/sfdisk.c:1950
-msgid "No room for more\n"
-msgstr "Ikke plads til mere\n"
+#: getopt-1.1.0a/getopt.c:333
+msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
+msgstr "  -q, --quiet                  Undertryk fejlrapportering fra getopt(3)\n"
 
-#: fdisk/sfdisk.c:1969
-msgid "Illegal type\n"
-msgstr "Ugyldig type\n"
+#: getopt-1.1.0a/getopt.c:334
+msgid "  -Q, --quiet-output           No normal output\n"
+msgstr "  -Q, --quiet-output           Ingen normale uddata\n"
 
-#: fdisk/sfdisk.c:2001
-#, c-format
-msgid "Warning: given size (%lu) exceeds max allowable size (%lu)\n"
-msgstr ""
-"Advarsel: den angiven størrelse(%lu) overstiger den maksimalt tilladte "
-"(%lu)\n"
+#: getopt-1.1.0a/getopt.c:335
+msgid "  -s, --shell=shell            Set shell quoting conventions\n"
+msgstr "  -s, --shell=skal             Angiv konventioner for anførselstegn\n"
 
-#: fdisk/sfdisk.c:2007
-msgid "Warning: empty partition\n"
-msgstr "Advarsel: tom partition\n"
+#: getopt-1.1.0a/getopt.c:336
+msgid "  -T, --test                   Test for getopt(1) version\n"
+msgstr "  -T, --test                   Tjek getopt(1) version\n"
 
-#: fdisk/sfdisk.c:2021
-#, c-format
-msgid "Warning: bad partition start (earliest %lu)\n"
-msgstr "Advarsel: ugyldigt partitionsbegyndelse (tidligst %lu)\n"
+#: getopt-1.1.0a/getopt.c:337
+msgid "  -u, --unqote                 Do not quote the output\n"
+msgstr "  -u, --unqote                 Indskyd ikke anførselstegn i uddata\n"
 
-#: fdisk/sfdisk.c:2034
-msgid "unrecognized bootable flag - choose - or *\n"
-msgstr "ukendt opstartbar-flag,  vælg - eller *\n"
+#: getopt-1.1.0a/getopt.c:338
+msgid "  -V, --version                Output version information\n"
+msgstr "  -V, --version                Vis versionsinformation\n"
 
-#: fdisk/sfdisk.c:2051 fdisk/sfdisk.c:2064
-msgid "partial c,h,s specification?\n"
-msgstr "delvis c,h,s-specifikation?\n"
+#: getopt-1.1.0a/getopt.c:392 getopt-1.1.0a/getopt.c:453
+msgid "missing optstring argument"
+msgstr "mangler tilvalgstreng-parameter"
 
-#: fdisk/sfdisk.c:2075
-msgid "Extended partition not where expected\n"
-msgstr "Udvidet partition ikke hvor den forventedes\n"
+#: getopt-1.1.0a/getopt.c:441
+msgid "getopt (enhanced) 1.1.0\n"
+msgstr "getopt (udvidet) 1.1.0\n"
 
-#: fdisk/sfdisk.c:2107
-msgid "bad input\n"
-msgstr "ugyldige inddata\n"
+#: getopt-1.1.0a/getopt.c:447
+msgid "internal error, contact the author."
+msgstr "intern fejl, kontakt programmøren."
 
-#: fdisk/sfdisk.c:2129
-msgid "too many partitions\n"
-msgstr "for mange partitioner\n"
+#: hwclock/cmos.c:164
+msgid "booted from MILO\n"
+msgstr "startede op med MILO\n"
 
-#: fdisk/sfdisk.c:2162
-msgid ""
-"Input in the following format; absent fields get a default value.\n"
-"<start> <size> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
-"Usually you only need to specify <start> and <size> (and perhaps <type>).\n"
-msgstr ""
-"Inddata i følgende format; udeladte felter tildeles standardværdi.\n"
-"<start> <størr> <type [E,S,L,X,hex]> <bootable [-,*]> <c,h,s> <c,h,s>\n"
-"Du behøver normalt kun at angive <start> og <størr> (og måske <type>).\n"
+#: hwclock/cmos.c:173
+msgid "Ruffian BCD clock\n"
+msgstr "'Ruffian' BCD-ur\n"
 
-#: fdisk/sfdisk.c:2182
-msgid "version"
-msgstr "version"
+#: hwclock/cmos.c:189
+#, c-format
+msgid "clockport adjusted to 0x%x\n"
+msgstr "urport justeret til 0x%x\n"
 
-#: fdisk/sfdisk.c:2188
+#: hwclock/cmos.c:201
+msgid "funky TOY!\n"
+msgstr "'funky TOY' (tid-på-året)!\n"
+
+#: hwclock/cmos.c:255
 #, c-format
-msgid "Usage: %s [options] device ...\n"
-msgstr "Brug: %s [tilvalg] enhed ...\n"
+msgid "%s: atomic %s failed for 1000 iterations!"
+msgstr "%s: momentan %s mislykkedes i 1000 iterationer!"
 
-#: fdisk/sfdisk.c:2189
-msgid "device: something like /dev/hda or /dev/sda"
-msgstr "enhed: noget lignende /dev/hda eller /dev/sda"
+#: hwclock/cmos.c:579
+#, c-format
+msgid "Cannot open /dev/port: %s"
+msgstr "Kan ikke åbne /dev/port: %s"
 
-#: fdisk/sfdisk.c:2190
-msgid "useful options:"
-msgstr "nyttige tilvalg:"
+#: hwclock/cmos.c:586
+msgid "I failed to get permission because I didn't try.\n"
+msgstr "Jeg kunne ikke få adgang fordi jeg ikke forsøgte.\n"
 
-#: fdisk/sfdisk.c:2191
-msgid "    -s [or --show-size]: list size of a partition"
-msgstr "    -s [eller --show-size]: vis partitionens størrelse"
+#: hwclock/cmos.c:589
+#, c-format
+msgid "%s is unable to get I/O port access:  the iopl(3) call failed.\n"
+msgstr "%s kan ikke få adgang til I/O-port: kaldet 'iopl(3)' mislykkedes.\n"
 
-#: fdisk/sfdisk.c:2192
-msgid "    -c [or --id]:        print or change partition Id"
-msgstr "    -c [eller --id]:        vis eller ændr partitions-id"
+#: hwclock/cmos.c:592
+msgid "Probably you need root privileges.\n"
+msgstr "Du behøver nok root-rettigheder.\n"
 
-#: fdisk/sfdisk.c:2193
-msgid "    -l [or --list]:      list partitions of each device"
-msgstr "    -l [eller --list]:      vis hver enheds partitioner"
+#: hwclock/hwclock.c:219
+#, c-format
+msgid "Assuming hardware clock is kept in %s time.\n"
+msgstr "Antager at maskinuret holdes i %s tid.\n"
 
-#: fdisk/sfdisk.c:2194
-msgid "    -d [or --dump]:      idem, but in a format suitable for later input"
-msgstr ""
-"    -d [eller --dump]:      det samme, men i et format, der vil passe til "
-"senere inddata"
+#: hwclock/hwclock.c:220 hwclock/hwclock.c:309
+msgid "UTC"
+msgstr "GMT"
 
-#: fdisk/sfdisk.c:2195
-msgid "    -i [or --increment]: number cylinders etc. from 1 instead of from 0"
-msgstr "    -i [eller --increment]: antal cylindre osv. fra 1 i stedet for fra 0"
+#: hwclock/hwclock.c:220 hwclock/hwclock.c:308
+msgid "local"
+msgstr "lokal"
 
-#: fdisk/sfdisk.c:2196
-msgid ""
-"    -uS, -uB, -uC, -uM:  accept/report in units of "
-"sectors/blocks/cylinders/MB"
-msgstr ""
-"    -uS, -uB, -uC, -uM:     indlæs/vis i enhederne "
-"sektorer/blokke/cylindre/MB"
+#: hwclock/hwclock.c:292
+#, c-format
+msgid "%s: Warning: unrecognized third line in adjtime file\n"
+msgstr "%s: Advarsel: ukendt tredie linie i adjtime-fil\n"
 
-#: fdisk/sfdisk.c:2197
-msgid "    -T [or --list-types]:list the known partition types"
-msgstr "    -T [eller --list-types]:vis kendte partitionstyper"
+#: hwclock/hwclock.c:294
+msgid "(Expected: `UTC' or `LOCAL' or nothing.)\n"
+msgstr "(Forventet: 'UTC' (GMT), 'LOCAL' eller ingenting.)\n"
 
-#: fdisk/sfdisk.c:2198
-msgid "    -D [or --DOS]:       for DOS-compatibility: waste a little space"
-msgstr "    -D [eller --DOS]:       DOS-kompatibilitet: spilder lidt plads"
+#: hwclock/hwclock.c:303
+#, c-format
+msgid "Last drift adjustment done at %d seconds after 1969\n"
+msgstr "Sidste hastighedsjustering blev gjort %d sekunder efter 1969\n"
 
-#: fdisk/sfdisk.c:2199
-msgid "    -R [or --re-read]:   make kernel reread partition table"
-msgstr "    -R [eller --re-read]:   lad kernen genindlæse partitionstabellen"
+#: hwclock/hwclock.c:305
+#, c-format
+msgid "Last calibration done at %d seconds after 1969\n"
+msgstr "Sidste kalibrering blev foretaget %d sekunder efter 1969\n"
 
-#: fdisk/sfdisk.c:2200
-msgid "    -N# :                change only the partition with number #"
-msgstr "    -N# :                   ret kun partitionen med nummer #"
+#: hwclock/hwclock.c:307
+#, c-format
+msgid "Hardware clock is on %s time\n"
+msgstr "Maskinuret er i %s-tid\n"
 
-#: fdisk/sfdisk.c:2201
-msgid "    -n :                 do not actually write to disk"
-msgstr "    -n :                    undlad at skrive ændringerne til disken"
+#: hwclock/hwclock.c:309
+msgid "unknown"
+msgstr "ukendt"
+
+#. -----------------------------------------------------------------------------
+#. Wait until the falling edge of the Hardware Clock's update flag so
+#. that any time that is read from the clock immediately after we
+#. return will be exact.
+#.
+#. The clock only has 1 second precision, so it gives the exact time only
+#. once per second, right on the falling edge of the update flag.
+#.
+#. We wait (up to one second) either blocked waiting for an rtc device
+#. or in a CPU spin loop.  The former is probably not very accurate.
+#.
+#. Return *retcode_p == 0 if it worked, nonzero if it didn't.
+#.
+#. -----------------------------------------------------------------------------
+#: hwclock/hwclock.c:331
+msgid "Waiting for clock tick...\n"
+msgstr "Venter på et ur-tik...\n"
 
-#: fdisk/sfdisk.c:2202
-msgid "    -O file :            save the sectors that will be overwritten to file"
-msgstr "    -O fil :                gem de sektorer, der overskrives, i en fil"
+#: hwclock/hwclock.c:335
+msgid "...got clock tick\n"
+msgstr "...fangede ur-tik\n"
 
-#: fdisk/sfdisk.c:2203
-msgid "    -I file :            restore these sectors again"
-msgstr "    -I fil :                genskab disse sektorer"
+#: hwclock/hwclock.c:386
+#, c-format
+msgid "Invalid values in hardware clock: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
+msgstr "Ugyldige værdier i maskinur: %4d/%.2d/%.2d %.2d:%.2d:%.2d\n"
 
-#: fdisk/sfdisk.c:2204
-msgid "    -v [or --version]:   print version"
-msgstr "    -v [eller --version]:   vis version"
+#: hwclock/hwclock.c:394
+#, c-format
+msgid "Hw clock time : %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld seconds since 1969\n"
+msgstr "Maskinur-tid: %4d/%.2d/%.2d %.2d:%.2d:%.2d = %ld sekunder siden 1969\n"
 
-#: fdisk/sfdisk.c:2205
-msgid "    -? [or --help]:      print this message"
-msgstr "    -? [eller --help]:      vis denne besked"
+#: hwclock/hwclock.c:422
+#, c-format
+msgid "Time read from Hardware Clock: %4d/%.2d/%.2d %02d:%02d:%02d\n"
+msgstr "Tid læst fra maskinuret: %4d/%.2d/%.2d %02d:%02d:%02d\n"
 
-#: fdisk/sfdisk.c:2206
-msgid "dangerous options:"
-msgstr "farlige tilvalg:"
+#: hwclock/hwclock.c:449
+#, c-format
+msgid "Setting Hardware Clock to %.2d:%.2d:%.2d = %d seconds since 1969\n"
+msgstr "Sætter maskinuret til %.2d:%.2d:%.2d = %d sekunder siden 1969\n"
 
-#: fdisk/sfdisk.c:2207
-msgid "    -g [or --show-geometry]: print the kernel's idea of the geometry"
-msgstr "    -g [eller --show-geometry]: vis kernens bud på den geometri"
+#: hwclock/hwclock.c:455
+msgid "Clock not changed - testing only.\n"
+msgstr "Uret uændret - testede kun.\n"
 
-#: fdisk/sfdisk.c:2208
+#: hwclock/hwclock.c:503
+#, c-format
 msgid ""
-"    -x [or --show-extended]: also list extended partitions on output\n"
-"                             or expect descriptors for them on input"
+"Time elapsed since reference time has been %.6f seconds.\n"
+"Delaying further to reach the next full second.\n"
 msgstr ""
-"    -x [eller --show-extended]: medtag udvidede partitioner i uddata\n"
-"                                eller forvent beskrivelser af dem i inddata"
-
-#: fdisk/sfdisk.c:2210
-msgid "    -L  [or --Linux]:      do not complain about things irrelevant for Linux"
-msgstr "    -L  [eller --Linux]:      giv ikke råd, der ikke vedrører Linux"
-
-#: fdisk/sfdisk.c:2211
-msgid "    -q  [or --quiet]:      suppress warning messages"
-msgstr "    -q  [eller --quiet]:      undertryk advarsler"
+"Der er gået %.6f sekunder siden referencetiden.\n"
+"Udskyder yderligere for at nå til næste hele sekund.\n"
 
-#: fdisk/sfdisk.c:2212
-msgid "    You can override the detected geometry using:"
-msgstr "    Du kan tilsidesætte den detekterede geometri med:"
+#: hwclock/hwclock.c:527
+msgid ""
+"The Hardware Clock registers contain values that are either invalid (e.g. "
+"50th day of month) or beyond the range we can handle (e.g. Year 2095).\n"
+msgstr ""
+"Maskinurets registre indeholder værdier, der enten er ugyldige (f.eks. 50. "
+"dag i måneden) eller udenfor det område, vi kan håndtere (f.eks. år 2095).\n"
 
-#: fdisk/sfdisk.c:2213
-msgid "    -C# [or --cylinders #]:set the number of cylinders to use"
-msgstr "    -C# [eller --cylinders #]:angiv det cylinderantal, der skal bruges"
+#: hwclock/hwclock.c:537
+#, c-format
+msgid "%s  %.6f seconds\n"
+msgstr "%s  %.6f sekunder\n"
 
-#: fdisk/sfdisk.c:2214
-msgid "    -H# [or --heads #]:    set the number of heads to use"
-msgstr "    -H# [eller --heads #]:    angiv det hovedantal, der skal bruges"
+#: hwclock/hwclock.c:571
+msgid "No --date option specified.\n"
+msgstr "Intet --date tilvalg angivet.\n"
 
-#: fdisk/sfdisk.c:2215
-msgid "    -S# [or --sectors #]:  set the number of sectors to use"
-msgstr "    -S# [eller --sectors #]:  angiv det sektorantal, der skal bruges"
+#. Quotation marks in date_opt would ruin the date command we construct.
+#.
+#: hwclock/hwclock.c:576
+msgid ""
+"The value of the --date option is not a valid date.\n"
+"In particular, it contains quotation marks.\n"
+msgstr ""
+"Værdien af --date tilvalget er ikke en gyldig dato.\n"
+"Mere specifikt, indeholder den anførselstegn.\n"
 
-#: fdisk/sfdisk.c:2216
-msgid "You can disable all consistency checking with:"
-msgstr "Du kan undertrykke alle forenelighedstjek med:"
+#: hwclock/hwclock.c:582
+#, c-format
+msgid "Issuing date command: %s\n"
+msgstr "Udfører 'date'-kommandoen: %s\n"
 
-#: fdisk/sfdisk.c:2217
-msgid "    -f  [or --force]:      do what I say, even if it is stupid"
-msgstr "    -f  [eller --force]:      gør hvad jeg siger, selvom det er dumt"
+#: hwclock/hwclock.c:586
+msgid "Unable to run 'date' program in /bin/sh shell. popen() failed"
+msgstr "Kunne ikke køre 'date'-programmet i /bin/sh skallen. popen() mislykkedes"
 
-#: fdisk/sfdisk.c:2223
-msgid "Usage:"
-msgstr "Brug:"
+#: hwclock/hwclock.c:592
+#, c-format
+msgid "response from date command = %s\n"
+msgstr "svar fra 'date'-kommandoen = %s\n"
 
-#: fdisk/sfdisk.c:2224
+#: hwclock/hwclock.c:594
 #, c-format
-msgid "%s device\t\t list active partitions on device\n"
-msgstr "%s enhed\t\t vis aktive partitioner på enhed\n"
+msgid ""
+"The date command issued by %s returned unexpected results.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+"  %s\n"
+msgstr ""
+"'date'-kommandoen sendt af %s returnerede uventede resultater.\n"
+"Kommandoen var:\n"
+"  %s\n"
+"Svaret var:\n"
+"  %s\n"
 
-#: fdisk/sfdisk.c:2225
+#: hwclock/hwclock.c:603
 #, c-format
-msgid "%s device n1 n2 ... activate partitions n1 ..., inactivate the rest\n"
-msgstr "%s enhed n1 n2 ... aktivér partitionerne på n1 ..., deaktivér resten\n"
+msgid ""
+"The date command issued by %s returned something other than an integer where "
+"the converted time value was expected.\n"
+"The command was:\n"
+"  %s\n"
+"The response was:\n"
+" %s\n"
+msgstr ""
+"'date'-kommandoen sendt af %s returnerede noget andet end et heltal, hvor "
+"den konverterede tid forventedes.\n"
+"Kommandoen var:\n"
+"  %s\n"
+"Svaret var:\n"
+"  %s\n"
 
-#: fdisk/sfdisk.c:2226
+#: hwclock/hwclock.c:613
 #, c-format
-msgid "%s -An device\t activate partition n, inactivate the other ones\n"
-msgstr "%s -An enhed\t aktivér partition n, deaktivér de andre\n"
+msgid "date string %s equates to %d seconds since 1969.\n"
+msgstr "Datoteksten %s svarer til %d sekunder siden 1969.\n"
 
-#: fdisk/sfdisk.c:2346
-msgid "no command?\n"
-msgstr "ingen kommando?\n"
+#: hwclock/hwclock.c:645
+msgid ""
+"The Hardware Clock does not contain a valid time, so we cannot set the "
+"System Time from it.\n"
+msgstr ""
+"Maskinuret indeholder ikke en gyldig tid, så vi kan ikke sætte systemuret "
+"med det.\n"
 
-#: fdisk/sfdisk.c:2471
-#, c-format
-msgid "total: %d blocks\n"
-msgstr "i alt: %d blokke\n"
+#: hwclock/hwclock.c:667
+msgid "Calling settimeofday:\n"
+msgstr "Kalder 'settimeofday':\n"
 
-#: fdisk/sfdisk.c:2508
-msgid "usage: sfdisk --print-id device partition-number\n"
-msgstr "brug: sfdisk --print-id enhed partitionsnummer\n"
+#: hwclock/hwclock.c:668
+#, c-format
+msgid "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
+msgstr "\ttv.tv_sec = %ld, tv.tv_usec = %ld\n"
 
-#: fdisk/sfdisk.c:2510
-msgid "usage: sfdisk --change-id device partition-number Id\n"
-msgstr "brug: sfdisk --change-id enhed partitionsnummer id\n"
+#: hwclock/hwclock.c:670
+#, c-format
+msgid "\ttz.tz_minuteswest = %d\n"
+msgstr "\ttz.tz_minuteswest = %d\n"
 
-#: fdisk/sfdisk.c:2512
-msgid "usage: sfdisk --id device partition-number [Id]\n"
-msgstr "brug: sfdisk --id enhed partitionsnummer [id]\n"
+#: hwclock/hwclock.c:673
+msgid "Not setting system clock because running in test mode.\n"
+msgstr "Sætter ikke systemuret, da der køres i testtilstand.\n"
 
-#: fdisk/sfdisk.c:2519
-msgid "can specify only one device (except with -l or -s)\n"
-msgstr "du kan kun angive én enhed (undtagen med -l eller -s)\n"
+#: hwclock/hwclock.c:681
+msgid "Must be superuser to set system clock.\n"
+msgstr "Skal være superbruger for at sætte systemuret.\n"
 
-#: fdisk/sfdisk.c:2544
-#, c-format
-msgid "cannot open %s %s\n"
-msgstr "kunne ikke åbne %s %s\n"
+#: hwclock/hwclock.c:683
+msgid "settimeofday() failed"
+msgstr "settimeofday() mislykkedes"
 
-#: fdisk/sfdisk.c:2544
-msgid "read-write"
-msgstr "for skrivning"
+#: hwclock/hwclock.c:716
+msgid ""
+"Not adjusting drift factor because the Hardware Clock previously contained "
+"garbage.\n"
+msgstr ""
+"Justerede ikke hastighedsfaktoren, da maskinuret tidligere havde en ugyldig "
+"værdi.\n"
 
-#: fdisk/sfdisk.c:2544
-msgid "for reading"
-msgstr "for læsning"
+#: hwclock/hwclock.c:720
+msgid ""
+"Not adjusting drift factor because it has been less than a day since the "
+"last calibration.\n"
+msgstr ""
+"Justerede ikke hastighedsfaktoren, da det er mindre en et døgn siden sidste "
+"kalibrering.\n"
 
-#: fdisk/sfdisk.c:2569
+#: hwclock/hwclock.c:729
 #, c-format
-msgid "%s: OK\n"
-msgstr "%s: OK\n"
+msgid ""
+"Clock drifted %d seconds in the past %d seconds in spite of a drift factor "
+"of %f seconds/day.\n"
+"Adjusting drift factor by %f seconds/day\n"
+msgstr ""
+"Uret drev %d sekunder i løbet af de sidste %d sekunder på trods af en "
+"hastighedsfaktor på %f sekunder/døgn.\n"
+"Justerer hastighedsfaktoren med %f sekunder/døgn\n"
 
-#: fdisk/sfdisk.c:2586
+#: hwclock/hwclock.c:780
 #, c-format
-msgid "%s: %ld cylinders, %ld heads, %ld sectors/track\n"
-msgstr "%s: %ld cylindre, %ld hoveder, %ld sektorer/spor\n"
+msgid "Time since last adjustment is %d seconds\n"
+msgstr "%d sekunder siden sidste justering\n"
 
-#: fdisk/sfdisk.c:2603
+#: hwclock/hwclock.c:782
 #, c-format
-msgid "BLKGETSIZE ioctl failed for %s\n"
-msgstr "BLKGETSIZE ioctl mislykkedes for %s\n"
+msgid "Need to insert %d seconds and refer time back %.6f seconds ago\n"
+msgstr "Skal indsætte %d sekunder og stille uret %.6f sekunder tilbage\n"
 
-#: fdisk/sfdisk.c:2680
-#, c-format
-msgid "bad active byte: 0x%x instead of 0x80\n"
-msgstr "ugyldig aktiv-byte: 0x%x i stedet for 0x80\n"
+#: hwclock/hwclock.c:811
+msgid "Not updating adjtime file because of testing mode.\n"
+msgstr "Opdaterer ikke adjtime-filen, da der køres i testtilstand.\n"
 
-#: fdisk/sfdisk.c:2697 fdisk/sfdisk.c:2750 fdisk/sfdisk.c:2781
+#: hwclock/hwclock.c:812
+#, c-format
 msgid ""
-"Done\n"
-"\n"
+"Would have written the following to %s:\n"
+"%s"
 msgstr ""
-"Færdig\n"
-"\n"
+"Ville have skrevet følgende til %s:\n"
+"%s"
+
+#: hwclock/hwclock.c:836
+msgid "Drift adjustment parameters not updated.\n"
+msgstr "Hastighedsjusteringen blev ikke opdateret.\n"
+
+#: hwclock/hwclock.c:877
+msgid "The Hardware Clock does not contain a valid time, so we cannot adjust it.\n"
+msgstr "Maskinuret indeholder ikke en gyldig tid, så vi kan ikke justere det.\n"
+
+#: hwclock/hwclock.c:901
+msgid "Needed adjustment is less than one second, so not setting clock.\n"
+msgstr "Den krævede justering er mindre end ét sekund, så vi sætter ikke uret.\n"
+
+#: hwclock/hwclock.c:927
+#, c-format
+msgid "Using %s.\n"
+msgstr "Bruger %s.\n"
+
+#: hwclock/hwclock.c:929
+msgid "No usable clock interface found.\n"
+msgstr "Fandt ingen brugbare ur-grænseflader.\n"
 
-#: fdisk/sfdisk.c:2706
-#, c-format
+#: hwclock/hwclock.c:1024
+msgid "Unable to set system clock.\n"
+msgstr "Kunne ikke sætte systemuret.\n"
+
+#: hwclock/hwclock.c:1053
 msgid ""
-"You have %d active primary partitions. This does not matter for LILO,\n"
-"but the DOS MBR will only boot a disk with 1 active partition.\n"
+"The kernel keeps an epoch value for the Hardware Clock only on an Alpha "
+"machine.\n"
+"This copy of hwclock was built for a machine other than Alpha\n"
+"(and thus is presumably not running on an Alpha now).  No action taken.\n"
 msgstr ""
-"Du har %d aktive primærpartitioner. Dette generer ikke LILO,\n"
-"men DOS MBR vil kun kunne starte op fra en disk med én aktiv partition.\n"
+"Kernen holder en epokeværdi for maskinuret på Alpha-maskiner\n"
+"Denne kopi af hwclock blev kompileret til en anden maskine end Alpha\n"
+"(og kører derfor sandsynligvis ikke på en Alpha nu). Intet blev gjort.\n"
 
-#: fdisk/sfdisk.c:2720
-#, c-format
-msgid "partition %s has id %x and is not hidden\n"
-msgstr "partition %s har id %x og er ikke skjult\n"
+#: hwclock/hwclock.c:1062
+msgid "Unable to get the epoch value from the kernel.\n"
+msgstr "Kunne ikke hente en epokeværdi fra kernen.\n"
 
-#: fdisk/sfdisk.c:2777
+#: hwclock/hwclock.c:1064
 #, c-format
-msgid "Bad Id %x\n"
-msgstr "Ugyldig id %x\n"
-
-#: fdisk/sfdisk.c:2792
-msgid "This disk is currently in use.\n"
-msgstr "Denne disk er i brug for øjeblikket.\n"
+msgid "Kernel is assuming an epoch value of %lu\n"
+msgstr "Kernen går ud fra en epokeværdi på %lu\n"
 
-#: fdisk/sfdisk.c:2809
-#, c-format
-msgid "Fatal error: cannot find %s\n"
-msgstr "Fatal fejl: kunne ikke finde %s\n"
+#: hwclock/hwclock.c:1067
+msgid ""
+"To set the epoch value, you must use the 'epoch' option to tell to what "
+"value to set it.\n"
+msgstr ""
+"For at sætte epokeværdien, skal du bruge tilvalget 'epoch' for at angive "
+"hvilken værdi, den skal sættes til\n"
 
-#: fdisk/sfdisk.c:2812
+#: hwclock/hwclock.c:1070
 #, c-format
-msgid "Warning: %s is not a block device\n"
-msgstr "Advarsel: %s er ikke en blokenhed\n"
+msgid "Not setting the epoch to %d - testing only.\n"
+msgstr "Sætter IKKE epokeværdien til %d - tester bare.\n"
 
-#: fdisk/sfdisk.c:2818
-msgid "Checking that no-one is using this disk right now ...\n"
-msgstr "Tjekker, at ingen benytter denne disk for øjeblikket...\n"
+#: hwclock/hwclock.c:1073
+msgid "Unable to set the epoch value in the kernel.\n"
+msgstr "Kunne ikke sætte epokeværdien i kernen.\n"
 
-#: fdisk/sfdisk.c:2820
+#: hwclock/hwclock.c:1102
+#, c-format
 msgid ""
+"hwclock - query and set the hardware clock (RTC)\n"
 "\n"
-"This disk is currently in use - repartitioning is probably a bad idea.\n"
-"Umount all file systems, and swapoff all swap partitions on this disk.\n"
-"Use the --no-reread flag to suppress this check.\n"
+"Usage: hwclock [function] [options...]\n"
+"\n"
+"Functions:\n"
+"  --help        show this help\n"
+"  --show        read hardware clock and print result\n"
+"  --set         set the rtc to the time given with --date\n"
+"  --hctosys     set the system time from the hardware clock\n"
+"  --systohc     set the hardware clock to the current system time\n"
+"  --adjust      adjust the rtc to account for systematic drift since \n"
+"                the clock was last set or adjusted\n"
+"  --getepoch    print out the kernel's hardware clock epoch value\n"
+"  --setepoch    set the kernel's hardware clock epoch value to the \n"
+"                value given with --epoch\n"
+"  --version     print out the version of hwclock to stdout\n"
+"\n"
+"Options: \n"
+"  --utc         the hardware clock is kept in coordinated universal time\n"
+"  --localtime   the hardware clock is kept in local time\n"
+"  --directisa   access the ISA bus directly instead of %s\n"
+"  --badyear     ignore rtc's year because the bios is broken\n"
+"  --date        specifies the time to which to set the hardware clock\n"
+"  --epoch=year  specifies the year which is the beginning of the \n"
+"                hardware clock's epoch value\n"
 msgstr ""
+"hwclock - læs og sæt maskinuret (RTC)\n"
 "\n"
-"Denne disk er for øjeblikket i brug - genpartitionering er nok i dårlig "
-"idé.\n"
-"Afmonter alle filsystemer og 'swapoff' alle swappartitioner på denne disk.\n"
-"Brug flaget --no-reread for at undertrykke dette tjek.\n"
-
-#: fdisk/sfdisk.c:2824
-msgid "Use the --force flag to overrule all checks.\n"
-msgstr "Brug flaget --force for at undertrykke alle tjek.\n"
-
-#: fdisk/sfdisk.c:2828
-msgid "OK\n"
-msgstr "OK\n"
+"Brug: hwclock [funktion] [tilvalg...]\n"
+"\n"
+"Funktioner:\n"
+"  --help        vis denne hjælp\n"
+"  --show        aflæs maskinuret og vis resultatet\n"
+"  --set         sæt uret til tiden angivet med --date\n"
+"  --hctosys     sæt systemuret til maskinurets tid\n"
+"  --systohc     sæt maskinuret til systemurets tid\n"
+"  --adjust      kalibrér systemuret, så det tager højde for systematisk\n"
+"                hastighedsfejl siden uret sidst blev sat eller justeret\n"
+"  --getepoch    vis kernens epokeværdi for maskinuret\n"
+"  --setepoch    sæt epokeværdien for kernens maskinur til den værdi,\n"
+"                der angives med --epoch\n"
+"  --version     udlæs hwclock's version til standard-ud\n"
+"\n"
+"Tilvalg: \n"
+"  --utc         maskinuret holdes i GMT (koordineret universel tid)\n"
+"  --localtime   maskinuret holdes i lokal tid\n"
+"  --directisa   tilgå ISA-bussen direkte i stedet for %s\n"
+"  --badyear     ignorér maskinurets årstal, da bios'en er fejlbehæftet\n"
+"  --date        angiver tiden, som maskinuret skal sættes til\n"
+"  --epoch=år    angiver det år, som er begyndelsen på maskinurets\n"
+"                epokeværdi\n"
 
-#: fdisk/sfdisk.c:2837
-msgid "Old situation:\n"
-msgstr "Gammel situation:\n"
+#: hwclock/hwclock.c:1127
+msgid ""
+"  --jensen, --arc, --srm, --funky-toy\n"
+"                tell hwclock the type of alpha you have (see hwclock(8))\n"
+msgstr ""
+"  --jensen, --arc, --srm, --funky-toy\n"
+"                angiv hvilken slags alpha du har (se hwclock(8))\n"
 
-#: fdisk/sfdisk.c:2841
+#: hwclock/hwclock.c:1227
 #, c-format
-msgid "Partition %d does not exist, cannot change it\n"
-msgstr "Partitionen %d eksisterer ikke. Kan ikke ændre den\n"
-
-#: fdisk/sfdisk.c:2849
-msgid "New situation:\n"
-msgstr "Ny situation:\n"
+msgid "%s takes no non-option arguments.  You supplied %d.\n"
+msgstr "%s accepterer ingen parametre. Du angav parameteren %d.\n"
 
-#: fdisk/sfdisk.c:2854
+#: hwclock/hwclock.c:1237
 msgid ""
-"I don't like these partitions - nothing changed.\n"
-"(If you really want this, use the --force option.)\n"
+"You have specified multiple function options.\n"
+"You can only perform one function at a time.\n"
 msgstr ""
-"Jeg kan ikke lide disse partitioner - intet blev ændret.\n"
-"(Hvis du virkelig ønsker det, kan du bruge flaget --force.)\n"
+"Du har angivet flere funktionstilvalg.\n"
+"Du kan kun udføre én funktion ad gangen.\n"
 
-#: fdisk/sfdisk.c:2857
-msgid "I don't like this - probably you should answer No\n"
-msgstr "Jeg kan ikke lide detteher - du bør nok svare Nej\n"
+#: hwclock/hwclock.c:1243
+#, c-format
+msgid ""
+"%s: The --utc and --localtime options are mutually exclusive.  You specified "
+"both.\n"
+msgstr "%s: Tilvalgene --utc og --localtime udelukker hinanden. Du angav begge.\n"
 
-#: fdisk/sfdisk.c:2862
-msgid "Are you satisfied with this? [ynq] "
-msgstr "Er du tilfreds med dette? [jna] "
+#: hwclock/hwclock.c:1256
+msgid "No usable set-to time.  Cannot set clock.\n"
+msgstr "Ingen brugbar set-til-tid. Kan ikke sætte uret.\n"
 
-#: fdisk/sfdisk.c:2864
-msgid "Do you want to write this to disk? [ynq] "
-msgstr "Vil du virkelig skrive dette til disken? [jna] "
+#: hwclock/hwclock.c:1271
+msgid "Sorry, only the superuser can change the Hardware Clock.\n"
+msgstr "Beklager, kun superbrugeren kan ændre maskinuret.\n"
 
-#: fdisk/sfdisk.c:2869
-msgid ""
-"\n"
-"sfdisk: premature end of input\n"
-msgstr ""
-"\n"
-"sfdisk: inddata sluttede for tidligt\n"
+#: hwclock/hwclock.c:1275
+msgid "Sorry, only the superuser can change the System Clock.\n"
+msgstr "Beklager, kun superbrugeren kan ændre systemuret.\n"
 
-#: fdisk/sfdisk.c:2871
-msgid "Quitting - nothing changed\n"
-msgstr "Afslutter - intet blev ændret\n"
+#: hwclock/hwclock.c:1279
+msgid ""
+"Sorry, only the superuser can change the Hardware Clock epoch in the "
+"kernel.\n"
+msgstr "Beklager, kun superbrugeren kan ændre maskinurets epokeværdi i kernen.\n"
 
-#: fdisk/sfdisk.c:2877
-msgid "Please answer one of y,n,q\n"
-msgstr "Svar venligst j,n,a\n"
+#: hwclock/hwclock.c:1299
+msgid "Cannot access the Hardware Clock via any known method.\n"
+msgstr "Kan ikke tilgå maskinuret med nogen kendt metode.\n"
 
-#: fdisk/sfdisk.c:2885
+#: hwclock/hwclock.c:1302
 msgid ""
-"Successfully wrote the new partition table\n"
-"\n"
+"Use the --debug option to see the details of our search for an access "
+"method.\n"
 msgstr ""
-"Skrivning af ny partitionstabel lykkedes\n"
-"\n"
+"Benyt tilvalget --debug for at se detaljerne fra vores søgning efter en "
+"tilgangsmetode.\n"
 
-#: fdisk/sfdisk.c:2891
-msgid ""
-"If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)\n"
-"to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1\n"
-"(See fdisk(8).)\n"
-msgstr ""
-"Hvis du oprettede eller ændrede en DOS-partition, f.eks. /dev/xxx7, så brug\n"
-"dd(1) til at nulstille de første 512 byte:\n"
-"'dd if=/dev/zero of=/dev/xxx7 bs=512 count=1'  (se fdisk(8))\n"
+#: hwclock/kd.c:41
+msgid "Waiting in loop for time from KDGHWCLK to change\n"
+msgstr "Venter i en løkke for at tiden fra KDGHWCLK ændres\n"
 
-#: games/banner.c:1045
-msgid "usage: banner [-w width]\n"
-msgstr "brug: banner [-w bredde]\n"
+#: hwclock/kd.c:44
+msgid "KDGHWCLK ioctl to read time failed"
+msgstr "KDGHWCLK ioctl for at aflæse tiden mislykkedes"
 
-#: games/banner.c:1065
-msgid "Message: "
-msgstr "Besked: "
+#: hwclock/kd.c:65 hwclock/rtc.c:151
+msgid "Timed out waiting for time change.\n"
+msgstr "Tidsudløb mens der ventedes på tidsændring.\n"
 
-#: games/banner.c:1099
-#, c-format
-msgid "The character '%c' is not in my character set"
-msgstr "Tegnet '%c' findes ikke i mit tegnsæt"
+#: hwclock/kd.c:69
+msgid "KDGHWCLK ioctl to read time failed in loop"
+msgstr "KDGHWCLK ioctl for at aflæse tiden mislykkedes i løkke"
 
-#: games/banner.c:1107
-#, c-format
-msgid "Message '%s' is OK\n"
-msgstr "Beskeden '%s' er OK\n"
+#: hwclock/kd.c:91
+msgid "ioctl() failed to read time from  /dev/tty1"
+msgstr "ioctl() kunne ikke aflæse tiden fra /dev/tty1"
 
-#: getopt-1.1.0a/getopt.c:233
-msgid "Try `getopt --help' for more information.\n"
-msgstr "Brug 'getopt --help' for flere detaljer.\n"
+#: hwclock/kd.c:127
+msgid "ioctl KDSHWCLK failed"
+msgstr "KDGHWCLK-ioctl mislykkedes"
 
-#: getopt-1.1.0a/getopt.c:299
-msgid "empty long option after -l or --long argument"
-msgstr "tomt 'long'­tilvalg efter -l eller --long"
+#: hwclock/kd.c:157
+msgid "KDGHWCLK ioctl failed"
+msgstr "KDGHWCLK ioctl mislykkedes"
 
-#: getopt-1.1.0a/getopt.c:319
-msgid "unknown shell after -s or --shell argument"
-msgstr "ukendt skal efter -s eller --shell"
+#: hwclock/kd.c:163
+msgid "Can't open /dev/tty1"
+msgstr "Kunne ikke åbne /dev/tty1"
 
-#: getopt-1.1.0a/getopt.c:324
-msgid "Usage: getopt optstring parameters\n"
-msgstr "Brug: getopt tilvalgsstreng parametre\n"
+#: hwclock/rtc.c:105
+#, c-format
+msgid "ioctl() to %s to read the time failed.\n"
+msgstr "ioctl() til %s for at aflæse tiden mislykkedes.\n"
 
-#: getopt-1.1.0a/getopt.c:325
-msgid "       getopt [options] [--] optstring parameters\n"
-msgstr "       getopt [tilvalg] [--] tilvalgsstreng parametre\n"
+#: hwclock/rtc.c:136
+#, c-format
+msgid "Waiting in loop for time from %s to change\n"
+msgstr "Venter i løkke på at tiden fra %s ændres\n"
 
-#: getopt-1.1.0a/getopt.c:326
-msgid "       getopt [options] -o|--options optstring [options] [--]\n"
-msgstr "       getopt [tilvalg] -o|--options tilvalgsstreng [tilvalg] [--]\n"
+#: hwclock/rtc.c:172 hwclock/rtc.c:229
+#, c-format
+msgid "open() of %s failed"
+msgstr "open() af %s mislykkedes"
+
+#: hwclock/rtc.c:190
+#, c-format
+msgid "%s does not have interrupt functions. "
+msgstr "%s har ingen interrupt-funktioner. "
+
+#: hwclock/rtc.c:198
+#, c-format
+msgid "read() to %s to wait for clock tick failed"
+msgstr "read() af %s for at vente på en ur-tik mislykkedes"
 
-#: getopt-1.1.0a/getopt.c:327
-msgid "              parameters\n"
-msgstr "              parametre\n"
+#: hwclock/rtc.c:206
+#, c-format
+msgid "ioctl() to %s to turn off update interrupts failed"
+msgstr "ioctl() til %s for at afbryde opdaterings-interrupts mislykkedes"
 
-#: getopt-1.1.0a/getopt.c:328
-msgid "  -a, --alternative            Allow long options starting with single -\n"
-msgstr "  -a, --alternative            Tillad lange tilvalg med enkelt -\n"
+#: hwclock/rtc.c:209
+#, c-format
+msgid "ioctl() to %s to turn on update interrupts failed unexpectedly"
+msgstr "ioctl() til %s for at afbryde opdaterings-interrupts mislykkedes uventet"
 
-#: getopt-1.1.0a/getopt.c:329
-msgid "  -h, --help                   This small usage guide\n"
-msgstr "  -h, --help                   Denne lille brugsmanual\n"
+#: hwclock/rtc.c:252 hwclock/rtc.c:331 hwclock/rtc.c:376
+#, c-format
+msgid "Unable to open %s"
+msgstr "Kunne ikke åbne %s"
 
-#: getopt-1.1.0a/getopt.c:330
-msgid "  -l, --longoptions=longopts   Long options to be recognized\n"
-msgstr "  -l, --longoptions=langtilvalg  Lange tilvalg, der skal genkendes\n"
+#: hwclock/rtc.c:275
+#, c-format
+msgid "ioctl() to %s to set the time failed.\n"
+msgstr "ioctl() til %s for at sætte tiden mislykkedes.\n"
 
-#: getopt-1.1.0a/getopt.c:331
-msgid "  -n, --name=progname          The name under which errors are reported\n"
-msgstr "  -n, --name=prognavn          Navnet som fejl skal rapporteres under\n"
+#: hwclock/rtc.c:279
+#, c-format
+msgid "ioctl(%s) was successful.\n"
+msgstr "ioctl(%s) lykkedes.\n"
 
-#: getopt-1.1.0a/getopt.c:332
-msgid "  -o, --options=optstring      Short options to be recognized\n"
-msgstr "  -o, --options=tilvalgsstreng Korte tilvalg, der skal genkendes\n"
+#: hwclock/rtc.c:309
+#, c-format
+msgid "Open of %s failed"
+msgstr "Åbning af %s mislykkedes"
 
-#: getopt-1.1.0a/getopt.c:333
-msgid "  -q, --quiet                  Disable error reporting by getopt(3)\n"
-msgstr "  -q, --quiet                  Undertryk fejlrapportering fra getopt(3)\n"
+#: hwclock/rtc.c:327 hwclock/rtc.c:372
+#, c-format
+msgid ""
+"To manipulate the epoch value in the kernel, we must access the Linux 'rtc' "
+"device driver via the device special file %s.  This file does not exist on "
+"this system.\n"
+msgstr ""
+"For at manipulere epokeværdien i kernen, skal vi have adgang til Linux's "
+"maskinursenhed via enhedsspecialfilen '%s'. Denne fil eksisterer ikke på "
+"dette system.\n"
 
-#: getopt-1.1.0a/getopt.c:334
-msgid "  -Q, --quiet-output           No normal output\n"
-msgstr "  -Q, --quiet-output           Ingen normale uddata\n"
+#: hwclock/rtc.c:338
+#, c-format
+msgid "ioctl(RTC_EPOCH_READ) to %s failed"
+msgstr "ioctl(RTC_EPOCH_READ) til %s mislykkedes"
 
-#: getopt-1.1.0a/getopt.c:335
-msgid "  -s, --shell=shell            Set shell quoting conventions\n"
-msgstr "  -s, --shell=skal             Angiv konventioner for anførselstegn\n"
+#: hwclock/rtc.c:344
+#, c-format
+msgid "we have read epoch %ld from %s with RTC_EPOCH_READ ioctl.\n"
+msgstr "vi har aflæst epokeværdi %ld fra %s med RTC_EPOCH_READ ioctl.\n"
 
-#: getopt-1.1.0a/getopt.c:336
-msgid "  -T, --test                   Test for getopt(1) version\n"
-msgstr "  -T, --test                   Tjek getopt(1) version\n"
+#. kernel would not accept this epoch value
+#. Hmm - bad habit, deciding not to do what the user asks
+#. just because one believes that the kernel might not like it.
+#: hwclock/rtc.c:364
+#, c-format
+msgid "The epoch value may not be less than 1900.  You requested %ld\n"
+msgstr "Epokeværdien må ikke være mindre end 1900. Du bad om %ld\n"
 
-#: getopt-1.1.0a/getopt.c:337
-msgid "  -u, --unqote                 Do not quote the output\n"
-msgstr "  -u, --unqote                 Indskyd ikke anførselstegn i uddata\n"
+#: hwclock/rtc.c:381
+#, c-format
+msgid "setting epoch to %ld with RTC_EPOCH_SET ioctl to %s.\n"
+msgstr "sætter epokeværdien til %ld med en RTC_EPOCH_SET ioctl til %s.\n"
 
-#: getopt-1.1.0a/getopt.c:338
-msgid "  -V, --version                Output version information\n"
-msgstr "  -V, --version                Vis versionsinformation\n"
+#: hwclock/rtc.c:386
+#, c-format
+msgid "The kernel device driver for %s does not have the RTC_EPOCH_SET ioctl.\n"
+msgstr "Kernens enheds-driver for %s har ikke en RTC_EPOCH_SET ioctl.\n"
 
-#: getopt-1.1.0a/getopt.c:392 getopt-1.1.0a/getopt.c:453
-msgid "missing optstring argument"
-msgstr "mangler tilvalgstreng-parameter"
+#: hwclock/rtc.c:389
+#, c-format
+msgid "ioctl(RTC_EPOCH_SET) to %s failed"
+msgstr "ioctl(RTC_EPOCH_SET) til %s mislykkedes"
 
-#: getopt-1.1.0a/getopt.c:441
-msgid "getopt (enhanced) 1.1.0\n"
-msgstr "getopt (udvidet) 1.1.0\n"
+#: hwclock/shhopt.c:255 hwclock/shhopt.c:281
+#, c-format
+msgid "invalid number `%s'\n"
+msgstr "Ugyldigt tal '%s'\n"
 
-#: getopt-1.1.0a/getopt.c:447
-msgid "internal error, contact the author."
-msgstr "intern fejl, kontakt programmøren."
+#: hwclock/shhopt.c:258 hwclock/shhopt.c:284
+#, c-format
+msgid "number `%s' to `%s' out of range\n"
+msgstr "tallet '%s' til '%s' er ikke i det gyldige område\n"
+
+#: hwclock/shhopt.c:398
+#, c-format
+msgid "unrecognized option `%s'\n"
+msgstr "ukendt tilvalg '%s'\n"
 
-#: kbd/kbdrate.c:138 kbd/kbdrate.c:276
+#: hwclock/shhopt.c:411 hwclock/shhopt.c:449
 #, c-format
-msgid "Typematic Rate set to %.1f cps (delay = %d ms)\n"
-msgstr "Tastaturhastighed sat til %.1f tps (pause = %d ms)\n"
+msgid "option `%s' requires an argument\n"
+msgstr "tilvalget '%s' kræver en parameter\n"
 
-#: kbd/kbdrate.c:222
-msgid "Usage: kbdrate [-V] [-s] [-r rate] [-d delay]\n"
-msgstr "Brug: kbdrate [-V] [-s] [-r hastighed] [-d pause]\n"
+#: hwclock/shhopt.c:417
+#, c-format
+msgid "option `%s' doesn't allow an argument\n"
+msgstr "tilvalget '%s' tillader ikke en parameter\n"
 
-#: kbd/kbdrate.c:252
-msgid "Cannot open /dev/port"
-msgstr "Kunne ikke åbne /dev/port"
+#: hwclock/shhopt.c:439
+#, c-format
+msgid "unrecognized option `-%c'\n"
+msgstr "ukendt tilvalg '-%c'\n"
 
 #: login-utils/agetty.c:306
 msgid "calling open_tty\n"
@@ -5413,75 +5470,65 @@ msgstr "for mange forskellige hastigheder"
 msgid "exiting parsespeeds\n"
 msgstr "afslutter 'parsespeeds'\n"
 
-#: login-utils/agetty.c:616
-#, c-format
-msgid "%s: open for update: %m"
-msgstr "%s: åben for opdatering: %m"
-
-#: login-utils/agetty.c:634
-#, c-format
-msgid "%s: no utmp entry"
-msgstr "%s: ingen utmp-indgang"
-
-#: login-utils/agetty.c:663
+#: login-utils/agetty.c:636
 #, c-format
 msgid "/dev: chdir() failed: %m"
 msgstr "/dev: chdir() mislykkedes: %m"
 
-#: login-utils/agetty.c:667
+#: login-utils/agetty.c:640
 #, c-format
 msgid "/dev/%s: not a character device"
 msgstr "/dev/%s: ikke en tegnenhed"
 
 #. ignore close(2) errors
-#: login-utils/agetty.c:674
+#: login-utils/agetty.c:647
 msgid "open(2)\n"
 msgstr "open(2)\n"
 
-#: login-utils/agetty.c:676
+#: login-utils/agetty.c:649
 #, c-format
 msgid "/dev/%s: cannot open as standard input: %m"
 msgstr "/dev/%s: kan ikke åbne som standard-ind: %m"
 
-#: login-utils/agetty.c:686
+#: login-utils/agetty.c:659
 #, c-format
 msgid "%s: not open for read/write"
 msgstr "%s: ikke åben for læsning/skrivning"
 
 #. Set up standard output and standard error file descriptors.
-#: login-utils/agetty.c:690
+#: login-utils/agetty.c:663
 msgid "duping\n"
 msgstr "duplikerer\n"
 
 #. set up stdout and stderr
-#: login-utils/agetty.c:692
+#: login-utils/agetty.c:665
 #, c-format
 msgid "%s: dup problem: %m"
 msgstr "%s: dup problem: %m"
 
-#: login-utils/agetty.c:762
+#: login-utils/agetty.c:735
 msgid "term_io 2\n"
 msgstr "term_io 2\n"
 
-#: login-utils/agetty.c:947
+#: login-utils/agetty.c:920
 msgid "user"
 msgstr "bruger"
 
-#: login-utils/agetty.c:947
+#: login-utils/agetty.c:920
 msgid "users"
 msgstr "brugere"
 
-#: login-utils/agetty.c:1035
+#: login-utils/agetty.c:1008
 #, c-format
 msgid "%s: read: %m"
 msgstr "%s: læst: %m"
 
-#: login-utils/agetty.c:1081
+#: login-utils/agetty.c:1054
 #, c-format
 msgid "%s: input overrun"
 msgstr "%s: inddataoverløb"
 
-#: login-utils/agetty.c:1205
+#: login-utils/agetty.c:1178
 #, c-format
 msgid ""
 "Usage: %s [-hiLmw] [-l login_program] [-t timeout] [-I initstring] [-H "
@@ -5494,21 +5541,11 @@ msgstr ""
 "eller\t[-hiLmw] [-l login_program] [-t tidsudløb] [-I initstreng] [-H "
 "login_vært] linie baud_rate,... [termtype]\n"
 
-#: login-utils/checktty.c:41
-#, c-format
-msgid "badlogin: %s\n"
-msgstr "badlogin: %s\n"
-
-#: login-utils/checktty.c:47
-#, c-format
-msgid "sleepexit %d\n"
-msgstr "sleepexit %d\n"
-
-#: login-utils/checktty.c:103 login-utils/checktty.c:125
+#: login-utils/checktty.c:104 login-utils/checktty.c:125
 msgid "login: memory low, login may fail\n"
 msgstr "login: ikke megen hukommelse, login kan mislykkes\n"
 
-#: login-utils/checktty.c:104
+#: login-utils/checktty.c:105
 msgid "can't malloc for ttyclass"
 msgstr "kunne ikke allokere hukommelse for ttyclass (malloc)"
 
@@ -5517,7 +5554,7 @@ msgid "can't malloc for grplist"
 msgstr "kunne ikke allokere hukommelse for grplist (malloc)"
 
 #. there was a default rule, but user didn't match, reject!
-#: login-utils/checktty.c:426
+#: login-utils/checktty.c:422
 #, c-format
 msgid "Login on %s from %s denied by default.\n"
 msgstr "Login på %s fra %s afvises som standard.\n"
@@ -5526,48 +5563,48 @@ msgstr "Login p
 #. matching our username, but it doesn't contain the
 #. name of the tty where the user is trying to log in.
 #. So deny access!
-#: login-utils/checktty.c:437
+#: login-utils/checktty.c:433
 #, c-format
 msgid "Login on %s from %s denied.\n"
 msgstr "Login på %s fra %s afvist.\n"
 
-#: login-utils/chfn.c:121 login-utils/chsh.c:107
+#: login-utils/chfn.c:122 login-utils/chsh.c:107
 #, c-format
 msgid "%s: you (user %d) don't exist.\n"
 msgstr "%s: du (bruger %d) eksisterer ikke.\n"
 
-#: login-utils/chfn.c:128 login-utils/chsh.c:114
+#: login-utils/chfn.c:129 login-utils/chsh.c:114
 #, c-format
 msgid "%s: user \"%s\" does not exist.\n"
 msgstr "%s: bruger \"%s\" eksisterer ikke.\n"
 
-#: login-utils/chfn.c:133 login-utils/chsh.c:119
+#: login-utils/chfn.c:134 login-utils/chsh.c:119
 #, c-format
 msgid "%s: can only change local entries; use yp%s instead.\n"
 msgstr "%s: kan kun ændre lokale indgange; brug yp%s i stedet\n"
 
-#: login-utils/chfn.c:145
+#: login-utils/chfn.c:146
 #, c-format
 msgid "Changing finger information for %s.\n"
 msgstr "Ændrer finger-information for %s.\n"
 
-#: login-utils/chfn.c:151 login-utils/chfn.c:155 login-utils/chfn.c:162
-#: login-utils/chfn.c:166 login-utils/chsh.c:143 login-utils/chsh.c:147
+#: login-utils/chfn.c:152 login-utils/chfn.c:156 login-utils/chfn.c:163
+#: login-utils/chfn.c:167 login-utils/chsh.c:143 login-utils/chsh.c:147
 #: login-utils/chsh.c:154 login-utils/chsh.c:158
 msgid "Password error."
 msgstr "Fejl i adgangskode."
 
-#: login-utils/chfn.c:175 login-utils/chsh.c:167 login-utils/login.c:685
-#: login-utils/newgrp.c:47 login-utils/simpleinit.c:290 mount/lomount.c:221
-#: mount/lomount.c:227
+#: login-utils/chfn.c:176 login-utils/chsh.c:167 login-utils/login.c:700
+#: login-utils/newgrp.c:48 login-utils/simpleinit.c:298 mount/lomount.c:248
+#: mount/lomount.c:253
 msgid "Password: "
 msgstr "Adgangskode: "
 
-#: login-utils/chfn.c:178 login-utils/chsh.c:170
+#: login-utils/chfn.c:179 login-utils/chsh.c:170
 msgid "Incorrect password."
 msgstr "Ugyldig adgangskode."
 
-#: login-utils/chfn.c:189
+#: login-utils/chfn.c:190
 msgid "Finger information not changed.\n"
 msgstr "Finger-informationer ikke ændret.\n"
 
@@ -5742,20 +5779,20 @@ msgstr "%s har ikke de korrekte filmodi"
 msgid "can't read data from %s"
 msgstr "kunne ikke læse data fra %s"
 
-#: login-utils/islocal.c:37
+#: login-utils/islocal.c:38
 #, c-format
 msgid "Can't read %s, exiting."
 msgstr "Kunne ikke læse %s, afbryder."
 
-#: login-utils/last.c:143
+#: login-utils/last.c:148
 msgid "usage: last [-#] [-f file] [-t tty] [-h hostname] [user ...]\n"
-msgstr "brug: last [-#] [-f fil] [-t tty] [-h tjerner] [bruger ...]\n"
+msgstr "brug: last [-#] [-f fil] [-t tty] [-h vært] [bruger ...]\n"
 
-#: login-utils/last.c:279
+#: login-utils/last.c:312
 msgid "  still logged in"
 msgstr "  stadig logget på"
 
-#: login-utils/last.c:301
+#: login-utils/last.c:340
 #, c-format
 msgid ""
 "\n"
@@ -5764,15 +5801,15 @@ msgstr ""
 "\n"
 "wtmp starter %s"
 
-#: login-utils/last.c:357 login-utils/last.c:375 login-utils/last.c:426
+#: login-utils/last.c:396 login-utils/last.c:414 login-utils/last.c:465
 msgid "last: malloc failure.\n"
 msgstr "last: hukommelsesallokerings-fejl (malloc).\n"
 
-#: login-utils/last.c:402
+#: login-utils/last.c:441
 msgid "last: gethostname"
 msgstr "last: gethostname"
 
-#: login-utils/last.c:451
+#: login-utils/last.c:490
 #, c-format
 msgid ""
 "\n"
@@ -5781,20 +5818,20 @@ msgstr ""
 "\n"
 "afbrudt %10.10s %5.5s \n"
 
-#: login-utils/login.c:373
+#: login-utils/login.c:379
 msgid "login: -h for super-user only.\n"
 msgstr "login: -h er kun for superbrugeren.\n"
 
-#: login-utils/login.c:398
+#: login-utils/login.c:404
 msgid "usage: login [-fp] [username]\n"
 msgstr "brug: login [-fp] [brugernavn]\n"
 
-#: login-utils/login.c:501
+#: login-utils/login.c:509
 #, c-format
 msgid "login: PAM Failure, aborting: %s\n"
 msgstr "login: PAM-fejl, afbryder: %s\n"
 
-#: login-utils/login.c:503
+#: login-utils/login.c:511
 #, c-format
 msgid "Couldn't initialize PAM: %s"
 msgstr "Kunne ikke klargøre PAM: %s"
@@ -5805,16 +5842,16 @@ msgstr "Kunne ikke klarg
 #. * PAM doesn't have an interface to specify the "Password: " string
 #. * (yet).
 #.
-#: login-utils/login.c:519
+#: login-utils/login.c:527
 msgid "login: "
 msgstr "login: "
 
-#: login-utils/login.c:553
+#: login-utils/login.c:561
 #, c-format
 msgid "FAILED LOGIN %d FROM %s FOR %s, %s"
 msgstr "MISLYKKET LOGIN %d FRA %s FOR %s, %s"
 
-#: login-utils/login.c:555
+#: login-utils/login.c:563
 msgid ""
 "Login incorrect\n"
 "\n"
@@ -5822,17 +5859,17 @@ msgstr ""
 "Login ugyldigt\n"
 "\n"
 
-#: login-utils/login.c:564
+#: login-utils/login.c:572
 #, c-format
 msgid "TOO MANY LOGIN TRIES (%d) FROM %s FOR %s, %s"
 msgstr "FOR MANGE LOGINFORSØG (%d) FRA %s FOR %s, %s"
 
-#: login-utils/login.c:568
+#: login-utils/login.c:576
 #, c-format
 msgid "FAILED LOGIN SESSION FROM %s FOR %s, %s"
 msgstr "MISLYKKET LOGINSESSION FRA %s FOR %s, %s"
 
-#: login-utils/login.c:571
+#: login-utils/login.c:579
 msgid ""
 "\n"
 "Login incorrect\n"
@@ -5840,30 +5877,30 @@ msgstr ""
 "\n"
 "Login ugyldigt\n"
 
-#: login-utils/login.c:620
+#: login-utils/login.c:635
 msgid "Illegal username"
 msgstr "Ugyldigt brugernavn"
 
-#: login-utils/login.c:663
+#: login-utils/login.c:678
 #, c-format
 msgid "%s login refused on this terminal.\n"
 msgstr "%s login afvist på denne terminal.\n"
 
-#: login-utils/login.c:668
+#: login-utils/login.c:683
 #, c-format
 msgid "LOGIN %s REFUSED FROM %s ON TTY %s"
 msgstr "LOGIN %s AFVIST FRA %s PÅ TTY %s"
 
-#: login-utils/login.c:672
+#: login-utils/login.c:687
 #, c-format
 msgid "LOGIN %s REFUSED ON TTY %s"
 msgstr "LOGIN %s AFVIST PÅ TTY %s"
 
-#: login-utils/login.c:725
+#: login-utils/login.c:740
 msgid "Login incorrect\n"
 msgstr "Login ugyldigt\n"
 
-#: login-utils/login.c:747
+#: login-utils/login.c:762
 msgid ""
 "Too many users logged on already.\n"
 "Try again later.\n"
@@ -5871,100 +5908,78 @@ msgstr ""
 "For mange brugere er allerede logget på.\n"
 "Prøv igen senere.\n"
 
-#: login-utils/login.c:751
+#: login-utils/login.c:766
 msgid "You have too many processes running.\n"
 msgstr "Du har for mange processer kørende.\n"
 
-#: login-utils/login.c:797
-msgid "Warning: no Kerberos tickets issued\n"
-msgstr "Advarsel: ingen Kerberos-billetter udstedt\n"
-
-#: login-utils/login.c:809
-msgid "Sorry -- your password has expired.\n"
-msgstr "Beklager -- din adgangskode er udløbet.\n"
-
-#: login-utils/login.c:815
-#, c-format
-msgid "Warning: your password expires on %d %s, %d.\n"
-msgstr "Advarsel: din adgangskode udløber den %d %s, %d.\n"
-
-#: login-utils/login.c:823
-msgid "Sorry -- your account has expired.\n"
-msgstr "Beklager -- din konto er udløbet.\n"
-
-#: login-utils/login.c:829
-#, c-format
-msgid "Warning: your account expires on %d %s, %d.\n"
-msgstr "Advarsel: din konto udløber på %d %s, %d.\n"
-
-#: login-utils/login.c:1066
+#: login-utils/login.c:1001
 #, c-format
 msgid "DIALUP AT %s BY %s"
 msgstr "OPRINGNING KLOKKEN %s AF %s"
 
-#: login-utils/login.c:1073
+#: login-utils/login.c:1008
 #, c-format
 msgid "ROOT LOGIN ON %s FROM %s"
 msgstr "ROOT LOGIN PÅ %s FRA %s"
 
-#: login-utils/login.c:1076
+#: login-utils/login.c:1011
 #, c-format
 msgid "ROOT LOGIN ON %s"
 msgstr "ROOT LOGIN PÅ %s"
 
-#: login-utils/login.c:1079
+#: login-utils/login.c:1014
 #, c-format
 msgid "LOGIN ON %s BY %s FROM %s"
 msgstr "LOGIN PÅ %s AF %s FRA %s"
 
-#: login-utils/login.c:1082
+#: login-utils/login.c:1017
 #, c-format
 msgid "LOGIN ON %s BY %s"
 msgstr "LOGIN PÅ %s AF %s"
 
-#: login-utils/login.c:1094
+#: login-utils/login.c:1029
 #, c-format
 msgid "You have %smail.\n"
-msgstr "Du har %sepost.\n"
+msgstr "Du har %spost.\n"
 
-#: login-utils/login.c:1095
+#: login-utils/login.c:1030
 msgid "new "
 msgstr "ny "
 
 #. error in fork()
-#: login-utils/login.c:1113
+#: login-utils/login.c:1055
 #, c-format
 msgid "login: failure forking: %s"
 msgstr "login: mislykket forgrening: %s"
 
-#: login-utils/login.c:1128
+#: login-utils/login.c:1075
 msgid "setuid() failed"
 msgstr "setuid() mislykkedes"
 
-#: login-utils/login.c:1134
+#: login-utils/login.c:1081
 #, c-format
 msgid "No directory %s!\n"
 msgstr "Intet katalog %s!\n"
 
-#: login-utils/login.c:1138
+#: login-utils/login.c:1085
 msgid "Logging in with home = \"/\".\n"
 msgstr "Logger ind med hjemmekatalog = \"/\".\n"
 
-#: login-utils/login.c:1146
+#: login-utils/login.c:1093
 msgid "login: no memory for shell script.\n"
 msgstr "login: ingen hukommelse for skal-skript.\n"
 
-#: login-utils/login.c:1174
+#: login-utils/login.c:1120
 #, c-format
 msgid "login: couldn't exec shell script: %s.\n"
 msgstr "login: kunne ikke køre skal-skript: %s.\n"
 
-#: login-utils/login.c:1177
+#: login-utils/login.c:1123
 #, c-format
 msgid "login: no shell: %s.\n"
 msgstr "login: ingen skal: %s.\n"
 
-#: login-utils/login.c:1191
+#: login-utils/login.c:1138
 #, c-format
 msgid ""
 "\n"
@@ -5973,62 +5988,62 @@ msgstr ""
 "\n"
 "%s login: "
 
-#: login-utils/login.c:1202
+#: login-utils/login.c:1149
 msgid "login name much too long.\n"
 msgstr "loginnavn alt for langt.\n"
 
-#: login-utils/login.c:1203
+#: login-utils/login.c:1150
 msgid "NAME too long"
 msgstr "for langt NAVN"
 
-#: login-utils/login.c:1210
+#: login-utils/login.c:1157
 msgid "login names may not start with '-'.\n"
 msgstr "loginnavne må ikke starte med '-'.\n"
 
-#: login-utils/login.c:1220
+#: login-utils/login.c:1167
 msgid "too many bare linefeeds.\n"
 msgstr "for mange tomme linieskift,\n"
 
-#: login-utils/login.c:1221
+#: login-utils/login.c:1168
 msgid "EXCESSIVE linefeeds"
 msgstr "VOLDSOMT MANGE linieskift"
 
-#: login-utils/login.c:1231
+#: login-utils/login.c:1179
 #, c-format
 msgid "Login timed out after %d seconds\n"
 msgstr "Login udløb efter %d sekunder\n"
 
-#: login-utils/login.c:1325
+#: login-utils/login.c:1275
 #, c-format
 msgid "Last login: %.*s "
 msgstr "Sidste login: %.*s "
 
-#: login-utils/login.c:1329
+#: login-utils/login.c:1279
 #, c-format
 msgid "from %.*s\n"
 msgstr "fra %.*s\n"
 
-#: login-utils/login.c:1332
+#: login-utils/login.c:1282
 #, c-format
 msgid "on %.*s\n"
 msgstr "på %.*s\n"
 
-#: login-utils/login.c:1355
+#: login-utils/login.c:1303
 #, c-format
 msgid "LOGIN FAILURE FROM %s, %s"
 msgstr "LOGINFEJL FRA %s, %s"
 
-#: login-utils/login.c:1358
+#: login-utils/login.c:1306
 #, c-format
 msgid "LOGIN FAILURE ON %s, %s"
 msgstr "LOGINFEJL på %s, %s"
 
-#: login-utils/login.c:1362
+#: login-utils/login.c:1310
 #, c-format
 msgid "%d LOGIN FAILURES FROM %s, %s"
 msgstr "%d LOGINFEJL fra %s, %s"
 
-#: login-utils/login.c:1365
+#: login-utils/login.c:1313
 #, c-format
 msgid "%d LOGIN FAILURES ON %s, %s"
 msgstr "%d LOGINFEJL PÅ %s, %s"
@@ -6043,171 +6058,171 @@ msgstr "er n\n"
 
 #: login-utils/mesg.c:112
 msgid "usage: mesg [y | n]\n"
-msgstr "usage: mesg [j | n]\n"
+msgstr "brug: mesg [j | n]\n"
 
-#: login-utils/newgrp.c:67
+#: login-utils/newgrp.c:68
 msgid "newgrp: Who are you?"
 msgstr "newgrp: Hvem er du?"
 
-#: login-utils/newgrp.c:75 login-utils/newgrp.c:85
+#: login-utils/newgrp.c:76 login-utils/newgrp.c:86
 msgid "newgrp: setgid"
 msgstr "newgrp: setgid"
 
-#: login-utils/newgrp.c:80
+#: login-utils/newgrp.c:81
 msgid "newgrp: No such group."
 msgstr "newgrp: Ingen sådan gruppe."
 
-#: login-utils/newgrp.c:89
+#: login-utils/newgrp.c:90
 msgid "newgrp: Permission denied"
 msgstr "newgrp: Nægtet adgang"
 
-#: login-utils/newgrp.c:96
+#: login-utils/newgrp.c:97
 msgid "newgrp: setuid"
 msgstr "newgrp: setuid"
 
-#: login-utils/newgrp.c:102
+#: login-utils/newgrp.c:103
 msgid "No shell"
 msgstr "Ingen skal"
 
-#: login-utils/passwd.c:159
+#: login-utils/passwd.c:161
 msgid "The password must have at least 6 characters, try again.\n"
 msgstr "Adgangskoden skal bestå af mindst 6 tegn. Prøv igen.\n"
 
-#: login-utils/passwd.c:172
+#: login-utils/passwd.c:174
 msgid "The password must contain characters out of two of the following\n"
 msgstr "Adgangskoden skal indeholde tegn fra de følgende to klasser:\n"
 
-#: login-utils/passwd.c:173
+#: login-utils/passwd.c:175
 msgid "classes:  upper and lower case letters, digits and non alphanumeric\n"
 msgstr "Store og små bogstaver, cifre og ikke-alfanumeriske tegn.\n"
 
-#: login-utils/passwd.c:174
+#: login-utils/passwd.c:176
 msgid "characters. See passwd(1) for more information.\n"
 msgstr "Se passwd(1) for flere detaljer.\n"
 
-#: login-utils/passwd.c:179
+#: login-utils/passwd.c:181
 msgid "You cannot reuse the old password.\n"
 msgstr "Du kan ikke genbruge den gamle adgangskode.\n"
 
-#: login-utils/passwd.c:184
+#: login-utils/passwd.c:186
 msgid "Please don't use something like your username as password!\n"
 msgstr "Brug venligst ikke brugernavn og lignende som adgangskode!\n"
 
-#: login-utils/passwd.c:195 login-utils/passwd.c:202
+#: login-utils/passwd.c:197 login-utils/passwd.c:204
 msgid "Please don't use something like your realname as password!\n"
 msgstr "Brug venligst ikke dit rigtige navn og lignende som adgangskode!\n"
 
-#: login-utils/passwd.c:220
+#: login-utils/passwd.c:222
 msgid "Usage: passwd [username [password]]\n"
 msgstr "Brug: passwd [brugernavn [adgangskode]]\n"
 
-#: login-utils/passwd.c:221
+#: login-utils/passwd.c:223
 msgid "Only root may use the one and two argument forms.\n"
 msgstr "Kun root kan bruge et- og to-parameter formater.\n"
 
-#: login-utils/passwd.c:275
+#: login-utils/passwd.c:277
 msgid "Usage: passwd [-foqsvV] [user [password]]\n"
 msgstr "Brug: passwd [-foqsvV] [bruger [adgangskode]]\n"
 
-#: login-utils/passwd.c:296
+#: login-utils/passwd.c:298
 #, c-format
 msgid "Can't exec %s: %s\n"
 msgstr "Kunne ikke udføre %s: %s\n"
 
-#: login-utils/passwd.c:307
+#: login-utils/passwd.c:309
 msgid "Cannot find login name"
 msgstr "Kunne ikke finde loginnavn"
 
-#: login-utils/passwd.c:314 login-utils/passwd.c:321
+#: login-utils/passwd.c:316 login-utils/passwd.c:323
 msgid "Only root can change the password for others.\n"
 msgstr "Kun root kan ændre adgangskoder for andre.\n"
 
-#: login-utils/passwd.c:329
+#: login-utils/passwd.c:331
 msgid "Too many arguments.\n"
 msgstr "For mange parametre.\n"
 
-#: login-utils/passwd.c:334
+#: login-utils/passwd.c:336
 #, c-format
 msgid "Can't find username anywhere. Is `%s' really a user?"
 msgstr "Kan ikke finde brugernavnet nogen steder. Er '%s' virkelig en bruger?"
 
-#: login-utils/passwd.c:338
+#: login-utils/passwd.c:340
 msgid "Sorry, I can only change local passwords. Use yppasswd instead."
 msgstr "Beklager, jeg kan kun ændre lokale adgangskoder. Brug 'yppasswd' i stedet."
 
-#: login-utils/passwd.c:344
+#: login-utils/passwd.c:346
 msgid "UID and username does not match, imposter!"
 msgstr "UID og brugernavn passer ikke sammen."
 
-#: login-utils/passwd.c:349
+#: login-utils/passwd.c:351
 #, c-format
 msgid "Changing password for %s\n"
 msgstr "Ændrer adgangskode for %s\n"
 
-#: login-utils/passwd.c:353
+#: login-utils/passwd.c:355
 msgid "Enter old password: "
 msgstr "Indtast gammel adgangskode: "
 
-#: login-utils/passwd.c:355
+#: login-utils/passwd.c:357
 msgid "Illegal password, imposter."
 msgstr "Ugyldig adgangskode."
 
-#: login-utils/passwd.c:367
+#: login-utils/passwd.c:369
 msgid "Enter new password: "
 msgstr "Indtast ny adgangskode: "
 
-#: login-utils/passwd.c:369
+#: login-utils/passwd.c:371
 msgid "Password not changed."
 msgstr "Adgangskode ikke ændret."
 
-#: login-utils/passwd.c:379
+#: login-utils/passwd.c:380
 msgid "Re-type new password: "
 msgstr "Gentag ny adgangskode: "
 
-#: login-utils/passwd.c:382
+#: login-utils/passwd.c:383
 msgid "You misspelled it. Password not changed."
 msgstr "Du stavede forkert. Adgangskoden blev ikke ændret."
 
-#: login-utils/passwd.c:397
+#: login-utils/passwd.c:398
 #, c-format
 msgid "password changed, user %s"
 msgstr "adgangskode ændret, bruger %s"
 
-#: login-utils/passwd.c:400
+#: login-utils/passwd.c:401
 msgid "ROOT PASSWORD CHANGED"
 msgstr "ROOT-ADGANGSKODE ÆNDRET"
 
-#: login-utils/passwd.c:402
+#: login-utils/passwd.c:403
 #, c-format
 msgid "password changed by root, user %s"
 msgstr "adgangskoden ændret af root, bruger %s"
 
-#: login-utils/passwd.c:409
+#: login-utils/passwd.c:410
 msgid "calling setpwnam to set password.\n"
 msgstr "kalder setpwnam for at ændre adgangskoden.\n"
 
-#: login-utils/passwd.c:413
+#: login-utils/passwd.c:414
 msgid "Password *NOT* changed.  Try again later.\n"
 msgstr "Adgangskode *IKKE* ændret. Prøv igen senere.\n"
 
-#: login-utils/passwd.c:419
+#: login-utils/passwd.c:420
 msgid "Password changed.\n"
 msgstr "Adgangskode ændret.\n"
 
-#: login-utils/shutdown.c:109
+#: login-utils/shutdown.c:110
 msgid "Usage: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
 msgstr "Brug: shutdown [-h|-r] [-fqs] [now|hh:ss|+mins]\n"
 
-#: login-utils/shutdown.c:127
+#: login-utils/shutdown.c:128
 msgid "Shutdown process aborted"
 msgstr "Nedlukningsproces afbrudt"
 
-#: login-utils/shutdown.c:153
+#: login-utils/shutdown.c:154
 #, c-format
 msgid "%s: Only root can shut a system down.\n"
 msgstr "%s: Kun root kan lukke systemet ned.\n"
 
-#: login-utils/shutdown.c:247
+#: login-utils/shutdown.c:248
 msgid "That must be tomorrow, can't you wait till then?\n"
 msgstr "Det må være i morgen. Kan du ikke vente så længe?\n"
 
@@ -6277,90 +6292,95 @@ msgstr "K
 msgid "Error executing\t%s\n"
 msgstr "Fejl ved kørsel af\t%s\n"
 
-#: login-utils/shutdown.c:472
+#: login-utils/shutdown.c:475
 #, c-format
 msgid "\aURGENT: broadcast message from %s:"
 msgstr "HASTER: rundsendt besked fra %s"
 
-#: login-utils/shutdown.c:478
-msgid "System going down IMMEDIATELY!\n"
-msgstr "Systemet lukkes ned ØJEBLIKKELIGT!\n"
-
 #: login-utils/shutdown.c:481
 #, c-format
-msgid "System going down in %d hour%s %d minutes"
-msgstr "Systemet lukkes ned om %d time%s %d minutter"
-
-#: login-utils/shutdown.c:482 login-utils/shutdown.c:485
-msgid "s"
-msgstr "r"
+msgid "System going down in %d hours %d minutes"
+msgstr "Systemet lukkes ned om %d timer og %d minutter"
 
 #: login-utils/shutdown.c:484
 #, c-format
-msgid "System going down in %d minute%s\n"
-msgstr "Systemet lukkes ned om %d minutte%s\n"
+msgid "System going down in 1 hour %d minutes"
+msgstr "Systemet lukkes ned om 1 time og %d minutter"
+
+#: login-utils/shutdown.c:487
+#, c-format
+msgid "System going down in %d minutes\n"
+msgstr "Systemet lukkes ned om %d minutter\n"
 
 #: login-utils/shutdown.c:490
+msgid "System going down in 1 minute\n"
+msgstr "Systemet lukkes ned om 1 minut\n"
+
+#: login-utils/shutdown.c:492
+msgid "System going down IMMEDIATELY!\n"
+msgstr "Systemet lukkes ned ØJEBLIKKELIGT!\n"
+
+#: login-utils/shutdown.c:497
 #, c-format
 msgid "\t... %s ...\n"
 msgstr "\t... %s ...\n"
 
-#: login-utils/shutdown.c:547
+#: login-utils/shutdown.c:554
 msgid "Cannot fork for swapoff. Shrug!"
 msgstr "Kunne ikke forgrene for swapoff. Suk!"
 
-#: login-utils/shutdown.c:555
+#: login-utils/shutdown.c:562
 msgid "Cannot exec swapoff, hoping umount will do the trick."
 msgstr "Kunne ikke udføre swapoff. Håber, at umount vil klare det."
 
-#: login-utils/shutdown.c:574
+#: login-utils/shutdown.c:581
 msgid "Cannot fork for umount, trying manually."
 msgstr "Kunne ikke forgrene umount, forsøger selv."
 
-#: login-utils/shutdown.c:583
+#: login-utils/shutdown.c:590
 #, c-format
 msgid "Cannot exec %s, trying umount.\n"
 msgstr "Kan ikke udføre %s, forsøger afmontering med umount.\n"
 
-#: login-utils/shutdown.c:587
+#: login-utils/shutdown.c:594
 msgid "Cannot exec umount, giving up on umount."
 msgstr "Kunne ikke udføre umount, opgiver afmontering."
 
-#: login-utils/shutdown.c:592
+#: login-utils/shutdown.c:599
 msgid "Unmounting any remaining filesystems..."
 msgstr "Afmonterer resterende filsystemer..."
 
-#: login-utils/shutdown.c:628
+#: login-utils/shutdown.c:635
 #, c-format
 msgid "shutdown: Couldn't umount %s: %s\n"
 msgstr "shutdown: Kunne ikke afmontere %s: %s\n"
 
-#: login-utils/simpleinit.c:114
+#: login-utils/simpleinit.c:122
 msgid "Booting to single user mode.\n"
 msgstr "Starter op i enkeltbrugertilstand.\n"
 
-#: login-utils/simpleinit.c:118
+#: login-utils/simpleinit.c:126
 msgid "exec of single user shell failed\n"
 msgstr "udførelse af enkeltbruger-skal mislykkedes\n"
 
-#: login-utils/simpleinit.c:122
+#: login-utils/simpleinit.c:130
 msgid "fork of single user shell failed\n"
 msgstr "forgrening af enkeltbruger-skal mislykkedes\n"
 
-#: login-utils/simpleinit.c:174
+#: login-utils/simpleinit.c:182
 msgid "error opening fifo\n"
 msgstr "fejl ved åbning af fifo\n"
 
-#: login-utils/simpleinit.c:212
+#: login-utils/simpleinit.c:220
 msgid "error running finalprog\n"
 msgstr "fejl ved kørsel af finalprog\n"
 
 #. Error
-#: login-utils/simpleinit.c:216
+#: login-utils/simpleinit.c:224
 msgid "error forking finalprog\n"
 msgstr "fejl ved forsøg på at spalte processen finalprog\n"
 
-#: login-utils/simpleinit.c:295
+#: login-utils/simpleinit.c:303
 msgid ""
 "\n"
 "Wrong password.\n"
@@ -6368,31 +6388,35 @@ msgstr ""
 "\n"
 "Forkert password.\n"
 
-#: login-utils/simpleinit.c:367
+#: login-utils/simpleinit.c:376
+msgid "lstat of path failed\n"
+msgstr "kunne ikke finde sti med lstat\n"
+
+#: login-utils/simpleinit.c:384
 msgid "stat of path failed\n"
 msgstr "kunne ikke finde sti\n"
 
-#: login-utils/simpleinit.c:374
+#: login-utils/simpleinit.c:392
 msgid "open of directory failed\n"
 msgstr "kunne ikke åbne katalog\n"
 
-#: login-utils/simpleinit.c:441
+#: login-utils/simpleinit.c:459
 msgid "fork failed\n"
 msgstr "forgrening mislykkedes\n"
 
-#: login-utils/simpleinit.c:472 text-utils/more.c:1621
+#: login-utils/simpleinit.c:490 text-utils/more.c:1622
 msgid "exec failed\n"
 msgstr "programkørsel mislykkedes\n"
 
-#: login-utils/simpleinit.c:496
+#: login-utils/simpleinit.c:514
 msgid "cannot open inittab\n"
 msgstr "kunne ikke åbne inittab\n"
 
-#: login-utils/simpleinit.c:566
+#: login-utils/simpleinit.c:581
 msgid "no TERM or cannot stat tty\n"
 msgstr "ingen TERM eller kunne ikke finde tty\n"
 
-#: login-utils/simpleinit.c:875
+#: login-utils/simpleinit.c:888
 msgid "error running programme\n"
 msgstr "fejl ved kørsel af program\n"
 
@@ -6418,72 +6442,85 @@ msgstr "fork: %s"
 msgid "%s: BAD ERROR"
 msgstr "%s: UGYLDIG FEJL"
 
-#: login-utils/vipw.c:145
+#: login-utils/vipw.c:139
 #, c-format
 msgid "%s: the %s file is busy.\n"
 msgstr "%s: filen %s er optaget.\n"
 
-#: login-utils/vipw.c:161
+#: login-utils/vipw.c:155
 #, c-format
 msgid "%s: the %s file is busy (%s present)\n"
 msgstr "%s: filen %s er optaget. (%s eksisterer)\n"
 
-#: login-utils/vipw.c:167
+#: login-utils/vipw.c:161
 #, c-format
 msgid "%s: can't link %s: %s\n"
 msgstr "%s: kunne ikke lænke %s: %s\n"
 
-#: login-utils/vipw.c:188
+#: login-utils/vipw.c:192
 #, c-format
 msgid "%s: can't unlock %s: %s (your changes are still in %s)\n"
 msgstr "%s: kunne ikke fjerne låsen på %s: %s (dine ændringer er stadig i %s)\n"
 
-#: login-utils/vipw.c:211
+#: login-utils/vipw.c:215
 #, c-format
 msgid "%s: Cannot fork\n"
 msgstr "%s: Kunne ikke forgrene (fork)\n"
 
-#: login-utils/vipw.c:251
+#: login-utils/vipw.c:255
 #, c-format
 msgid "%s: %s unchanged\n"
 msgstr "%s: %s uændret\n"
 
-#: login-utils/vipw.c:294
+#: login-utils/vipw.c:274
 #, c-format
 msgid "%s: no changes made\n"
 msgstr "%s: intet ændret\n"
 
-#: login-utils/wall.c:102
+#: login-utils/vipw.c:323
+msgid "You are using shadow groups on this system.\n"
+msgstr "Du bruger skyggegrupper (shadow groups) på dette system.\n"
+
+#: login-utils/vipw.c:324
+msgid "You are using shadow passwords on this system.\n"
+msgstr "Du bruger skygge-adgangskoder (shadow passwords) på dette system.\n"
+
+#: login-utils/vipw.c:325
+#, c-format
+msgid "Would you like to edit %s now [y/n]? "
+msgstr "Vil du redigere %s nu [j/n]? "
+
+#: login-utils/wall.c:103
 #, c-format
 msgid "usage: %s [file]\n"
 msgstr "brug: %s [fil]\n"
 
-#: login-utils/wall.c:150
+#: login-utils/wall.c:151
 #, c-format
 msgid "%s: can't open temporary file.\n"
 msgstr "%s: kunne ikke åbne midlertidig fil.\n"
 
-#: login-utils/wall.c:177
+#: login-utils/wall.c:178
 #, c-format
 msgid "Broadcast Message from %s@%s"
 msgstr "Rundsendt meddelelse fra %s@%s"
 
-#: login-utils/wall.c:195
+#: login-utils/wall.c:196
 #, c-format
 msgid "%s: will not read %s - use stdin.\n"
 msgstr "%s: kan ikke læse %s - brug standard-inddata.\n"
 
-#: login-utils/wall.c:200
+#: login-utils/wall.c:201
 #, c-format
 msgid "%s: can't read %s.\n"
 msgstr "%s: kunne ikke læse %s.\n"
 
-#: login-utils/wall.c:222
+#: login-utils/wall.c:223
 #, c-format
 msgid "%s: can't stat temporary file.\n"
 msgstr "%s: kunne ikke finde midlertidig fil.\n"
 
-#: login-utils/wall.c:231
+#: login-utils/wall.c:232
 #, c-format
 msgid "%s: can't read temporary file.\n"
 msgstr "%s: kunne ikke læse midlertidig fil.\n"
@@ -6510,27 +6547,27 @@ msgstr "brug: %s [+format] [dag m
 msgid "St. Tib's Day"
 msgstr "St. Tibs-dag"
 
-#: misc-utils/kill.c:210
+#: misc-utils/kill.c:206
 #, c-format
 msgid "%s: unknown signal %s\n"
 msgstr "%s: ukendt signal %s\n"
 
-#: misc-utils/kill.c:272
+#: misc-utils/kill.c:269
 #, c-format
 msgid "%s: can't find process \"%s\"\n"
 msgstr "%s: kunne ikke finde processen \"%s\"\n"
 
-#: misc-utils/kill.c:316
+#: misc-utils/kill.c:313
 #, c-format
 msgid "%s: unknown signal %s; valid signals:\n"
 msgstr "%s: ukendt signal %s; gyldige signaler:\n"
 
-#: misc-utils/kill.c:356
+#: misc-utils/kill.c:353
 #, c-format
 msgid "usage: %s [ -s signal | -p ] [ -a ] pid ...\n"
 msgstr "brug: %s [ -s signal | -p ] [ -a ] pid ...\n"
 
-#: misc-utils/kill.c:357
+#: misc-utils/kill.c:354
 #, c-format
 msgid "       %s -l [ signal ]\n"
 msgstr "       %s -l [ signal ]\n"
@@ -6568,43 +6605,43 @@ msgstr "Kunne ikke 
 msgid "Got %d bytes from %s\n"
 msgstr "Fik %d byte fra %s\n"
 
-#: misc-utils/namei.c:100
+#: misc-utils/namei.c:101
 #, c-format
 msgid "namei: unable to get current directory - %s\n"
 msgstr "namei: kunne ikke bestemme aktuelle katalog - %s\n"
 
-#: misc-utils/namei.c:111
+#: misc-utils/namei.c:112
 #, c-format
 msgid "namei: unable to chdir to %s - %s (%d)\n"
 msgstr "namei: kunne ikke skifte til kataloget %s - %s (%d)\n"
 
-#: misc-utils/namei.c:120
+#: misc-utils/namei.c:121
 msgid "usage: namei [-mx] pathname [pathname ...]\n"
 msgstr "brug: namei [-mx] sti [sti ...]\n"
 
-#: misc-utils/namei.c:145
+#: misc-utils/namei.c:146
 msgid "namei: could not chdir to root!\n"
 msgstr "namei: kunne ikke skifte til rodkataloget!\n"
 
-#: misc-utils/namei.c:152
+#: misc-utils/namei.c:153
 msgid "namei: could not stat root!\n"
 msgstr "namei: kunne ikke finde rodkataloget!\n"
 
-#: misc-utils/namei.c:207
+#: misc-utils/namei.c:208
 #, c-format
 msgid " ? could not chdir into %s - %s (%d)\n"
 msgstr " ? kunne ikke skifte til kataloget %s - %s (%d)\n"
 
-#: misc-utils/namei.c:236
+#: misc-utils/namei.c:237
 #, c-format
 msgid " ? problems reading symlink %s - %s (%d)\n"
 msgstr " ? problem ved læsning af symbolsk lænke %s - %s (%d)\n"
 
-#: misc-utils/namei.c:246
+#: misc-utils/namei.c:247
 msgid "  *** EXCEEDED UNIX LIMIT OF SYMLINKS ***\n"
 msgstr "  *** OVERSKRED UNIX'S GRÆNSE FOR ANTALLET AF SYMBOLSKE LÆNKER ***\n"
 
-#: misc-utils/namei.c:283
+#: misc-utils/namei.c:284
 #, c-format
 msgid "namei: unknown file type 0%06o on file %s\n"
 msgstr "namei: ukendt filtype 0%06o for fil %s\n"
@@ -6612,7 +6649,7 @@ msgstr "namei: ukendt filtype 0%06o for fil %s\n"
 #: misc-utils/rename.c:38
 #, c-format
 msgid "%s: out of memory\n"
-msgstr "%s: Hukommelse opbrugt\n"
+msgstr "%s: hukommelse opbrugt\n"
 
 #: misc-utils/rename.c:56
 #, c-format
@@ -6622,23 +6659,34 @@ msgstr "%s: kunne ikke omd
 #: misc-utils/rename.c:86
 #, c-format
 msgid "call: %s from to files...\n"
-msgstr "kald: %s fra-streng til-streng filer...\n"
+msgstr "kald: %s fra til filer...\n"
+
+#: misc-utils/script.c:104
+#, c-format
+msgid ""
+"Warning: `%s' is a symlink.\n"
+"Use `%s [options] %s' if you really want to use it.\n"
+"Script not started.\n"
+msgstr ""
+"Advarsel: '%s' er en symbolsk lænke.\n"
+"Brug '%s [tilvalg] %s', hvis du virkelig vil bruge den.\n"
+"Skript blev ikke startet.\n"
 
-#: misc-utils/script.c:119
+#: misc-utils/script.c:150
 msgid "usage: script [-a] [-f] [-q] [file]\n"
 msgstr "brug: script [-a] [-f] [-q] [fil]\n"
 
-#: misc-utils/script.c:140
+#: misc-utils/script.c:173
 #, c-format
 msgid "Script started, file is %s\n"
 msgstr "'script' startet, filen er %s\n"
 
-#: misc-utils/script.c:206
+#: misc-utils/script.c:239
 #, c-format
 msgid "Script started on %s"
 msgstr "'script' startet %s"
 
-#: misc-utils/script.c:270
+#: misc-utils/script.c:303
 #, c-format
 msgid ""
 "\n"
@@ -6647,16 +6695,16 @@ msgstr ""
 "\n"
 "'script' færdig %s"
 
-#: misc-utils/script.c:278
+#: misc-utils/script.c:311
 #, c-format
 msgid "Script done, file is %s\n"
 msgstr "'script' færdig, filen er %s\n"
 
-#: misc-utils/script.c:289
+#: misc-utils/script.c:322
 msgid "openpty failed\n"
 msgstr "openpty mislykkedes\n"
 
-#: misc-utils/script.c:323
+#: misc-utils/script.c:356
 msgid "Out of pty's\n"
 msgstr "Løbet tør for pty-er\n"
 
@@ -6827,22 +6875,6 @@ msgstr "  [ -blength [0-2000] ]\n"
 msgid "  [ -bfreq freqnumber ]\n"
 msgstr "  [ -bfreq freqnumber ]\n"
 
-#: misc-utils/setterm.c:862
-msgid "snow.on"
-msgstr "snow.on"
-
-#: misc-utils/setterm.c:864
-msgid "snow.off"
-msgstr "snow.off"
-
-#: misc-utils/setterm.c:870
-msgid "softscroll.on"
-msgstr "softscroll.on"
-
-#: misc-utils/setterm.c:872
-msgid "softscroll.off"
-msgstr "softscroll.off"
-
 #: misc-utils/setterm.c:1047
 msgid "cannot (un)set powersave mode\n"
 msgstr "kan ikke ændre strømsparetilstand\n"
@@ -6866,74 +6898,58 @@ msgstr "Fejl ved skrivning af sk
 msgid "couldn't read %s, and cannot ioctl dump\n"
 msgstr "kunne hverken læse %s eller udføre ioctl dump\n"
 
-#: misc-utils/setterm.c:1227
+#: misc-utils/setterm.c:1228
 #, c-format
 msgid "%s: $TERM is not defined.\n"
 msgstr "%s: $TERM er ikke defineret.\n"
 
-#: misc-utils/tsort.c:117
-msgid "usage: tsort [ inputfile ]\n"
-msgstr "brug: tsort [ indfil ]\n"
-
-#: misc-utils/tsort.c:154
-msgid "tsort: odd data count.\n"
-msgstr "tsort: ulige dataantal.\n"
-
-#: misc-utils/tsort.c:305
-msgid "tsort: cycle in data.\n"
-msgstr "tsort: cykliske data.\n"
-
-#: misc-utils/tsort.c:318
-msgid "tsort: internal error -- could not find cycle.\n"
-msgstr "tsort: intern fejl -- kunne ikke finde cyklus.\n"
-
-#: misc-utils/whereis.c:155
+#: misc-utils/whereis.c:157
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
 msgstr "whereis [ -sbmu ] [ -SBM katalog ... -f ] navn...\n"
 
-#: misc-utils/write.c:98
+#: misc-utils/write.c:99
 msgid "write: can't find your tty's name\n"
 msgstr "write: kunne ikke finde din tty's navn\n"
 
-#: misc-utils/write.c:109
+#: misc-utils/write.c:110
 msgid "write: you have write permission turned off.\n"
 msgstr "write: du har slået skriveadgang fra.\n"
 
-#: misc-utils/write.c:130
+#: misc-utils/write.c:131
 #, c-format
 msgid "write: %s is not logged in on %s.\n"
 msgstr "write: %s er ikke logget ind på %s.\n"
 
-#: misc-utils/write.c:138
+#: misc-utils/write.c:139
 #, c-format
 msgid "write: %s has messages disabled on %s\n"
 msgstr "write: %s har deaktiveret beskeder på %s\n"
 
-#: misc-utils/write.c:145
+#: misc-utils/write.c:146
 msgid "usage: write user [tty]\n"
 msgstr "brug: write bruger [tty]\n"
 
-#: misc-utils/write.c:244
+#: misc-utils/write.c:234
 #, c-format
 msgid "write: %s is not logged in\n"
 msgstr "write: %s er ikke logget på\n"
 
-#: misc-utils/write.c:253
+#: misc-utils/write.c:243
 #, c-format
 msgid "write: %s has messages disabled\n"
 msgstr "write: %s har deaktiveret beskeder\n"
 
-#: misc-utils/write.c:257
+#: misc-utils/write.c:247
 #, c-format
 msgid "write: %s is logged in more than once; writing to %s\n"
 msgstr "write: %s er logget på flere gange; skriver til %s\n"
 
-#: misc-utils/write.c:323
+#: misc-utils/write.c:313
 #, c-format
 msgid "Message from %s@%s (as %s) on %s at %s ..."
 msgstr "Besked fra %s@%s (som %s) på %s klokken %s ..."
 
-#: misc-utils/write.c:326
+#: misc-utils/write.c:316
 #, c-format
 msgid "Message from %s@%s on %s at %s ..."
 msgstr "Besked fra %s@%s på %s klokken %s ..."
@@ -7010,31 +7026,31 @@ msgstr "fejl ved skrivning af %s: %s"
 msgid "error changing mode of %s: %s\n"
 msgstr "fejl ved ændring af filmodus for %s: %s\n"
 
-#: mount/fstab.c:544
+#: mount/fstab.c:554
 #, c-format
 msgid "can't rename %s to %s: %s\n"
 msgstr "kunne ikke omdøbe %s til %s: %s\n"
 
-#: mount/lomount.c:78
+#: mount/lomount.c:79
 #, c-format
 msgid "loop: can't open device %s: %s\n"
 msgstr "loop: kunne ikke åbne enheden %s: %s\n"
 
-#: mount/lomount.c:84
+#: mount/lomount.c:85
 #, c-format
 msgid "loop: can't get info on device %s: %s\n"
 msgstr "loop: kunne ikke få oplysninger om enheden %s: %s\n"
 
-#: mount/lomount.c:89
+#: mount/lomount.c:90
 #, c-format
 msgid "%s: [%04x]:%ld (%s) offset %d, %s encryption\n"
 msgstr "%s: [%04x]:%ld (%s) forskydning %d, %s kryptering\n"
 
-#: mount/lomount.c:148
+#: mount/lomount.c:176
 msgid "mount: could not find any device /dev/loop#"
 msgstr "mount: kunne ikke finde nogen /dev/loop# enhed"
 
-#: mount/lomount.c:152
+#: mount/lomount.c:180
 msgid ""
 "mount: Could not find any loop device.\n"
 "       Maybe /dev/loop# has a wrong major number?"
@@ -7042,7 +7058,7 @@ msgstr ""
 "mount: Kunne ikke finde nogen loop-enhed.\n"
 "       Måske har /dev/loop# forkert hovednummer?"
 
-#: mount/lomount.c:156
+#: mount/lomount.c:184
 #, c-format
 msgid ""
 "mount: Could not find any loop device, and, according to %s,\n"
@@ -7053,7 +7069,7 @@ msgstr ""
 "       kender denne kerne ikke til loop-enheder.\n"
 "       (Hvis det er rigtigt, genoversæt kernen, eller 'insmod loop.o'.)"
 
-#: mount/lomount.c:162
+#: mount/lomount.c:190
 msgid ""
 "mount: Could not find any loop device. Maybe this kernel does not know\n"
 "       about the loop device (then recompile or `insmod loop.o'), or\n"
@@ -7064,53 +7080,53 @@ msgstr ""
 "loop.o'),\n"
 "       eller har /dev/loop# bare et forkert hovednummer?"
 
-#: mount/lomount.c:166
+#: mount/lomount.c:194
 msgid "mount: could not find any free loop device"
 msgstr "mount: kunne ikke finde nogen ledig loop-enhed"
 
-#: mount/lomount.c:197
+#: mount/lomount.c:224
 #, c-format
 msgid "Unsupported encryption type %s\n"
 msgstr "Ikke-understøttet krypteringstype %s\n"
 
-#: mount/lomount.c:211
+#: mount/lomount.c:238
 msgid "Couldn't lock into memory, exiting.\n"
 msgstr "Kunne ikke låse ind i hukommelsen, afslutter.\n"
 
-#: mount/lomount.c:231
+#: mount/lomount.c:257
 msgid "Init (up to 16 hex digits): "
 msgstr "Init (op til 16 hex-cifre): "
 
-#: mount/lomount.c:238
+#: mount/lomount.c:264
 #, c-format
 msgid "Non-hex digit '%c'.\n"
 msgstr "Ikke-hex ciffer '%c'.\n"
 
-#: mount/lomount.c:245
+#: mount/lomount.c:271
 #, c-format
 msgid "Don't know how to get key for encryption system %d\n"
 msgstr "Ved ikke, hvordan man får en nøgle til krypteringssystem %d\n"
 
-#: mount/lomount.c:261
+#: mount/lomount.c:287
 #, c-format
 msgid "set_loop(%s,%s,%d): success\n"
 msgstr "set_loop(%s,%s,%d): lykkedes\n"
 
-#: mount/lomount.c:272
+#: mount/lomount.c:298
 #, c-format
 msgid "loop: can't delete device %s: %s\n"
 msgstr "loop: kunne ikke slette enheden %s: %s\n"
 
-#: mount/lomount.c:282
+#: mount/lomount.c:308
 #, c-format
 msgid "del_loop(%s): success\n"
 msgstr "del_loop(%s): lykkedes\n"
 
-#: mount/lomount.c:290
+#: mount/lomount.c:316
 msgid "This mount was compiled without loop support. Please recompile.\n"
 msgstr "Denne 'mount' er oversat uden loop-understøttelse. Genoversæt venligst.\n"
 
-#: mount/lomount.c:327
+#: mount/lomount.c:353
 #, c-format
 msgid ""
 "usage:\n"
@@ -7123,11 +7139,11 @@ msgstr ""
 "  %s -d loop_enhed                                       # slet\n"
 "  %s [ -e kryptering ] [ -o forskydning ] loop_enhed fil # klargør\n"
 
-#: mount/lomount.c:345 mount/sundries.c:41 mount/sundries.c:56
+#: mount/lomount.c:371 mount/sundries.c:41 mount/sundries.c:56
 msgid "not enough memory"
 msgstr "ikke nok hukommelse"
 
-#: mount/lomount.c:416
+#: mount/lomount.c:442
 msgid "No loop support was available at compile time. Please recompile.\n"
 msgstr ""
 "Der var ingen loop-understøttelse tilgængelig ved oversættelsen. Genoversæt "
@@ -7158,158 +7174,158 @@ msgstr ""
 msgid "mount: bad UUID"
 msgstr "mount: ugyldig UUID"
 
-#: mount/mount.c:383
+#: mount/mount.c:378
 #, c-format
 msgid "mount: according to mtab, %s is already mounted on %s"
 msgstr "mount: ifølge mtab er %s allerede monteret som %s"
 
-#: mount/mount.c:387
+#: mount/mount.c:382
 #, c-format
 msgid "mount: according to mtab, %s is mounted on %s"
 msgstr "mount: ifølge mtab er %s monteret som %s"
 
-#: mount/mount.c:408
+#: mount/mount.c:403
 #, c-format
 msgid "mount: can't open %s for writing: %s"
 msgstr "mount: kunne ikke åbne %s for skrivning: %s"
 
-#: mount/mount.c:423 mount/mount.c:624
+#: mount/mount.c:418 mount/mount.c:619
 #, c-format
 msgid "mount: error writing %s: %s"
 msgstr "mount: fejl ved skrivning til %s: %s"
 
-#: mount/mount.c:430
+#: mount/mount.c:425
 #, c-format
 msgid "mount: error changing mode of %s: %s"
 msgstr "mount: fejl ved ændring af filmodus for %s: %s"
 
-#: mount/mount.c:475
+#: mount/mount.c:470
 #, c-format
 msgid "%s looks like swapspace - not mounted"
 msgstr "%s ligner et swap-område - ikke monteret"
 
-#: mount/mount.c:518
+#: mount/mount.c:513
 msgid "mount failed"
 msgstr "montering mislykkedes"
 
-#: mount/mount.c:520
+#: mount/mount.c:515
 #, c-format
 msgid "mount: only root can mount %s on %s"
 msgstr "mount: kun root kan montere %s som %s"
 
-#: mount/mount.c:548
+#: mount/mount.c:543
 msgid "mount: loop device specified twice"
 msgstr "mount: loop-enheden angivet to gange"
 
-#: mount/mount.c:553
+#: mount/mount.c:548
 msgid "mount: type specified twice"
 msgstr "mount: type angivet to gange"
 
-#: mount/mount.c:565
+#: mount/mount.c:560
 msgid "mount: skipping the setup of a loop device\n"
 msgstr "mount: dropper opsætning af loop-enhed\n"
 
-#: mount/mount.c:574
+#: mount/mount.c:569
 #, c-format
 msgid "mount: going to use the loop device %s\n"
 msgstr "mount: skal til at benytte loop-enheden %s\n"
 
-#: mount/mount.c:578
+#: mount/mount.c:573
 msgid "mount: failed setting up loop device\n"
 msgstr "mount: klargøring af loop-enhed mislykkedes\n"
 
-#: mount/mount.c:582
+#: mount/mount.c:577
 msgid "mount: setup loop device successfully\n"
 msgstr "mount: klargøringen af loop-enhed lykkedes\n"
 
-#: mount/mount.c:619
+#: mount/mount.c:614
 #, c-format
 msgid "mount: can't open %s: %s"
 msgstr "mount: kunne ikke åbne %s: %s"
 
-#: mount/mount.c:642
+#: mount/mount.c:637
 #, c-format
 msgid "mount: cannot not open %s for setting speed"
 msgstr "mount: kunne ikke åbne %s for at sætte hastigheden"
 
-#: mount/mount.c:645
+#: mount/mount.c:640
 #, c-format
 msgid "mount: cannot set speed: %s"
 msgstr "mount: kunne ikke sætte hastigheden: %s"
 
-#: mount/mount.c:706 mount/mount.c:1235
+#: mount/mount.c:701 mount/mount.c:1230
 #, c-format
 msgid "mount: cannot fork: %s"
 msgstr "mount: kunne ikke forgrene: %s"
 
-#: mount/mount.c:780
+#: mount/mount.c:775
 msgid "mount: this version was compiled without support for the type `nfs'"
 msgstr "mount: denne version blev oversat uden understøttelse for 'nfs'-typen"
 
-#: mount/mount.c:820
+#: mount/mount.c:815
 msgid "mount: failed with nfs mount version 4, trying 3..\n"
 msgstr "mount: montering af nfs version 4 mislykkedes, prøver version 3..\n"
 
-#: mount/mount.c:831
+#: mount/mount.c:826
 msgid "mount: I could not determine the filesystem type, and none was specified"
 msgstr "mount: Jeg kunne ikke bestemme filsystemtypen, og ingen var angivet"
 
-#: mount/mount.c:834
+#: mount/mount.c:829
 msgid "mount: you must specify the filesystem type"
 msgstr "mount: du skal angive filsystemtypen"
 
 #. should not happen
-#: mount/mount.c:837
+#: mount/mount.c:832
 msgid "mount: mount failed"
 msgstr "mount: montering mislykkedes"
 
-#: mount/mount.c:843 mount/mount.c:878
+#: mount/mount.c:838 mount/mount.c:873
 #, c-format
 msgid "mount: mount point %s is not a directory"
 msgstr "mount: monteringspunkt %s er ikke et katalog"
 
-#: mount/mount.c:845
+#: mount/mount.c:840
 msgid "mount: permission denied"
 msgstr "mount: adgang nægtet"
 
-#: mount/mount.c:847
+#: mount/mount.c:842
 msgid "mount: must be superuser to use mount"
 msgstr "mount: skal være superbruger for at bruge 'mount'"
 
 #. heuristic: if /proc/version exists, then probably proc is mounted
 #. proc mounted?
-#: mount/mount.c:851 mount/mount.c:855
+#: mount/mount.c:846 mount/mount.c:850
 #, c-format
 msgid "mount: %s is busy"
 msgstr "mount: %s er optaget"
 
 #. no
 #. yes, don't mention it
-#: mount/mount.c:857
+#: mount/mount.c:852
 msgid "mount: proc already mounted"
 msgstr "mount: proc er allerede monteret"
 
-#: mount/mount.c:859
+#: mount/mount.c:854
 #, c-format
 msgid "mount: %s already mounted or %s busy"
 msgstr "mount: enten er %s allerede monteret eller %s optaget"
 
-#: mount/mount.c:865
+#: mount/mount.c:860
 #, c-format
 msgid "mount: mount point %s does not exist"
 msgstr "mount: monteringspunkt %s eksisterer ikke"
 
-#: mount/mount.c:867
+#: mount/mount.c:862
 #, c-format
 msgid "mount: mount point %s is a symbolic link to nowhere"
 msgstr "mount: monteringspunkt %s er en symbolsk lænke ud i ingenting"
 
-#: mount/mount.c:870
+#: mount/mount.c:865
 #, c-format
 msgid "mount: special device %s does not exist"
 msgstr "mount: specialenhed %s eksisterer ikke"
 
-#: mount/mount.c:880
+#: mount/mount.c:875
 #, c-format
 msgid ""
 "mount: special device %s does not exist\n"
@@ -7318,60 +7334,60 @@ msgstr ""
 "mount: specialenhed %s eksisterer ikke\n"
 "       (en sti er ikke et katalog)\n"
 
-#: mount/mount.c:893
+#: mount/mount.c:888
 #, c-format
 msgid "mount: %s not mounted already, or bad option"
 msgstr "mount: %s ikke allerede monteret, eller forkert tilvalg"
 
-#: mount/mount.c:895
+#: mount/mount.c:890
 #, c-format
 msgid ""
 "mount: wrong fs type, bad option, bad superblock on %s,\n"
 "       or too many mounted file systems"
 msgstr ""
-"mount: forkert fs-type, forkert tilvalg, ugyldig superblok på %s,\n"
+"mount: forkert filsystemtype, forkert tilvalg, ugyldig superblok på %s,\n"
 "       eller for mange monterede filsystemer"
 
-#: mount/mount.c:929
+#: mount/mount.c:924
 msgid "mount table full"
 msgstr "monteringstabellen er fuld"
 
-#: mount/mount.c:931
+#: mount/mount.c:926
 #, c-format
 msgid "mount: %s: can't read superblock"
 msgstr "mount: %s: kunne ikke læse superblokken"
 
-#: mount/mount.c:935
+#: mount/mount.c:930
 #, c-format
 msgid "mount: %s: unknown device"
 msgstr "mount: %s: ukendt enhed"
 
-#: mount/mount.c:940
+#: mount/mount.c:935
 #, c-format
 msgid "mount: fs type %s not supported by kernel"
-msgstr "mount: fs-type %s understøttes ikke af kernen"
+msgstr "mount: filsystemtype %s understøttes ikke af kernen"
 
-#: mount/mount.c:952
+#: mount/mount.c:947
 #, c-format
 msgid "mount: probably you meant %s"
 msgstr "mount: du mente sikkert %s"
 
-#: mount/mount.c:954
+#: mount/mount.c:949
 msgid "mount: maybe you meant iso9660 ?"
 msgstr "mount: du mente måske iso9660 ?"
 
-#: mount/mount.c:957
+#: mount/mount.c:952
 #, c-format
 msgid "mount: %s has wrong device number or fs type %s not supported"
-msgstr "mount: %s har forkert enhedsnummer eller fs-typen %s understøttes ikke"
+msgstr "mount: %s har forkert enhedsnummer eller filsystemtypen %s understøttes ikke"
 
 #. strange ...
-#: mount/mount.c:963
+#: mount/mount.c:958
 #, c-format
 msgid "mount: %s is not a block device, and stat fails?"
 msgstr "mount: %s er ikke en blokenhed, og 'stat' fejler?"
 
-#: mount/mount.c:965
+#: mount/mount.c:960
 #, c-format
 msgid ""
 "mount: the kernel does not recognize %s as a block device\n"
@@ -7380,82 +7396,82 @@ msgstr ""
 "mount: kernen genkender ikke %s som en blokenhed\n"
 "       (måske hjælper 'insmod enheds-driver'?)"
 
-#: mount/mount.c:968
+#: mount/mount.c:963
 #, c-format
 msgid "mount: %s is not a block device (maybe try `-o loop'?)"
 msgstr "mount: %s er ikke en blokenhed (brug eventuelt '-o loop'?)"
 
-#: mount/mount.c:971
+#: mount/mount.c:966
 #, c-format
 msgid "mount: %s is not a block device"
 msgstr "mount: %s er ikke en blokenhed"
 
-#: mount/mount.c:974
+#: mount/mount.c:969
 #, c-format
 msgid "mount: %s is not a valid block device"
 msgstr "mount: %s er ikke en gyldig blokenhed"
 
 #. pre-linux 1.1.38, 1.1.41 and later
 #. linux 1.1.38 and later
-#: mount/mount.c:977
+#: mount/mount.c:972
 msgid "block device "
 msgstr "blokenhed "
 
-#: mount/mount.c:979
+#: mount/mount.c:974
 #, c-format
 msgid "mount: cannot mount %s%s read-only"
 msgstr "mount: kunne ikke montere %s%s skrivebeskyttet"
 
-#: mount/mount.c:983
+#: mount/mount.c:978
 #, c-format
 msgid "mount: %s%s is write-protected but explicit `-w' flag given"
 msgstr "mount: %s%s er skrivebeskyttet, men eksplicit '-w'-tilvalg blev givet"
 
-#: mount/mount.c:999
+#: mount/mount.c:994
 #, c-format
 msgid "mount: %s%s is write-protected, mounting read-only"
 msgstr "mount: %s%s er skrivebeskyttet, monterer skrivebeskyttet"
 
-#: mount/mount.c:1088
+#: mount/mount.c:1083
 #, c-format
 msgid "mount: going to mount %s by %s\n"
 msgstr "mount: vil montere %s som %s\n"
 
-#: mount/mount.c:1089
+#: mount/mount.c:1084
 msgid "UUID"
 msgstr "UUID"
 
-#: mount/mount.c:1089
+#: mount/mount.c:1084
 msgid "label"
 msgstr "mærke"
 
-#: mount/mount.c:1091 mount/mount.c:1463
+#: mount/mount.c:1086 mount/mount.c:1464
 msgid "mount: no such partition found"
 msgstr "mount: fandt ingen sådan partition"
 
-#: mount/mount.c:1099
+#: mount/mount.c:1094
 msgid "mount: no type was given - I'll assume nfs because of the colon\n"
 msgstr "mount: ingen type blev angive - Jeg antager nfs på grund af kolonnet\n"
 
 #.
 #. * Retry in the background.
 #.
-#: mount/mount.c:1115
+#: mount/mount.c:1110
 #, c-format
 msgid "mount: backgrounding \"%s\"\n"
 msgstr "mount: kører \"%s\" i baggrunden\n"
 
-#: mount/mount.c:1126
+#: mount/mount.c:1121
 #, c-format
 msgid "mount: giving up \"%s\"\n"
 msgstr "mount: opgiver \"%s\"\n"
 
-#: mount/mount.c:1186
+#: mount/mount.c:1181
 #, c-format
 msgid "mount: %s already mounted on %s\n"
 msgstr "mount: %s er allerede monteret som %s\n"
 
-#: mount/mount.c:1303
+#: mount/mount.c:1299
 msgid ""
 "Usage: mount -V                 : print version\n"
 "       mount -h                 : print this help\n"
@@ -7474,8 +7490,6 @@ msgid ""
 "       mount --bind olddir newdir\n"
 "A device can be given by name, say /dev/hda1 or /dev/cdrom,\n"
 "or by label, using  -L label  or by uuid, using  -U uuid .\n"
-"Union or stack mounts are specified using one of\n"
-"       --replace, --after, --before, --over\n"
 "Other options: [-nfFrsvw] [-o options].\n"
 "For many more details, say  man 8 mount .\n"
 msgstr ""
@@ -7483,10 +7497,10 @@ msgstr ""
 "       mount -h                 : vis denne hjælp\n"
 "       mount                    : vis monterede filsystemer\n"
 "       mount -l                 : det samme, incl. mærkater\n"
-"Tilvalgene ovenfor viser kun data. De næste er vedrører montering.\n"
+"Tilvalgene ovenfor giver information. De næste vedrører montering.\n"
 "Kommandoen lyder 'mount [-t fstype] noget et-sted'.\n"
 "Detaljer, der står i /etc/fstab, kan udelades.\n"
-"       mount -a                 : montér alt, som beskrives i /etc/fstab\n"
+"       mount -a                 : montér alt, der beskrives i /etc/fstab\n"
 "       mount enhed              : montér enhed på dets standardplads\n"
 "       mount katalog            : montér enheden, tilhørende katalog\n"
 "       mount -t type enh kat    : almindelig mount-kommando\n"
@@ -7496,36 +7510,33 @@ msgstr ""
 "       mount --bind glkat nytkat\n"
 "En enhed kan angives ved navn, f.eks. /dev/hda1 eller /dev/cdrom,\n"
 "eller ved mærkat med -L mærkat, eller ved uuid med -U uuid .\n"
-"Samlede monteringer eller stak-montering angives med én af:\n"
-"       --replace, --after, --before, --over\n"
-"       (udskift)  (efter)   (før)    (ovenpå)\n"
 "Andre tilvalg: [-nfFrsvw] [-o tilvalg].\n"
 "Læs mange flere detaljer med 'man 8 mount'.\n"
 
-#: mount/mount.c:1447
+#: mount/mount.c:1448
 msgid "mount: only root can do that"
 msgstr "mount: dette kan kun root gøre"
 
-#: mount/mount.c:1452
+#: mount/mount.c:1453
 #, c-format
 msgid "mount: no %s found - creating it..\n"
 msgstr "mount: ingen %s fundet - opretter den..\n"
 
-#: mount/mount.c:1465
+#: mount/mount.c:1466
 #, c-format
 msgid "mount: mounting %s\n"
 msgstr "mount: monterer %s\n"
 
-#: mount/mount.c:1474
+#: mount/mount.c:1475
 msgid "not mounted anything"
 msgstr "intet er monteret"
 
-#: mount/mount.c:1489
+#: mount/mount.c:1490
 #, c-format
 msgid "mount: cannot find %s in %s"
 msgstr "mount: kunne ikke finde %s i %s"
 
-#: mount/mount.c:1504
+#: mount/mount.c:1505
 #, c-format
 msgid "mount: can't find %s in %s or %s"
 msgstr "mount: kunne ikke finde %s i %s eller %s"
@@ -7549,7 +7560,7 @@ msgstr "       og det ser ud til, at dette er swapomr
 msgid "       I will try type %s\n"
 msgstr "       Jeg vil forsøge type %s\n"
 
-#: mount/mount_guess_fstype.c:386
+#: mount/mount_guess_fstype.c:398
 #, c-format
 msgid "Trying %s\n"
 msgstr "Forsøger %s\n"
@@ -7581,16 +7592,16 @@ msgstr "mount: voldsomt langt tilvalgsparameter\n"
 
 #: mount/nfsmount.c:375
 msgid "Warning: Unrecognized proto= option.\n"
-msgstr "Warning: Ukendt proto= tilvalg.\n"
+msgstr "Advarsel: Ukendt proto= tilvalg.\n"
 
 #: mount/nfsmount.c:382
 msgid "Warning: Option namlen is not supported.\n"
-msgstr "Warning: Tilvalget 'namlen' understøttes ikke.\n"
+msgstr "Advarsel: Tilvalget 'namlen' understøttes ikke.\n"
 
 #: mount/nfsmount.c:386
 #, c-format
 msgid "unknown nfs mount parameter: %s=%d\n"
-msgstr "ukendt nfs-montageparameter: %s=%d\n"
+msgstr "ukendt NFS-montageparameter: %s=%d\n"
 
 #: mount/nfsmount.c:421
 msgid "Warning: option nolock is not supported.\n"
@@ -7599,41 +7610,41 @@ msgstr "Advarsel: tilvalget 'nolock' underst
 #: mount/nfsmount.c:426
 #, c-format
 msgid "unknown nfs mount option: %s%s\n"
-msgstr "ukendt nfs-montageparameter: %s%s\n"
+msgstr "ukendt NFS-montageparameter: %s%s\n"
 
 #: mount/nfsmount.c:523
 msgid "mount: got bad hp->h_length?\n"
 msgstr "mount: fik ugyldig hp->h_length?\n"
 
-#: mount/nfsmount.c:699
+#: mount/nfsmount.c:709
 msgid "NFS over TCP is not supported.\n"
 msgstr "NFS via TCP understøttes ikke.\n"
 
-#: mount/nfsmount.c:706
+#: mount/nfsmount.c:716
 msgid "nfs socket"
-msgstr "nfs-sokkel"
+msgstr "NFS-sokkel"
 
-#: mount/nfsmount.c:710
+#: mount/nfsmount.c:720
 msgid "nfs bindresvport"
 msgstr "nfs bindresvport"
 
-#: mount/nfsmount.c:721
+#: mount/nfsmount.c:731
 msgid "used portmapper to find NFS port\n"
 msgstr "benyttede portmapper til at finde NFS-port\n"
 
-#: mount/nfsmount.c:725
+#: mount/nfsmount.c:735
 #, c-format
 msgid "using port %d for nfs deamon\n"
-msgstr "bruger port %d til nfs-dæmonen\n"
+msgstr "bruger port %d til NFS-dæmonen\n"
 
-#: mount/nfsmount.c:736
+#: mount/nfsmount.c:746
 msgid "nfs connect"
-msgstr "nfs-forbindelse"
+msgstr "NFS-forbindelse"
 
-#: mount/nfsmount.c:823
+#: mount/nfsmount.c:833
 #, c-format
 msgid "unknown nfs status return value: %d"
-msgstr "ukendt nfs-statusværdi: %d"
+msgstr "ukendt NFS-statusværdi: %d"
 
 #: mount/sundries.c:66
 msgid "bug in xstrndup call"
@@ -7681,91 +7692,91 @@ msgstr "%s: kunne ikke 
 msgid "umount: compiled without support for -f\n"
 msgstr "umount: oversat uden understøttelse af tilvalget -f\n"
 
-#: mount/umount.c:125
+#: mount/umount.c:128
 #, c-format
 msgid "host: %s, directory: %s\n"
 msgstr "vært: %s, katalog: %s\n"
 
-#: mount/umount.c:145
+#: mount/umount.c:148
 #, c-format
 msgid "umount: can't get address for %s\n"
 msgstr "umount: kunne ikke få adressen på %s\n"
 
-#: mount/umount.c:150
+#: mount/umount.c:153
 msgid "umount: got bad hostp->h_length\n"
 msgstr "umount: fik ugyldig hostp->h_length\n"
 
-#: mount/umount.c:188
+#: mount/umount.c:191
 #, c-format
 msgid "umount: %s: invalid block device"
 msgstr "umount: %s: ugyldig blokenhed"
 
-#: mount/umount.c:190
+#: mount/umount.c:193
 #, c-format
 msgid "umount: %s: not mounted"
 msgstr "umount: %s: ikke monteret"
 
-#: mount/umount.c:192
+#: mount/umount.c:195
 #, c-format
 msgid "umount: %s: can't write superblock"
 msgstr "umount: %s: kunne ikke skrive superblok"
 
 #. Let us hope fstab has a line "proc /proc ..."
 #. and not "none /proc ..."
-#: mount/umount.c:196
+#: mount/umount.c:199
 #, c-format
 msgid "umount: %s: device is busy"
 msgstr "umount: %s: enhed optaget"
 
-#: mount/umount.c:198
+#: mount/umount.c:201
 #, c-format
 msgid "umount: %s: not found"
 msgstr "umount: %s: ikke fundet"
 
-#: mount/umount.c:200
+#: mount/umount.c:203
 #, c-format
 msgid "umount: %s: must be superuser to umount"
 msgstr "umount: %s: skal være superbruger for at afmontere"
 
-#: mount/umount.c:202
+#: mount/umount.c:205
 #, c-format
 msgid "umount: %s: block devices not permitted on fs"
 msgstr "umount: %s: blokenheder tillades ikke på dette fs"
 
-#: mount/umount.c:204
+#: mount/umount.c:207
 #, c-format
 msgid "umount: %s: %s"
 msgstr "umount: %s: %s"
 
-#: mount/umount.c:248
+#: mount/umount.c:252
 msgid "no umount2, trying umount...\n"
 msgstr "ingen umount2, forsøger umount...\n"
 
-#: mount/umount.c:261
+#: mount/umount.c:268
 #, c-format
 msgid "could not umount %s - trying %s instead\n"
 msgstr "kunne ikke afmontere %s med umount - forsøger %s i stedet\n"
 
-#: mount/umount.c:279
+#: mount/umount.c:286
 #, c-format
 msgid "umount: %s busy - remounted read-only\n"
 msgstr "umount: %s optaget - genmonteret skrivebeskyttet\n"
 
-#: mount/umount.c:289
+#: mount/umount.c:296
 #, c-format
 msgid "umount: could not remount %s read-only\n"
 msgstr "umount: kunne ikke montere %s skrivebeskyttet\n"
 
-#: mount/umount.c:297
+#: mount/umount.c:305
 #, c-format
 msgid "%s umounted\n"
 msgstr "%s afmonteret\n"
 
-#: mount/umount.c:381
+#: mount/umount.c:392
 msgid "umount: cannot find list of filesystems to unmount"
 msgstr "umount: kunne ikke finde listen over filsystemer, der skulle afmonteres"
 
-#: mount/umount.c:410
+#: mount/umount.c:421
 msgid ""
 "Usage: umount [-hV]\n"
 "       umount -a [-f] [-r] [-n] [-v] [-t vfstypes]\n"
@@ -7775,55 +7786,55 @@ msgstr ""
 "      umount -a [-f] [-r] [-n] [-v] [-t vfstyper]\n"
 "      umount [-f] [-r] [-n] [-v] speciel | node...\n"
 
-#: mount/umount.c:471
+#: mount/umount.c:486
 msgid "umount: only root can do that"
 msgstr "umount: dette kan kun root gøre"
 
-#: mount/umount.c:486
+#: mount/umount.c:501
 #, c-format
 msgid "Trying to umount %s\n"
 msgstr "Forsøger at afmontere %s\n"
 
-#: mount/umount.c:490
+#: mount/umount.c:505
 #, c-format
 msgid "Could not find %s in mtab\n"
 msgstr "Kunne ikke finde %s i mtab\n"
 
-#: mount/umount.c:494
+#: mount/umount.c:509
 #, c-format
 msgid "umount: %s is not mounted (according to mtab)"
 msgstr "umount: %s er ikke monteret (ifølge mtab)"
 
-#: mount/umount.c:496
+#: mount/umount.c:511
 #, c-format
 msgid "umount: it seems %s is mounted multiple times"
 msgstr "umount: det lader til, at %s er monteret flere gange"
 
-#: mount/umount.c:508
+#: mount/umount.c:523
 #, c-format
 msgid "umount: %s is not in the fstab (and you are not root)"
 msgstr "umount: %s er ikke i fstab (og du er ikke root)"
 
-#: mount/umount.c:511
+#: mount/umount.c:526
 #, c-format
 msgid "umount: %s mount disagrees with the fstab"
 msgstr "umount: %s montering stemmer ikke med fstab"
 
-#: mount/umount.c:532
+#: mount/umount.c:547
 #, c-format
 msgid "umount: only root can unmount %s from %s"
 msgstr "umount: kun root kan afmontere %s fra %s"
 
-#: mount/umount.c:543
+#: mount/umount.c:558
 #, c-format
 msgid "umount: only %s can unmount %s from %s"
 msgstr "umount: kun %s kan afmontere %s fra %s"
 
-#: sys-utils/ctrlaltdel.c:26
+#: sys-utils/ctrlaltdel.c:27
 msgid "You must be root to set the Ctrl-Alt-Del behaviour.\n"
 msgstr "Du skal være root for at sætte Ctrl-Alt-Del-opførslen.\n"
 
-#: sys-utils/ctrlaltdel.c:41
+#: sys-utils/ctrlaltdel.c:42
 msgid "Usage: ctrlaltdel hard|soft\n"
 msgstr "Brug: ctrlaltdel hard|soft\n"
 
@@ -7845,7 +7856,7 @@ msgid ""
 msgstr ""
 "Filen %s, For grænseværdi %lu og tidsoverløbsværdi %lu, Maksimale antal tegn "
 "i fifo var %d,\n"
-"og den maksimale overførsleshastighed var %f tegn/sekund\n"
+"og den maksimale overførselshastighed var %f tegn/sekund\n"
 
 #: sys-utils/cytune.c:196
 #, c-format
@@ -8058,7 +8069,7 @@ msgstr ""
 msgid "-i id [-s -q -m] : details on resource identified by id\n"
 msgstr "-i id [-s -q -m] : detaljer om ressourcen angivet ved id\n"
 
-#: sys-utils/ipcs.c:268 sys-utils/ipcs.c:487
+#: sys-utils/ipcs.c:268 sys-utils/ipcs.c:491
 msgid "kernel not configured for shared memory\n"
 msgstr "kernen er ikke konfigureret til brug af delt hukommelse\n"
 
@@ -8119,36 +8130,36 @@ msgstr "Swap pr
 
 #: sys-utils/ipcs.c:300
 msgid "------ Shared Memory Segment Creators/Owners --------\n"
-msgstr "---- Delte hukommelsessgementers skabere/ejere ------\n"
+msgstr "---- Delte hukommelsessegmenters skabere/ejere ------\n"
 
-#: sys-utils/ipcs.c:301 sys-utils/ipcs.c:412 sys-utils/ipcs.c:510
+#: sys-utils/ipcs.c:301 sys-utils/ipcs.c:415 sys-utils/ipcs.c:514
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-10s\n"
 msgstr "%-10s%-10s%-10s%-10s%-10s%-10s\n"
 
 #: sys-utils/ipcs.c:302 sys-utils/ipcs.c:308 sys-utils/ipcs.c:313
-#: sys-utils/ipcs.c:318 sys-utils/ipcs.c:419
+#: sys-utils/ipcs.c:318 sys-utils/ipcs.c:422
 msgid "shmid"
 msgstr "dthid"
 
-#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:319 sys-utils/ipcs.c:413
-#: sys-utils/ipcs.c:428 sys-utils/ipcs.c:511 sys-utils/ipcs.c:528
+#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:319 sys-utils/ipcs.c:416
+#: sys-utils/ipcs.c:431 sys-utils/ipcs.c:515 sys-utils/ipcs.c:532
 msgid "perms"
 msgstr "rtghd"
 
-#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:413 sys-utils/ipcs.c:511
+#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:416 sys-utils/ipcs.c:515
 msgid "cuid"
 msgstr "cuid"
 
-#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:413 sys-utils/ipcs.c:511
+#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:416 sys-utils/ipcs.c:515
 msgid "cgid"
 msgstr "cgid"
 
-#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:413 sys-utils/ipcs.c:511
+#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:416 sys-utils/ipcs.c:515
 msgid "uid"
 msgstr "uid"
 
-#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:511
+#: sys-utils/ipcs.c:302 sys-utils/ipcs.c:515
 msgid "gid"
 msgstr "gid"
 
@@ -8162,8 +8173,8 @@ msgid "%-10s%-10s  %-20s%-20s%-20s\n"
 msgstr "%-10s%-10s  %-20s%-20s%-20s\n"
 
 #: sys-utils/ipcs.c:308 sys-utils/ipcs.c:313 sys-utils/ipcs.c:319
-#: sys-utils/ipcs.c:419 sys-utils/ipcs.c:428 sys-utils/ipcs.c:517
-#: sys-utils/ipcs.c:522 sys-utils/ipcs.c:528
+#: sys-utils/ipcs.c:422 sys-utils/ipcs.c:431 sys-utils/ipcs.c:521
+#: sys-utils/ipcs.c:526 sys-utils/ipcs.c:532
 msgid "owner"
 msgstr "ejer"
 
@@ -8183,7 +8194,7 @@ msgstr "
 msgid "------ Shared Memory Creator/Last-op --------\n"
 msgstr "----- Delt hukommelse skaber/Sidste-op ------\n"
 
-#: sys-utils/ipcs.c:313 sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:313 sys-utils/ipcs.c:526
 #, c-format
 msgid "%-10s%-10s%-10s%-10s\n"
 msgstr "%-10s%-10s%-10s%-10s\n"
@@ -8205,7 +8216,7 @@ msgstr "----- Delte hukommelsessegmenter -----\n"
 msgid "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
 msgstr "%-10s%-10s%-10s%-10s%-10s%-10s%-12s\n"
 
-#: sys-utils/ipcs.c:318 sys-utils/ipcs.c:428 sys-utils/ipcs.c:527
+#: sys-utils/ipcs.c:318 sys-utils/ipcs.c:431 sys-utils/ipcs.c:531
 msgid "key"
 msgstr "nøgle"
 
@@ -8217,207 +8228,209 @@ msgstr "byte"
 msgid "nattch"
 msgstr "atlkbl"
 
-#: sys-utils/ipcs.c:319 sys-utils/ipcs.c:428
+#: sys-utils/ipcs.c:319 sys-utils/ipcs.c:431
 msgid "status"
 msgstr "status"
 
-#: sys-utils/ipcs.c:339 sys-utils/ipcs.c:340 sys-utils/ipcs.c:341
-#: sys-utils/ipcs.c:449 sys-utils/ipcs.c:450 sys-utils/ipcs.c:548
-#: sys-utils/ipcs.c:549 sys-utils/ipcs.c:550
-msgid "Not set"
-msgstr "Ej sat"
+#: sys-utils/ipcs.c:340 sys-utils/ipcs.c:342 sys-utils/ipcs.c:344
+#: sys-utils/ipcs.c:452 sys-utils/ipcs.c:454 sys-utils/ipcs.c:552
+#: sys-utils/ipcs.c:554 sys-utils/ipcs.c:556 sys-utils/ipcs.c:609
+#: sys-utils/ipcs.c:611 sys-utils/ipcs.c:641 sys-utils/ipcs.c:643
+#: sys-utils/ipcs.c:645 sys-utils/ipcs.c:669
+msgid "Not set\n"
+msgstr "Ikke sat\n"
 
-#: sys-utils/ipcs.c:366
+#: sys-utils/ipcs.c:369
 msgid "dest"
 msgstr "mål"
 
-#: sys-utils/ipcs.c:367
+#: sys-utils/ipcs.c:370
 msgid "locked"
 msgstr "låst"
 
-#: sys-utils/ipcs.c:387
+#: sys-utils/ipcs.c:390
 msgid "kernel not configured for semaphores\n"
 msgstr "kernen ikke konfigureret til semaforer\n"
 
-#: sys-utils/ipcs.c:393
+#: sys-utils/ipcs.c:396
 msgid "------ Semaphore Limits --------\n"
 msgstr "-------- Semaforgrænser  -------\n"
 
-#: sys-utils/ipcs.c:397
+#: sys-utils/ipcs.c:400
 #, c-format
 msgid "max number of arrays = %d\n"
 msgstr "maks antal tabeller = %d\n"
 
-#: sys-utils/ipcs.c:398
+#: sys-utils/ipcs.c:401
 #, c-format
 msgid "max semaphores per array = %d\n"
 msgstr "maks semaforer per tabel = %d\n"
 
-#: sys-utils/ipcs.c:399
+#: sys-utils/ipcs.c:402
 #, c-format
 msgid "max semaphores system wide = %d\n"
 msgstr "maks semaforer i hele systemet = %d\n"
 
-#: sys-utils/ipcs.c:400
+#: sys-utils/ipcs.c:403
 #, c-format
 msgid "max ops per semop call = %d\n"
 msgstr "maks ops per semop-kald = %d\n"
 
-#: sys-utils/ipcs.c:401
+#: sys-utils/ipcs.c:404
 #, c-format
 msgid "semaphore max value = %d\n"
 msgstr "semafor maksværdi = %d\n"
 
-#: sys-utils/ipcs.c:405
+#: sys-utils/ipcs.c:408
 msgid "------ Semaphore Status --------\n"
 msgstr "-------- Semaforstatus  --------\n"
 
-#: sys-utils/ipcs.c:406
+#: sys-utils/ipcs.c:409
 #, c-format
 msgid "used arrays = %d\n"
 msgstr "brugte tabeller = %d\n"
 
-#: sys-utils/ipcs.c:407
+#: sys-utils/ipcs.c:410
 #, c-format
 msgid "allocated semaphores = %d\n"
 msgstr "allokerede semaforer = %d\n"
 
-#: sys-utils/ipcs.c:411
+#: sys-utils/ipcs.c:414
 msgid "------ Semaphore Arrays Creators/Owners --------\n"
 msgstr "------- Semafortabellers skabere/ejere ---------\n"
 
-#: sys-utils/ipcs.c:413 sys-utils/ipcs.c:428
+#: sys-utils/ipcs.c:416 sys-utils/ipcs.c:431
 msgid "semid"
 msgstr "semid"
 
-#: sys-utils/ipcs.c:417
+#: sys-utils/ipcs.c:420
 msgid "------ Shared Memory Operation/Change Times --------\n"
 msgstr "---- Delt hukommelse operations-/ændringstider -----\n"
 
-#: sys-utils/ipcs.c:418
+#: sys-utils/ipcs.c:421
 #, c-format
 msgid "%-8s%-10s  %-26.24s %-26.24s\n"
 msgstr "%-8s%-10s  %-26.24s %-26.24s\n"
 
-#: sys-utils/ipcs.c:419
+#: sys-utils/ipcs.c:422
 msgid "last-op"
 msgstr "sidstop"
 
-#: sys-utils/ipcs.c:419
+#: sys-utils/ipcs.c:422
 msgid "last-changed"
 msgstr "sidst-ændret"
 
-#: sys-utils/ipcs.c:426
+#: sys-utils/ipcs.c:429
 msgid "------ Semaphore Arrays --------\n"
 msgstr "-------- Semafortabeller --------\n"
 
-#: sys-utils/ipcs.c:427
+#: sys-utils/ipcs.c:430
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s%-12s\n"
 msgstr "%-10s%-10s%-10s%-10s%-10s%-12s\n"
 
-#: sys-utils/ipcs.c:428
+#: sys-utils/ipcs.c:431
 msgid "nsems"
 msgstr "nsemf"
 
-#: sys-utils/ipcs.c:495
+#: sys-utils/ipcs.c:499
 msgid "------ Messages: Limits --------\n"
 msgstr "------ Beskeder: Grænser -------\n"
 
-#: sys-utils/ipcs.c:496
+#: sys-utils/ipcs.c:500
 #, c-format
 msgid "max queues system wide = %d\n"
 msgstr "maks køer på systemet = %d\n"
 
-#: sys-utils/ipcs.c:497
+#: sys-utils/ipcs.c:501
 #, c-format
 msgid "max size of message (bytes) = %d\n"
 msgstr "maks-størrelse af besked (byte) = %d\n"
 
-#: sys-utils/ipcs.c:498
+#: sys-utils/ipcs.c:502
 #, c-format
 msgid "default max size of queue (bytes) = %d\n"
 msgstr "standard maks-størrelse af kø (byte) = %d\n"
 
-#: sys-utils/ipcs.c:502
+#: sys-utils/ipcs.c:506
 msgid "------ Messages: Status --------\n"
 msgstr "------ Beskeder: Status --------\n"
 
-#: sys-utils/ipcs.c:503
+#: sys-utils/ipcs.c:507
 #, c-format
 msgid "allocated queues = %d\n"
 msgstr "allokerede køer= %d\n"
 
-#: sys-utils/ipcs.c:504
+#: sys-utils/ipcs.c:508
 #, c-format
 msgid "used headers = %d\n"
 msgstr "brugte hoveder = %d\n"
 
-#: sys-utils/ipcs.c:505
+#: sys-utils/ipcs.c:509
 #, c-format
 msgid "used space = %d bytes\n"
 msgstr "brugt plads = %d byte\n"
 
-#: sys-utils/ipcs.c:509
+#: sys-utils/ipcs.c:513
 msgid "------ Message Queues: Creators/Owners --------\n"
 msgstr "--------- Beskedkøer: skabere/ejere  ----------\n"
 
-#: sys-utils/ipcs.c:511 sys-utils/ipcs.c:517 sys-utils/ipcs.c:522
-#: sys-utils/ipcs.c:527
+#: sys-utils/ipcs.c:515 sys-utils/ipcs.c:521 sys-utils/ipcs.c:526
+#: sys-utils/ipcs.c:531
 msgid "msqid"
 msgstr "bkøid"
 
-#: sys-utils/ipcs.c:515
+#: sys-utils/ipcs.c:519
 msgid "------ Message Queues Send/Recv/Change Times --------\n"
 msgstr "------ Beskedkøer send/modtag/ændrings-tider --------\n"
 
-#: sys-utils/ipcs.c:516
+#: sys-utils/ipcs.c:520
 #, c-format
 msgid "%-8s%-10s  %-20s%-20s%-20s\n"
 msgstr "%-8s%-10s  %-20s%-20s%-20s\n"
 
-#: sys-utils/ipcs.c:517
+#: sys-utils/ipcs.c:521
 msgid "send"
 msgstr "send"
 
-#: sys-utils/ipcs.c:517
+#: sys-utils/ipcs.c:521
 msgid "recv"
 msgstr "modt"
 
-#: sys-utils/ipcs.c:517
+#: sys-utils/ipcs.c:521
 msgid "change"
 msgstr "ændrng"
 
-#: sys-utils/ipcs.c:521
+#: sys-utils/ipcs.c:525
 msgid "------ Message Queues PIDs --------\n"
 msgstr "------ Beskedkøers PIDer  ---------\n"
 
-#: sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:526
 msgid "lspid"
 msgstr "lspid"
 
-#: sys-utils/ipcs.c:522
+#: sys-utils/ipcs.c:526
 msgid "lrpid"
 msgstr "lrpid"
 
-#: sys-utils/ipcs.c:526
+#: sys-utils/ipcs.c:530
 msgid "------ Message Queues --------\n"
 msgstr "-------- Beskedkøer ----------\n"
 
-#: sys-utils/ipcs.c:527
+#: sys-utils/ipcs.c:531
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-12s%-12s\n"
 msgstr "%-10s%-10s%-10s%-10s%-12s%-12s\n"
 
-#: sys-utils/ipcs.c:528
+#: sys-utils/ipcs.c:532
 msgid "used-bytes"
 msgstr "brugte-byte"
 
-#: sys-utils/ipcs.c:528
+#: sys-utils/ipcs.c:532
 msgid "messages"
 msgstr "beskeder"
 
-#: sys-utils/ipcs.c:594
+#: sys-utils/ipcs.c:600
 #, c-format
 msgid ""
 "\n"
@@ -8426,41 +8439,37 @@ msgstr ""
 "\n"
 "Delt hukommelsessegment dhsid=%d\n"
 
-#: sys-utils/ipcs.c:595
+#: sys-utils/ipcs.c:601
 #, c-format
 msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
 msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\n"
 
-#: sys-utils/ipcs.c:597
+#: sys-utils/ipcs.c:603
 #, c-format
 msgid "mode=%#o\taccess_perms=%#o\n"
 msgstr "modus=%#o\tadgangs_rett=%#o\n"
 
-#: sys-utils/ipcs.c:599
+#: sys-utils/ipcs.c:605
 #, c-format
 msgid "bytes=%d\tlpid=%d\tcpid=%d\tnattch=%ld\n"
 msgstr "byte=%d\tlpid=%d\tcpid=%d\tatilkbl=%ld\n"
 
-#: sys-utils/ipcs.c:602
+#: sys-utils/ipcs.c:608
 #, c-format
 msgid "att_time=%s"
 msgstr "tilk_tid=%s"
 
-#: sys-utils/ipcs.c:603 sys-utils/ipcs.c:605 sys-utils/ipcs.c:661
-msgid "Not set\n"
-msgstr "Ikke sat\n"
-
-#: sys-utils/ipcs.c:604
+#: sys-utils/ipcs.c:610
 #, c-format
 msgid "det_time=%s"
 msgstr "frak_tid=%s"
 
-#: sys-utils/ipcs.c:606
+#: sys-utils/ipcs.c:612 sys-utils/ipcs.c:644
 #, c-format
 msgid "change_time=%s"
 msgstr "ændrings_tid=%s"
 
-#: sys-utils/ipcs.c:622
+#: sys-utils/ipcs.c:628
 #, c-format
 msgid ""
 "\n"
@@ -8469,26 +8478,27 @@ msgstr ""
 "\n"
 "Beskedkø bkøid=%d\n"
 
-#: sys-utils/ipcs.c:623
+#: sys-utils/ipcs.c:629
 #, c-format
 msgid "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmode=%#o\n"
 msgstr "uid=%d\tgid=%d\tcuid=%d\tcgid=%d\tmodus=%#o\n"
 
-#: sys-utils/ipcs.c:625
+#: sys-utils/ipcs.c:631
 #, c-format
 msgid "cbytes=%ld\tqbytes=%ld\tqnum=%ld\tlspid=%d\tlrpid=%d\n"
 msgstr "cbyte=%ld\tkøbyte=%ld\tkant=%ld\tlspid=%d\tlrpid=%d\n"
 
-#: sys-utils/ipcs.c:634
+#: sys-utils/ipcs.c:640
 #, c-format
-msgid "send_time=%srcv_time=%schange_time=%s"
-msgstr "send_tid=%smodt_tid=%sændrings_tid=%s"
+msgid "send_time=%s"
+msgstr "send_tid=%s"
 
-#: sys-utils/ipcs.c:635 sys-utils/ipcs.c:636 sys-utils/ipcs.c:637
-msgid "Not Set\n"
-msgstr "Ikke sat\n"
+#: sys-utils/ipcs.c:642
+#, c-format
+msgid "rcv_time=%s"
+msgstr "modt_tid= %s"
 
-#: sys-utils/ipcs.c:654
+#: sys-utils/ipcs.c:662
 #, c-format
 msgid ""
 "\n"
@@ -8497,120 +8507,121 @@ msgstr ""
 "\n"
 "Semafortabel semid=%d\n"
 
-#: sys-utils/ipcs.c:655
+#: sys-utils/ipcs.c:663
 #, c-format
 msgid "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
 msgstr "uid=%d\t gid=%d\t cuid=%d\t cgid=%d\n"
 
-#: sys-utils/ipcs.c:657
+#: sys-utils/ipcs.c:665
 #, c-format
 msgid "mode=%#o, access_perms=%#o\n"
 msgstr "modus=%#o, adgangs_rett=%#o\n"
 
-#: sys-utils/ipcs.c:659
+#: sys-utils/ipcs.c:667
 #, c-format
 msgid "nsems = %ld\n"
 msgstr "nsign = %ld\n"
 
-#: sys-utils/ipcs.c:660
+#: sys-utils/ipcs.c:668
 #, c-format
 msgid "otime = %s"
 msgstr "otid  = %s"
 
-#: sys-utils/ipcs.c:662
+#: sys-utils/ipcs.c:670
 #, c-format
 msgid "ctime = %s"
 msgstr "ætid  = %s"
 
-#: sys-utils/ipcs.c:664
+#: sys-utils/ipcs.c:672
 #, c-format
 msgid "%-10s%-10s%-10s%-10s%-10s\n"
 msgstr "%-10s%-10s%-10s%-10s%-10s\n"
 
-#: sys-utils/ipcs.c:665
+#: sys-utils/ipcs.c:673
 msgid "semnum"
 msgstr "sigant"
 
-#: sys-utils/ipcs.c:665
+#: sys-utils/ipcs.c:673
 msgid "value"
 msgstr "værdi"
 
-#: sys-utils/ipcs.c:665
+#: sys-utils/ipcs.c:673
 msgid "ncount"
 msgstr "nantal"
 
-#: sys-utils/ipcs.c:665
+#: sys-utils/ipcs.c:673
 msgid "zcount"
 msgstr "zantal"
 
-#: sys-utils/ipcs.c:665
+#: sys-utils/ipcs.c:673
 msgid "pid"
 msgstr "pid"
 
-#: sys-utils/rdev.c:67
+#: sys-utils/rdev.c:68
 msgid "usage: rdev [ -rsv ] [ -o OFFSET ] [ IMAGE [ VALUE [ OFFSET ] ] ]"
 msgstr "brug: rdev [ -rsv ] [ -o FORSKYDNING ] [ BILLEDE [ VÆRDI [ FORSKYDNING ] ] ]"
 
-#: sys-utils/rdev.c:68
+#: sys-utils/rdev.c:69
 msgid "  rdev /dev/fd0  (or rdev /linux, etc.) displays the current ROOT device"
 msgstr "  rdev /dev/fd0  (eller rdev /linux, osv.) viser den nuværende rod-enhed"
 
-#: sys-utils/rdev.c:69
+#: sys-utils/rdev.c:70
 msgid "  rdev /dev/fd0 /dev/hda2         sets ROOT to /dev/hda2"
-msgstr "  rdev /dev/fd0 /dev/hda2         sætter fs-roden til /dev/hda2"
+msgstr "  rdev /dev/fd0 /dev/hda2         sætter filsystemroden til /dev/hda2"
 
-#: sys-utils/rdev.c:70
+#: sys-utils/rdev.c:71
 msgid "  rdev -R /dev/fd0 1              set the ROOTFLAGS (readonly status)"
 msgstr "  rdev -R /dev/fd0 1              sætter ROOTFLAGS (skrivebeskyttelsesstatus)"
 
-#: sys-utils/rdev.c:71
+#: sys-utils/rdev.c:72
 msgid "  rdev -s /dev/fd0 /dev/hda2      set the SWAP device"
 msgstr "  rdev -s /dev/fd0 /dev/hda2      angiv SWAP-enhed"
 
-#: sys-utils/rdev.c:72
+#: sys-utils/rdev.c:73
 msgid "  rdev -r /dev/fd0 627            set the RAMDISK size"
 msgstr "  rdev -r /dev/fd0 627            angiv RAMDISK-størrelsen"
 
-#: sys-utils/rdev.c:73
+#: sys-utils/rdev.c:74
 msgid "  rdev -v /dev/fd0 1              set the bootup VIDEOMODE"
 msgstr "  rdev -v /dev/fd0 1              angiv opstarts-skærmtilstand"
 
-#: sys-utils/rdev.c:74
+#: sys-utils/rdev.c:75
 msgid "  rdev -o N ...                   use the byte offset N"
 msgstr "  rdev -o N ...                   brug byteforskydning N"
 
-#: sys-utils/rdev.c:75
+#: sys-utils/rdev.c:76
 msgid "  rootflags ...                   same as rdev -R"
 msgstr "  rootflags ...                   samme som rdev -R"
 
-#: sys-utils/rdev.c:76
+#: sys-utils/rdev.c:77
 msgid "  swapdev ...                     same as rdev -s"
 msgstr "  swapdev ...                     samme som rdev -s"
 
-#: sys-utils/rdev.c:77
+#: sys-utils/rdev.c:78
 msgid "  ramsize ...                     same as rdev -r"
 msgstr "  ramsize ...                     samme som rdev -r"
 
-#: sys-utils/rdev.c:78
+#: sys-utils/rdev.c:79
 msgid "  vidmode ...                     same as rdev -v"
 msgstr "  vidmode ...                     samme som rdev -v"
 
-#: sys-utils/rdev.c:79
+#: sys-utils/rdev.c:80
 msgid "Note: video modes are: -3=Ask, -2=Extended, -1=NormalVga, 1=key1, 2=key2,..."
 msgstr ""
 "Bemærk: skærmtilstande er: -3=Spørg, -2=Udvidet, -1=NormalVGA, 1=nøgle1, "
 "2=nøgle2,..."
 
-#: sys-utils/rdev.c:80
+#: sys-utils/rdev.c:81
 msgid "      use -R 1 to mount root readonly, -R 0 for read/write."
 msgstr "      brug -R 1 for at montere skrivebeskyttet, -R 0 for skriveadgang."
 
-#: sys-utils/readprofile.c:52
+#: sys-utils/readprofile.c:54
 #, c-format
 msgid ""
 "%s: Usage: \"%s [options]\n"
 "\t -m <mapfile>  (default = \"%s\")\n"
 "\t -p <pro-file> (default = \"%s\")\n"
+"\t -M <mult>     set the profiling multiplier to <mult>\n"
 "\t -i            print only info about the sampling step\n"
 "\t -v            print verbose data\n"
 "\t -a            print all symbols, even if count is 0\n"
@@ -8619,10 +8630,11 @@ msgid ""
 msgstr ""
 "%s: Brug: \"%s [tilvalg]\n"
 "\t -m <oversigtsfil> (standard = \"%s\")\n"
-"\t -p <pro-file>     (standard = \"%s\")\n"
+"\t -p <pro-fil>      (standard = \"%s\")\n"
+"\t -M <fakt>         sæt profileringsfaktor til <fakt>\n"
 "\t -i                vis kun sample-skridt oplysninger\n"
 "\t -v                medtag flere detaljer\n"
-"\t -a                vis alle symboler selvom tælleren er 0\n"
+"\t -a                vis alle symboler, selvom tælleren er 0\n"
 "\t -r                nulstil alle tællere (kun root)\n"
 "\t -V                vis version og afslut\n"
 
@@ -8631,62 +8643,58 @@ msgstr ""
 msgid "%s Version %s\n"
 msgstr "%s Version %s\n"
 
-#: sys-utils/readprofile.c:128
-msgid "anything\n"
-msgstr "hvad som helst\n"
-
-#: sys-utils/readprofile.c:157
+#: sys-utils/readprofile.c:175
 #, c-format
 msgid "Sampling_step: %i\n"
 msgstr "Sampling_step: %i\n"
 
-#: sys-utils/readprofile.c:170 sys-utils/readprofile.c:196
+#: sys-utils/readprofile.c:188 sys-utils/readprofile.c:211
 #, c-format
 msgid "%s: %s(%i): wrong map line\n"
 msgstr "%s: %s(%i): forkert oversigtlinie\n"
 
-#: sys-utils/readprofile.c:183
+#: sys-utils/readprofile.c:199
 #, c-format
 msgid "%s: can't find \"_stext\" in %s\n"
 msgstr "%s: kunne ikke finde \"_stext\" i %s\n"
 
-#: sys-utils/readprofile.c:226
+#: sys-utils/readprofile.c:242
 msgid "total"
 msgstr "total"
 
-#: sys-utils/renice.c:67
+#: sys-utils/renice.c:68
 msgid "usage: renice priority [ [ -p ] pids ] [ [ -g ] pgrps ] [ [ -u ] users ]\n"
 msgstr "brug: renice prioritet [ [ -p ] pids ] [ [ -g ] pgrpr ] [ [ -u ] brugere ]\n"
 
-#: sys-utils/renice.c:94
+#: sys-utils/renice.c:95
 #, c-format
 msgid "renice: %s: unknown user\n"
 msgstr "renice: %s: ukendt bruger\n"
 
-#: sys-utils/renice.c:102
+#: sys-utils/renice.c:103
 #, c-format
 msgid "renice: %s: bad value\n"
 msgstr "renice: %s: ugyldig værdi\n"
 
-#: sys-utils/renice.c:121
+#: sys-utils/renice.c:122
 msgid "getpriority"
 msgstr "læsprioritet"
 
-#: sys-utils/renice.c:126
+#: sys-utils/renice.c:127
 msgid "setpriority"
 msgstr "sætprioritet"
 
-#: sys-utils/renice.c:129
+#: sys-utils/renice.c:130
 #, c-format
 msgid "%d: old priority %d, new priority %d\n"
 msgstr "%d: gammel prioritet %d, ny prioritet %d\n"
 
-#: sys-utils/setsid.c:23
+#: sys-utils/setsid.c:26
 #, c-format
 msgid "usage: %s program [arg ...]\n"
 msgstr "brug: %s program [parametre ...]\n"
 
-#: sys-utils/tunelp.c:74
+#: sys-utils/tunelp.c:75
 #, c-format
 msgid ""
 "Usage: %s <device> [ -i <IRQ> | -t <TIME> | -c <CHARS> | -w <WAIT> | \n"
@@ -8697,55 +8705,55 @@ msgstr ""
 "          -a [on|off] | -o [on|off] | -C [on|off] | -q [on|off] | -s | \n"
 "          -T [on|off] ]\n"
 
-#: sys-utils/tunelp.c:90
+#: sys-utils/tunelp.c:91
 msgid "malloc error"
-msgstr "fejl ved hukommelsallokering (malloc)"
+msgstr "fejl ved hukommelsesallokering (malloc)"
 
-#: sys-utils/tunelp.c:102
+#: sys-utils/tunelp.c:103
 #, c-format
 msgid "%s: bad value\n"
 msgstr "%s: ugyldig værdi\n"
 
-#: sys-utils/tunelp.c:241
+#: sys-utils/tunelp.c:242
 #, c-format
 msgid "%s: %s not an lp device.\n"
 msgstr "%s: %s ikke en printerenhed.\n"
 
-#: sys-utils/tunelp.c:262
+#: sys-utils/tunelp.c:263
 #, c-format
 msgid "%s status is %d"
 msgstr "%s status er %d"
 
-#: sys-utils/tunelp.c:263
+#: sys-utils/tunelp.c:264
 msgid ", busy"
 msgstr ", optaget"
 
-#: sys-utils/tunelp.c:264
+#: sys-utils/tunelp.c:265
 msgid ", ready"
 msgstr ", klar"
 
-#: sys-utils/tunelp.c:265
+#: sys-utils/tunelp.c:266
 msgid ", out of paper"
 msgstr ", ikke mere papir"
 
-#: sys-utils/tunelp.c:266
+#: sys-utils/tunelp.c:267
 msgid ", on-line"
 msgstr ", klar"
 
-#: sys-utils/tunelp.c:267
+#: sys-utils/tunelp.c:268
 msgid ", error"
 msgstr ", fejl"
 
-#: sys-utils/tunelp.c:284
+#: sys-utils/tunelp.c:285
 msgid "LPGETIRQ error"
 msgstr "LPGETIRQ fejl"
 
-#: sys-utils/tunelp.c:290
+#: sys-utils/tunelp.c:291
 #, c-format
 msgid "%s using IRQ %d\n"
 msgstr "%s ved brug af IRQ %d\n"
 
-#: sys-utils/tunelp.c:292
+#: sys-utils/tunelp.c:293
 #, c-format
 msgid "%s using polling\n"
 msgstr "%s bruger overvågning (polling)\n"
@@ -8776,7 +8784,7 @@ msgstr "forbi f
 msgid "-- line already flushed"
 msgstr "-- linie allerede skrevet ud"
 
-#: text-utils/colcrt.c:96
+#: text-utils/colcrt.c:97
 #, c-format
 msgid "usage: %s [ - ] [ -2 ] [ file ... ]\n"
 msgstr "brug: %s [ - ] [ -2 ] [ fil ... ]\n"
@@ -8803,12 +8811,12 @@ msgstr ""
 "hexdump: [-bcdovx] [-e fmt] [-f fmt_fil] [-n længde] [-s overspring] [fil "
 "...]\n"
 
-#: text-utils/more.c:262
+#: text-utils/more.c:263
 #, c-format
 msgid "usage: %s [-dflpcsu] [+linenum | +/pattern] name1 name2 ...\n"
 msgstr "brug: %s [-dflpcsu] [+linieantal | +/mønster] navn1 navn2 ...\n"
 
-#: text-utils/more.c:520
+#: text-utils/more.c:521
 #, c-format
 msgid ""
 "\n"
@@ -8820,7 +8828,7 @@ msgstr ""
 "\n"
 
 #. simple ELF detection
-#: text-utils/more.c:559
+#: text-utils/more.c:560
 #, c-format
 msgid ""
 "\n"
@@ -8831,34 +8839,34 @@ msgstr ""
 "******** %s: Ikke en tekstfil ********\n"
 "\n"
 
-#: text-utils/more.c:662
+#: text-utils/more.c:663
 msgid "[Use q or Q to quit]"
 msgstr "[Brug q eller Q for at afslutte]"
 
-#: text-utils/more.c:842
+#: text-utils/more.c:843
 msgid "--More--"
 msgstr "--Mere--"
 
-#: text-utils/more.c:844
+#: text-utils/more.c:845
 #, c-format
 msgid "(Next file: %s)"
 msgstr "(Næste fil: %s)"
 
-#: text-utils/more.c:850
+#: text-utils/more.c:851
 msgid "[Press space to continue, 'q' to quit.]"
 msgstr "[Tryk mellemrum for at fortsætte, 'q' for at afslutte.]"
 
-#: text-utils/more.c:1184
+#: text-utils/more.c:1185
 #, c-format
 msgid "...back %d page"
 msgstr "...bak %d sider"
 
-#: text-utils/more.c:1230
+#: text-utils/more.c:1231
 #, c-format
 msgid "...skipping %d line"
 msgstr "...overspringer %d linie"
 
-#: text-utils/more.c:1271
+#: text-utils/more.c:1272
 msgid ""
 "\n"
 "***Back***\n"
@@ -8868,37 +8876,37 @@ msgstr ""
 "***Tilbage***\n"
 "\n"
 
-#: text-utils/more.c:1328
+#: text-utils/more.c:1329
 msgid "Can't open help file"
 msgstr "Kunne ikke åbne hjælpefilen"
 
-#: text-utils/more.c:1358 text-utils/more.c:1362
+#: text-utils/more.c:1359 text-utils/more.c:1363
 msgid "[Press 'h' for instructions.]"
 msgstr "[Tryk 'h' for instruktioner.]"
 
-#: text-utils/more.c:1396
+#: text-utils/more.c:1397
 #, c-format
 msgid "\"%s\" line %d"
 msgstr "\"%s\" linie %d"
 
-#: text-utils/more.c:1398
+#: text-utils/more.c:1399
 #, c-format
 msgid "[Not a file] line %d"
 msgstr "[Ikke en fil] linie %d"
 
-#: text-utils/more.c:1482
+#: text-utils/more.c:1483
 msgid "  Overflow\n"
 msgstr "  Overløb\n"
 
-#: text-utils/more.c:1529
+#: text-utils/more.c:1530
 msgid "...skipping\n"
 msgstr "...overspringer\n"
 
-#: text-utils/more.c:1559
+#: text-utils/more.c:1560
 msgid "Regular expression botch"
 msgstr "Forkludret regulært udtryk"
 
-#: text-utils/more.c:1571
+#: text-utils/more.c:1572
 msgid ""
 "\n"
 "Pattern not found\n"
@@ -8906,15 +8914,15 @@ msgstr ""
 "\n"
 "Mønster ikke fundet\n"
 
-#: text-utils/more.c:1574
+#: text-utils/more.c:1575
 msgid "Pattern not found"
 msgstr "Mønster ikke fundet"
 
-#: text-utils/more.c:1635
+#: text-utils/more.c:1636
 msgid "can't fork\n"
 msgstr "kunne ikke forgrene (fork)\n"
 
-#: text-utils/more.c:1674
+#: text-utils/more.c:1675
 msgid ""
 "\n"
 "...Skipping "
@@ -8922,23 +8930,23 @@ msgstr ""
 "\n"
 "...Overspringer "
 
-#: text-utils/more.c:1678
+#: text-utils/more.c:1679
 msgid "...Skipping "
 msgstr "...Overspringer "
 
-#: text-utils/more.c:1679
+#: text-utils/more.c:1680
 msgid "to file "
 msgstr "til fil "
 
-#: text-utils/more.c:1679
+#: text-utils/more.c:1680
 msgid "back to file "
 msgstr "tilbage til fil "
 
-#: text-utils/more.c:1915
+#: text-utils/more.c:1914
 msgid "Line too long"
 msgstr "For lang linie"
 
-#: text-utils/more.c:1958
+#: text-utils/more.c:1957
 msgid "No previous command to substitute for"
 msgstr "Ingen tidligere kommando at erstatte med"
 
@@ -8949,7 +8957,7 @@ msgstr "od: od(1) er blevet erstattet af hexdump(1).\n"
 #: text-utils/odsyntax.c:136
 #, c-format
 msgid "od: hexdump(1) compatibility doesn't support the -%c option%s\n"
-msgstr "od: hexdump(1) kompabilitet understøtter ikke -%c tilvalg%s\n"
+msgstr "od: hexdump(1) kompatibilitet understøtter ikke -%c tilvalg%s\n"
 
 #: text-utils/odsyntax.c:137
 msgid "; see strings(1)."
@@ -8994,29 +9002,29 @@ msgstr "Kunne ikke allokere bufferplads\n"
 msgid "usage: rev [file ...]\n"
 msgstr "brug: rev [fil ...]\n"
 
-#: text-utils/ul.c:142
+#: text-utils/ul.c:143
 #, c-format
 msgid "usage: %s [ -i ] [ -tTerm ] file...\n"
 msgstr "brug: %s [ -i ] [ -tTerm ] fil...\n"
 
-#: text-utils/ul.c:153
+#: text-utils/ul.c:154
 msgid "trouble reading terminfo"
 msgstr "problemer ved læsning af 'terminfo'"
 
-#: text-utils/ul.c:243
+#: text-utils/ul.c:244
 #, c-format
 msgid "Unknown escape sequence in input: %o, %o\n"
 msgstr "Ukendt undvigelsessekvens i inddata: %o, %o\n"
 
-#: text-utils/ul.c:425
+#: text-utils/ul.c:427
 msgid "Unable to allocate buffer.\n"
 msgstr "Kunne ikke allokere buffer.\n"
 
-#: text-utils/ul.c:584
+#: text-utils/ul.c:588
 msgid "Input line too long.\n"
 msgstr "For lang inddatalinie.\n"
 
-#: text-utils/ul.c:597
+#: text-utils/ul.c:601
 msgid "Out of memory when growing buffer.\n"
 msgstr "Løb tør for hukommelse under forstørring af buffer.\n"
 
index a03dcfd6850d00a0a5a67f7e613f63032d7d9284..17eb8c33760b1348d4f15c283f4a2a72dfd20522 100644 (file)
--- a/po/de.po
+++ b/po/de.po
@@ -54,7 +54,7 @@ msgstr "/dev/port konnte nicht ge
 
 # typo in the english version: didn't
 #: clock/cmos.c:577
-msgid "I failed to get permission because I didnt try.\n"
+msgid "I failed to get permission because I didn't try.\n"
 msgstr "Keine Erlaubnis, da sie nicht angefordert wurde.\n"
 
 #: clock/cmos.c:580
@@ -6924,22 +6924,6 @@ msgstr "Lesen von %s und Ausgabe von ioctl nicht m
 msgid "%s: $TERM is not defined.\n"
 msgstr "%s: Die Umgebungsvariable $TERM ist nicht definiert.\n"
 
-#: misc-utils/tsort.c:117
-msgid "usage: tsort [ inputfile ]\n"
-msgstr "Verwendung: tsort [ Eingabedatei ]\n"
-
-#: misc-utils/tsort.c:154
-msgid "tsort: odd data count.\n"
-msgstr "tsort: ungewöhnliche Datenzählung.\n"
-
-#: misc-utils/tsort.c:305
-msgid "tsort: cycle in data.\n"
-msgstr "tsort: Zyklus in den Daten.\n"
-
-#: misc-utils/tsort.c:318
-msgid "tsort: internal error -- could not find cycle.\n"
-msgstr "tsort: Interner Fehler -- Zyklus wurde nicht gefunden.\n"
-
 #: misc-utils/whereis.c:155
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
 msgstr "whereis [ -sbmu ] [ -SBM-Verzeichnis ... -f ] Name...\n"
index f79234da902537a154b8f019b60293873e66ae2d..d49ba4f9e6e29463b55d7be52e7d3b3bcbd41a99 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -40,7 +40,7 @@ msgid "Cannot open /dev/port: %s"
 msgstr "No es posible abrir /dev/port: %s"
 
 #: clock/cmos.c:577
-msgid "I failed to get permission because I didnt try.\n"
+msgid "I failed to get permission because I didn't try.\n"
 msgstr "No se ha podido obtener permiso porque no se ha intentado.\n"
 
 #: clock/cmos.c:580
@@ -6902,22 +6902,6 @@ msgstr "No se ha podido leer %s y no se puede efectuar vuelco de ioctl\n"
 msgid "%s: $TERM is not defined.\n"
 msgstr "%s: $TERM no está definido.\n"
 
-#: misc-utils/tsort.c:117
-msgid "usage: tsort [ inputfile ]\n"
-msgstr "uso: tsort [ archivoentrada ]\n"
-
-#: misc-utils/tsort.c:154
-msgid "tsort: odd data count.\n"
-msgstr "tsort: número de datos impar.\n"
-
-#: misc-utils/tsort.c:305
-msgid "tsort: cycle in data.\n"
-msgstr "tsort: ciclo en datos.\n"
-
-#: misc-utils/tsort.c:318
-msgid "tsort: internal error -- could not find cycle.\n"
-msgstr "tsort: error interno -- no se ha podido encontrar el ciclo.\n"
-
 #: misc-utils/whereis.c:155
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
 msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nombre...\n"
index b24c48b98093df10e06865c652c8abe3c867a1af..daaee7eb8d1b37c0ab70e6d00a947f9333a1b6b0 100644 (file)
--- a/po/fr.po
+++ b/po/fr.po
@@ -48,7 +48,7 @@ msgid "Cannot open /dev/port: %s"
 msgstr "Impossible d'ouvrir /dev/port : %s"
 
 #: clock/cmos.c:577
-msgid "I failed to get permission because I didnt try.\n"
+msgid "I failed to get permission because I didn't try.\n"
 msgstr ""
 "Je n'ai pas réussi à obtenir l'autorisation parce que je n'ai pas essayé.\n"
 
@@ -6871,22 +6871,6 @@ msgstr "Lecture de %s impossible, et ioctl dump impossible.\n"
 msgid "%s: $TERM is not defined.\n"
 msgstr "%s : $TERM n'est pas défini.\n"
 
-#: misc-utils/tsort.c:117
-msgid "usage: tsort [ inputfile ]\n"
-msgstr "Usage : tsort [ fichier entrée ]\n"
-
-#: misc-utils/tsort.c:154
-msgid "tsort: odd data count.\n"
-msgstr "tsort : total données impaires.\n"
-
-#: misc-utils/tsort.c:305
-msgid "tsort: cycle in data.\n"
-msgstr "tsort : cycle des données.\n"
-
-#: misc-utils/tsort.c:318
-msgid "tsort: internal error -- could not find cycle.\n"
-msgstr "tsort : erreur interne -- cycle introuvable.\n"
-
 #: misc-utils/whereis.c:155
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
 msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nom...\n"
index 0ac7312d92385f07206d91b47e2939d7b3f8d22b..4d0d47194b67ebc326ea960f5b8b2274d6ef9398 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -40,7 +40,7 @@ msgid "Cannot open /dev/port: %s"
 msgstr "Impossibile aprire /dev/port: %s"
 
 #: clock/cmos.c:577
-msgid "I failed to get permission because I didnt try.\n"
+msgid "I failed to get permission because I didn't try.\n"
 msgstr ""
 "Non sono riuscito ad ottenere l'autorizzazione perché non ho provato.\n"
 
@@ -6885,22 +6885,6 @@ msgstr "impossibile leggere %s  e impossibile eseguire ioctl sul dump\n"
 msgid "%s: $TERM is not defined.\n"
 msgstr "%s: $TERM non è definito.\n"
 
-#: misc-utils/tsort.c:117
-msgid "usage: tsort [ inputfile ]\n"
-msgstr "utilizzo: tsort [ inputfile ]\n"
-
-#: misc-utils/tsort.c:154
-msgid "tsort: odd data count.\n"
-msgstr "tsort: conteggio dati strano.\n"
-
-#: misc-utils/tsort.c:305
-msgid "tsort: cycle in data.\n"
-msgstr "tsort: ciclo nei dati.\n"
-
-#: misc-utils/tsort.c:318
-msgid "tsort: internal error -- could not find cycle.\n"
-msgstr "tsort: errore interno - impossibile trovare il ciclo.\n"
-
 #: misc-utils/whereis.c:155
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
 msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nome...\n"
index d527a58a411c9a311d594d9cec4d46783374ef08..629ee3f497547f4a13d3c0b9280222aea2f75569 100644 (file)
--- a/po/ja.po
+++ b/po/ja.po
@@ -43,7 +43,7 @@ msgid "Cannot open /dev/port: %s"
 msgstr "/dev/port ¤ò³«¤±¤Þ¤»¤ó: %s"
 
 #: clock/cmos.c:577
-msgid "I failed to get permission because I didnt try.\n"
+msgid "I failed to get permission because I didn't try.\n"
 msgstr "µö²Ä¤Î¼èÆÀ¤ò»î¤µ¤Ê¤«¤Ã¤¿¤Î¤Ç¡¢µö²Ä¤Î¼èÆÀ¤Ë¼ºÇÔ¤·¤Þ¤·¤¿¡£\n"
 
 #: clock/cmos.c:580
@@ -6742,22 +6742,6 @@ msgstr "%s 
 msgid "%s: $TERM is not defined.\n"
 msgstr "%s: $TERM ¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Þ¤»¤ó¡£\n"
 
-#: misc-utils/tsort.c:117
-msgid "usage: tsort [ inputfile ]\n"
-msgstr "»È¤¤Êý: tsort [ ÆþÎÏ¥Õ¥¡¥¤¥ë ]\n"
-
-#: misc-utils/tsort.c:154
-msgid "tsort: odd data count.\n"
-msgstr "tsort: ÊѤʥǡ¼¥¿¥«¥¦¥ó¥È¤Ç¤¹¡£\n"
-
-#: misc-utils/tsort.c:305
-msgid "tsort: cycle in data.\n"
-msgstr "tsort: ¥Ç¡¼¥¿¤¬½Û´Ä¤·¤Æ¤¤¤Þ¤¹¡£\n"
-
-#: misc-utils/tsort.c:318
-msgid "tsort: internal error -- could not find cycle.\n"
-msgstr "tsort: ÆâÉô¥¨¥é¡¼ -- ½Û´Ä¤ò¸«¤Ä¤±¤é¤ì¤Þ¤»¤ó¤Ç¤·¤¿¡£\n"
-
 #: misc-utils/whereis.c:155
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
 msgstr "whereis [ -sbmu ] [ -SBM ¥Ç¥£¥ì¥¯¥È¥ê ... -f ] Ì¾Á° ...\n"
index be5dc44b5f6628fcdd8ace74fcd5b5c7715f0eaa..fa128320b2beea95802b8fb4e3c0c97d64a17f5f 100644 (file)
--- a/po/nl.po
+++ b/po/nl.po
@@ -41,7 +41,7 @@ msgid "Cannot open /dev/port: %s"
 msgstr "Kan /dev/port niet openen: %s"
 
 #: clock/cmos.c:577
-msgid "I failed to get permission because I didnt try.\n"
+msgid "I failed to get permission because I didn't try.\n"
 msgstr ""
 
 #: clock/cmos.c:580
@@ -6460,22 +6460,6 @@ msgstr ""
 msgid "%s: $TERM is not defined.\n"
 msgstr ""
 
-#: misc-utils/tsort.c:117
-msgid "usage: tsort [ inputfile ]\n"
-msgstr ""
-
-#: misc-utils/tsort.c:154
-msgid "tsort: odd data count.\n"
-msgstr ""
-
-#: misc-utils/tsort.c:305
-msgid "tsort: cycle in data.\n"
-msgstr ""
-
-#: misc-utils/tsort.c:318
-msgid "tsort: internal error -- could not find cycle.\n"
-msgstr ""
-
 #: misc-utils/whereis.c:155
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
 msgstr ""
index bcd4f862408b545b3aba3ade4fc5677d89e2f2d9..5f8c56d36be1defc902105bab01286586a0411ae 100644 (file)
@@ -49,7 +49,7 @@ msgid "Cannot open /dev/port: %s"
 msgstr "Não é possível abrir /dev/port: %s"
 
 #: clock/cmos.c:577
-msgid "I failed to get permission because I didnt try.\n"
+msgid "I failed to get permission because I didn't try.\n"
 msgstr "Não consegui obter permissão porque não tentei.\n"
 
 #: clock/cmos.c:580
@@ -6477,22 +6477,6 @@ msgstr "n
 msgid "%s: $TERM is not defined.\n"
 msgstr "%s: $TERM indefinido.\n"
 
-#: misc-utils/tsort.c:117
-msgid "usage: tsort [ inputfile ]\n"
-msgstr "Uso: tsort [ arquivo_entrada ]\n"
-
-#: misc-utils/tsort.c:154
-msgid "tsort: odd data count.\n"
-msgstr "tsort: contagem de dados incomum.\n"
-
-#: misc-utils/tsort.c:305
-msgid "tsort: cycle in data.\n"
-msgstr "tsort: ciclo nos dados.\n"
-
-#: misc-utils/tsort.c:318
-msgid "tsort: internal error -- could not find cycle.\n"
-msgstr "tsort: erro interno -- não foi possível localizar o ciclo.\n"
-
 #: misc-utils/whereis.c:155
 msgid "whereis [ -sbmu ] [ -SBM dir ... -f ] name...\n"
 msgstr "whereis [ -sbmu ] [ -SBM dir ... -f ] nome...\n"
index 91b67bc8b127a8883193543d1f92b880703af41f..beabc60593e0ff7884e36f917ffa9593e1d4711c 100644 (file)
@@ -2,7 +2,7 @@
  * ctrlaltdel.c - Set the function of the Ctrl-Alt-Del combination
  * Created 4-Jul-92 by Peter Orbaek <poe@daimi.aau.dk>
  * ftp://ftp.daimi.aau.dk/pub/linux/poe/
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  */
index 63ca0e4e222c242e478b7cf489174633893985ed..dfa276e9bcb188571b04cf6ccf8f102fa5983bda 100644 (file)
@@ -34,7 +34,7 @@
  */
 
  /*
-  * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+  * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
   * - added Native Language Support
   * Sun Mar 21 1999 - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
   * - fixed strerr(errno) in gettext calls
index 5cf1817aa140ac112193fcab15c5a6507b68a933..f9d1e282ef8475683b98e41b2033e405b5b7c25b 100644 (file)
@@ -6,7 +6,7 @@
  * Modifications by Rick Sladkey (jrs@world.std.com)
  * Larger buffersize 3 June 1998 by Nicolai Langfeldt, based on a patch
  * by Peeter Joot.  This was also suggested by John Hudson.
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  */
index 2fc6ec47fb009f7a88f8fc8360c4db4d492869b4..3e3a9ba02a216824bf005795f761f12673968441 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * krishna balasubramanian 1993
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  * 1999-04-02 frank zago
index d74fa359e1741a3ffbd03c0a1b251acefcd0009e..eec8bce9c687b56846260d5eded221a9d4b45779 100644 (file)
@@ -1,7 +1,7 @@
-/* Original author unknown, but may be "krishna balasub@cis.ohio-state.edu"
-   Modified Sat Oct  9 10:55:28 1993 for 0.99.13 */
+/* Original author unknown, may be "krishna balasub@cis.ohio-state.edu" */
+/*
 
-/* 
+  Modified Sat Oct  9 10:55:28 1993 for 0.99.13
 
   Patches from Mike Jagdis (jaggy@purplet.demon.co.uk) applied Wed Feb
   8 12:12:21 1995 by faith@cs.unc.edu to print numeric uids if no
@@ -13,7 +13,7 @@
 
   Patched to display the key field -- hy@picksys.com 12/18/96
 
-  1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+  1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
   - added Native Language Support
 
 
@@ -335,10 +335,13 @@ void do_shm (char format)
                                printf ("%-10d%-10.10s", shmid, pw->pw_name);
                        else
                                printf ("%-10d%-10d", shmid, ipcp->uid);
-                       printf("  %-20.16s%-20.16s%-20.16s\n",
-                       shmseg.shm_atime ? ctime(&shmseg.shm_atime) + 4 : _("Not set"),
-                       shmseg.shm_dtime ? ctime(&shmseg.shm_dtime) + 4 : _("Not set"),
-                       shmseg.shm_ctime ? ctime(&shmseg.shm_ctime) + 4 : _("Not set"));
+                       /* ctime uses static buffer: use separate calls */
+                       printf("  %-20.16s", shmseg.shm_atime
+                              ? ctime(&shmseg.shm_atime) + 4 : _("Not set\n"));
+                       printf("%-20.16s", shmseg.shm_dtime
+                              ? ctime(&shmseg.shm_dtime) + 4 : _("Not set\n"));
+                       printf("%-20.16s\n", shmseg.shm_ctime
+                              ? ctime(&shmseg.shm_ctime) + 4 : _("Not set\n"));
                        break;
                case PID:
                        if (pw)
@@ -445,9 +448,10 @@ void do_sem (char format)
                                printf ("%-8d%-10.10s", semid, pw->pw_name);
                        else
                                printf ("%-8d%-10d", semid, ipcp->uid);
-                       printf ("  %-26.24s %-26.24s\n", 
-                               semary.sem_otime ? ctime(&semary.sem_otime) : _("Not set"),
-                               semary.sem_ctime ? ctime(&semary.sem_ctime) : _("Not set"));
+                       printf ("  %-26.24s", semary.sem_otime
+                               ? ctime(&semary.sem_otime) : _("Not set\n"));
+                       printf (" %-26.24s\n", semary.sem_ctime
+                               ? ctime(&semary.sem_ctime) : _("Not set\n"));
                        break;
                case PID:
                        break;
@@ -544,10 +548,12 @@ void do_msg (char format)
                                printf ("%-8d%-10.10s", msqid, pw->pw_name);
                        else
                                printf ("%-8d%-10d", msqid, ipcp->uid);
-                       printf ("  %-20.16s%-20.16s%-20.16s\n", 
-                       msgque.msg_stime ? ctime(&msgque.msg_stime) + 4 : _("Not set"),
-                       msgque.msg_rtime ? ctime(&msgque.msg_rtime) + 4 : _("Not set"),
-                       msgque.msg_ctime ? ctime(&msgque.msg_ctime) + 4 : _("Not set"));
+                       printf ("  %-20.16s", msgque.msg_stime
+                               ? ctime(&msgque.msg_stime) + 4 : _("Not set\n"));
+                       printf ("%-20.16s", msgque.msg_rtime
+                               ? ctime(&msgque.msg_rtime) + 4 : _("Not set\n"));
+                       printf ("%-20.16s\n", msgque.msg_ctime
+                               ? ctime(&msgque.msg_ctime) + 4 : _("Not set\n"));
                        break;
                case PID:
                        if (pw)
@@ -631,10 +637,12 @@ void print_msg (int msqid)
                 */
                (long) buf.msg_cbytes, (long) buf.msg_qbytes,
                (long) buf.msg_qnum, buf.msg_lspid, buf.msg_lrpid);
-       printf (_("send_time=%srcv_time=%schange_time=%s"), 
-               buf.msg_rtime? ctime (&buf.msg_rtime) : _("Not Set\n"),
-               buf.msg_stime? ctime (&buf.msg_stime) : _("Not Set\n"),
-               buf.msg_ctime? ctime (&buf.msg_ctime) : _("Not Set\n"));
+       printf (_("send_time=%s"),
+               buf.msg_stime? ctime (&buf.msg_stime) : _("Not set\n"));
+       printf (_("rcv_time=%s"),
+               buf.msg_rtime? ctime (&buf.msg_rtime) : _("Not set\n"));
+       printf (_("change_time=%s"),
+               buf.msg_ctime? ctime (&buf.msg_ctime) : _("Not set\n"));
        printf ("\n");
        return;
 }
index d49da823c959e6adfcd4dbc99be1a24b3a2f668f..54ccd99f40f43696c88bef77c490dbf4ca1f87d7 100644 (file)
@@ -49,7 +49,7 @@ Tue Mar 30 09:31:52 1993: rdev -Rn to set root readonly flag, sct@dcs.ed.ac.uk
 Wed Jun 22 21:12:29 1994: Applied patches from Dave
                           (gentzel@nova.enet.dec.com) to prevent dereferencing
                          the NULL pointer, faith@cs.unc.edu
-1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
 - added Native Language Support
 
 -------------------------------------------------------------------------
index a72113c85d372fcde6ba834984208bd8026e9cd8..d26e8eca7a1aa1381bb3cd83e757c276634d7f96 100644 (file)
@@ -23,7 +23,7 @@ The output is
 organized in three columns: the first is the number of clock ticks,
 the second is the name of the C function in the kernel where those many
 ticks occurred, and the third is the normalized `load' of the procedure,
-calculated as a ratio between the number of thicks and the lenght of
+calculated as a ratio between the number of ticks and the length of
 the procedure. The output is filled with blanks to ease readability.
 
 .LP
@@ -77,6 +77,15 @@ you can make
 .B readprofile
 setuid 0, in order to reset the buffer without gaining privileges.
 
+.TP
+.RB -M " multiplier"
+On some architectures it is possible to alter the frequency at which
+the kernel delivers profiling interrupts to each CPU.  This option allows you to
+set the frequency, as a multiplier of the system clock frequency, HZ.
+This is supported on i386-SMP (2.2 and 2.4 kernel) and also on sparc-SMP
+and sparc64-SMP (2.4 kernel).  This option also resets the profiling buffer,
+and requires superuser privileges.
+
 .TP
 .B -v
 Verbose. The output is organized in four columns and filled with blanks.
@@ -115,6 +124,11 @@ Browse a `freezed' profile buffer for a non current kernel:
 .nf
    readprofile -p ~/profile.freeze -m /zImage.map.gz
 
+.fi
+Request profiling at 2kHz per CPU, and reset the profiling buffer
+.nf
+   sudo readprofile -M 20
+
 .fi
 
 .SH BUGS
index b531fa90a586e50fd535ac6530c09a1525a9253a..18932262368a33973f49b3bba38c70a3251b60c7 100644 (file)
  */
 
 /*
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  * 1999-09-01 Stephane Eranian <eranian@cello.hpl.hp.com>
  * - 64bit clean patch
+ * 3Feb2001 Andrew Morton <andrewm@uow.edu.au>
+ * - -M option to write profile multiplier.
  */
 
 #include <errno.h>
@@ -44,7 +46,7 @@ static char *prgname;
 /* These are the defaults */
 static char defaultmap[]="/usr/src/linux/System.map";
 static char defaultpro[]="/proc/profile";
-static char optstring[]="m:p:itvarV";
+static char optstring[]="M:m:p:itvarV";
 
 static void
 usage(void) {
@@ -52,6 +54,7 @@ usage(void) {
                  _("%s: Usage: \"%s [options]\n"
                  "\t -m <mapfile>  (default = \"%s\")\n"
                  "\t -p <pro-file> (default = \"%s\")\n"
+                 "\t -M <mult>     set the profiling multiplier to <mult>\n"
                  "\t -i            print only info about the sampling step\n"
                  "\t -v            print verbose data\n"
                  "\t -a            print all symbols, even if count is 0\n"
@@ -63,171 +66,181 @@ usage(void) {
 
 static FILE *
 myopen(char *name, char *mode, int *flag) {
-  static char cmdline[S_LEN];
-
-  if (!strcmp(name+strlen(name)-3,".gz"))
-    {
-    *flag=1;
-    sprintf(cmdline,"zcat %s", name);
-    return popen(cmdline,mode);
-    }
-  *flag=0;
-  return fopen(name,mode);
+       static char cmdline[S_LEN];
+
+       if (!strcmp(name+strlen(name)-3,".gz")) {
+               *flag=1;
+               sprintf(cmdline,"zcat %s", name);
+               return popen(cmdline,mode);
+       }
+       *flag=0;
+       return fopen(name,mode);
 }
 
 int
 main (int argc, char **argv) {
-  FILE *pro;
-  FILE *map;
-  int proFd;
-  char *mapFile, *proFile;
-  unsigned long len=0, add0=0, indx=0;
-  unsigned int step;
-  unsigned int *buf, total, fn_len;
-  unsigned long fn_add, next_add;           /* current and next address */
-  char fn_name[S_LEN], next_name[S_LEN];   /* current and next name */
-  char mode[8];
-  int c;
-  int optAll=0, optInfo=0, optReset=0, optVerbose=0;
-  char mapline[S_LEN];
-  int maplineno=1;
-  int popenMap;   /* flag to tell if popen() has been used */
+       FILE *map;
+       int proFd;
+       char *mapFile, *proFile, *mult=0;
+       unsigned long len=0, add0=0, indx=0;
+       unsigned int step;
+       unsigned int *buf, total, fn_len;
+       unsigned long fn_add, next_add;          /* current and next address */
+       char fn_name[S_LEN], next_name[S_LEN];   /* current and next name */
+       char mode[8];
+       int c;
+       int optAll=0, optInfo=0, optReset=0, optVerbose=0;
+       char mapline[S_LEN];
+       int maplineno=1;
+       int popenMap;   /* flag to tell if popen() has been used */
 
 #define next (current^1)
 
-  setlocale(LC_ALL, "");
-  bindtextdomain(PACKAGE, LOCALEDIR);
-  textdomain(PACKAGE);
-
-  prgname=argv[0];
-  proFile=defaultpro;
-  mapFile=defaultmap;
-
-  while ((c=getopt(argc,argv,optstring))!=-1)
-    {
-    switch(c)
-      {
-      case 'm': mapFile=optarg; break;
-      case 'p': proFile=optarg; break;
-      case 'a': optAll++;       break;
-      case 'i': optInfo++;      break;
-      case 'r': optReset++;     break;
-      case 'v': optVerbose++;   break;
-      case 'V': printf(_("%s Version %s\n"),prgname,RELEASE); exit(0);
-      default: usage();
-      }
-    }
-
-  if (optReset)
-    {
-    /* try to become root, just in case */
-    setuid(0);
-    pro=fopen(defaultpro,"w");
-    if (!pro)
-      {perror(proFile); exit(1);}
-    fprintf(pro,_("anything\n"));
-    fclose(pro);
-    exit(0);
-    }
-
-  /*
-   * Use an fd for the profiling buffer, to skip stdio overhead
-   */
-  if ( ((proFd=open(proFile,O_RDONLY)) < 0)
-      || ((int)(len=lseek(proFd,0,SEEK_END)) < 0)
-      || (lseek(proFd,0,SEEK_SET)<0) )
-    {
-    fprintf(stderr,"%s: %s: %s\n",prgname,proFile,strerror(errno));
-    exit(1);
-    }
-
-  if ( !(buf=malloc(len)) )
-    { fprintf(stderr,"%s: malloc(): %s\n",prgname, strerror(errno)); exit(1); }
-
-  if (read(proFd,buf,len) != len)
-    {
-    fprintf(stderr,"%s: %s: %s\n",prgname,proFile,strerror(errno));
-    exit(1);
-    }
-  close(proFd);
-
-  step=buf[0];
-  if (optInfo)
-    {
-    printf(_("Sampling_step: %i\n"),step);
-    exit(0);
-    } 
-
-  total=0;
-
-  if (!(map=myopen(mapFile,"r",&popenMap)))
-    {fprintf(stderr,"%s: ",prgname);perror(mapFile);exit(1);}
-
-  while(fgets(mapline,S_LEN,map))
-    {
-    if (sscanf(mapline,"%lx %s %s",&fn_add,mode,fn_name)!=3)
-      {
-      fprintf(stderr,_("%s: %s(%i): wrong map line\n"),
-             prgname,mapFile, maplineno);
-      exit(1);
-      }
-    if (!strcmp(fn_name,"_stext")) /* only elf works like this */
-      {
-      add0=fn_add;
-      break;
-      }
-    }
-
-  if (!add0)
-    {
-    fprintf(stderr,_("%s: can't find \"_stext\" in %s\n"),prgname, mapFile);
-    exit(1);
-    }
-
-  /*
-   * Main loop.
-   */
-  while(fgets(mapline,S_LEN,map))
-    {
-    unsigned int this=0;
-
-    if (sscanf(mapline,"%lx %s %s",&next_add,mode,next_name)!=3)
-      {
-      fprintf(stderr,_("%s: %s(%i): wrong map line\n"),
-             prgname,mapFile, maplineno);
-      exit(1);
-      }
-    /* ignore any LEADING (before a '[tT]' symbol is found) Absolute symbols */
-    if (*mode == 'A' && total == 0) continue;
-    if (*mode!='T' && *mode!='t') break; /* only text is profiled */
-
-    while (indx < (next_add-add0)/step)
-      this += buf[indx++];
-    total += this;
-
-    fn_len = next_add-fn_add;
-    if (fn_len && (this || optAll))
-      {
-      if (optVerbose)
-       printf("%08lx %-40s %6i %8.4f\n",
-              fn_add,fn_name,this,this/(double)fn_len);
-      else
-       printf("%6i %-40s %8.4f\n",
-              this,fn_name,this/(double)fn_len);
-      }
-    fn_add=next_add; strcpy(fn_name,next_name);
-    }
-  /* trailer */
-  if (optVerbose)
-    printf("%08x %-40s %6i %8.4f\n",
-          0,"total",total,total/(double)(fn_add-add0));
-  else
-    printf("%6i %-40s %8.4f\n",
-          total,_("total"),total/(double)(fn_add-add0));
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
+       prgname=argv[0];
+       proFile=defaultpro;
+       mapFile=defaultmap;
+
+       while ((c=getopt(argc,argv,optstring))!=-1) {
+               switch(c) {
+               case 'm': mapFile=optarg; break;
+               case 'p': proFile=optarg; break;
+               case 'a': optAll++;       break;
+               case 'i': optInfo++;      break;
+               case 'M': mult=optarg;    break;
+               case 'r': optReset++;     break;
+               case 'v': optVerbose++;   break;
+               case 'V': printf(_("%s Version %s\n"),prgname,RELEASE);
+                       exit(0);
+               default: usage();
+               }
+       }
+
+       if (optReset || mult) {
+               int multiplier, fd, to_write;
+
+               /*
+                * When writing the multiplier, if the length of the write is
+                * not sizeof(int), the multiplier is not changed
+                */
+               if (mult) {
+                       multiplier = strtoul(mult, 0, 10);
+                       to_write = sizeof(int);
+               } else {
+                       multiplier = 0;
+                       to_write = 1;   /* sth different from sizeof(int) */
+               }
+               /* try to become root, just in case */
+               setuid(0);
+               fd = open(defaultpro,O_WRONLY);
+               if (fd < 0) {
+                       perror(defaultpro);
+                       exit(1);
+               }
+               if (write(fd, &multiplier, to_write) != to_write) {
+                       fprintf(stderr, "readprofile: error writing %s: %s\n",
+                               defaultpro, strerror(errno));
+                       exit(1);
+               }
+               close(fd);
+               exit(0);
+       }
+
+       /*
+        * Use an fd for the profiling buffer, to skip stdio overhead
+        */
+       if ( ((proFd=open(proFile,O_RDONLY)) < 0)
+            || ((int)(len=lseek(proFd,0,SEEK_END)) < 0)
+            || (lseek(proFd,0,SEEK_SET)<0) ) {
+               fprintf(stderr,"%s: %s: %s\n",prgname,proFile,strerror(errno));
+               exit(1);
+       }
+
+       if ( !(buf=malloc(len)) ) {
+               fprintf(stderr,"%s: malloc(): %s\n",prgname, strerror(errno));
+               exit(1);
+       }
+
+       if (read(proFd,buf,len) != len) {
+               fprintf(stderr,"%s: %s: %s\n",prgname,proFile,strerror(errno));
+               exit(1);
+       }
+       close(proFd);
+
+       step=buf[0];
+       if (optInfo) {
+               printf(_("Sampling_step: %i\n"),step);
+               exit(0);
+       } 
+
+       total=0;
+
+       if (!(map=myopen(mapFile,"r",&popenMap))) {
+               fprintf(stderr,"%s: ",prgname);perror(mapFile);
+               exit(1);
+       }
+
+       while(fgets(mapline,S_LEN,map)) {
+               if (sscanf(mapline,"%lx %s %s",&fn_add,mode,fn_name)!=3) {
+                       fprintf(stderr,_("%s: %s(%i): wrong map line\n"),
+                               prgname,mapFile, maplineno);
+                       exit(1);
+               }
+               if (!strcmp(fn_name,"_stext")) /* only elf works like this */ {
+                       add0=fn_add;
+                       break;
+               }
+       }
+
+       if (!add0) {
+               fprintf(stderr,_("%s: can't find \"_stext\" in %s\n"),
+                       prgname, mapFile);
+               exit(1);
+       }
+
+       /*
+        * Main loop.
+        */
+       while(fgets(mapline,S_LEN,map)) {
+               unsigned int this=0;
+
+               if (sscanf(mapline,"%lx %s %s",&next_add,mode,next_name)!=3) {
+                       fprintf(stderr,_("%s: %s(%i): wrong map line\n"),
+                               prgname,mapFile, maplineno);
+                       exit(1);
+               }
+
+               /* ignore any LEADING (before a '[tT]' symbol is found)
+                  Absolute symbols */
+               if (*mode == 'A' && total == 0) continue;
+               if (*mode!='T' && *mode!='t') break;/* only text is profiled */
+
+               while (indx < (next_add-add0)/step)
+                       this += buf[indx++];
+               total += this;
+
+               fn_len = next_add-fn_add;
+               if (fn_len && (this || optAll)) {
+                       if (optVerbose)
+                               printf("%08lx %-40s %6i %8.4f\n", fn_add,
+                                      fn_name,this,this/(double)fn_len);
+                       else
+                               printf("%6i %-40s %8.4f\n",
+                                      this,fn_name,this/(double)fn_len);
+               }
+               fn_add=next_add; strcpy(fn_name,next_name);
+       }
+       /* trailer */
+       if (optVerbose)
+               printf("%08x %-40s %6i %8.4f\n",
+                      0,"total",total,total/(double)(fn_add-add0));
+       else
+               printf("%6i %-40s %8.4f\n",
+                      total,_("total"),total/(double)(fn_add-add0));
        
-  popenMap ? pclose(map) : fclose(map);
-  exit(0);
+       popenMap ? pclose(map) : fclose(map);
+       exit(0);
 }
-
-
-
index cd1fa87a07c302d61c5f2d807a0bf181818daebc..f04f69f13aa126769adde11a65638268c2f2cf94 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  */
 
- /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
   * - added Native Language Support
   */
 
index 7aeb2de89a1b0b38e3770f54654da144f1fe9601..baf3b0aae4de642727b4c025aa9206bf10e699ad 100644 (file)
@@ -3,9 +3,12 @@
  * Rick Sladkey <jrs@world.std.com>
  * In the public domain.
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
+ * 2001-01-18 John Fremlin <vii@penguinpowered.com>
+ * - fork in case we are process group leader
+ *
  */
 
 #include <stdio.h>
@@ -13,8 +16,8 @@
 #include <stdlib.h>
 #include "nls.h"
 
-int main(int argc, char *argv[])
-{
+int
+main(int argc, char *argv[]) {
        setlocale(LC_ALL, "");
        bindtextdomain(PACKAGE, LOCALEDIR);
        textdomain(PACKAGE);
@@ -24,8 +27,19 @@ int main(int argc, char *argv[])
                        argv[0]);
                exit(1);
        }
+       if (getpgrp() == getpid()) {
+               switch(fork()){
+               case -1:
+                       perror("fork");
+                       exit(1);
+               case 0:         /* child */
+                       break;
+               default:        /* parent */
+                       exit(0);
+               }
+       }
        if (setsid() < 0) {
-               perror("setsid");
+               perror("setsid"); /* cannot happen */
                exit(1);
        }
        execvp(argv[1], argv + 1);
index 4453de748f674f8530022a9ed1fcd49852528ddc..9249283d0f0812d34e907548b03cc7ad6b0703b9 100644 (file)
@@ -42,7 +42,7 @@
  * Revision 1.2  1995/01/03  07:33:44  johnsonm
  * revisions for lp driver updates in Linux 1.1.76
  *
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  * - added Native Language Support
  *
  * 1999-05-07 Merged LPTRUSTIRQ patch by Andrea Arcangeli (1998/11/29), aeb
index 2cead324d12868ce782f9d9c762a000058c0d146..5018f6a6c3fdfdf4196c923107a54d2ff828b771 100644 (file)
@@ -6,22 +6,23 @@
 include ../make_include
 include ../MCONFIG
 
-# Where to put man pages?
-
-MAN1=          col.1 colcrt.1 colrm.1 column.1 hexdump.1 more.1 rev.1
-
-# Where to put binaries?
-# See the "install" rule for the links. . .
-
-BIN=            more
+MAN1=          col.1 colcrt.1 colrm.1 column.1 hexdump.1 rev.1
 
 USRBIN=                col colcrt colrm column hexdump rev
 
-MAYBE=         ul
+BIN=
+
+MAYBE=         more ul
 
 ifeq "$(HAVE_NCURSES)" "yes"
+BIN:=$(BIN) more
 USRBIN:=$(USRBIN) ul
-MAN1:=$(MAN1) ul.1
+MAN1:=$(MAN1) ul.1 more.1
+else
+ifeq "$(HAVE_TERMCAP)" "yes"
+BIN:=$(BIN) more
+MAN1:=$(MAN1) more.1
+endif
 endif
 
 # Where to put datebase files?
@@ -38,7 +39,7 @@ ifeq "$(HAVE_NCURSES)" "yes"
 # Have ncurses - make more and ul
 more ul:
        $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ $(LIBCURSES)
-more: more.o
+more: more.o $(LIB)/xstrncpy.o
 ul: ul.o
 else
 # Do not have ncurses - give up on ul
@@ -71,9 +72,13 @@ column: column.o $(ERR_O)
 more.o: more.c $(LIB)/pathnames.h
 rev: rev.o
 
+colcrt.o colrm.o column.o rev.o ul.o: $(LIB)/widechar.h
+
 install install.shadow install.text-utils: all
        $(INSTALLDIR) $(BINDIR) $(USRBINDIR) $(MOREHELPDIR) $(MAN1DIR)
+ifneq "$(BIN)" ""
        $(INSTALLBIN) $(BIN) $(BINDIR)
+endif
        $(INSTALLBIN) $(USRBIN) $(USRBINDIR)
        $(INSTALLDAT) $(MOREHELP) $(MOREHELPDIR)
        $(INSTALLMAN) $(MAN1) $(MAN1DIR)
similarity index 100%
rename from kbd/README.clear
rename to text-utils/README.clear
similarity index 100%
rename from kbd/README.reset
rename to text-utils/README.reset
similarity index 100%
rename from kbd/clear
rename to text-utils/clear
similarity index 100%
rename from kbd/clear.1
rename to text-utils/clear.1
index 2e1552a7a2d9dd4e873a2e1233245e5a88727903..0a875af3d5774767cb6fb43cff575db7f1d13260 100644 (file)
@@ -37,7 +37,7 @@
  *                           patches from Andries.Brouwer@cwi.nl
  * Wed Sep 14 22:31:17 1994: patches from Carl Christofferson
  *                           (cchris@connected.com)
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  *     added Native Language Support
  * 1999-09-19 Bruno Haible <haible@clisp.cons.org>
  *     modified to work correctly in multi-byte locales
index efb176f318317dad8692f90ef781f1bc2c8e3409..891fd86db1924c020876e9f61b653f3a8b3db9fa 100644 (file)
@@ -32,7 +32,7 @@
  */
 
 /*
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  *     added Native Language Support
  * 1999-09-19 Bruno Haible <haible@clisp.cons.org>
  *     modified to work correctly in multi-byte locales
index 1b90fe4ab5d950f2d9b1370d1c32d5434a87469a..9ef8af679c514dc2b3eb6c9adacf9a4ecd9c907b 100644 (file)
@@ -32,7 +32,7 @@
  */
 
 /*
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  *     added Native Language Support
  * 1999-09-19 Bruno Haible <haible@clisp.cons.org>
  *     modified to work correctly in multi-byte locales
index 79ebb115b7763649b0619486a8bc9156c043e732..3a54fe054d8b1ca8bc448df3c415659dc8c4a87d 100644 (file)
@@ -32,7 +32,7 @@
  */
  
 /*
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  *     added Native Language Support
  * 1999-09-19 Bruno Haible <haible@clisp.cons.org>
  *     modified to work correctly in multi-byte locales
index c18c6150520f429fc9266fcdf8de87b5fdc40750..82eb4d512a0dd0334323dfe819566d49ac94845d 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  */
 
- /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
   * - added Native Language Support
   */
 
index e376b0664350c35aa7fb6ebffd5b2f18b5e8a73f..154289da5e805f5156066de561d4fee41c94e6d6 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  */
 
- /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
   * - added Native Language Support
   */
 
index 0853dcd90e2f3396f61c299d84270e9ee85f1222..0a5fa47aaf9c54b0b21c16aa718943c2db000e64 100644 (file)
@@ -36,7 +36,8 @@
 .\" 25Dec92: Extensive changes made by Rik Faith (faith@cs.unc.edu) to
 .\" conform with the more 5.19 currently in use by the Linux community.
 .\"
-.Dd July 29, 1991 (Modified December 25, 1992)
+.\" .Dd July 29, 1991 (Modified December 25, 1992)
+.Dd December 25, 1992
 .Dt MORE 1
 .Os "Linux 0.98"
 .Sh NAME
index 79dc626ddaf845fc76a2ae867f742ff6ed85b9ab..ac62d070c4764336663514cb6d6941356d0f040f 100644 (file)
@@ -26,7 +26,7 @@
 **       on linux/axp.
 **     modified by Kars de Jong <jongk@cs.utwente.nl> to use terminfo instead
 **       of termcap.
-       1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+       1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
        - added Native Language Support
        1999-03-19 Arnaldo Carvalho de Melo <acme@conectiva.com.br>
        - more nls translatable strings
@@ -55,6 +55,7 @@
 #include <sys/wait.h>
 #include <a.out.h>
 #include <locale.h>
+#include "xstrncpy.h"
 #include "nls.h"
 
 #define _REGEX_RE_COMP
@@ -1786,14 +1787,12 @@ retry:
            if ((padstr = my_tgetstr("pc","pad")) != NULL)
                PC = *padstr;
            Home = my_tgetstr("ho","home");
-           if (Home == 0 || *Home == '\0')
-           {
+           if (Home == 0 || *Home == '\0') {
                if ((cursorm = my_tgetstr("cm","cup")) != NULL) {
                    const char *t = (const char *)my_tgoto(cursorm, 0, 0);
-                   strncpy(cursorhome, t, sizeof(cursorhome));
-                   cursorhome[sizeof(cursorhome)-1] = 0;
+                   xstrncpy(cursorhome, t, sizeof(cursorhome));
                    Home = cursorhome;
-              }
+               }
            }
            EodClr = my_tgetstr("cd","ed");
            if ((chBS = my_tgetstr("le","cub1")) == NULL)
index 74d724e198d491dd6825e40b4a08794a9a45fb0b..13f7dfa7effa4723ea3a030f12e1e3cc073a6599 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  */
 
- /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
   * - added Native Language Support
   */
 
index f96a68e812b04b9197fa5653e7ccdd48e0b63dc3..ce57c071ceceb261bf5cdf39509fe8cde7d2a6ea 100644 (file)
@@ -31,7 +31,7 @@
  * SUCH DAMAGE.
  */
 
- /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ /* 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
   * - added Native Language Support
   */
 
similarity index 100%
rename from kbd/reset
rename to text-utils/reset
index a5697b462e87e94e0749aa5632657f4e1d867dfc..29b8ee528e556673d58a0f2ba3f40c7cf5019e3e 100644 (file)
@@ -37,7 +37,7 @@
  *                           last line that has no newline correctly.
  * 3-Jun-1998: Patched by Nicolai Langfeldt to work better on Linux:
  *     Handle any-length-lines.  Code copied from util-linux' setpwnam.c
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  *     added Native Language Support
  * 1999-09-19 Bruno Haible <haible@clisp.cons.org>
  *     modified to work correctly in multi-byte locales
index 570c4f47dd1c0d35b71afb34ac185a8f48844efa..fb0a697d133abc2c30f9839742bd9c0519e7b820 100644 (file)
@@ -34,7 +34,7 @@
 /*
  * modified by Kars de Jong <jongk@cs.utwente.nl>
  *     to use terminfo instead of termcap.
- * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@misiek.eu.org>
+ * 1999-02-22 Arkadiusz Mi¶kiewicz <misiek@pld.ORG.PL>
  *     added Native Language Support
  * 1999-09-19 Bruno Haible <haible@clisp.cons.org>
  *     modified to work correctly in multi-byte locales