| 39 | } |
| 40 | |
| 41 | void fg_get_last_error(char **msg, int *len) |
| 42 | { |
| 43 | std::string &error = forge::common::getGlobalErrorString(); |
| 44 | int slen = std::min(forge::common::MAX_ERR_SIZE, (int)error.size()); |
| 45 | if(len && slen == 0) { |
| 46 | *len = 0; |
| 47 | *msg = NULL; |
| 48 | return; |
| 49 | } |
| 50 | |
| 51 | *msg = new char[slen + 1]; |
| 52 | error.copy(*msg, slen); |
| 53 | (*msg)[slen] = '\0'; |
| 54 | error = ""; |
| 55 | |
| 56 | if(len) *len = slen; |
| 57 | } |