function setenv(name, value)
%MATLAB Code Generation Library Function

%    Copyright 2020-2021 The MathWorks, Inc.
%#codegen

narginchk(1, 2);
coder.internal.errorIf(coder.internal.isInParallelRegion(), ...
    'Coder:toolbox:SetEnvPARFOR');

nameIsString = coder.internal.isTextRow(name);
valueIsStringOrMissing = (nargin == 1) || coder.internal.isTextRow(value);
if coder.internal.isAmbiguousTypes
    return
end

coder.internal.assert(nameIsString && valueIsStringOrMissing, 'MATLAB:string');

if strlength(name) == 0
    return;
end

if nargin == 1
    value = '';
end

coder.internal.errorIf(contains(name, '='), 'MATLAB:setenv:IllegalNameInvalidCharacter');
coder.internal.errorIf(strlength(name) > 32766, 'MATLAB:setenv:IllegalNameTooLong');
coder.internal.errorIf(strlength(value) > 32766, 'MATLAB:setenv:IllegalValueTooLong');

coder.internal.portableEnv.setenvImpl(name,value);

