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
|