Changeset 4617
- Timestamp:
- 02/14/07 11:55:49 (2 years ago)
- Files:
-
- libwired/trunk/libwired/data/wi-string.c (modified) (6 diffs)
- libwired/trunk/libwired/data/wi-string.h (modified) (3 diffs)
- libwired/trunk/libwired/file/wi-file.c (modified) (4 diffs)
- libwired/trunk/libwired/file/wi-file.h (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
libwired/trunk/libwired/data/wi-string.c
r4590 r4617 218 218 219 219 220 wi_string_t * wi_string_with_bytes(const char *buffer, size_t size) {220 wi_string_t * wi_string_with_bytes(const void *buffer, wi_uinteger_t size) { 221 221 return wi_autorelease(wi_string_init_with_bytes(wi_string_alloc(), buffer, size)); 222 222 } … … 264 264 265 265 266 wi_string_t * wi_string_init_with_bytes(wi_string_t *string, const char *buffer, size_t size) {266 wi_string_t * wi_string_init_with_bytes(wi_string_t *string, const void *buffer, wi_uinteger_t size) { 267 267 string = wi_string_init_with_capacity(string, size); 268 268 … … 327 327 328 328 wi_string_t * wi_string_init_with_contents_of_file(wi_string_t *string, wi_string_t *path) { 329 struct stat sb; 330 FILE *fp; 331 const char *cstring; 332 char buffer[BUFSIZ]; 333 size_t bytes; 334 335 cstring = wi_string_cstring(path); 336 337 if(stat(cstring, &sb) < 0) { 338 wi_error_set_errno(errno); 339 340 wi_release(string); 341 342 return NULL; 343 } 344 345 fp = fopen(cstring, "r"); 346 347 if(!fp) { 348 wi_error_set_errno(errno); 349 350 wi_release(string); 351 352 return NULL; 353 } 354 355 string = wi_string_init_with_capacity(string, sb.st_size); 356 357 while((bytes = fread(buffer, 1, sizeof(buffer), fp)) > 0) 358 wi_string_append_bytes(string, buffer, bytes); 359 360 fclose(fp); 361 362 return string; 329 wi_file_t *file; 330 331 file = wi_file_for_reading(path); 332 333 if(!file) { 334 wi_release(string); 335 336 return NULL; 337 } 338 339 return wi_file_read_to_end_of_file(file); 363 340 } 364 341 … … 776 753 777 754 778 void wi_string_append_bytes(wi_string_t *string, const char *buffer, size_t length) {755 void wi_string_append_bytes(wi_string_t *string, const void *buffer, wi_uinteger_t length) { 779 756 _WI_STRING_GROW(string, length); 780 757 … … 787 764 788 765 789 wi_string_t * wi_string_by_appending_bytes(wi_string_t *string, const char *buffer, size_t length) {766 wi_string_t * wi_string_by_appending_bytes(wi_string_t *string, const void *buffer, wi_uinteger_t length) { 790 767 wi_string_t *newstring; 791 768 … … 1606 1583 wi_string_t *base64_string; 1607 1584 unsigned char inbuffer[3], outbuffer[4]; 1608 wi_uinteger_t i, count, position, offset, remaining; 1609 size_t size; 1585 wi_uinteger_t i, count, position, offset, remaining, size; 1610 1586 1611 1587 position = offset = 0; libwired/trunk/libwired/data/wi-string.h
r4578 r4617 56 56 WI_EXPORT wi_string_t * wi_string_with_cstring(const char *); 57 57 WI_EXPORT wi_string_t * wi_string_with_format(wi_string_t *, ...); 58 WI_EXPORT wi_string_t * wi_string_with_bytes(const char *, size_t);58 WI_EXPORT wi_string_t * wi_string_with_bytes(const void *, wi_uinteger_t); 59 59 60 60 WI_EXPORT wi_string_t * wi_string_alloc(void); … … 63 63 WI_EXPORT wi_string_t * wi_string_init_with_cstring(wi_string_t *, const char *); 64 64 WI_EXPORT wi_string_t * wi_string_init_with_data(wi_string_t *, wi_data_t *); 65 WI_EXPORT wi_string_t * wi_string_init_with_bytes(wi_string_t *, const char *, size_t);65 WI_EXPORT wi_string_t * wi_string_init_with_bytes(wi_string_t *, const void *, wi_uinteger_t); 66 66 WI_EXPORT wi_string_t * wi_string_init_random_string_with_length(wi_string_t *, wi_uinteger_t); 67 67 WI_EXPORT wi_string_t * wi_string_init_with_format(wi_string_t *, wi_string_t *, ...); … … 84 84 WI_EXPORT void wi_string_append_cstring(wi_string_t *, const char *); 85 85 WI_EXPORT wi_string_t * wi_string_by_appending_cstring(wi_string_t *, const char *); 86 WI_EXPORT void wi_string_append_bytes(wi_string_t *, const char *, size_t);87 WI_EXPORT wi_string_t * wi_string_by_appending_bytes(wi_string_t *, const char *, size_t);86 WI_EXPORT void wi_string_append_bytes(wi_string_t *, const void *, wi_uinteger_t); 87 WI_EXPORT wi_string_t * wi_string_by_appending_bytes(wi_string_t *, const void *, wi_uinteger_t); 88 88 WI_EXPORT void wi_string_append_string(wi_string_t *, wi_string_t *); 89 89 WI_EXPORT wi_string_t * wi_string_by_appending_string(wi_string_t *, wi_string_t *); libwired/trunk/libwired/file/wi-file.c
r4590 r4617 738 738 #pragma mark - 739 739 740 wi_string_t * wi_file_read(wi_file_t *file, size_t length) {740 wi_string_t * wi_file_read(wi_file_t *file, wi_uinteger_t length) { 741 741 wi_string_t *string; 742 742 char buffer[WI_FILE_BUFFER_SIZE]; 743 intbytes = -1;743 wi_integer_t bytes = -1; 744 744 745 745 _WI_FILE_ASSERT_OPEN(file); … … 780 780 781 781 wi_string_t * wi_file_read_to_end_of_file(wi_file_t *file) { 782 return wi_file_read(file, UINT_MAX); 782 wi_string_t *string; 783 char buffer[WI_FILE_BUFFER_SIZE]; 784 wi_integer_t bytes; 785 786 string = wi_string_init(wi_string_alloc()); 787 788 while((bytes = wi_file_read_buffer(file, buffer, sizeof(buffer)))) 789 wi_string_append_bytes(string, buffer, bytes); 790 791 if(bytes <= 0) { 792 wi_release(string); 793 794 string = NULL; 795 } 796 797 return wi_autorelease(string); 783 798 } 784 799 … … 837 852 838 853 839 wi_integer_t wi_file_read_buffer(wi_file_t *file, char *buffer, size_t length) {854 wi_integer_t wi_file_read_buffer(wi_file_t *file, void *buffer, wi_uinteger_t length) { 840 855 wi_integer_t bytes; 841 856 … … 872 887 873 888 874 wi_integer_t wi_file_write_buffer(wi_file_t *file, const char *buffer, size_t length) {889 wi_integer_t wi_file_write_buffer(wi_file_t *file, const void *buffer, wi_uinteger_t length) { 875 890 wi_integer_t bytes; 876 891 libwired/trunk/libwired/file/wi-file.h
r4447 r4617 102 102 WI_EXPORT int wi_file_descriptor(wi_file_t *); 103 103 104 WI_EXPORT wi_string_t * wi_file_read(wi_file_t *, size_t);104 WI_EXPORT wi_string_t * wi_file_read(wi_file_t *, wi_uinteger_t); 105 105 WI_EXPORT wi_string_t * wi_file_read_to_end_of_file(wi_file_t *); 106 106 WI_EXPORT wi_string_t * wi_file_read_line(wi_file_t *); 107 107 WI_EXPORT wi_string_t * wi_file_read_config_line(wi_file_t *); 108 108 WI_EXPORT wi_string_t * wi_file_read_to_string(wi_file_t *, wi_string_t *); 109 WI_EXPORT wi_integer_t wi_file_read_buffer(wi_file_t *, char *, size_t);109 WI_EXPORT wi_integer_t wi_file_read_buffer(wi_file_t *, void *, wi_uinteger_t); 110 110 WI_EXPORT wi_integer_t wi_file_write(wi_file_t *, wi_string_t *, ...); 111 WI_EXPORT wi_integer_t wi_file_write_buffer(wi_file_t *, const char *, size_t);111 WI_EXPORT wi_integer_t wi_file_write_buffer(wi_file_t *, const void *, wi_uinteger_t); 112 112 113 113 WI_EXPORT void wi_file_seek(wi_file_t *, wi_file_offset_t);
