[php-directfb-cvs] PHP-DirectFB/src idirectfb.c,1.2,1.3
Status: Pre-Alpha
Brought to you by:
klan
From: Claudio C. <kl...@us...> - 2004-11-22 16:58:03
|
Update of /cvsroot/php-directfb/PHP-DirectFB/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25020/src Modified Files: idirectfb.c Log Message: Changes in clipboard handling APIs: - SetClipboardData() accepts NULL as mime arguments (in that case "text/plain" is assumed) - GetClipboardTimeStamp() returns timestamp in double format (seconds,microseconds) Index: idirectfb.c =================================================================== RCS file: /cvsroot/php-directfb/PHP-DirectFB/src/idirectfb.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- idirectfb.c 15 Nov 2004 15:06:18 -0000 1.2 +++ idirectfb.c 22 Nov 2004 16:57:53 -0000 1.3 @@ -690,10 +690,13 @@ DIRECTFB_GET_THIS( dfb ); - if (zend_parse_parameters( ZEND_NUM_ARGS() TSRMLS_CC, "ss", + if (zend_parse_parameters( ZEND_NUM_ARGS() TSRMLS_CC, "s!s", &mime, &size, &data, &size ) != SUCCESS) INVARG(); + if (!mime) + mime = "text/plain"; + dfb_errno = dfb->SetClipboardData( dfb, mime, data, size, NULL ); DIRECTFB_RESULT(); @@ -717,7 +720,7 @@ add_assoc_string( return_value, "mime", mime, 1 ); free( mime ); } else - add_assoc_string( return_value, "mime", "", 1 ); + add_assoc_stringl( return_value, "mime", empty_string, 0, 0 ); if (data && size) { zval *d; @@ -731,30 +734,22 @@ add_assoc_zval( return_value, "data", d ); free( data ); } else - add_assoc_string( return_value, "data", "", 1 ); + add_assoc_stringl( return_value, "data", empty_string, 0, 0 ); } static INTERFACE_METHOD( GetClipboardTimeStamp ) { IDirectFB *dfb; - struct timeval time; - double msec; - char buf[100]; + struct timeval tv; DIRECTFB_GET_THIS( dfb ); - dfb_errno = dfb->GetClipboardTimeStamp( dfb, &time ); + dfb_errno = dfb->GetClipboardTimeStamp( dfb, &tv ); if (dfb_errno != DFB_OK) RETURN_NULL(); - msec = (double) time.tv_usec / 1000000.00; - if (msec >= 1.0) - msec -= (long) msec; - - snprintf( &buf[0], 100, "%.8f %ld", msec, time.tv_sec ); - - RETURN_STRING( &buf[0], 1 ); + RETURN_DOUBLE( (double) tv.tv_sec + (double) tv.tv_usec / 1000000.00 ); } static |