MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / parseInfo

Method parseInfo

src/remote/remote.cpp:907–941  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

905
906
907void RBlobInfo::parseInfo(unsigned int bufferLength, const unsigned char* buffer)
908{
909 int c = 0;
910 valid = false;
911
912 ClumpletReader p(ClumpletReader::InfoResponse, buffer, bufferLength);
913 for (; !p.isEof(); p.moveNext())
914 {
915 switch (p.getClumpTag())
916 {
917 case isc_info_blob_num_segments:
918 num_segments = p.getInt();
919 c++;
920 break;
921 case isc_info_blob_max_segment:
922 max_segment = p.getInt();
923 c++;
924 break;
925 case isc_info_blob_total_length:
926 total_length = p.getInt();
927 c++;
928 break;
929 case isc_info_blob_type:
930 blob_type = p.getInt();
931 c++;
932 break;
933 case isc_info_end:
934 break;
935 default:
936 fb_assert(false);
937 break;
938 }
939 }
940 valid = (c == 4);
941}
942
943void Rrq::saveStatus(const Exception& ex) throw()
944{

Callers 2

setupInlineBlobMethod · 0.80
openBlobMethod · 0.80

Calls 4

getClumpTagMethod · 0.80
isEofMethod · 0.45
moveNextMethod · 0.45
getIntMethod · 0.45

Tested by

no test coverage detected