/** * Parse text parameter (can be inside "") * @param context * @param value Pointer to string buffer where pointer to non-null terminated string will be returned * @param len Length of returned non-null terminated string * @param mandatory * @return */ scpi_bool_t SCPI_ParamText(scpi_t * context, const char ** value, size_t * len, scpi_bool_t mandatory) { size_t length; if (!value || !len) { return FALSE; } if (!paramNext(context, mandatory)) { return FALSE; } if (locateText(context->paramlist.parameters, context->paramlist.length, value, &length)) { paramSkipBytes(context, length); if (len) { *len = length; } return TRUE; } return FALSE; }
/** * Parse string parameter * @param context * @param value * @param len * @param mandatory * @return */ scpi_bool_t SCPIParser::SCPI_ParamString(const char ** value, size_t * len, scpi_bool_t mandatory) { size_t length; if (!value || !len) { return FALSE; } if (!paramNext(mandatory)) { return FALSE; } if (locateStr(context.paramlist.parameters, context.paramlist.length, value, &length)) { paramSkipBytes(length); paramSkipWhitespace(); if (len) { *len = length; } return TRUE; } return FALSE; }