Ignore:
Timestamp:
Sep 5, 2001, 2:14:25 PM (24 years ago)
Author:
bird
Message:

Added $Id:$ keyword.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/crtdll/crtdll.cpp

    r5472 r6645  
     1/* $Id: crtdll.cpp,v 1.30 2001-09-05 12:14:23 bird Exp $ */
    12/*
    23 * The C RunTime DLL
    3  * 
     4 *
    45 * Implements C run-time functionality as known from UNIX.
    56 *
    6  * TODO: 
     7 * TODO:
    78 *   - Check setjmp(3)
    89 *   - fix *ALL* functions for the FS: wrapper problem
     
    7273// Definitions for internal functions
    7374//
    74 void            qsort1 (char*, char*, size_t,
     75void        qsort1 (char*, char*, size_t,
    7576                    int (* CDECL)(const void*, const void*));
    7677
     
    444445
    445446/*********************************************************************
    446  *      _cscanf                                 (CRTDLL.67)
     447 *  _cscanf                     (CRTDLL.67)
    447448 */
    448449INT CDECL CRTDLL__cscanf( char *s, va_list arg )
     
    604605
    605606/*********************************************************************
    606  *      _ftime                                  (CRTDLL.112)
     607 *  _ftime                  (CRTDLL.112)
    607608 */
    608609void CDECL CRTDLL__ftime( struct timeb *timebuf )
     
    618619LONG CDECL CRTDLL__ftol(void)
    619620{
    620         /* don't just do DO_FPU("fistp",retval), because the rounding
    621         * mode must also be set to "round towards zero"... */
    622         double fl;
    623         POP_FPU(fl);
    624         return (LONG)fl;
     621    /* don't just do DO_FPU("fistp",retval), because the rounding
     622    * mode must also be set to "round towards zero"... */
     623    double fl;
     624    POP_FPU(fl);
     625    return (LONG)fl;
    625626}
    626627
     
    775776
    776777/*********************************************************************
    777  *                  _ltoa       (CRTDLL.179)
     778 *                  _ltoa   (CRTDLL.179)
    778779 */
    779780LPSTR  CDECL CRTDLL__ltoa(long x,LPSTR buf,INT radix)
     
    784785
    785786/*********************************************************************
    786  *                  _matherr    (CRTDLL.181)
     787 *                  _matherr    (CRTDLL.181)
    787788 */
    788789double CDECL CRTDLL__matherr( struct exception * excep )
     
    881882
    882883/*********************************************************************
    883  *           CRTDLL__searchenv   (CRTDLL.260)
     884 *           CRTDLL__searchenv   (CRTDLL.260)
    884885 */
    885886void CDECL CRTDLL__searchenv(char *file, char *var,char *path )
     
    891892
    892893/*********************************************************************
    893  *           CRTDLL__seterrormode       (CRTDLL.261)
     894 *           CRTDLL__seterrormode   (CRTDLL.261)
    894895 */
    895896void CDECL CRTDLL__seterrormode(int uMode)
     
    902903
    903904/*********************************************************************
    904  *           CRTDLL__setjmp     (CRTDLL.262)
     905 *           CRTDLL__setjmp     (CRTDLL.262)
    905906 */
    906907int CDECL CRTDLL__setjmp( jmp_buf env )
     
    937938
    938939/*********************************************************************
    939  *      _sopen                                  (CRTDLL.268)
     940 *  _sopen                  (CRTDLL.268)
    940941 */
    941942int CDECL CRTDLL__sopen( const char *s, int i1, int i2, va_list arg )
     
    947948
    948949/*********************************************************************
    949  *           CRTDLL__spawnl     (CRTDLL.269)
     950 *           CRTDLL__spawnl     (CRTDLL.269)
    950951 */
    951952int CDECL CRTDLL__spawnl(int nMode, char* szPath, char* szArgv0, va_list arg)
     
    957958
    958959/*********************************************************************
    959  *           CRTDLL__spawnle     (CRTDLL.270)
     960 *           CRTDLL__spawnle     (CRTDLL.270)
    960961 */
    961962int CDECL CRTDLL__spawnle( int mode, char *path, char **szArgv0, va_list arg )
     
    967968
    968969/*********************************************************************
    969  *           CRTDLL__spawnlp     (CRTDLL.271)
     970 *           CRTDLL__spawnlp     (CRTDLL.271)
    970971 */
    971972int CDECL CRTDLL__spawnlp(int nMode, char* szPath, char* szArgv0, va_list arg)
     
    977978
    978979/*********************************************************************
    979  *           CRTDLL__spawnlpe   (CRTDLL.272)
     980 *           CRTDLL__spawnlpe   (CRTDLL.272)
    980981 */
    981982int CDECL CRTDLL__spawnlpe( int mode, char *path, char *szArgv0, va_list arg )
     
    987988
    988989/*********************************************************************
    989  *           CRTDLL__spawnv     (CRTDLL.273)
     990 *           CRTDLL__spawnv     (CRTDLL.273)
    990991 */
    991992int CDECL CRTDLL__spawnv( int i, char *s1, char ** s2 )
     
    997998
    998999/*********************************************************************
    999  *           CRTDLL__spawnvp     (CRTDLL.275)
     1000 *           CRTDLL__spawnvp     (CRTDLL.275)
    10001001 */
    10011002int CDECL CRTDLL__spawnvp( int i, char *s1, char ** s2 )
     
    10061007
    10071008/*********************************************************************
    1008  *           CRTDLL__spawnv     (CRTDLL.276)
     1009 *           CRTDLL__spawnv     (CRTDLL.276)
    10091010 */
    10101011int CDECL CRTDLL__spawnvpe( int i, char *s1, char ** s2, char ** s3 )
     
    10161017
    10171018/*********************************************************************
    1018  *           CRTDLL__statusfp    (CRTDLL.279)
     1019 *           CRTDLL__statusfp    (CRTDLL.279)
    10191020 */
    10201021unsigned int CDECL CRTDLL__statusfp( void )
     
    10231024  return (_status87());
    10241025}
    1025        
    1026 
    1027 /*********************************************************************
    1028  *           _ultoa              (CRTDLL.309)
     1026
     1027
     1028/*********************************************************************
     1029 *           _ultoa      (CRTDLL.309)
    10291030 */
    10301031LPSTR  CDECL CRTDLL__ultoa(long x,LPSTR buf,INT radix)
     
    10361037
    10371038/*********************************************************************
    1038  *           CRTDLL__ungetch    (CRTDLL.311)
     1039 *           CRTDLL__ungetch    (CRTDLL.311)
    10391040 */
    10401041int CDECL CRTDLL__ungetch( int i )
     
    10461047
    10471048/*********************************************************************
    1048  *           _utime              (CRTDLL.314)
     1049 *           _utime      (CRTDLL.314)
    10491050 */
    10501051int CDECL CRTDLL__utime( char *path, struct utimbuf * times )
     
    10561057
    10571058/*********************************************************************
    1058  *      _vsnprintf                              (CRTDLL.315)
     1059 *  _vsnprintf              (CRTDLL.315)
    10591060 */
    10601061int CDECL CRTDLL__vsnprintf( char *s, size_t bufsize, const char *format, va_list arg )
     
    11001101
    11011102/*********************************************************************
    1102  *                  abs         (CRTDLL.336)
     1103 *                  abs     (CRTDLL.336)
    11031104 */
    11041105double CDECL CRTDLL_abs(double d)
     
    11121113
    11131114/*********************************************************************
    1114  *                  acos        (CRTDLL.337)
     1115 *                  acos    (CRTDLL.337)
    11151116 */
    11161117double CDECL CRTDLL_acos( double x )
     
    11221123
    11231124/*********************************************************************
    1124  *                  asctime     (CRTDLL.338)
     1125 *                  asctime (CRTDLL.338)
    11251126 */
    11261127char * CDECL CRTDLL_asctime( const struct tm *timeptr )
     
    11321133
    11331134/*********************************************************************
    1134  *                  asin        (CRTDLL.339)
     1135 *                  asin    (CRTDLL.339)
    11351136 */
    11361137double CDECL CRTDLL_asin( double x )
     
    11421143
    11431144/*********************************************************************
    1144  *                  atan        (CRTDLL.340)
     1145 *                  atan    (CRTDLL.340)
    11451146 */
    11461147double CDECL CRTDLL_atan(double d)
     
    11541155
    11551156/*********************************************************************
    1156  *                  atan2       (CRTDLL.341)
     1157 *                  atan2   (CRTDLL.341)
    11571158 */
    11581159double CDECL CRTDLL_atan2( double y, double x )
     
    11641165
    11651166/*********************************************************************
    1166  *                  atof        (CRTDLL.343)
     1167 *                  atof    (CRTDLL.343)
    11671168 */
    11681169double CDECL CRTDLL_atof( const char *nptr )
     
    11741175
    11751176/*********************************************************************
    1176  *                  atoi        (CRTDLL.344)
     1177 *                  atoi    (CRTDLL.344)
    11771178 */
    11781179int CDECL CRTDLL_atoi(LPSTR str)
     
    11861187
    11871188/*********************************************************************
    1188  *                  atol        (CRTDLL.345)
     1189 *                  atol    (CRTDLL.345)
    11891190 */
    11901191long CDECL CRTDLL_atol(LPSTR str)
     
    11981199
    11991200/*********************************************************************
    1200  *                  bsearch     (CRTDLL.346)
     1201 *                  bsearch (CRTDLL.346)
    12011202 */
    12021203void *CDECL CRTDLL_bsearch (const void *key, const void *base, size_t num, size_t width,
     
    12051206  int left, right, median, sign;
    12061207  const void *element;
    1207  
     1208
    12081209  if (width == 0)
    12091210    return 0;
     
    12261227
    12271228/*********************************************************************
    1228  *                  ceil        (CRTDLL.348)
     1229 *                  ceil    (CRTDLL.348)
    12291230 */
    12301231double CDECL CRTDLL_ceil(double d)
     
    12371238
    12381239/*********************************************************************
    1239  *                  clock       (CRTDLL.350)
     1240 *                  clock   (CRTDLL.350)
    12401241 */
    12411242clock_t CDECL CRTDLL_clock( void )
     
    12471248
    12481249/*********************************************************************
    1249  *                  cos         (CRTDLL.351)
     1250 *                  cos     (CRTDLL.351)
    12501251 */
    12511252double CDECL CRTDLL_cos(double d)
     
    12591260
    12601261/*********************************************************************
    1261  *                  cosh        (CRTDLL.352)
     1262 *                  cosh    (CRTDLL.352)
    12621263 */
    12631264double CDECL CRTDLL_cosh( double x )
     
    12691270
    12701271/*********************************************************************
    1271  *                  ctime       (CRTDLL.353)
     1272 *                  ctime   (CRTDLL.353)
    12721273 */
    12731274char * CDECL CRTDLL_ctime( const time_t *timer )
     
    12791280
    12801281/*********************************************************************
    1281  *                  difftime    (CRTDLL.354)
     1282 *                  difftime    (CRTDLL.354)
    12821283 */
    12831284double CDECL CRTDLL_difftime( time_t t1, time_t t0 )
     
    12891290
    12901291/*********************************************************************
    1291  *                  div         (CRTDLL.355)
     1292 *                  div     (CRTDLL.355)
    12921293 */
    12931294ULONG CDECL CRTDLL_div( int number, int denom )
     
    13031304
    13041305/*********************************************************************
    1305  *                  exp         (CRTDLL.357)
     1306 *                  exp     (CRTDLL.357)
    13061307 */
    13071308double CDECL CRTDLL_exp( double x )
     
    13131314
    13141315/*********************************************************************
    1315  *                  fabs        (CRTDLL.358)
     1316 *                  fabs    (CRTDLL.358)
    13161317 */
    13171318double CDECL CRTDLL_fabs(double d)
     
    13251326
    13261327/*********************************************************************
    1327  *                  floor               (CRTDLL.367)
     1328 *                  floor       (CRTDLL.367)
    13281329 */
    13291330double CDECL CRTDLL_floor(double d)
     
    13371338
    13381339/*********************************************************************
    1339  *                  fmod        (CRTDLL.368)
     1340 *                  fmod    (CRTDLL.368)
    13401341 */
    13411342double CDECL CRTDLL_fmod(double x, double y )
     
    13471348
    13481349/*********************************************************************
    1349  *                  frexp         (CRTDLL.377)
     1350 *                  frexp     (CRTDLL.377)
    13501351 */
    13511352double CDECL CRTDLL_frexp( double value, int *exp )
     
    14891490
    14901491/*********************************************************************
    1491  *                  labs        (CRTDLL.416)
     1492 *                  labs    (CRTDLL.416)
    14921493 */
    14931494long int CDECL CRTDLL_labs( long int j )
     
    14991500
    15001501/*********************************************************************
    1501  *                  ldexp       (CRTDLL.417)
    1502  */
    1503 double CDECL CRTDLL_ldexp( double x, int exp ) 
     1502 *                  ldexp   (CRTDLL.417)
     1503 */
     1504double CDECL CRTDLL_ldexp( double x, int exp )
    15041505{
    15051506  dprintf2(("CRTDLL: ldexp\n"));
     
    15091510
    15101511/*********************************************************************
    1511  *                  ldiv        (CRTDLL.418)
    1512  */
    1513 ldiv_t CDECL CRTDLL_ldiv( long int numer, long int denom ) 
     1512 *                  ldiv    (CRTDLL.418)
     1513 */
     1514ldiv_t CDECL CRTDLL_ldiv( long int numer, long int denom )
    15141515{
    15151516  dprintf2(("CRTDLL: ldiv\n"));
     
    15191520
    15201521/*********************************************************************
    1521  *                  localeconv  (CRTDLL.419)
     1522 *                  localeconv  (CRTDLL.419)
    15221523 */
    15231524struct lconv * CDECL CRTDLL_localeconv(void)
     
    15291530
    15301531/*********************************************************************
    1531  *                  localtime   (CRTDLL.420)
     1532 *                  localtime   (CRTDLL.420)
    15321533 */
    15331534struct tm * CDECL CRTDLL_localtime( const time_t *timer )
     
    15391540
    15401541/*********************************************************************
    1541  *                  log         (CRTDLL.421)
     1542 *                  log     (CRTDLL.421)
    15421543 */
    15431544double CDECL CRTDLL_log( double x )
     
    15491550
    15501551/*********************************************************************
    1551  *                  log10       (CRTDLL.422)
     1552 *                  log10   (CRTDLL.422)
    15521553 */
    15531554double CDECL CRTDLL_log10( double x )
     
    15811582 *                  pow      (CRTDLL.436)
    15821583 */
    1583 double CDECL CRTDLL_pow( double x, double y )   
     1584double CDECL CRTDLL_pow( double x, double y )
    15841585{
    15851586    dprintf2(("CRTDLL: pow(%08xh, %08xh)\n",x, y));
     
    16211622
    16221623/*********************************************************************
    1623  *      scanf                                   (CRTDLL.448)
     1624 *  scanf                   (CRTDLL.448)
    16241625 */
    16251626int CDECL CRTDLL_scanf( const char *format, va_list arg )
     
    17051706
    17061707/*********************************************************************
    1707  *      sscanf                                  (CRTDLL.458)
     1708 *  sscanf                  (CRTDLL.458)
    17081709 */
    17091710int CDECL CRTDLL_sscanf( const char *s, const char *format, va_list arg )
     
    17821783
    17831784/*********************************************************************
    1784  *      ungetc                                  (CRTDLL.492)
     1785 *  ungetc                  (CRTDLL.492)
    17851786 */
    17861787INT CDECL CRTDLL_ungetc(int c, FILE *f)
     
    18121813
    18131814/*********************************************************************
    1814  *           CRTDLL__setjmp3     (CRTDLL.600)
     1815 *           CRTDLL__setjmp3     (CRTDLL.600)
    18151816 */
    18161817int CDECL CRTDLL__setjmp3( jmp_buf env )
Note: See TracChangeset for help on using the changeset viewer.