]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/lib/edit.c
Fix typo in buffer sizes off by factor of 10
[bacula/bacula] / bacula / src / lib / edit.c
index a26ca61aba1a08f5bc0c08f7cde5a30a020bb48d..d77d8bfaff4ae944926962c7bfc902a117e4cbcf 100644 (file)
@@ -6,7 +6,7 @@
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
    This program is Free Software; you can redistribute it and/or
-   modify it under the terms of version two of the GNU General Public
+   modify it under the terms of version three of the GNU Affero General Public
    License as published by the Free Software Foundation and included
    in the file LICENSE.
 
@@ -15,7 +15,7 @@
    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
+   You should have received a copy of the GNU Affero General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
@@ -332,18 +332,13 @@ char *edit_utime(utime_t val, char *buf, int buf_len)
    return buf;
 }
 
-/*
- * Convert a size in bytes to uint64_t
- * Returns false: if error
-           true:  if OK, and value stored in value
- */
-bool size_to_uint64(char *str, int str_len, uint64_t *value)
+static bool strunit_to_uint64(char *str, int str_len, uint64_t *value, 
+                              const char **mod)
 {
    int i, mod_len;
    double val;
    char mod_str[20];
    char num_str[50];
-   static const char *mod[]  = {"*", "k", "kb", "m", "mb",  "g", "gb",  NULL}; /* first item * not used */
    const int64_t mult[] = {1,             /* byte */
                            1024,          /* kilobyte */
                            1000,          /* kb kilobyte */
@@ -379,6 +374,30 @@ bool size_to_uint64(char *str, int str_len, uint64_t *value)
    return true;
 }
 
+/*
+ * Convert a size in bytes to uint64_t
+ * Returns false: if error
+           true:  if OK, and value stored in value
+ */
+bool size_to_uint64(char *str, int str_len, uint64_t *value)
+{
+   /* first item * not used */
+   static const char *mod[]  = {"*", "k", "kb", "m", "mb",  "g", "gb",  NULL};
+   return strunit_to_uint64(str, str_len, value, mod);
+}
+
+/*
+ * Convert a speed in bytes/s to uint64_t
+ * Returns false: if error
+           true:  if OK, and value stored in value
+ */
+bool speed_to_uint64(char *str, int str_len, uint64_t *value)
+{
+   /* first item * not used */
+   static const char *mod[]  = {"*", "k/s", "kb/s", "m/s", "mb/s",  NULL}; 
+   return strunit_to_uint64(str, str_len, value, mod);
+}
+
 /*
  * Check if specified string is a number or not.
  *  Taken from SQLite, cool, thanks.