]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/blobdiff - db/io.c
apply gettext translation to more strings
[thirdparty/xfsprogs-dev.git] / db / io.c
diff --git a/db/io.c b/db/io.c
index 99886881ebda9dcd66f638a5bfc76f03fb67d855..39a1827cf05d7e32833a38c5a914d1104e7720b2 100644 (file)
--- a/db/io.c
+++ b/db/io.c
@@ -1,38 +1,23 @@
 /*
- * Copyright (c) 2000 Silicon Graphics, Inc.  All Rights Reserved.
- * 
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License as
+ * Copyright (c) 2000-2002,2005 Silicon Graphics, Inc.
+ * All Rights Reserved.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
  * published by the Free Software Foundation.
- * 
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * 
- * Further, this software is distributed without any warranty that it is
- * free of the rightful claim of any third person regarding infringement
- * or the like.  Any license provided herein, whether implied or
- * otherwise, applies only to this software file.  Patent licenses, if
- * any, provided herein do not apply to combinations of this program with
- * other software, or any other product whatsoever.
- * 
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write the Free Software Foundation, Inc., 59
- * Temple Place - Suite 330, Boston MA 02111-1307, USA.
- * 
- * Contact information: Silicon Graphics, Inc., 1600 Amphitheatre Pkwy,
- * Mountain View, CA  94043, or:
- * 
- * http://www.sgi.com 
- * 
- * For further information regarding this notice, see: 
- * 
- * http://oss.sgi.com/projects/GenInfo/SGIGPLNoticeExplan/
+ *
+ * This program is distributed in the hope that it would be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write the Free Software Foundation,
+ * Inc.,  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
  */
 
-#include <libxfs.h>
+#include <xfs/libxfs.h>
 #include "command.h"
-#include "data.h"
 #include "type.h"
 #include "faddr.h"
 #include "fprint.h"
@@ -40,7 +25,7 @@
 #include "inode.h"
 #include "io.h"
 #include "output.h"
-#include "mount.h"
+#include "init.h"
 #include "malloc.h"
 
 static int     pop_f(int argc, char **argv);
@@ -58,22 +43,22 @@ static void     ring_help(void);
 
 static const cmdinfo_t pop_cmd =
        { "pop", NULL, pop_f, 0, 0, 0, NULL,
-         "pop location from the stack", pop_help };
+         N_("pop location from the stack"), pop_help };
 static const cmdinfo_t push_cmd =
-       { "push", NULL, push_f, 0, 2, 0, "[command]",
-         "push location to the stack", push_help };
+       { "push", NULL, push_f, 0, 2, 0, N_("[command]"),
+         N_("push location to the stack"), push_help };
 static const cmdinfo_t stack_cmd =
        { "stack", NULL, stack_f, 0, 0, 0, NULL,
-         "view the location stack", stack_help };
-static const cmdinfo_t  forward_cmd = 
+         N_("view the location stack"), stack_help };
+static const cmdinfo_t  forward_cmd =
        { "forward", "f", forward_f, 0, 0, 0, NULL,
-         "move forward to next entry in the position ring", forward_help };
-static const cmdinfo_t  back_cmd = 
+         N_("move forward to next entry in the position ring"), forward_help };
+static const cmdinfo_t  back_cmd =
        { "back", "b", back_f, 0, 0, 0, NULL,
-         "move to the previous location in the position ring", back_help };
-static const cmdinfo_t  ring_cmd = 
+         N_("move to the previous location in the position ring"), back_help };
+static const cmdinfo_t  ring_cmd =
        { "ring", NULL, ring_f, 0, 1, 0, NULL,
-         "show position ring or move to a specific entry", ring_help };
+         N_("show position ring or move to a specific entry"), ring_help };
 
 iocur_t        *iocur_base;
 iocur_t        *iocur_top;
@@ -103,7 +88,7 @@ off_cur(
        int     len)
 {
        if (iocur_top == NULL || off + len > BBTOB(iocur_top->blen))
-               dbprintf("can't set block offset to %d\n", off);
+               dbprintf(_("can't set block offset to %d\n"), off);
        else {
                iocur_top->boff = off;
                iocur_top->off = ((xfs_off_t)iocur_top->bb << BBSHIFT) + off;
@@ -116,7 +101,7 @@ void
 pop_cur(void)
 {
        if (iocur_sp < 0) {
-               dbprintf("can't pop anything from I/O stack\n");
+               dbprintf(_("can't pop anything from I/O stack\n"));
                return;
        }
        if (iocur_top->buf)
@@ -143,11 +128,11 @@ pop_f(
 static void
 pop_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " Changes the address and data type to the first entry on the stack.\n"
 "\n"
-               );
+               ));
 }
 
 void
@@ -158,18 +143,18 @@ print_iocur(
        int     i;
 
        dbprintf("%s\n", tag);
-       dbprintf("\tbyte offset %lld, length %d\n", ioc->off, ioc->len);
-       dbprintf("\tbuffer block %lld (fsbno %lld), %d bb%s\n", ioc->bb,
+       dbprintf(_("\tbyte offset %lld, length %d\n"), ioc->off, ioc->len);
+       dbprintf(_("\tbuffer block %lld (fsbno %lld), %d bb%s\n"), ioc->bb,
                (xfs_dfsbno_t)XFS_DADDR_TO_FSB(mp, ioc->bb), ioc->blen,
                ioc->blen == 1 ? "" : "s");
        if (ioc->use_bbmap) {
-               dbprintf("\tblock map");
+               dbprintf(_("\tblock map"));
                for (i = 0; i < ioc->blen; i++)
                        dbprintf(" %d:%lld", i, ioc->bbmap.b[i]);
                dbprintf("\n");
        }
-       dbprintf("\tinode %lld, dir inode %lld, type %s\n", ioc->ino,
-               ioc->dirino, ioc->typ == NULL ? "none" : ioc->typ->name);
+       dbprintf(_("\tinode %lld, dir inode %lld, type %s\n"), ioc->ino,
+               ioc->dirino, ioc->typ == NULL ? _("none") : ioc->typ->name);
 }
 
 void
@@ -179,11 +164,11 @@ print_ring(void)
        iocur_t *ioc;
 
        if (ring_current == -1) {
-               dbprintf("no entries in location ring.\n");
+               dbprintf(_("no entries in location ring.\n"));
                return;
        }
 
-       dbprintf("      type    bblock  bblen    fsbno     inode\n");
+       dbprintf(_("      type    bblock  bblen    fsbno     inode\n"));
 
        i = ring_head;
        for (;;) {
@@ -234,43 +219,43 @@ push_f(
        const cmdinfo_t *ct;
 
        if (argc > 1) {
-                /* check we can execute command */
-               ct = find_command(argv[1]);
-               if (ct == NULL) {
-                       dbprintf("no such command %s\n", argv[1]);
-                       return 0;
-               }
-               if (!ct->canpush) {
-                       dbprintf("no push form allowed for %s\n", argv[1]);
-                       return 0;
-               }
-        }
-        
-        /* save current state */
-        push_cur();
+               /* check we can execute command */
+               ct = find_command(argv[1]);
+               if (ct == NULL) {
+                       dbprintf(_("no such command %s\n"), argv[1]);
+                       return 0;
+               }
+               if (!ct->canpush) {
+                       dbprintf(_("no push form allowed for %s\n"), argv[1]);
+                       return 0;
+               }
+       }
+
+       /* save current state */
+       push_cur();
        if (iocur_top[-1].typ && iocur_top[-1].typ->typnm == TYP_INODE)
                set_cur_inode(iocur_top[-1].ino);
        else
                set_cur(iocur_top[-1].typ, iocur_top[-1].bb,
-                       iocur_top[-1].blen, DB_RING_IGN, 
+                       iocur_top[-1].blen, DB_RING_IGN,
                        iocur_top[-1].use_bbmap ? &iocur_top[-1].bbmap : NULL);
 
-        /* run requested command */        
-        if (argc>1)
-               (void)command(argc-1, argv+1);
+       /* run requested command */
+       if (argc>1)
+               (void)command(argc-1, argv+1);
        return 0;
 }
 
 static void
 push_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " Allows you to push the current address and data type on the stack for\n"
 " later return.  'push' also accepts an additional command to execute after\n"
 " storing the current address (ex: 'push a rootino' from the superblock).\n"
 "\n"
-               );
+               ));
 }
 
 /* move forward through the ring */
@@ -281,11 +266,11 @@ forward_f(
        char            **argv)
 {
        if (ring_current == -1) {
-               dbprintf("ring is empty\n");
+               dbprintf(_("ring is empty\n"));
                return 0;
        }
        if (ring_current == ring_head) {
-               dbprintf("no further entries\n");
+               dbprintf(_("no further entries\n"));
                return 0;
        }
 
@@ -304,14 +289,14 @@ forward_f(
 static void
 forward_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " The 'forward' ('f') command moves to the next location in the position\n"
 " ring, updating the current position and data type.  If the current location\n"
 " is the top entry in the ring, then the 'forward' command will have\n"
 " no effect.\n"
 "\n"
-               );
+               ));
 }
 
 /* move backwards through the ring */
@@ -322,11 +307,11 @@ back_f(
        char            **argv)
 {
        if (ring_current == -1) {
-               dbprintf("ring is empty\n");
+               dbprintf(_("ring is empty\n"));
                return 0;
        }
        if (ring_current == ring_tail) {
-               dbprintf("no previous entries\n");
+               dbprintf(_("no previous entries\n"));
                return 0;
        }
 
@@ -345,13 +330,13 @@ back_f(
 static void
 back_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " The 'back' ('b') command moves to the previous location in the position\n"
 " ring, updating the current position and data type.  If the current location\n"
 " is the last entry in the ring, then the 'back' command will have no effect.\n"
 "\n"
-               );
+               ));
 }
 
 /* show or go to specific point in ring */
@@ -367,9 +352,9 @@ ring_f(
                return 0;
        }
 
-       index = (int)strtoul(argv[0], NULL, 0);
+       index = (int)strtoul(argv[1], NULL, 0);
        if (index < 0 || index >= RING_ENTRIES)
-               dbprintf("invalid entry: %d\n", index);
+               dbprintf(_("invalid entry: %d\n"), index);
 
        ring_current = index;
 
@@ -385,7 +370,7 @@ ring_f(
 static void
 ring_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " The position ring automatically keeps track of each disk location and\n"
 " structure type for each change of position you make during your xfs_db\n"
@@ -404,7 +389,7 @@ ring_help(void)
 " Note: Unlike the 'stack', 'push' and 'pop' commands, the ring tracks your\n"
 " location implicitly.  Use the 'push' and 'pop' commands if you wish to\n"
 " store a specific location explicitly for later return.\n"
-"\n",
+"\n"),
                RING_ENTRIES);
 }
 
@@ -448,18 +433,18 @@ write_bbs(
        for (j = 0; j < count; j += bbmap ? 1 : count) {
                if (bbmap)
                        bbno = bbmap->b[j];
-               if (lseek64(xfsargs.dfd, bbno << BBSHIFT, SEEK_SET) < 0) {
+               if (lseek64(x.dfd, bbno << BBSHIFT, SEEK_SET) < 0) {
                        rval = errno;
-                       dbprintf("can't seek in filesystem at bb %lld\n", bbno);
+                       dbprintf(_("can't seek in filesystem at bb %lld\n"), bbno);
                        return rval;
                }
                c = BBTOB(bbmap ? 1 : count);
-               i = (int)write(xfsargs.dfd, (char *)bufp + BBTOB(j), c);
+               i = (int)write(x.dfd, (char *)bufp + BBTOB(j), c);
                if (i < 0) {
                        rval = errno;
                } else if (i < c) {
                        rval = -1;
-               } else  
+               } else
                        rval = 0;
                if (rval)
                        break;
@@ -479,9 +464,9 @@ read_bbs(
        int             i;
        int             j;
        int             rval = EINVAL;
-        
-        if (!count)
-            return EINVAL;
+
+       if (count <= 0)
+               count = 1;
 
        c = BBTOB(count);
        if (*bufp == NULL)
@@ -491,15 +476,15 @@ read_bbs(
        for (j = 0; j < count; j += bbmap ? 1 : count) {
                if (bbmap)
                        bbno = bbmap->b[j];
-               if (lseek64(xfsargs.dfd, bbno << BBSHIFT, SEEK_SET) < 0) {
+               if (lseek64(x.dfd, bbno << BBSHIFT, SEEK_SET) < 0) {
                        rval = errno;
-                       dbprintf("can't seek in filesystem at bb %lld\n", bbno);
+                       dbprintf(_("can't seek in filesystem at bb %lld\n"), bbno);
                        if (*bufp == NULL)
                                xfree(buf);
                        buf = NULL;
                } else {
                        c = BBTOB(bbmap ? 1 : count);
-                       i = (int)read(xfsargs.dfd, (char *)buf + BBTOB(j), c);
+                       i = (int)read(x.dfd, (char *)buf + BBTOB(j), c);
                        if (i < 0) {
                                rval = errno;
                                if (*bufp == NULL)
@@ -510,7 +495,7 @@ read_bbs(
                                if (*bufp == NULL)
                                        xfree(buf);
                                buf = NULL;
-                       } else  
+                       } else
                                rval = 0;
                }
                if (buf == NULL)
@@ -527,30 +512,30 @@ write_cur(void)
        int ret;
 
        if (iocur_sp < 0) {
-               dbprintf("nothing to write\n");
+               dbprintf(_("nothing to write\n"));
                return;
        }
        ret = write_bbs(iocur_top->bb, iocur_top->blen, iocur_top->buf,
                iocur_top->use_bbmap ? &iocur_top->bbmap : NULL);
        if (ret == -1)
-               dbprintf("incomplete write, block: %lld\n", 
+               dbprintf(_("incomplete write, block: %lld\n"),
                         (iocur_base + iocur_sp)->bb);
        else if (ret != 0)
-               dbprintf("write error: %s\n", strerror(ret));
+               dbprintf(_("write error: %s\n"), strerror(ret));
        /* re-read buffer from disk */
        ret = read_bbs(iocur_top->bb, iocur_top->blen, &iocur_top->buf,
                iocur_top->use_bbmap ? &iocur_top->bbmap : NULL);
        if (ret == -1)
-               dbprintf("incomplete read, block: %lld\n",
+               dbprintf(_("incomplete read, block: %lld\n"),
                         (iocur_base + iocur_sp)->bb);
        else if (ret != 0)
-               dbprintf("read error: %s\n", strerror(ret));
+               dbprintf(_("read error: %s\n"), strerror(ret));
 }
 
 void
 set_cur(
        const typ_t     *t,
-       __int64_t       d, 
+       __int64_t       d,
        int             c,
        int             ring_flag,
        bbmap_t         *bbmap)
@@ -560,13 +545,13 @@ set_cur(
        __uint16_t      mode;
 
        if (iocur_sp < 0) {
-               dbprintf("set_cur no stack element to set\n");
+               dbprintf(_("set_cur no stack element to set\n"));
                return;
        }
 
 #ifdef DEBUG
        if (bbmap)
-               printf("xfs_db got a bbmap for %lld\n", (long long)d);
+               printf(_("xfs_db got a bbmap for %lld\n"), (long long)d);
 #endif
        ino = iocur_top->ino;
        dirino = iocur_top->dirino;
@@ -596,7 +581,7 @@ set_cur(
 static void
 stack_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " The stack is used to explicitly store your location and data type\n"
 " for later return.  The 'push' operation stores the current address\n"
@@ -606,7 +591,7 @@ stack_help(void)
 " The 'stack' allows explicit location saves, see 'ring' for implicit\n"
 " position tracking.\n"
 "\n"
-               );
+               ));
 }
 
 /*ARGSUSED*/