chiark
/
gitweb
/
~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Put a frame around user management window (and the other popups) and
[disorder]
/
lib
/
basen.c
diff --git
a/lib/basen.c
b/lib/basen.c
index 362ab58311a0b1ab9cc555abc7ffb40635f5e447..74cb8366d4a24967ace7b610d62846e46c47e07d 100644
(file)
--- a/
lib/basen.c
+++ b/
lib/basen.c
@@
-1,6
+1,6
@@
/*
* This file is part of DisOrder.
/*
* This file is part of DisOrder.
- * Copyright (C) 2005 Richard Kettlewell
+ * Copyright (C) 2005
, 2007, 2008
Richard Kettlewell
*
* 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
*
* 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
@@
-17,6
+17,12
@@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*/
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
*/
+/** @file lib/basen.c @brief Arbitrary base conversion
+ *
+ * The functions in this file handle arbitrary-size non-negative integers,
+ * represented as a bigendian (MSW first) sequence of @c unsigned @c long
+ * words. The words themselves use the native byte order.
+ */
#include <config.h>
#include "types.h"
#include <config.h>
#include "types.h"
@@
-66,7
+72,7
@@
static unsigned divide(unsigned long *v, int nwords, unsigned long m) {
}
/** @brief Convert v to a chosen base
}
/** @brief Convert v to a chosen base
- * @param v Pointer to bigendian bignum
+ * @param v Pointer to bigendian bignum
(modified!)
* @param nwords Length of bignum
* @param buffer Output buffer
* @param bufsize Size of output buffer
* @param nwords Length of bignum
* @param buffer Output buffer
* @param bufsize Size of output buffer
@@
-85,7
+91,8
@@
int basen(unsigned long *v,
static const char chars[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
do {
static const char chars[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
do {
- if(i <= 1) return -1; /* overflow */
+ if(i <= 1)
+ return -1; /* overflow */
buffer[--i] = chars[divide(v, nwords, base)];
} while(!zero(v, nwords));
memmove(buffer, buffer + i, bufsize - i);
buffer[--i] = chars[divide(v, nwords, base)];
} while(!zero(v, nwords));
memmove(buffer, buffer + i, bufsize - i);