|sockGetStringFrom| uses a fixed buffer length of 10000,
which is wasteful if the string is small, and is wrong if
the string length exceeds it.
I think we can improve with things like:
char *
sock_get_string_aux(int purpose, char * buf, int buf_len)
{
if (accept_if_needed(purpose) != -1) {
val = fill_buf(purpose_table[purpose], buf, buf_len);
if (val == -1)
return NULL;
return buf;
}
return NULL;
}
====
(defun |sockGetStringFrom| (purpose)
(sockGetStringAux purpose (|sockGetInt| purpose)))
#+(and :clisp :ffi)
(defun sockGetStringAux (purpose len)
(ffi:with-foreign-object (buf '(ffi:c-array-max ffi:character len))
(sock_get_string_aux purpose buf len)
(ffi:foreign-value buf)))
- Qian
--
You received this message because you are subscribed to the Google Groups "FriCAS -
computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/fricas-devel/19d884b6-7fb0-41a8-8d43-a9b2d79427b5%40gmail.com.