summaryrefslogtreecommitdiff
path: root/src/get_str.c
diff options
context:
space:
mode:
authorvlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2014-10-30 14:41:34 +0000
committervlefevre <vlefevre@280ebfd0-de03-0410-8827-d642c229c3f4>2014-10-30 14:41:34 +0000
commit0357e84ecc92c5f405fd06f7a4d0c332b9fce1c2 (patch)
treec44001f049474ffb9d379dd4a9089a0712ab3b4d /src/get_str.c
parent51f7d8b678ee40521a9b46224533c0169ea8a72a (diff)
downloadmpfr-0357e84ecc92c5f405fd06f7a4d0c332b9fce1c2.tar.gz
[src/get_str.c] Code refactoring.
git-svn-id: svn://scm.gforge.inria.fr/svn/mpfr/trunk@9226 280ebfd0-de03-0410-8827-d642c229c3f4
Diffstat (limited to 'src/get_str.c')
-rw-r--r--src/get_str.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/src/get_str.c b/src/get_str.c
index 774984c59..c8ffa2473 100644
--- a/src/get_str.c
+++ b/src/get_str.c
@@ -2323,13 +2323,14 @@ mpfr_get_str (char *s, mpfr_exp_t *e, int b, size_t m, mpfr_srcptr x,
/* x is a floating-point number */
+ if (s == NULL)
+ s = (char *) (*__gmp_allocate_func) (neg + m + 1);
+ s0 = s;
+ if (neg)
+ *s++ = '-';
+
if (MPFR_IS_ZERO (x))
{
- if (s == NULL)
- s = (char *) (*__gmp_allocate_func) (neg + m + 1);
- s0 = s;
- if (neg)
- *s++ = '-';
memset (s, '0', m);
s[m] = '\0';
*e = 0; /* a bit like frexp() in ISO C99 */
@@ -2337,12 +2338,6 @@ mpfr_get_str (char *s, mpfr_exp_t *e, int b, size_t m, mpfr_srcptr x,
return s0; /* strlen(s0) = neg + m */
}
- if (s == NULL)
- s = (char *) (*__gmp_allocate_func) (neg + m + 1);
- s0 = s;
- if (neg)
- *s++ = '-';
-
xp = MPFR_MANT (x);
if (IS_POW2 (b))