void update_a_form(nt_forms_struct **list, const FORM *form, int count);
int get_ntdrivers(fstring **list, char *architecture, uint32 version);
BOOL get_short_archi(char *short_archi, char *long_archi);
-void clean_up_driver_struct(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, uint32 level);
+uint32 clean_up_driver_struct(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, uint32 level);
BOOL move_driver_to_download_area(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, uint32 level, struct current_user *user, uint32 *perr);
uint32 get_a_printer_driver_9x_compatible(pstring line, fstring model);
uint32 del_a_printer(char *sharename);
*/
if ((driver->cversion = get_correct_cversion(architecture,
driver->driverpath)) == -1)
- return ERROR_INVALID_PARAMETER; /* Not the best error. Fix JRR */
+ return NT_STATUS_FILE_INVALID; /* Not the best error. Fix JRR */
return NT_STATUS_NO_PROBLEMO;
}
*/
if ((driver->version = get_correct_cversion(architecture,
driver->driverpath)) == -1)
- return ERROR_INVALID_PARAMETER; /* Not the best error. Fix JRR */
+ return NT_STATUS_FILE_INVALID; /* Not the best error. Fix JRR */
return NT_STATUS_NO_PROBLEMO;
}
/****************************************************************************
****************************************************************************/
-void clean_up_driver_struct(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, uint32 level)
+uint32 clean_up_driver_struct(NT_PRINTER_DRIVER_INFO_LEVEL driver_abstract, uint32 level)
{
switch (level) {
case 3:
{
NT_PRINTER_DRIVER_INFO_LEVEL_3 *driver;
driver=driver_abstract.info_3;
- clean_up_driver_struct_level_3(driver);
+ return clean_up_driver_struct_level_3(driver);
break;
}
case 6:
{
NT_PRINTER_DRIVER_INFO_LEVEL_6 *driver;
driver=driver_abstract.info_6;
- clean_up_driver_struct_level_6(driver);
+ return clean_up_driver_struct_level_6(driver);
break;
}
+ default:
+ return ERROR_INVALID_PARAMETER;
}
}
convert_printer_driver_info(info, &driver, level);
DEBUG(5,("Cleaning driver's information\n"));
- clean_up_driver_struct(driver, level);
+ if ((err = clean_up_driver_struct(driver, level)) != NT_STATUS_NO_PROBLEMO )
+ goto done;
DEBUG(5,("Moving driver to final destination\n"));
if(!move_driver_to_download_area(driver, level, &user, &err)) {