Changes in uspace/srv/bd/file_bd/file_bd.c [4c6fd56:c8ea6eca] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/bd/file_bd/file_bd.c
r4c6fd56 rc8ea6eca 1 1 /* 2 * Copyright (c) 20 23Jiri Svoboda2 * Copyright (c) 2009 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 61 61 static aoff64_t num_blocks; 62 62 static FILE *img; 63 static loc_srv_t *srv;64 63 65 64 static service_id_t service_id; … … 138 137 return -1; 139 138 140 rc = loc_service_register( srv,device_name, &service_id);139 rc = loc_service_register(device_name, &service_id); 141 140 if (rc != EOK) { 142 141 printf("%s: Unable to register device '%s': %s.\n", … … 151 150 } 152 151 153 rc = loc_service_add_to_cat(s rv, service_id, disk_cat);152 rc = loc_service_add_to_cat(service_id, disk_cat); 154 153 if (rc != EOK) { 155 154 printf("%s: Failed adding %s to category: %s", … … 177 176 178 177 async_set_fallback_port_handler(file_bd_connection, NULL); 179 errno_t rc = loc_server_register(NAME , &srv);178 errno_t rc = loc_server_register(NAME); 180 179 if (rc != EOK) { 181 180 printf("%s: Unable to register driver.\n", NAME); … … 184 183 185 184 img = fopen(fname, "rb+"); 186 if (img == NULL) { 187 rc = EINVAL; 188 goto error; 189 } 185 if (img == NULL) 186 return EINVAL; 190 187 191 188 if (fseek(img, 0, SEEK_END) != 0) { 192 rc = EIO;193 goto error;189 fclose(img); 190 return EIO; 194 191 } 195 192 196 193 off64_t img_size = ftell(img); 197 194 if (img_size < 0) { 198 rc = EIO;199 goto error;195 fclose(img); 196 return EIO; 200 197 } 201 198 … … 205 202 206 203 return EOK; 207 error:208 if (img != NULL) {209 fclose(img);210 img = NULL;211 }212 213 if (srv != NULL) {214 loc_server_unregister(srv);215 srv = NULL;216 }217 218 return rc;219 204 } 220 205
Note:
See TracChangeset
for help on using the changeset viewer.