Hi guys, I've read all the information about developing UDFs which I could find. I know that in earlier versions of Firebird it was not possible to pass NULL parameters. However I am using Firebird 2.5 and I want to return a NULL value instead of an empty BLOB. I do not want to pass NULLs. Is this possible?
Please take a look at this function: BLOBCALLBACK blob_load(char *s, BLOBCALLBACK b) { if (b->blob_handle) { unsigned char *buffer; int buffsize = 4096; FILE *file; file = fopen(s, "rb"); if (file) { buffer = (unsigned char *) malloc(buffsize); if (buffer) { int readSize; for (;;) { readSize = fread(buffer, 1, buffsize, file); b->blob_put_segment(b->blob_handle, buffer, readSize); if (readSize != buffsize) { break; } } free(buffer); } fclose(file); } } return b; } It loads data from the disk and returns it as a blob. The problem is that sometimes on the disk there might be an empty file. There is a difference between an empty file and a file which does not exist and I would like to reflect that by retuning a NULL if the file does not exist and returning an empty blob in a case where file exists but it is empty. I've tried to setup blob strucutre like this: b->blob_get_segment = NULL; b->blob_number_segments = NULL; b->blob_max_segment = NULL; b->blob_total_length = NULL; b->blob_put_segment = NULL; but without success. So..is it possible to return NULL instead of an empty blob? Thank you. ------------------------------------------------------------------------------ CenturyLink Cloud: The Leader in Enterprise Cloud Services. Learn Why More Businesses Are Choosing CenturyLink Cloud For Critical Workloads, Development Environments & Everything In Between. Get a Quote or Start a Free Trial Today. http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel