Unnamed Fossil Project

Check-in [21f1495322]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:updated
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:21f1495322ffe649e2cd263e25b991826b46f588
User & Date: alexey@sudachen.name 2011-11-26 00:28:00
Context
2011-12-09
13:12
updated check-in: 01260c9d72 user: alexey@sudachen.name tags: trunk
2011-11-26
00:28
updated check-in: 21f1495322 user: alexey@sudachen.name tags: trunk
2011-11-22
16:30
updated check-in: bd25538587 user: alexey@sudachen.name tags: trunk
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to string.hc.

1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693

1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
  ;
  
#define Str_Utf8_Upper(S,L) ((char*)__Pool(Str_Utf8_Upper_Npl(S,L)))
#define Str_Utf8_Upper_Npl(S,L) Str_Utf8_Transform_Npl(S,L,(void*)towupper)
#define Str_Utf8_Lower(S,L) ((char*)__Pool(Str_Utf8_Lower_Npl(S,L)))
#define Str_Utf8_Lower_Npl(S,L) Str_Utf8_Transform_Npl(S,L,(void*)towlower)

char *Str_Safe_Oneline_Quote(char *S)
#ifdef _YOYO_STRING_BUILTIN  
  {
    int S_len = S? strlen(S):0;
    int R_count = 0;
    int R_capacity = S_len+1;
    char *R = 0;

    if ( S )
      for ( ; *S; ++S )
        {
          if ( 0 ) ;
          else if ( *S == '\n' || *S == '\r' 
            || *S == '|' || *S == '&' || *S == ';' 
            || *S == '<' || *S == '>' || *S =='[' 
            || *S ==']'  || *S == '{' || *S =='}'
            || *S == '"' || *S == '\'' || *S == '\\' )  
            R_count += __Elm_Append_Npl(&R,R_count,"~",1,1,&R_capacity);
          else if ( *S < 30 ) 

            {
              char b[2];
              Unsigned_To_Hex2(*S,b);
              R_count += __Elm_Append_Npl(&R,R_count,b,2,1,&R_capacity);
            }
          else R_count += __Elm_Append_Npl(&R,R_count,S,1,1,&R_capacity);
        }
        
    return __Pool(R);
  }
#endif
  ;

#endif /* C_once_0ED387CD_668B_44C3_9D91_A6336A2F5F48 */








|











|

|
|
|
|
|
>

|
|
|











1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
  ;
  
#define Str_Utf8_Upper(S,L) ((char*)__Pool(Str_Utf8_Upper_Npl(S,L)))
#define Str_Utf8_Upper_Npl(S,L) Str_Utf8_Transform_Npl(S,L,(void*)towupper)
#define Str_Utf8_Lower(S,L) ((char*)__Pool(Str_Utf8_Lower_Npl(S,L)))
#define Str_Utf8_Lower_Npl(S,L) Str_Utf8_Transform_Npl(S,L,(void*)towlower)

char *Str_Safe_Quote(char *S)
#ifdef _YOYO_STRING_BUILTIN  
  {
    int S_len = S? strlen(S):0;
    int R_count = 0;
    int R_capacity = S_len+1;
    char *R = 0;

    if ( S )
      for ( ; *S; ++S )
        {
          if ( 0 ) ;
          else if ( *(signed char*)S < 30
            || *S == '|' || *S == '&' || *S == ';' 
            || *S == '<' || *S == '>' || *S == '[' 
            || *S == ']' || *S == '{' || *S == '}'
            || *S == '"' || *S == '\'' ||*S == '\\' 
            || *S == '#' || *S == '$' //|| *S == '%' 
            || *S == '?' || *S == '=' || *S == '`'
          )
            {
              char b[3] = {'#',0,0};
              Unsigned_To_Hex2(*S,b+1);
              R_count += __Elm_Append_Npl(&R,R_count,b,3,1,&R_capacity);
            }
          else R_count += __Elm_Append_Npl(&R,R_count,S,1,1,&R_capacity);
        }
        
    return __Pool(R);
  }
#endif
  ;

#endif /* C_once_0ED387CD_668B_44C3_9D91_A6336A2F5F48 */

Changes to winreg.hc.

97
98
99
100
101
102
103
104
105
106
107
108
109
110
111

        if ( ERROR_SUCCESS != (err=RegQueryValueExW(o->hkey,name,0,&ltype,0,&L)) )
          __Raise(YOYO_ERROR_IO,
            __Format("failed to query value '%s' of '%s': error %08x", (opt?opt:""),o->name,err));

        if ( ltype != REG_SZ )
          __Raise(YOYO_ERROR_IO,
            Yo_Format("failed to query value '%s' of '%s': is not string value",(opt?opt:""),o->name));

        //buf = Yo_Malloc((L+1)*sizeof(wchar_t));
        buf = Yo_Malloc(L+2);
        buf[L/sizeof(wchar_t)] = 0;
        
        if ( ERROR_SUCCESS == (err=RegQueryValueExW(o->hkey,name,0,&ltype,(LPBYTE)buf,&L)) )
          ret = Str_Unicode_To_Utf8(buf);







|







97
98
99
100
101
102
103
104
105
106
107
108
109
110
111

        if ( ERROR_SUCCESS != (err=RegQueryValueExW(o->hkey,name,0,&ltype,0,&L)) )
          __Raise(YOYO_ERROR_IO,
            __Format("failed to query value '%s' of '%s': error %08x", (opt?opt:""),o->name,err));

        if ( ltype != REG_SZ )
          __Raise(YOYO_ERROR_IO,
            __Format("failed to query value '%s' of '%s': is not string value",(opt?opt:""),o->name));

        //buf = Yo_Malloc((L+1)*sizeof(wchar_t));
        buf = Yo_Malloc(L+2);
        buf[L/sizeof(wchar_t)] = 0;
        
        if ( ERROR_SUCCESS == (err=RegQueryValueExW(o->hkey,name,0,&ltype,(LPBYTE)buf,&L)) )
          ret = Str_Unicode_To_Utf8(buf);

Changes to xntdef.hc.

370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
...
417
418
419
420
421
422
423
424



















425
426

    PVOID                   ReservedForOle;
    ULONG                   WaitingOnLoaderLock;
    PVOID                   StackCommit;
    PVOID                   StackCommitMax;
    PVOID                   StackReserved;
  } XTEB, *PXTEB;

typedef struct _INITIAL_TEB 
  {
    struct {
        PVOID OldStackBase;
        PVOID OldStackLimit;
    } OldInitialTeb;
    PVOID StackBase;
    PVOID StackLimit;
    PVOID StackAllocationBase;
    //PVOID                StackBase;
    //PVOID                StackLimit;
    //PVOID                StackCommit;
    //PVOID                StackCommitMax;
    //PVOID                StackReserved;
  } INITIAL_TEB, *PINITIAL_TEB;

XTEB *Query_TEB()
#ifdef _YOYO_XNTDEF_BUILTIN
  {
  #ifdef __GNUC__
  #else
    XTEB *teb;
    __asm mov eax, fs:[0x18] 
................................................................................
IMAGE_NT_HEADERS *Get_Nt_Headers(void *p)
#ifdef _YOYO_XNTDEF_BUILTIN
  {
    return GET_NT_HEADERS(p);
  }
#endif
  ;
  



















#endif /* __windoze */  
#endif /* C_once_D26A79BF_9E35_48C1_8D5B_03D5A42C3203 */








<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<







 







|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>


>
370
371
372
373
374
375
376
















377
378
379
380
381
382
383
...
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
    PVOID                   ReservedForOle;
    ULONG                   WaitingOnLoaderLock;
    PVOID                   StackCommit;
    PVOID                   StackCommitMax;
    PVOID                   StackReserved;
  } XTEB, *PXTEB;

















XTEB *Query_TEB()
#ifdef _YOYO_XNTDEF_BUILTIN
  {
  #ifdef __GNUC__
  #else
    XTEB *teb;
    __asm mov eax, fs:[0x18] 
................................................................................
IMAGE_NT_HEADERS *Get_Nt_Headers(void *p)
#ifdef _YOYO_XNTDEF_BUILTIN
  {
    return GET_NT_HEADERS(p);
  }
#endif
  ;

int Is_WOW64()
#ifdef _YOYO_XNTDEF_BUILTIN
  {
    static int system_is = 0;
    if ( !system_is )
      {
        int (__stdcall *f_IsWow64Process)(HANDLE, int*) = 0;
        int is_wow64 = 0;
        f_IsWow64Process = (void *)GetProcAddress(GetModuleHandleA(__yoTa("kernel32.dll",0)),__yoTa("IsWow64Process",0));
        if ( f_IsWow64Process && f_IsWow64Process( GetCurrentProcess(), &is_wow64 ) && is_wow64 ) 
          system_is = 64;
        else
          system_is = 32;
      }
    return system_is == 64;
  }
#endif
  ;

#endif /* __windoze */  
#endif /* C_once_D26A79BF_9E35_48C1_8D5B_03D5A42C3203 */

Changes to yoyo.hc.

2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031

#define Yo_Elm_Append(Mem,Count,S,L,Width,CpsPtr) Yo_Elm_Insert(Mem,Count,Count,S,L,Width,CpsPtr)
#define Yo_Elm_Append_Npl(Mem,Count,S,L,Width,CpsPtr) Yo_Elm_Insert_Npl(Mem,Count,Count,S,L,Width,CpsPtr)
#define __Vector_Append(Mem,Count,Capacity,S,L) (void)(*Count += Yo_Elm_Append((void**)Mem,*Count,S,L,1,Capacity))
#define __Elm_Append(Mem,Count,S,L,Width,CpsPtr) Yo_Elm_Append((void**)Mem,Count,S,L,Width,CpsPtr)
#define __Elm_Append_Npl(Mem,Count,S,L,Width,CpsPtr) Yo_Elm_Append_Npl((void**)Mem,Count,S,L,Width,CpsPtr)

#ifdef __windoze
int Is_WOW64()
#ifdef _YOYO_CORE_BUILTIN
  {
    static int system_is = 0;
    if ( !system_is )
      {
        int (__stdcall *f_IsWow64Process)(HANDLE, int*) = 0;
        int is_wow64 = 0;
        f_IsWow64Process = (void *)GetProcAddress(GetModuleHandleA(__yoTa("kernel32.dll",0)),__yoTa("IsWow64Process",0));
        if ( f_IsWow64Process && f_IsWow64Process( GetCurrentProcess(), &is_wow64 ) && is_wow64 ) 
          system_is = 64;
        else
          system_is = 32;
      }
    return system_is == 64;
  }
#endif
  ;
#endif /* __windoze */

#endif /* C_once_6973F3BA_26FA_434D_9ED9_FF5389CE421C */








<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<


2002
2003
2004
2005
2006
2007
2008





















2009
2010

#define Yo_Elm_Append(Mem,Count,S,L,Width,CpsPtr) Yo_Elm_Insert(Mem,Count,Count,S,L,Width,CpsPtr)
#define Yo_Elm_Append_Npl(Mem,Count,S,L,Width,CpsPtr) Yo_Elm_Insert_Npl(Mem,Count,Count,S,L,Width,CpsPtr)
#define __Vector_Append(Mem,Count,Capacity,S,L) (void)(*Count += Yo_Elm_Append((void**)Mem,*Count,S,L,1,Capacity))
#define __Elm_Append(Mem,Count,S,L,Width,CpsPtr) Yo_Elm_Append((void**)Mem,Count,S,L,Width,CpsPtr)
#define __Elm_Append_Npl(Mem,Count,S,L,Width,CpsPtr) Yo_Elm_Append_Npl((void**)Mem,Count,S,L,Width,CpsPtr)






















#endif /* C_once_6973F3BA_26FA_434D_9ED9_FF5389CE421C */