MCPcopy Create free account
hub / github.com/cinder/Cinder / ptrDataRefAddFileNameExtension

Function ptrDataRefAddFileNameExtension

src/cinder/qtime/QuickTimeUtils.cpp:261–289  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

259}
260
261OSStatus ptrDataRefAddFileNameExtension( ComponentInstance dataRefHandler, const string &fileName )
262{
263 OSStatus osErr = noErr;
264 unsigned char myChar = 0;
265 Handle fileNameHandle = NULL;
266
267 // create a handle with our file name string
268 // if we were passed an empty string, then we need to add this null string (a single 0 byte) to the handle
269 if( fileName.empty() )
270 osErr = ::PtrToHand( &myChar, &fileNameHandle, sizeof(myChar) );
271 else {
272 unique_ptr<char[]> tempStr( new char[fileName.size()+1] );
273 memcpy( &tempStr.get()[1], &fileName[0], fileName.size() );
274 tempStr.get()[0] = fileName.size();
275 osErr = ::PtrToHand( &tempStr.get()[0], &fileNameHandle, tempStr.get()[0] + 1 );
276 if( osErr != noErr ) goto bail;
277 }
278 if( osErr != noErr) goto bail;
279
280 // set the data ref extension for the data ref handler
281 osErr = ::DataHSetDataRefExtension( dataRefHandler, fileNameHandle, kDataRefExtensionFileName );
282
283 bail:
284 if( fileNameHandle ) // no longer need this
285 ::DisposeHandle( fileNameHandle );
286
287 return osErr;
288
289}
290
291
292OSStatus ptrDataRefAddMIMETypeExtension( ComponentInstance dataRefHandler, const std::string &mimeType )

Callers 1

Calls 3

emptyMethod · 0.45
sizeMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected