/* -*-c-*-
*
- * $Id: mptext.c,v 1.13 2002/10/09 00:21:06 mdw Exp $
+ * $Id: mptext.c,v 1.14 2002/10/09 00:33:44 mdw Exp $
*
* Textual representation of multiprecision numbers
*
/*----- Revision history --------------------------------------------------*
*
* $Log: mptext.c,v $
+ * Revision 1.14 2002/10/09 00:33:44 mdw
+ * Allow `0o' and `0b' prefixes for octal and binary (from Haskell)
+ *
* Revision 1.13 2002/10/09 00:21:06 mdw
* Allow user-specified `r_xx' bases to be up to 62.
*
r = 0;
} else {
ch = ops->get(p);
- if (ch == 'x') {
- ch = ops->get(p);
- rd = 16;
- } else {
- rd = 8;
- f |= f_ok;
+ switch (ch) {
+ case 'x':
+ rd = 16;
+ goto prefix;
+ case 'o':
+ rd = 8;
+ goto prefix;
+ case 'b':
+ rd = 2;
+ goto prefix;
+ prefix:
+ ch = ops->get(p);
+ break;
+ default:
+ rd = 8;
+ f |= f_ok;
}
r = -1;
}