equal
deleted
inserted
replaced
373 // Set the drive name |
373 // Set the drive name |
374 // |
374 // |
375 TInt TFsSetDriveName::DoRequestL(CFsRequest* aRequest) |
375 TInt TFsSetDriveName::DoRequestL(CFsRequest* aRequest) |
376 { |
376 { |
377 TInt driveNum=aRequest->Drive()->DriveNumber(); |
377 TInt driveNum=aRequest->Drive()->DriveNumber(); |
378 TFileName driveName; |
378 |
379 aRequest->ReadL(KMsgPtr1,driveName); |
|
380 |
379 |
381 // Validate name - return KErrBadName if it contains illegal characters such as |
380 // Validate name - return KErrBadName if it contains illegal characters such as |
382 // * ? / | > < |
381 // * ? / | > < |
383 |
382 |
384 TNameChecker checker(driveName); |
383 TPtrC driveName(aRequest->Dest().FullName()); |
|
384 TNameChecker checker(driveName); |
385 TText badChar; |
385 TText badChar; |
386 if (checker.IsIllegalName(badChar)) |
386 if (checker.IsIllegalName(badChar)) |
387 return(KErrBadName); |
387 return(KErrBadName); |
388 |
388 |
389 TInt len=((driveName.Length()+31)>>5)<<5; // % 32 |
389 TInt len=((driveName.Length()+31)>>5)<<5; // % 32 |
396 return(KErrNoMemory); |
396 return(KErrNoMemory); |
397 TheDriveNames[driveNum]=temp; |
397 TheDriveNames[driveNum]=temp; |
398 } |
398 } |
399 if (TheDriveNames[driveNum]==NULL || TheDriveNames[driveNum]->Des().MaxLength()<len) |
399 if (TheDriveNames[driveNum]==NULL || TheDriveNames[driveNum]->Des().MaxLength()<len) |
400 return(KErrNoMemory); |
400 return(KErrNoMemory); |
401 *TheDriveNames[driveNum]=driveName; |
401 *TheDriveNames[driveNum]=aRequest->Dest().FullName(); |
402 return(KErrNone); |
402 return(KErrNone); |
403 } |
403 } |
404 |
404 |
405 TInt TFsSetDriveName::Initialise(CFsRequest* aRequest) |
405 TInt TFsSetDriveName::Initialise(CFsRequest* aRequest) |
406 { |
406 { |
407 TInt r=ValidateDrive(aRequest->Message().Int0(),aRequest); |
407 TInt r=ValidateDrive(aRequest->Message().Int0(),aRequest); |
408 if (r!=KErrNone) |
408 if (r!=KErrNone) |
409 return(r); |
409 return(r); |
|
410 |
|
411 TFileName driveName; |
|
412 aRequest->ReadL(KMsgPtr1,driveName); |
|
413 r = aRequest->Dest().Set(driveName,NULL,NULL); |
|
414 if (r!=KErrNone) |
|
415 return(r); |
|
416 |
410 if (!KCapFsSetDriveName.CheckPolicy(aRequest->Message(), __PLATSEC_DIAGNOSTIC_STRING("Set Drive Name"))) |
417 if (!KCapFsSetDriveName.CheckPolicy(aRequest->Message(), __PLATSEC_DIAGNOSTIC_STRING("Set Drive Name"))) |
411 return KErrPermissionDenied; |
418 return KErrPermissionDenied; |
412 return KErrNone; |
419 return KErrNone; |
413 } |
420 } |
414 |
421 |