Mercurial > hg > dmlib
comparison src/dmres.c @ 1102:e06abfde6c39
Cosmetics pass: Remove excess whitespace.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Tue, 03 Mar 2015 23:22:36 +0200 |
parents | 9f06f6661cdf |
children | fd1ccfc62ceb |
comparison
equal
deleted
inserted
replaced
1101:0577f10dc3de | 1102:e06abfde6c39 |
---|---|
26 DMResource *dmResourceNew(DMResourceLib *lib, const char *filename, const size_t size, const int flags) | 26 DMResource *dmResourceNew(DMResourceLib *lib, const char *filename, const size_t size, const int flags) |
27 { | 27 { |
28 DMResource *node = dmMalloc0(sizeof(DMResource)); | 28 DMResource *node = dmMalloc0(sizeof(DMResource)); |
29 if (node == NULL) | 29 if (node == NULL) |
30 return NULL; | 30 return NULL; |
31 | 31 |
32 node->lib = lib; | 32 node->lib = lib; |
33 node->filename = dm_strdup(filename); | 33 node->filename = dm_strdup(filename); |
34 node->rawSize = size; | 34 node->rawSize = size; |
35 node->flags = flags; | 35 node->flags = flags; |
36 | 36 |
78 | 78 |
79 void dmResourceInsert(DMResourceLib *lib, DMResource * node) | 79 void dmResourceInsert(DMResourceLib *lib, DMResource * node) |
80 { | 80 { |
81 if (lib == NULL || node == NULL) | 81 if (lib == NULL || node == NULL) |
82 return; | 82 return; |
83 | 83 |
84 node->lib = lib; | 84 node->lib = lib; |
85 | 85 |
86 if (lib->resources != NULL) | 86 if (lib->resources != NULL) |
87 { | 87 { |
88 node->prev = lib->resources->prev; | 88 node->prev = lib->resources->prev; |
91 } | 91 } |
92 else | 92 else |
93 { | 93 { |
94 lib->resources = node->prev = node; | 94 lib->resources = node->prev = node; |
95 } | 95 } |
96 | 96 |
97 node->next = NULL; | 97 node->next = NULL; |
98 } | 98 } |
99 | 99 |
100 | 100 |
101 void dmResourceDelete(DMResourceLib *lib, DMResource * node) | 101 void dmResourceDelete(DMResourceLib *lib, DMResource * node) |
258 static int dm_stdio_preload(DMResource *handle) | 258 static int dm_stdio_preload(DMResource *handle) |
259 { | 259 { |
260 int ret = dm_stdio_fopen(handle); | 260 int ret = dm_stdio_fopen(handle); |
261 if (ret != DMERR_OK) | 261 if (ret != DMERR_OK) |
262 return ret; | 262 return ret; |
263 | 263 |
264 dm_stdio_fsize(handle); | 264 dm_stdio_fsize(handle); |
265 | 265 |
266 handle->rawData = dmMalloc(handle->rawSize); | 266 handle->rawData = dmMalloc(handle->rawSize); |
267 if (handle->rawData == NULL) | 267 if (handle->rawData == NULL) |
268 return DMERR_MALLOC; | 268 return DMERR_MALLOC; |
269 | 269 |
270 if (dm_stdio_fread(handle->rawData, sizeof(Uint8), handle->rawSize, handle) != handle->rawSize) | 270 if (dm_stdio_fread(handle->rawData, sizeof(Uint8), handle->rawSize, handle) != handle->rawSize) |
271 return DMERR_FREAD; | 271 return DMERR_FREAD; |
272 | 272 |
273 return DMERR_OK; | 273 return DMERR_OK; |
274 } | 274 } |
275 | 275 |
276 | 276 |
277 DMResourceOps dfStdioFileOps = | 277 DMResourceOps dfStdioFileOps = |
666 dm_mem_feof, | 666 dm_mem_feof, |
667 dm_mem_fgetc, | 667 dm_mem_fgetc, |
668 NULL, | 668 NULL, |
669 dm_mem_fread, | 669 dm_mem_fread, |
670 NULL, | 670 NULL, |
671 | 671 |
672 dm_pack_fopen, | 672 dm_pack_fopen, |
673 dm_pack_fclose, | 673 dm_pack_fclose, |
674 dm_pack_preload, | 674 dm_pack_preload, |
675 }; | 675 }; |
676 #endif | 676 #endif |
688 dm_mem_feof, | 688 dm_mem_feof, |
689 dm_mem_fgetc, | 689 dm_mem_fgetc, |
690 dm_mem_fputc, | 690 dm_mem_fputc, |
691 dm_mem_fread, | 691 dm_mem_fread, |
692 dm_mem_fwrite, | 692 dm_mem_fwrite, |
693 | 693 |
694 NULL, | 694 NULL, |
695 dmResourceFree, | 695 dmResourceFree, |
696 NULL | 696 NULL |
697 }; | 697 }; |
698 | 698 |
735 if ((ret = handle->fops->fopen(handle)) == DMERR_OK) | 735 if ((ret = handle->fops->fopen(handle)) == DMERR_OK) |
736 { | 736 { |
737 ret = handle->rops->load(handle); | 737 ret = handle->rops->load(handle); |
738 handle->fops->fclose(handle); | 738 handle->fops->fclose(handle); |
739 } | 739 } |
740 | 740 |
741 if (ret == DMERR_OK) | 741 if (ret == DMERR_OK) |
742 handle->flags |= DMF_LOADED_RES; | 742 handle->flags |= DMF_LOADED_RES; |
743 } | 743 } |
744 | 744 |
745 dmfreset(handle); | 745 dmfreset(handle); |
829 return DMERR_MALLOC; | 829 return DMERR_MALLOC; |
830 | 830 |
831 handle->fops = &dfStdioFileOps; | 831 handle->fops = &dfStdioFileOps; |
832 handle->fh = fopen(filename, mode); | 832 handle->fh = fopen(filename, mode); |
833 handle->error = dmGetErrno(); | 833 handle->error = dmGetErrno(); |
834 | 834 |
835 if (handle->fh == NULL) | 835 if (handle->fh == NULL) |
836 { | 836 { |
837 dmResourceFree(handle); | 837 dmResourceFree(handle); |
838 return handle->error; | 838 return handle->error; |
839 } | 839 } |
871 | 871 |
872 int dmfreset(DMResource *f) | 872 int dmfreset(DMResource *f) |
873 { | 873 { |
874 if (f == NULL) | 874 if (f == NULL) |
875 return DMERR_NULLPTR; | 875 return DMERR_NULLPTR; |
876 | 876 |
877 if (f->fops == NULL || f->fops->freset == NULL) | 877 if (f->fops == NULL || f->fops->freset == NULL) |
878 return DMERR_OK; | 878 return DMERR_OK; |
879 | 879 |
880 return f->fops->freset(f); | 880 return f->fops->freset(f); |
881 } | 881 } |
882 | 882 |
883 int dmferror(DMResource * f) | 883 int dmferror(DMResource * f) |
884 { | 884 { |
947 else | 947 else |
948 if (n < size - 1) | 948 if (n < size - 1) |
949 *p++ = c; | 949 *p++ = c; |
950 } | 950 } |
951 *p = 0; | 951 *p = 0; |
952 | 952 |
953 return (n > 0) ? s : NULL; | 953 return (n > 0) ? s : NULL; |
954 } | 954 } |
955 | 955 |
956 | 956 |
957 int dmResourceRef(DMResource *node) | 957 int dmResourceRef(DMResource *node) |
1038 if ((*plib = lib = dmMalloc0(sizeof(DMResourceLib))) == NULL) | 1038 if ((*plib = lib = dmMalloc0(sizeof(DMResourceLib))) == NULL) |
1039 return DMERR_MALLOC; | 1039 return DMERR_MALLOC; |
1040 | 1040 |
1041 // Basic data | 1041 // Basic data |
1042 lib->mutex = dmCreateMutex(); | 1042 lib->mutex = dmCreateMutex(); |
1043 lib->flags = flags; | 1043 lib->flags = flags; |
1044 lib->resPath = dm_strdup((path != NULL) ? path : DMRES_DATA_PATH); | 1044 lib->resPath = dm_strdup((path != NULL) ? path : DMRES_DATA_PATH); |
1045 | 1045 |
1046 | 1046 |
1047 #ifdef DM_USE_PACKFS | 1047 #ifdef DM_USE_PACKFS |
1048 if (flags & DRF_USE_PACK) | 1048 if (flags & DRF_USE_PACK) |
1084 } | 1084 } |
1085 | 1085 |
1086 res->fops = &dfPackFileOps; | 1086 res->fops = &dfPackFileOps; |
1087 dmResourceInsert(lib, res); | 1087 dmResourceInsert(lib, res); |
1088 } | 1088 } |
1089 | 1089 |
1090 initialized = TRUE; | 1090 initialized = TRUE; |
1091 } | 1091 } |
1092 } | 1092 } |
1093 #endif | 1093 #endif |
1094 | 1094 |
1124 | 1124 |
1125 | 1125 |
1126 int dmResourcesClose(DMResourceLib *lib) | 1126 int dmResourcesClose(DMResourceLib *lib) |
1127 { | 1127 { |
1128 DMResource *node; | 1128 DMResource *node; |
1129 | 1129 |
1130 if (lib == NULL) | 1130 if (lib == NULL) |
1131 return DMERR_NULLPTR; | 1131 return DMERR_NULLPTR; |
1132 | 1132 |
1133 dmMutexLock(lib->mutex); | 1133 dmMutexLock(lib->mutex); |
1134 | 1134 |
1135 // Shutdown possible subsystems | 1135 // Shutdown possible subsystems |
1136 #ifdef DM_USE_PACKFS | 1136 #ifdef DM_USE_PACKFS |
1137 if (lib->flags & DRF_USE_PACK) | 1137 if (lib->flags & DRF_USE_PACK) |
1168 int dmResourcesPreload(DMResourceLib *lib, BOOL start, int *loaded, int *total) | 1168 int dmResourcesPreload(DMResourceLib *lib, BOOL start, int *loaded, int *total) |
1169 { | 1169 { |
1170 int ret = DMERR_OK; | 1170 int ret = DMERR_OK; |
1171 | 1171 |
1172 dmMutexLock(lib->mutex); | 1172 dmMutexLock(lib->mutex); |
1173 | 1173 |
1174 // Initialize preloading | 1174 // Initialize preloading |
1175 if (lib->preload == NULL || start) | 1175 if (lib->preload == NULL || start) |
1176 { | 1176 { |
1177 DMResource *node; | 1177 DMResource *node; |
1178 | 1178 |
1179 lib->preload = lib->resources; | 1179 lib->preload = lib->resources; |
1180 *loaded = 0; | 1180 *loaded = 0; |
1181 *total = 0; | 1181 *total = 0; |
1182 | 1182 |
1183 // Calculate total number of resources to be preloaded | 1183 // Calculate total number of resources to be preloaded |