Edit

IABSD.fr/ports/misc/uniutils/patches/patch-ExplicateUTF8_c

Branch :

  • Show log

    Commit

  • Author : naddy
    Date : 2022-03-11 19:38:05
    Hash : c715eab9
    Message : drop RCS Ids

  • misc/uniutils/patches/patch-ExplicateUTF8_c
  • Remove %n format specifier
    and stop using the platform-dependent function binfmtl().
    We want 32 bits here, not whatever sizeof(long) might be.
    
    Index: ExplicateUTF8.c
    --- ExplicateUTF8.c.orig
    +++ ExplicateUTF8.c
    @@ -87,7 +87,7 @@ main(int ac, char **av){
       int UsefulBits;
       unsigned char c[6];
       int i;
    -  UTF32 ch;
    +  UTF32 ch, mask;
       unsigned char *cptr;
       unsigned char ShiftedByte;
       char tempstr[33];
    @@ -214,7 +214,10 @@ main(int ac, char **av){
         printf("%s ",tempstr); 
       }
       printf("\n");
    -  printf("This is padded to 32 places with %d zeros: %n%s\n",(32-GotBits),&spaces,binfmtl(ch));
    +  spaces = printf("This is padded to 32 places with %d zeros: ",(32-GotBits));
    +  for (mask = 1UL << 31; mask; mask >>= 1)
    +    putchar(ch & mask ? '1' : '0');
    +  putchar('\n');
       sprintf(tempstr,"                                ");
       sprintf(tempstr,"%08lX",ch);
       tempstr[28] = tempstr[7];