On 08/13/15 12:16 PM, Martin Burggraf wrote:
---
  src/xkbtext.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

What git repo is this for?   libxkbfile?  (That's the only one
I found a src/xkbtext.c in.)

diff --git a/src/xkbtext.c b/src/xkbtext.c
index b5d4750..91abb86 100644
--- a/src/xkbtext.c
+++ b/src/xkbtext.c
@@ -758,7 +758,7 @@ XkbGeomFPText(int val, unsigned format)
      }
      else {
          whole = val / XkbGeomPtsPerMM;
-        frac = val % XkbGeomPtsPerMM;
+        frac = abs(val % XkbGeomPtsPerMM);
          if (frac != 0)
              snprintf(buf, bufsize, "%d.%d", whole, frac);
          else


If this is for libxkbfile, then you've fixed part of the problem, but
not all of it - I extracted this out into a simple test program:

#include <stdlib.h>
#include <stdio.h>

int main(int argc, char **argv) {
    int val = atoi(argv[1]);
    int whole, frac, oldfrac;

    whole = val / 10;
    oldfrac = abs(val % 10);
    frac = abs(val % 10);
    printf("%d.%d   %d.%d\n", whole, oldfrac, whole, frac);

}

And this fixes it to no longer print the minus sign after the decimal
point, but loses track of whether a number between 0 & -1 is negative:

% ./abs -05
0.-5   0.5
% ./abs -10
-1.0   -1.0
% ./abs -15
-1.-5   -1.5

--
        -Alan Coopersmith-              [email protected]
         Oracle Solaris Engineering - http://blogs.oracle.com/alanc
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to