30 static int list_index, ncomp;
31 static char **compstrings;
40 const void *vmax = vmaxget();
46 ncomp = Rf_length(completions);
48 compstrings = (
char **)
malloc(ncomp *
sizeof(
char *));
49 if (!compstrings)
return (
char *)
NULL;
50 for (i = 0; i < ncomp; i++)
51 compstrings[i] = strdup(Rf_translateChar(STRING_ELT(completions, i)));
57 if (list_index < ncomp)
58 return compstrings[list_index++];
61 if (ncomp > 0)
free(compstrings);
70 char **matches = (
char **)
NULL;
SEXP RComp_assignTokenSym
SEXP RComp_getFileCompSym
SEXP RComp_assignBufferSym
Namespace for new ROOT classes and functions.
char * R_completion_generator(const char *text, int state)
SEXP RComp_completeTokenSym
int rl_completion_append_character
SEXP RComp_assignStartSym
Vc_ALWAYS_INLINE void free(T *p)
Frees memory that was allocated with Vc::malloc.
SEXP RComp_retrieveCompsSym
char ** R_custom_completion(const char *text, int start, int end)
int rl_attempted_completion_over
Vc_ALWAYS_INLINE_L T *Vc_ALWAYS_INLINE_R malloc(size_t n)
Allocates memory on the Heap with alignment and padding suitable for vectorized access.