Exemple #1
0
PARCURISegment *
parcURISegment_Clone(const PARCURISegment *segment)
{
    assertNotNull(segment, "Parameter must be a non-null PARC_URISegment pointer.");

    PARCBuffer *copy = parcBuffer_Copy(segment->buffer);
    PARCURISegment *result = parcURISegment_CreateFromBuffer(copy);
    parcBuffer_Release(&copy);
    return result;
}
Exemple #2
0
PARCURISegment *
parcURISegment_Create(size_t length, const unsigned char segment[length])
{
    PARCURISegment *result = NULL;

    PARCBuffer *buffer = parcBuffer_Allocate(length);
    if (buffer != NULL) {
        parcBuffer_PutArray(buffer, length, segment);
        parcBuffer_Flip(buffer);
        result = parcURISegment_CreateFromBuffer(buffer);
        parcBuffer_Release(&buffer);
    }
    return result;
}
PARCBufferComposer *
ccnxNameSegment_BuildString(const CCNxNameSegment *segment, PARCBufferComposer *composer)
{
    ccnxNameLabel_BuildString(segment->label, composer);

    if (ccnxNameSegment_Length(segment) > 0) {
        PARCURISegment *uriSegment = parcURISegment_CreateFromBuffer(ccnxNameSegment_GetValue(segment));
        parcURISegment_BuildString(uriSegment, composer);

        parcURISegment_Release(&uriSegment);
    }

    return composer;
}