[Therion] Scaling issues with .3d files

Olly Betts olly at survex.com
Thu Mar 16 06:53:43 CET 2006


On Wed, Mar 15, 2006 at 08:51:15AM -0500, Philip Schuchardt wrote:
> Nope that didnt fix it.

Ah yes, I need to also fix the get32() function.  Can you try the
attached patch?  To apply it:

cd therion-0.3.9
patch -p0 < img.patch

(if you've already made the previous change it'll say the first hunk is
already applied and ask if you want to reverse the patch - just say no
and ignore the first hunk failing to apply).

And then rebuild and reinstall.

Cheers,
    Olly
-------------- next part --------------
--- extern/img.c~	2006-03-16 05:48:23.623026392 +0000
+++ extern/img.c	2006-03-16 05:49:13.443452536 +0000
@@ -38,7 +38,7 @@
 # define TIMENA msg(/*Date and time not available.*/108)
 # define TIMEFMT msg(/*%a,%Y.%m.%d %H:%M:%S %Z*/107)
 #else
-# define INT32_T long
+# define INT32_T int
 # define TIMENA "Time not available."
 # define TIMEFMT "%a,%Y.%m.%d %H:%M:%S %Z"
 # define EXT_SVX_3D "3d"
@@ -64,13 +64,13 @@
 # define fputsnl(S, FH) do {fputs((S), (FH)); putc('\n', (FH));} while(0)
 # define SVX_ASSERT(X)
 
-static long
+static INT32_T
 get32(FILE *fh)
 {
-   long w = getc(fh);
-   w |= (long)getc(fh) << 8l;
-   w |= (long)getc(fh) << 16l;
-   w |= (long)getc(fh) << 24l;
+   INT32_T w = getc(fh);
+   w |= (INT32_T)getc(fh) << 8l;
+   w |= (INT32_T)getc(fh) << 16l;
+   w |= (INT32_T)getc(fh) << 24l;
    return w;
 }
 


More information about the Therion mailing list