From f6cf17c56810545234e32902722466967fc84c38 Mon Sep 17 00:00:00 2001 From: malc Date: Thu, 15 Mar 2012 05:44:11 +0400 Subject: [PATCH] Fortran --- link.c | 3 ++- main.ml | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/link.c b/link.c index ca4bc08..3d7b762 100644 --- a/link.c +++ b/link.c @@ -1850,7 +1850,8 @@ static void fmt_linkn (char *s, unsigned int u) while (q > zma - 1) { ++len; q /= zma; } if (s) { s += len; - do { *--s = 'a' + (u % zma); u /= zma; } while(u); /* handles u == 0 */ + do { *--s = 'a' + (u % zma) - (u < zma && len > 1); u /= zma; } while(u); + /* handles u == 0 */ } s[len] = 0; } diff --git a/main.ml b/main.ml index 8e93526..5a3e29f 100644 --- a/main.ml +++ b/main.ml @@ -2436,8 +2436,9 @@ let linkndone f s = if String.length s > 0 then ( let n = - let rec loop pos n = if pos = String.length s then n else - let m = Char.code s.[pos] - 97 in + let l = String.length s in + let rec loop pos n = if pos = l then n else + let m = Char.code s.[pos] - (if pos = 0 && l > 1 then 96 else 97) in loop (pos+1) (n*26 + m) in loop 0 0 in -- 2.11.4.GIT