Parametros y retorno en funciones en C

Parametros y retorno en funciones en C

Postby jvtecheto » Mon Feb 22, 2021 6:43 pm

Hola :

Sigo con mi tema de las funciones en C a ver si sois tan amables de aclararme estas dudas.

hay muchas funciones hechas en C de la forma

Code: Select all  Expand view

HB_FUNC( SQLITE3_OPEN )
{
   psqlite3 db;
   BOOL fFree;
   char * pszdbName = ( char * ) hb_fsNameConv( ( BYTE * ) hb_parc( 1 ), &fFree );

   if( hb_fsFile( ( BYTE * ) pszdbName ) || hb_parl( 2 ) )
   {
      if( sqlite3_open( pszdbName, &db ) == SQLITE_OK )
         hb_retsqlite3( db );
      else
      {
         sqlite3_close( db );
     
         hb_retptr( NULL );
      }
   }
   else
   {
      HB_TRACE(HB_TR_DEBUG, ("sqlite3_open(): Database doesn't exist %s", pszdbName));

      hb_retptr( NULL );
   }

   if( fFree )
      hb_xfree( pszdbName );
}
 


Esta funcion se llama de la forma:
Code: Select all  Expand view

sqlite3_open( "new.s3db", .F. )
 




dudas.
¿De donde se deduce los parametros que lleva la funcion, son todas las variables que se declaran en ella?

¿Como saber que devuelve la funcion?  Es esto
Code: Select all  Expand view

hb_retptr( NULL );
 



Muchisimas gracias, es un tema que me interesa mucho, si hay algun documento online que lo explique o alguien tiene algo
que me pueda mandar se lo agradezco.

Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2104281802) + Borland 7.4 + FivEdit
User avatar
jvtecheto
 
Posts: 576
Joined: Mon Mar 04, 2013 4:32 pm
Location: Spain

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: richard-service and 33 guests