status_t DLL_EXPORT kin_getreactionstring_(const integer* n, integer* i, char* buf, ftnlen lenbuf) { try { Kinetics* k = _fkin(n); std::string r = k->reactionString(*i-1); int lout = min(lenbuf,r.size()); std::copy(r.c_str(), r.c_str() + lout, buf); for (int nn = lout; nn < lenbuf; nn++) buf[nn] = ' '; return 0; } catch (CanteraError) {handleError(); return -1;} }
status_t kin_getreactionstring_(const integer* n, integer* i, char* buf, ftnlen lenbuf) { try { Kinetics* k = _fkin(n); std::string r = k->reactionString(*i-1); int lout = std::min(lenbuf, (int) r.size()); std::copy(r.c_str(), r.c_str() + lout, buf); for (int nn = lout; nn < lenbuf; nn++) { buf[nn] = ' '; } } catch (...) { return handleAllExceptions(-1, ERR); } return 0; }