mirror of /home/gitosis/repositories/libowfat.git
Mirror of :pserver:cvs@cvs.fefe.de:/cvs libowfat
https://www.fefe.de/libowfat/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
536 B
16 lines
536 B
#include "array.h" |
|
#include "textcode.h" |
|
|
|
void fmt_tofrom_array(size_t (*func)(char*,const char*,size_t), |
|
array* dest,array* src) { |
|
size_t needed; |
|
char* x; |
|
if (array_failed(dest) || array_failed(src)) { array_fail(dest); return; } |
|
needed=func(0,array_start(src),array_bytes(src)); |
|
if (array_bytes(dest)+needed>needed && |
|
array_allocate(dest,1,array_bytes(dest)+needed-1)) { |
|
x=((char*)array_start(dest))+array_bytes(dest)-needed; |
|
func(x,array_start(src),array_bytes(src)); |
|
} else |
|
array_fail(dest); |
|
}
|
|
|