[M3devel] Utypes.asLong / Utypes.assignOffT

Neels Janosch Hofmeyr neels at elego.de
Mon Jan 28 17:35:41 CET 2008


Apparently, the answer to this is trivial. I found the missing functions 
in a CVS diff:

-PROCEDURE asLong (val: off_t): long =
-  BEGIN
-    RETURN val;
-  END asLong;
-
-PROCEDURE assignOffT (VAR dest: off_t; src: long) =
-  BEGIN
-    dest := src;
-  END assignOffT;

So, just replacing all occurences of these functions with direct 
assignments compiles without problems.
y := Utypes.asLong(x)      ==becomes==>   y := ORD(x);
x := Utypes.assignOffT(y)  ==becomes==>   x := y;

Obviously, CVSup needs to be updated so that it compiles with the most 
recent CM3! The suplib still uses the obsoleted procedures asLong and 
assignOffT. Shall I write a mail to Mr. Polstra?

Neels

Neels Janosch Hofmeyr wrote:
> Hi,
>
> after some problems have been resolved, I still cannot figure out 
> these errors:
>
> ===> suplib
> --- building in LINUXLIBC6 ---
>
> new source -> compiling StatBufOffT64.m3
> "../src/StatBufOffT64.m3", line 40: unknown qualification '.' (asLong)
> "../src/StatBufOffT64.m3", line 45: unknown qualification '.' 
> (assignOffT)
>
> They are trying to access the procedures
>  Utypes.asLong
>  Utypes.assignOffT
>
> Apparently, Utypes.asLong(..) can simply be replaced by ORD(..). Is 
> this correct??
>
> Concerning assignOffT, the commit log speaks of a function called
>    PROCEDURE expandAssign(VAR dest: off_t; src: long)
> , but this function does not exist anywhere in the cm3 source tree 
> (grep -r expandAssign yielded no results).
>
>
> How do I fix this line in suplib/src/StatBufOffT64.m3 (ll.43-46)?
>
> PROCEDURE SetStatSize(VAR st: struct_stat; size: CARDINAL) =
>  BEGIN
>    Utypes.assignOffT(st.st_size, size);
>  END SetStatSize;
>
> "../src/StatBufOffT64.m3", line 45: unknown qualification '.' 
> (assignOffT)
>
>
> Thanks
>

-- 
Neels Janosch Hofmeyr
Software Developer

neels at elego.de
Public Key: http://binarchy.net/neels/neels.hofmeyr.public.key.asc

elego Software Solutions GmbH           http://www.elegosoft.com
Gustav-Meyer-Allee 25, Gebäude 12       HRB 77719
13355 Berlin, Germany                   Amtsgericht Charlottenburg
Tel.: +49 30 23 45 86 96                Sitz der Gesellschaft: Berlin
Fax:  +49 30 23 45 86 95                Geschäftsführer: Olaf Wagner


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: OpenPGP digital signature
URL: <http://m3lists.elegosoft.com/pipermail/m3devel/attachments/20080128/418b977b/attachment-0002.sig>


More information about the M3devel mailing list