On Wed, Dec 22, 2021 at 9:54 PM Reinhard Kotucha <[email protected]>
wrote:

> On 2021-12-21 at 11:41:37 +0100, luigi scarso wrote:
>
>  > On Wed, Sep 8, 2021 at 9:56 AM luigi scarso <[email protected]>
> wrote:
>  >
>  > >
>  > >
>  > > On Sun, Sep 5, 2021 at 7:48 PM Reinhard Kotucha <
> [email protected]>
>  > > wrote:
>  > >
>  > >>
>  > >> Obviously.  But I doubt that wProcessorLevel is what's needed here.
>  > >> Isn't there something like wProcessorArchitecture that distinguishes
>  > >> between 32 and 64 bit?
>  > >>
>  > >
>  > > seems so. I will check this weekend .
>  > >
>  > > --
>  > > luigi
>  > >
>  >
>  > It should be fixed,
>  > we have now more PROCESSOR_ARCHITECTURE :
>  >
>  > +    case PROCESSOR_ARCHITECTURE_AMD64:
>  > +        strcpy(uts->machine, "amd64");
>  > +        break;
>  > +    case PROCESSOR_ARCHITECTURE_ARM:
>  > +        strcpy(uts->machine, "arm");
>  > +        break;
>  > +    case PROCESSOR_ARCHITECTURE_ARM64:
>  > +        strcpy(uts->machine, "arm64");
>  > +        break;
>  > +    case PROCESSOR_ARCHITECTURE_IA64:
>  > +        strcpy(uts->machine, "ia64");
>  > +        break;
>
> Thank you Luigi!
>
> Currently I get "x86_64" on Linux.  Will it be sufficient check
> whether the string ends with '64' in order to determine reliably
> whether I'm on a 64 bit machine?  That would be nice because
> conditional code or table lookups can be avoided.
>

hm, what we have now  ( always   #ifdef _WIN32   is true ) is :

    switch (sysinfo.wProcessorArchitecture) {
    case PROCESSOR_ARCHITECTURE_AMD64:
        strcpy(uts->machine, "amd64");
        break;
    case PROCESSOR_ARCHITECTURE_ARM:
        strcpy(uts->machine, "arm");
        break;
    case PROCESSOR_ARCHITECTURE_ARM64:
        strcpy(uts->machine, "arm64");
        break;
    case PROCESSOR_ARCHITECTURE_IA64:
        strcpy(uts->machine, "ia64");
        break;
    case PROCESSOR_ARCHITECTURE_PPC:
        strcpy(uts->machine, "ppc");
        break;
    case PROCESSOR_ARCHITECTURE_ALPHA:
        strcpy(uts->machine, "alpha");
        break;
    case PROCESSOR_ARCHITECTURE_MIPS:
        strcpy(uts->machine, "mips");
        break;
    case PROCESSOR_ARCHITECTURE_INTEL:
        /*
         * dwProcessorType is only valid in Win95 and Win98 and WinME
         * wProcessorLevel is only valid in WinNT
         */
        switch (os) {
        case Win95:
        case Win98:
            switch (sysinfo.dwProcessorType) {
            case PROCESSOR_INTEL_386:
            case PROCESSOR_INTEL_486:
            case PROCESSOR_INTEL_PENTIUM:
                sprintf(uts->machine, "i%ld", sysinfo.dwProcessorType);
                break;
            default:
                strcpy(uts->machine, "i386");
                break;
            }
            break;
        case WinNT:
            sprintf(uts->machine, "i%d86", sysinfo.wProcessorLevel);
            break;
        default:
            strcpy(uts->machine, "unknown");
            break;
        }
        break;
    default:
        strcpy(uts->machine, "unknown");
        break;
    }


-- 
luigi
_______________________________________________
dev-luatex mailing list
[email protected]
https://mailman.ntg.nl/mailman/listinfo/dev-luatex

Reply via email to