Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

LIBFT

I. How to use libft in you project:

Clone repository

    git clone https://github.com/vscabell/libft.git

Compile

    run make to compile libft.a
    run make clean to delete tmp files after compile (only libft.a will be remain)
    run make fclean to delete all files after compile
    run make re to recompile all files

Include

    #include "libft.h" in your project
    compile libft.a
    link you binary with -L./$(lib_path) -lft flag

II. Function List

Functions from <ctype.h> library

FunctionSynopsisDescription
ft_isalnumint ft_isalnum(int c)checks for an alphanumeric character
ft_isalphaint ft_isalpha(int c)checks for an alphabetic character
ft_isdigitint ft_isdigit(int c)checks for a digit (0 through 9)
ft_isprintint ft_isprint(int c)checks for any printable character including space
ft_isspaceint ft_isspace(int c)checks for white-space characters
ft_tolowerint ft_tolower(int c)upper case to lower case letter conversion
ft_toupperft_toupper(int c)lower case to upper case letter conversion

Functions from <stdlib.h> library

FunctionSynopsisDescription
ft_atoiint ft_atoi(const char *str)convert ASCII string to an integer
ft_callocvoid *ft_calloc(size_t countsize_t size)allocates size bytes and returns a pointer to the allocated memory

Functions from <string.h> library

FunctionSynopsisDescription
ft_strlensize_t ft_strlen(const char *s)calculates the length of the string s, excluding the terminating null byteg
ft_strlcpysize_t ft_strlcpy(char *dst, const char *src, size_t dstsize)copies up to size - 1 characters from the NUL-terminated string src to dst, NUL-terminating the result
ft_strlcatsize_t ft_strlcat(char *dst, const char *src, size_t dstsize)appends the NUL-terminated string src to the end of dst. It will append at most size - strlen(dst) - 1 bytes, NUL-terminating the result
ft_strchrchar *ft_strchr(const char *s, int c)returns a pointer to the first occurrence of the character c in the string s
ft_strrchrchar *ft_strrchr(const char *s, int c)returns a pointer to the last occurrence of the character c in the string s
ft_strnstrchar *ft_strnstr(const char *haystack, const char *needle,size_t len)locate a substring in a string
ft_strncmpint ft_strncmp(const char *s1, const char *s2, size_t n)compares the two strings s1 and s2. It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2
ft_strdupchar *ft_strdup(const char *s1)returns a pointer to a new string which is a duplicate of the string s

Functions from <strings.h> library

FunctionSynopsisDescription
ft_bzerovoid ft_bzero(void *s, size_t n)erases the data in the n bytes of the memory starting at the location pointed to by s, by writing zeroes (bytes containing '\0') to that area
ft_memsetvoid *ft_memset(void *b, int c, size_t len)fills the first n bytes of the memory area pointed to by s with the constant byte c
ft_memchrvoid *ft_memchr(const void *s, int c, size_t n)locate byte in byte string
ft_memcpyvoid *ft_memcpy(void *dst, const void *src, size_t n)copies n bytes from memory area src to memory area dest. The memory areas must not overlap
ft_memccpyvoid *ft_memccpy(void *dst, const void *src, int c, size_t n)copies no more than n bytes from memory area src to memory area dest, stopping when the character c is found
ft_memcmpint ft_memcmp(const void *s1, const void *s2, size_t n)returns an integer less than, equal to, or greater than zero if the first n bytes of s1 is found, respectively, to be less than, to match, or be greater than the first n bytes of s2
ft_memmovevoid *ft_memmove(void *dst, const void *src, size_t len)function copies n bytes from memory area src to memory area dest. The memory areas may overlap: copying takes place as though the bytes in src are first copied into a temporary array that does notoverlap src or dest, and the bytes are then copied from the temporary array to dest

Non-standard functions

FunctionSynopsisDescription
ft_substrchar *ft_substr(char const *s, unsigned int start, size_t len)allocates (with malloc) and returns a substring from the string 's'. The substring begins at index 'start' and is of maximum size 'len'
ft_strjoinchar *ft_strjoin(char const *s1, char const *s2)allocates (with malloc) and returns a new string, which is the result of the concatenation of 's1' and 's2'
ft_strtrimchar *ft_strtrim(char const *s1, char const *set)allocates (with malloc) and returns a copy of 's1' with the characters specified in 'set' removed from the beginning and the end of the string
ft_splitchar **ft_split(char const *s, char c)allocates (with malloc) and returns an array of strings obtained by splitting 's' using the character 'c' as a delimiter. The array must be ended by a NULL pointer
ft_itoachar *ft_itoa(int n)allocates (with malloc) and returns a string representing the integer received as an argument. Negative numbers must be handled
ft_strmapichar *ft_strmapi(char const *s, char (*f)(unsigned int, char))applies the function 'f' to each character of the string 's' to create a new string (with malloc) resulting from successive applications of 'f'
ft_putchar_fdvoid ft_putchar_fd(char c, int fd)outputs the character 'c' to the given file descriptor
ft_putstr_fdvoid ft_putstr_fd(char *s, int fd)outputs the string 's' to the given file descriptor
ft_putendl_fdvoid ft_putendl_fd(char *s, int fd)outputs the string 's' to the given file descriptor, followed by a newline
ft_putnbr_fdvoid ft_putnbr_fd(int n, int fd)outputs the integer 'n' to the given file descriptor

Linked list functions

FunctionSynopsisDescription
ft_lstnewt_list *ft_lstnew(void *content)allocates (with malloc) and returns a new element. The variable 'content' is initialized with the value of the parameter 'content'. The variable 'next' is initialized to NULL.
ft_lstadd_frontvoid ft_lstadd_front(t_list **lst, t_list *new)add new element at beginning of the list
ft_lstsizeint ft_lstsize(t_list *lst)count the number of elements in a list
ft_lstlastt_list *ft_lstlast(t_list *lst)returns the last element of list
ft_lstadd_backvoid ft_lstadd_back(t_list **lst, t_list *new)add new element at end of the list
ft_lstdelonevoid ft_lstdelone(t_list *lst, void (del)(void))takes as a parameter an element and frees the memory of the element’s content using the function 'del' given as a parameter and free the element. The memory of 'next' must not be freed
ft_lstclearvoid ft_lstclear(t_list **lst, void (del)(void))deletes and frees the given element and every successor of that element, using the function 'del' and free. Finally, the pointer to the list must be set to NULL
ft_lstitervoid ft_lstiter(t_list *lst, void (*f)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element
ft_lstmapt_list *ft_lstmap(t_list *lst, void *(*f)(void *), void(*del)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element. creates a new list resulting of the successive applications of the function 'f'. The 'del' function is used to delete the content of an element if needed

Some other functions was added to this library in order to be used in future projects

About

My own implementation of some highly useful C functions. Project from 42 São Paulo

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

LIBFT

I. How to use libft in you project:

Clone repository

    git clone https://github.com/vscabell/libft.git

Compile

    run make to compile libft.a
    run make clean to delete tmp files after compile (only libft.a will be remain)
    run make fclean to delete all files after compile
    run make re to recompile all files

Include

    #include "libft.h" in your project
    compile libft.a
    link you binary with -L./$(lib_path) -lft flag

II. Function List

Functions from <ctype.h> library

FunctionSynopsisDescription
ft_isalnumint ft_isalnum(int c)checks for an alphanumeric character
ft_isalphaint ft_isalpha(int c)checks for an alphabetic character
ft_isdigitint ft_isdigit(int c)checks for a digit (0 through 9)
ft_isprintint ft_isprint(int c)checks for any printable character including space
ft_isspaceint ft_isspace(int c)checks for white-space characters
ft_tolowerint ft_tolower(int c)upper case to lower case letter conversion
ft_toupperft_toupper(int c)lower case to upper case letter conversion

Functions from <stdlib.h> library

FunctionSynopsisDescription
ft_atoiint ft_atoi(const char *str)convert ASCII string to an integer
ft_callocvoid *ft_calloc(size_t countsize_t size)allocates size bytes and returns a pointer to the allocated memory

Functions from <string.h> library

FunctionSynopsisDescription
ft_strlensize_t ft_strlen(const char *s)calculates the length of the string s, excluding the terminating null byteg
ft_strlcpysize_t ft_strlcpy(char *dst, const char *src, size_t dstsize)copies up to size - 1 characters from the NUL-terminated string src to dst, NUL-terminating the result
ft_strlcatsize_t ft_strlcat(char *dst, const char *src, size_t dstsize)appends the NUL-terminated string src to the end of dst. It will append at most size - strlen(dst) - 1 bytes, NUL-terminating the result
ft_strchrchar *ft_strchr(const char *s, int c)returns a pointer to the first occurrence of the character c in the string s
ft_strrchrchar *ft_strrchr(const char *s, int c)returns a pointer to the last occurrence of the character c in the string s
ft_strnstrchar *ft_strnstr(const char *haystack, const char *needle,size_t len)locate a substring in a string
ft_strncmpint ft_strncmp(const char *s1, const char *s2, size_t n)compares the two strings s1 and s2. It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2
ft_strdupchar *ft_strdup(const char *s1)returns a pointer to a new string which is a duplicate of the string s

Functions from <strings.h> library

FunctionSynopsisDescription
ft_bzerovoid ft_bzero(void *s, size_t n)erases the data in the n bytes of the memory starting at the location pointed to by s, by writing zeroes (bytes containing '\0') to that area
ft_memsetvoid *ft_memset(void *b, int c, size_t len)fills the first n bytes of the memory area pointed to by s with the constant byte c
ft_memchrvoid *ft_memchr(const void *s, int c, size_t n)locate byte in byte string
ft_memcpyvoid *ft_memcpy(void *dst, const void *src, size_t n)copies n bytes from memory area src to memory area dest. The memory areas must not overlap
ft_memccpyvoid *ft_memccpy(void *dst, const void *src, int c, size_t n)copies no more than n bytes from memory area src to memory area dest, stopping when the character c is found
ft_memcmpint ft_memcmp(const void *s1, const void *s2, size_t n)returns an integer less than, equal to, or greater than zero if the first n bytes of s1 is found, respectively, to be less than, to match, or be greater than the first n bytes of s2
ft_memmovevoid *ft_memmove(void *dst, const void *src, size_t len)function copies n bytes from memory area src to memory area dest. The memory areas may overlap: copying takes place as though the bytes in src are first copied into a temporary array that does notoverlap src or dest, and the bytes are then copied from the temporary array to dest

Non-standard functions

FunctionSynopsisDescription
ft_substrchar *ft_substr(char const *s, unsigned int start, size_t len)allocates (with malloc) and returns a substring from the string 's'. The substring begins at index 'start' and is of maximum size 'len'
ft_strjoinchar *ft_strjoin(char const *s1, char const *s2)allocates (with malloc) and returns a new string, which is the result of the concatenation of 's1' and 's2'
ft_strtrimchar *ft_strtrim(char const *s1, char const *set)allocates (with malloc) and returns a copy of 's1' with the characters specified in 'set' removed from the beginning and the end of the string
ft_splitchar **ft_split(char const *s, char c)allocates (with malloc) and returns an array of strings obtained by splitting 's' using the character 'c' as a delimiter. The array must be ended by a NULL pointer
ft_itoachar *ft_itoa(int n)allocates (with malloc) and returns a string representing the integer received as an argument. Negative numbers must be handled
ft_strmapichar *ft_strmapi(char const *s, char (*f)(unsigned int, char))applies the function 'f' to each character of the string 's' to create a new string (with malloc) resulting from successive applications of 'f'
ft_putchar_fdvoid ft_putchar_fd(char c, int fd)outputs the character 'c' to the given file descriptor
ft_putstr_fdvoid ft_putstr_fd(char *s, int fd)outputs the string 's' to the given file descriptor
ft_putendl_fdvoid ft_putendl_fd(char *s, int fd)outputs the string 's' to the given file descriptor, followed by a newline
ft_putnbr_fdvoid ft_putnbr_fd(int n, int fd)outputs the integer 'n' to the given file descriptor

Linked list functions

FunctionSynopsisDescription
ft_lstnewt_list *ft_lstnew(void *content)allocates (with malloc) and returns a new element. The variable 'content' is initialized with the value of the parameter 'content'. The variable 'next' is initialized to NULL.
ft_lstadd_frontvoid ft_lstadd_front(t_list **lst, t_list *new)add new element at beginning of the list
ft_lstsizeint ft_lstsize(t_list *lst)count the number of elements in a list
ft_lstlastt_list *ft_lstlast(t_list *lst)returns the last element of list
ft_lstadd_backvoid ft_lstadd_back(t_list **lst, t_list *new)add new element at end of the list
ft_lstdelonevoid ft_lstdelone(t_list *lst, void (del)(void))takes as a parameter an element and frees the memory of the element’s content using the function 'del' given as a parameter and free the element. The memory of 'next' must not be freed
ft_lstclearvoid ft_lstclear(t_list **lst, void (del)(void))deletes and frees the given element and every successor of that element, using the function 'del' and free. Finally, the pointer to the list must be set to NULL
ft_lstitervoid ft_lstiter(t_list *lst, void (*f)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element
ft_lstmapt_list *ft_lstmap(t_list *lst, void *(*f)(void *), void(*del)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element. creates a new list resulting of the successive applications of the function 'f'. The 'del' function is used to delete the content of an element if needed

Some other functions was added to this library in order to be used in future projects

About

My own implementation of some highly useful C functions. Project from 42 São Paulo

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

LIBFT

I. How to use libft in you project:

Clone repository

    git clone https://github.com/vscabell/libft.git

Compile

    run make to compile libft.a
    run make clean to delete tmp files after compile (only libft.a will be remain)
    run make fclean to delete all files after compile
    run make re to recompile all files

Include

    #include "libft.h" in your project
    compile libft.a
    link you binary with -L./$(lib_path) -lft flag

II. Function List

Functions from <ctype.h> library

FunctionSynopsisDescription
ft_isalnumint ft_isalnum(int c)checks for an alphanumeric character
ft_isalphaint ft_isalpha(int c)checks for an alphabetic character
ft_isdigitint ft_isdigit(int c)checks for a digit (0 through 9)
ft_isprintint ft_isprint(int c)checks for any printable character including space
ft_isspaceint ft_isspace(int c)checks for white-space characters
ft_tolowerint ft_tolower(int c)upper case to lower case letter conversion
ft_toupperft_toupper(int c)lower case to upper case letter conversion

Functions from <stdlib.h> library

FunctionSynopsisDescription
ft_atoiint ft_atoi(const char *str)convert ASCII string to an integer
ft_callocvoid *ft_calloc(size_t countsize_t size)allocates size bytes and returns a pointer to the allocated memory

Functions from <string.h> library

FunctionSynopsisDescription
ft_strlensize_t ft_strlen(const char *s)calculates the length of the string s, excluding the terminating null byteg
ft_strlcpysize_t ft_strlcpy(char *dst, const char *src, size_t dstsize)copies up to size - 1 characters from the NUL-terminated string src to dst, NUL-terminating the result
ft_strlcatsize_t ft_strlcat(char *dst, const char *src, size_t dstsize)appends the NUL-terminated string src to the end of dst. It will append at most size - strlen(dst) - 1 bytes, NUL-terminating the result
ft_strchrchar *ft_strchr(const char *s, int c)returns a pointer to the first occurrence of the character c in the string s
ft_strrchrchar *ft_strrchr(const char *s, int c)returns a pointer to the last occurrence of the character c in the string s
ft_strnstrchar *ft_strnstr(const char *haystack, const char *needle,size_t len)locate a substring in a string
ft_strncmpint ft_strncmp(const char *s1, const char *s2, size_t n)compares the two strings s1 and s2. It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2
ft_strdupchar *ft_strdup(const char *s1)returns a pointer to a new string which is a duplicate of the string s

Functions from <strings.h> library

FunctionSynopsisDescription
ft_bzerovoid ft_bzero(void *s, size_t n)erases the data in the n bytes of the memory starting at the location pointed to by s, by writing zeroes (bytes containing '\0') to that area
ft_memsetvoid *ft_memset(void *b, int c, size_t len)fills the first n bytes of the memory area pointed to by s with the constant byte c
ft_memchrvoid *ft_memchr(const void *s, int c, size_t n)locate byte in byte string
ft_memcpyvoid *ft_memcpy(void *dst, const void *src, size_t n)copies n bytes from memory area src to memory area dest. The memory areas must not overlap
ft_memccpyvoid *ft_memccpy(void *dst, const void *src, int c, size_t n)copies no more than n bytes from memory area src to memory area dest, stopping when the character c is found
ft_memcmpint ft_memcmp(const void *s1, const void *s2, size_t n)returns an integer less than, equal to, or greater than zero if the first n bytes of s1 is found, respectively, to be less than, to match, or be greater than the first n bytes of s2
ft_memmovevoid *ft_memmove(void *dst, const void *src, size_t len)function copies n bytes from memory area src to memory area dest. The memory areas may overlap: copying takes place as though the bytes in src are first copied into a temporary array that does notoverlap src or dest, and the bytes are then copied from the temporary array to dest

Non-standard functions

FunctionSynopsisDescription
ft_substrchar *ft_substr(char const *s, unsigned int start, size_t len)allocates (with malloc) and returns a substring from the string 's'. The substring begins at index 'start' and is of maximum size 'len'
ft_strjoinchar *ft_strjoin(char const *s1, char const *s2)allocates (with malloc) and returns a new string, which is the result of the concatenation of 's1' and 's2'
ft_strtrimchar *ft_strtrim(char const *s1, char const *set)allocates (with malloc) and returns a copy of 's1' with the characters specified in 'set' removed from the beginning and the end of the string
ft_splitchar **ft_split(char const *s, char c)allocates (with malloc) and returns an array of strings obtained by splitting 's' using the character 'c' as a delimiter. The array must be ended by a NULL pointer
ft_itoachar *ft_itoa(int n)allocates (with malloc) and returns a string representing the integer received as an argument. Negative numbers must be handled
ft_strmapichar *ft_strmapi(char const *s, char (*f)(unsigned int, char))applies the function 'f' to each character of the string 's' to create a new string (with malloc) resulting from successive applications of 'f'
ft_putchar_fdvoid ft_putchar_fd(char c, int fd)outputs the character 'c' to the given file descriptor
ft_putstr_fdvoid ft_putstr_fd(char *s, int fd)outputs the string 's' to the given file descriptor
ft_putendl_fdvoid ft_putendl_fd(char *s, int fd)outputs the string 's' to the given file descriptor, followed by a newline
ft_putnbr_fdvoid ft_putnbr_fd(int n, int fd)outputs the integer 'n' to the given file descriptor

Linked list functions

FunctionSynopsisDescription
ft_lstnewt_list *ft_lstnew(void *content)allocates (with malloc) and returns a new element. The variable 'content' is initialized with the value of the parameter 'content'. The variable 'next' is initialized to NULL.
ft_lstadd_frontvoid ft_lstadd_front(t_list **lst, t_list *new)add new element at beginning of the list
ft_lstsizeint ft_lstsize(t_list *lst)count the number of elements in a list
ft_lstlastt_list *ft_lstlast(t_list *lst)returns the last element of list
ft_lstadd_backvoid ft_lstadd_back(t_list **lst, t_list *new)add new element at end of the list
ft_lstdelonevoid ft_lstdelone(t_list *lst, void (del)(void))takes as a parameter an element and frees the memory of the element’s content using the function 'del' given as a parameter and free the element. The memory of 'next' must not be freed
ft_lstclearvoid ft_lstclear(t_list **lst, void (del)(void))deletes and frees the given element and every successor of that element, using the function 'del' and free. Finally, the pointer to the list must be set to NULL
ft_lstitervoid ft_lstiter(t_list *lst, void (*f)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element
ft_lstmapt_list *ft_lstmap(t_list *lst, void *(*f)(void *), void(*del)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element. creates a new list resulting of the successive applications of the function 'f'. The 'del' function is used to delete the content of an element if needed

Some other functions was added to this library in order to be used in future projects

About

My own implementation of some highly useful C functions. Project from 42 São Paulo

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

LIBFT

I. How to use libft in you project:

Clone repository

    git clone https://github.com/vscabell/libft.git

Compile

    run make to compile libft.a
    run make clean to delete tmp files after compile (only libft.a will be remain)
    run make fclean to delete all files after compile
    run make re to recompile all files

Include

    #include "libft.h" in your project
    compile libft.a
    link you binary with -L./$(lib_path) -lft flag

II. Function List

Functions from <ctype.h> library

FunctionSynopsisDescription
ft_isalnumint ft_isalnum(int c)checks for an alphanumeric character
ft_isalphaint ft_isalpha(int c)checks for an alphabetic character
ft_isdigitint ft_isdigit(int c)checks for a digit (0 through 9)
ft_isprintint ft_isprint(int c)checks for any printable character including space
ft_isspaceint ft_isspace(int c)checks for white-space characters
ft_tolowerint ft_tolower(int c)upper case to lower case letter conversion
ft_toupperft_toupper(int c)lower case to upper case letter conversion

Functions from <stdlib.h> library

FunctionSynopsisDescription
ft_atoiint ft_atoi(const char *str)convert ASCII string to an integer
ft_callocvoid *ft_calloc(size_t countsize_t size)allocates size bytes and returns a pointer to the allocated memory

Functions from <string.h> library

FunctionSynopsisDescription
ft_strlensize_t ft_strlen(const char *s)calculates the length of the string s, excluding the terminating null byteg
ft_strlcpysize_t ft_strlcpy(char *dst, const char *src, size_t dstsize)copies up to size - 1 characters from the NUL-terminated string src to dst, NUL-terminating the result
ft_strlcatsize_t ft_strlcat(char *dst, const char *src, size_t dstsize)appends the NUL-terminated string src to the end of dst. It will append at most size - strlen(dst) - 1 bytes, NUL-terminating the result
ft_strchrchar *ft_strchr(const char *s, int c)returns a pointer to the first occurrence of the character c in the string s
ft_strrchrchar *ft_strrchr(const char *s, int c)returns a pointer to the last occurrence of the character c in the string s
ft_strnstrchar *ft_strnstr(const char *haystack, const char *needle,size_t len)locate a substring in a string
ft_strncmpint ft_strncmp(const char *s1, const char *s2, size_t n)compares the two strings s1 and s2. It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2
ft_strdupchar *ft_strdup(const char *s1)returns a pointer to a new string which is a duplicate of the string s

Functions from <strings.h> library

FunctionSynopsisDescription
ft_bzerovoid ft_bzero(void *s, size_t n)erases the data in the n bytes of the memory starting at the location pointed to by s, by writing zeroes (bytes containing '\0') to that area
ft_memsetvoid *ft_memset(void *b, int c, size_t len)fills the first n bytes of the memory area pointed to by s with the constant byte c
ft_memchrvoid *ft_memchr(const void *s, int c, size_t n)locate byte in byte string
ft_memcpyvoid *ft_memcpy(void *dst, const void *src, size_t n)copies n bytes from memory area src to memory area dest. The memory areas must not overlap
ft_memccpyvoid *ft_memccpy(void *dst, const void *src, int c, size_t n)copies no more than n bytes from memory area src to memory area dest, stopping when the character c is found
ft_memcmpint ft_memcmp(const void *s1, const void *s2, size_t n)returns an integer less than, equal to, or greater than zero if the first n bytes of s1 is found, respectively, to be less than, to match, or be greater than the first n bytes of s2
ft_memmovevoid *ft_memmove(void *dst, const void *src, size_t len)function copies n bytes from memory area src to memory area dest. The memory areas may overlap: copying takes place as though the bytes in src are first copied into a temporary array that does notoverlap src or dest, and the bytes are then copied from the temporary array to dest

Non-standard functions

FunctionSynopsisDescription
ft_substrchar *ft_substr(char const *s, unsigned int start, size_t len)allocates (with malloc) and returns a substring from the string 's'. The substring begins at index 'start' and is of maximum size 'len'
ft_strjoinchar *ft_strjoin(char const *s1, char const *s2)allocates (with malloc) and returns a new string, which is the result of the concatenation of 's1' and 's2'
ft_strtrimchar *ft_strtrim(char const *s1, char const *set)allocates (with malloc) and returns a copy of 's1' with the characters specified in 'set' removed from the beginning and the end of the string
ft_splitchar **ft_split(char const *s, char c)allocates (with malloc) and returns an array of strings obtained by splitting 's' using the character 'c' as a delimiter. The array must be ended by a NULL pointer
ft_itoachar *ft_itoa(int n)allocates (with malloc) and returns a string representing the integer received as an argument. Negative numbers must be handled
ft_strmapichar *ft_strmapi(char const *s, char (*f)(unsigned int, char))applies the function 'f' to each character of the string 's' to create a new string (with malloc) resulting from successive applications of 'f'
ft_putchar_fdvoid ft_putchar_fd(char c, int fd)outputs the character 'c' to the given file descriptor
ft_putstr_fdvoid ft_putstr_fd(char *s, int fd)outputs the string 's' to the given file descriptor
ft_putendl_fdvoid ft_putendl_fd(char *s, int fd)outputs the string 's' to the given file descriptor, followed by a newline
ft_putnbr_fdvoid ft_putnbr_fd(int n, int fd)outputs the integer 'n' to the given file descriptor

Linked list functions

FunctionSynopsisDescription
ft_lstnewt_list *ft_lstnew(void *content)allocates (with malloc) and returns a new element. The variable 'content' is initialized with the value of the parameter 'content'. The variable 'next' is initialized to NULL.
ft_lstadd_frontvoid ft_lstadd_front(t_list **lst, t_list *new)add new element at beginning of the list
ft_lstsizeint ft_lstsize(t_list *lst)count the number of elements in a list
ft_lstlastt_list *ft_lstlast(t_list *lst)returns the last element of list
ft_lstadd_backvoid ft_lstadd_back(t_list **lst, t_list *new)add new element at end of the list
ft_lstdelonevoid ft_lstdelone(t_list *lst, void (del)(void))takes as a parameter an element and frees the memory of the element’s content using the function 'del' given as a parameter and free the element. The memory of 'next' must not be freed
ft_lstclearvoid ft_lstclear(t_list **lst, void (del)(void))deletes and frees the given element and every successor of that element, using the function 'del' and free. Finally, the pointer to the list must be set to NULL
ft_lstitervoid ft_lstiter(t_list *lst, void (*f)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element
ft_lstmapt_list *ft_lstmap(t_list *lst, void *(*f)(void *), void(*del)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element. creates a new list resulting of the successive applications of the function 'f'. The 'del' function is used to delete the content of an element if needed

Some other functions was added to this library in order to be used in future projects

About

My own implementation of some highly useful C functions. Project from 42 São Paulo

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

LIBFT

I. How to use libft in you project:

Clone repository

    git clone https://github.com/vscabell/libft.git

Compile

    run make to compile libft.a
    run make clean to delete tmp files after compile (only libft.a will be remain)
    run make fclean to delete all files after compile
    run make re to recompile all files

Include

    #include "libft.h" in your project
    compile libft.a
    link you binary with -L./$(lib_path) -lft flag

II. Function List

Functions from <ctype.h> library

FunctionSynopsisDescription
ft_isalnumint ft_isalnum(int c)checks for an alphanumeric character
ft_isalphaint ft_isalpha(int c)checks for an alphabetic character
ft_isdigitint ft_isdigit(int c)checks for a digit (0 through 9)
ft_isprintint ft_isprint(int c)checks for any printable character including space
ft_isspaceint ft_isspace(int c)checks for white-space characters
ft_tolowerint ft_tolower(int c)upper case to lower case letter conversion
ft_toupperft_toupper(int c)lower case to upper case letter conversion

Functions from <stdlib.h> library

FunctionSynopsisDescription
ft_atoiint ft_atoi(const char *str)convert ASCII string to an integer
ft_callocvoid *ft_calloc(size_t countsize_t size)allocates size bytes and returns a pointer to the allocated memory

Functions from <string.h> library

FunctionSynopsisDescription
ft_strlensize_t ft_strlen(const char *s)calculates the length of the string s, excluding the terminating null byteg
ft_strlcpysize_t ft_strlcpy(char *dst, const char *src, size_t dstsize)copies up to size - 1 characters from the NUL-terminated string src to dst, NUL-terminating the result
ft_strlcatsize_t ft_strlcat(char *dst, const char *src, size_t dstsize)appends the NUL-terminated string src to the end of dst. It will append at most size - strlen(dst) - 1 bytes, NUL-terminating the result
ft_strchrchar *ft_strchr(const char *s, int c)returns a pointer to the first occurrence of the character c in the string s
ft_strrchrchar *ft_strrchr(const char *s, int c)returns a pointer to the last occurrence of the character c in the string s
ft_strnstrchar *ft_strnstr(const char *haystack, const char *needle,size_t len)locate a substring in a string
ft_strncmpint ft_strncmp(const char *s1, const char *s2, size_t n)compares the two strings s1 and s2. It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2
ft_strdupchar *ft_strdup(const char *s1)returns a pointer to a new string which is a duplicate of the string s

Functions from <strings.h> library

FunctionSynopsisDescription
ft_bzerovoid ft_bzero(void *s, size_t n)erases the data in the n bytes of the memory starting at the location pointed to by s, by writing zeroes (bytes containing '\0') to that area
ft_memsetvoid *ft_memset(void *b, int c, size_t len)fills the first n bytes of the memory area pointed to by s with the constant byte c
ft_memchrvoid *ft_memchr(const void *s, int c, size_t n)locate byte in byte string
ft_memcpyvoid *ft_memcpy(void *dst, const void *src, size_t n)copies n bytes from memory area src to memory area dest. The memory areas must not overlap
ft_memccpyvoid *ft_memccpy(void *dst, const void *src, int c, size_t n)copies no more than n bytes from memory area src to memory area dest, stopping when the character c is found
ft_memcmpint ft_memcmp(const void *s1, const void *s2, size_t n)returns an integer less than, equal to, or greater than zero if the first n bytes of s1 is found, respectively, to be less than, to match, or be greater than the first n bytes of s2
ft_memmovevoid *ft_memmove(void *dst, const void *src, size_t len)function copies n bytes from memory area src to memory area dest. The memory areas may overlap: copying takes place as though the bytes in src are first copied into a temporary array that does notoverlap src or dest, and the bytes are then copied from the temporary array to dest

Non-standard functions

FunctionSynopsisDescription
ft_substrchar *ft_substr(char const *s, unsigned int start, size_t len)allocates (with malloc) and returns a substring from the string 's'. The substring begins at index 'start' and is of maximum size 'len'
ft_strjoinchar *ft_strjoin(char const *s1, char const *s2)allocates (with malloc) and returns a new string, which is the result of the concatenation of 's1' and 's2'
ft_strtrimchar *ft_strtrim(char const *s1, char const *set)allocates (with malloc) and returns a copy of 's1' with the characters specified in 'set' removed from the beginning and the end of the string
ft_splitchar **ft_split(char const *s, char c)allocates (with malloc) and returns an array of strings obtained by splitting 's' using the character 'c' as a delimiter. The array must be ended by a NULL pointer
ft_itoachar *ft_itoa(int n)allocates (with malloc) and returns a string representing the integer received as an argument. Negative numbers must be handled
ft_strmapichar *ft_strmapi(char const *s, char (*f)(unsigned int, char))applies the function 'f' to each character of the string 's' to create a new string (with malloc) resulting from successive applications of 'f'
ft_putchar_fdvoid ft_putchar_fd(char c, int fd)outputs the character 'c' to the given file descriptor
ft_putstr_fdvoid ft_putstr_fd(char *s, int fd)outputs the string 's' to the given file descriptor
ft_putendl_fdvoid ft_putendl_fd(char *s, int fd)outputs the string 's' to the given file descriptor, followed by a newline
ft_putnbr_fdvoid ft_putnbr_fd(int n, int fd)outputs the integer 'n' to the given file descriptor

Linked list functions

FunctionSynopsisDescription
ft_lstnewt_list *ft_lstnew(void *content)allocates (with malloc) and returns a new element. The variable 'content' is initialized with the value of the parameter 'content'. The variable 'next' is initialized to NULL.
ft_lstadd_frontvoid ft_lstadd_front(t_list **lst, t_list *new)add new element at beginning of the list
ft_lstsizeint ft_lstsize(t_list *lst)count the number of elements in a list
ft_lstlastt_list *ft_lstlast(t_list *lst)returns the last element of list
ft_lstadd_backvoid ft_lstadd_back(t_list **lst, t_list *new)add new element at end of the list
ft_lstdelonevoid ft_lstdelone(t_list *lst, void (del)(void))takes as a parameter an element and frees the memory of the element’s content using the function 'del' given as a parameter and free the element. The memory of 'next' must not be freed
ft_lstclearvoid ft_lstclear(t_list **lst, void (del)(void))deletes and frees the given element and every successor of that element, using the function 'del' and free. Finally, the pointer to the list must be set to NULL
ft_lstitervoid ft_lstiter(t_list *lst, void (*f)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element
ft_lstmapt_list *ft_lstmap(t_list *lst, void *(*f)(void *), void(*del)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element. creates a new list resulting of the successive applications of the function 'f'. The 'del' function is used to delete the content of an element if needed

Some other functions was added to this library in order to be used in future projects

About

My own implementation of some highly useful C functions. Project from 42 São Paulo

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

LIBFT

I. How to use libft in you project:

Clone repository

    git clone https://github.com/vscabell/libft.git

Compile

    run make to compile libft.a
    run make clean to delete tmp files after compile (only libft.a will be remain)
    run make fclean to delete all files after compile
    run make re to recompile all files

Include

    #include "libft.h" in your project
    compile libft.a
    link you binary with -L./$(lib_path) -lft flag

II. Function List

Functions from <ctype.h> library

FunctionSynopsisDescription
ft_isalnumint ft_isalnum(int c)checks for an alphanumeric character
ft_isalphaint ft_isalpha(int c)checks for an alphabetic character
ft_isdigitint ft_isdigit(int c)checks for a digit (0 through 9)
ft_isprintint ft_isprint(int c)checks for any printable character including space
ft_isspaceint ft_isspace(int c)checks for white-space characters
ft_tolowerint ft_tolower(int c)upper case to lower case letter conversion
ft_toupperft_toupper(int c)lower case to upper case letter conversion

Functions from <stdlib.h> library

FunctionSynopsisDescription
ft_atoiint ft_atoi(const char *str)convert ASCII string to an integer
ft_callocvoid *ft_calloc(size_t countsize_t size)allocates size bytes and returns a pointer to the allocated memory

Functions from <string.h> library

FunctionSynopsisDescription
ft_strlensize_t ft_strlen(const char *s)calculates the length of the string s, excluding the terminating null byteg
ft_strlcpysize_t ft_strlcpy(char *dst, const char *src, size_t dstsize)copies up to size - 1 characters from the NUL-terminated string src to dst, NUL-terminating the result
ft_strlcatsize_t ft_strlcat(char *dst, const char *src, size_t dstsize)appends the NUL-terminated string src to the end of dst. It will append at most size - strlen(dst) - 1 bytes, NUL-terminating the result
ft_strchrchar *ft_strchr(const char *s, int c)returns a pointer to the first occurrence of the character c in the string s
ft_strrchrchar *ft_strrchr(const char *s, int c)returns a pointer to the last occurrence of the character c in the string s
ft_strnstrchar *ft_strnstr(const char *haystack, const char *needle,size_t len)locate a substring in a string
ft_strncmpint ft_strncmp(const char *s1, const char *s2, size_t n)compares the two strings s1 and s2. It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2
ft_strdupchar *ft_strdup(const char *s1)returns a pointer to a new string which is a duplicate of the string s

Functions from <strings.h> library

FunctionSynopsisDescription
ft_bzerovoid ft_bzero(void *s, size_t n)erases the data in the n bytes of the memory starting at the location pointed to by s, by writing zeroes (bytes containing '\0') to that area
ft_memsetvoid *ft_memset(void *b, int c, size_t len)fills the first n bytes of the memory area pointed to by s with the constant byte c
ft_memchrvoid *ft_memchr(const void *s, int c, size_t n)locate byte in byte string
ft_memcpyvoid *ft_memcpy(void *dst, const void *src, size_t n)copies n bytes from memory area src to memory area dest. The memory areas must not overlap
ft_memccpyvoid *ft_memccpy(void *dst, const void *src, int c, size_t n)copies no more than n bytes from memory area src to memory area dest, stopping when the character c is found
ft_memcmpint ft_memcmp(const void *s1, const void *s2, size_t n)returns an integer less than, equal to, or greater than zero if the first n bytes of s1 is found, respectively, to be less than, to match, or be greater than the first n bytes of s2
ft_memmovevoid *ft_memmove(void *dst, const void *src, size_t len)function copies n bytes from memory area src to memory area dest. The memory areas may overlap: copying takes place as though the bytes in src are first copied into a temporary array that does notoverlap src or dest, and the bytes are then copied from the temporary array to dest

Non-standard functions

FunctionSynopsisDescription
ft_substrchar *ft_substr(char const *s, unsigned int start, size_t len)allocates (with malloc) and returns a substring from the string 's'. The substring begins at index 'start' and is of maximum size 'len'
ft_strjoinchar *ft_strjoin(char const *s1, char const *s2)allocates (with malloc) and returns a new string, which is the result of the concatenation of 's1' and 's2'
ft_strtrimchar *ft_strtrim(char const *s1, char const *set)allocates (with malloc) and returns a copy of 's1' with the characters specified in 'set' removed from the beginning and the end of the string
ft_splitchar **ft_split(char const *s, char c)allocates (with malloc) and returns an array of strings obtained by splitting 's' using the character 'c' as a delimiter. The array must be ended by a NULL pointer
ft_itoachar *ft_itoa(int n)allocates (with malloc) and returns a string representing the integer received as an argument. Negative numbers must be handled
ft_strmapichar *ft_strmapi(char const *s, char (*f)(unsigned int, char))applies the function 'f' to each character of the string 's' to create a new string (with malloc) resulting from successive applications of 'f'
ft_putchar_fdvoid ft_putchar_fd(char c, int fd)outputs the character 'c' to the given file descriptor
ft_putstr_fdvoid ft_putstr_fd(char *s, int fd)outputs the string 's' to the given file descriptor
ft_putendl_fdvoid ft_putendl_fd(char *s, int fd)outputs the string 's' to the given file descriptor, followed by a newline
ft_putnbr_fdvoid ft_putnbr_fd(int n, int fd)outputs the integer 'n' to the given file descriptor

Linked list functions

FunctionSynopsisDescription
ft_lstnewt_list *ft_lstnew(void *content)allocates (with malloc) and returns a new element. The variable 'content' is initialized with the value of the parameter 'content'. The variable 'next' is initialized to NULL.
ft_lstadd_frontvoid ft_lstadd_front(t_list **lst, t_list *new)add new element at beginning of the list
ft_lstsizeint ft_lstsize(t_list *lst)count the number of elements in a list
ft_lstlastt_list *ft_lstlast(t_list *lst)returns the last element of list
ft_lstadd_backvoid ft_lstadd_back(t_list **lst, t_list *new)add new element at end of the list
ft_lstdelonevoid ft_lstdelone(t_list *lst, void (del)(void))takes as a parameter an element and frees the memory of the element’s content using the function 'del' given as a parameter and free the element. The memory of 'next' must not be freed
ft_lstclearvoid ft_lstclear(t_list **lst, void (del)(void))deletes and frees the given element and every successor of that element, using the function 'del' and free. Finally, the pointer to the list must be set to NULL
ft_lstitervoid ft_lstiter(t_list *lst, void (*f)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element
ft_lstmapt_list *ft_lstmap(t_list *lst, void *(*f)(void *), void(*del)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element. creates a new list resulting of the successive applications of the function 'f'. The 'del' function is used to delete the content of an element if needed

Some other functions was added to this library in order to be used in future projects

About

My own implementation of some highly useful C functions. Project from 42 São Paulo

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

LIBFT

I. How to use libft in you project:

Clone repository

    git clone https://github.com/vscabell/libft.git

Compile

    run make to compile libft.a
    run make clean to delete tmp files after compile (only libft.a will be remain)
    run make fclean to delete all files after compile
    run make re to recompile all files

Include

    #include "libft.h" in your project
    compile libft.a
    link you binary with -L./$(lib_path) -lft flag

II. Function List

Functions from <ctype.h> library

FunctionSynopsisDescription
ft_isalnumint ft_isalnum(int c)checks for an alphanumeric character
ft_isalphaint ft_isalpha(int c)checks for an alphabetic character
ft_isdigitint ft_isdigit(int c)checks for a digit (0 through 9)
ft_isprintint ft_isprint(int c)checks for any printable character including space
ft_isspaceint ft_isspace(int c)checks for white-space characters
ft_tolowerint ft_tolower(int c)upper case to lower case letter conversion
ft_toupperft_toupper(int c)lower case to upper case letter conversion

Functions from <stdlib.h> library

FunctionSynopsisDescription
ft_atoiint ft_atoi(const char *str)convert ASCII string to an integer
ft_callocvoid *ft_calloc(size_t countsize_t size)allocates size bytes and returns a pointer to the allocated memory

Functions from <string.h> library

FunctionSynopsisDescription
ft_strlensize_t ft_strlen(const char *s)calculates the length of the string s, excluding the terminating null byteg
ft_strlcpysize_t ft_strlcpy(char *dst, const char *src, size_t dstsize)copies up to size - 1 characters from the NUL-terminated string src to dst, NUL-terminating the result
ft_strlcatsize_t ft_strlcat(char *dst, const char *src, size_t dstsize)appends the NUL-terminated string src to the end of dst. It will append at most size - strlen(dst) - 1 bytes, NUL-terminating the result
ft_strchrchar *ft_strchr(const char *s, int c)returns a pointer to the first occurrence of the character c in the string s
ft_strrchrchar *ft_strrchr(const char *s, int c)returns a pointer to the last occurrence of the character c in the string s
ft_strnstrchar *ft_strnstr(const char *haystack, const char *needle,size_t len)locate a substring in a string
ft_strncmpint ft_strncmp(const char *s1, const char *s2, size_t n)compares the two strings s1 and s2. It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2
ft_strdupchar *ft_strdup(const char *s1)returns a pointer to a new string which is a duplicate of the string s

Functions from <strings.h> library

FunctionSynopsisDescription
ft_bzerovoid ft_bzero(void *s, size_t n)erases the data in the n bytes of the memory starting at the location pointed to by s, by writing zeroes (bytes containing '\0') to that area
ft_memsetvoid *ft_memset(void *b, int c, size_t len)fills the first n bytes of the memory area pointed to by s with the constant byte c
ft_memchrvoid *ft_memchr(const void *s, int c, size_t n)locate byte in byte string
ft_memcpyvoid *ft_memcpy(void *dst, const void *src, size_t n)copies n bytes from memory area src to memory area dest. The memory areas must not overlap
ft_memccpyvoid *ft_memccpy(void *dst, const void *src, int c, size_t n)copies no more than n bytes from memory area src to memory area dest, stopping when the character c is found
ft_memcmpint ft_memcmp(const void *s1, const void *s2, size_t n)returns an integer less than, equal to, or greater than zero if the first n bytes of s1 is found, respectively, to be less than, to match, or be greater than the first n bytes of s2
ft_memmovevoid *ft_memmove(void *dst, const void *src, size_t len)function copies n bytes from memory area src to memory area dest. The memory areas may overlap: copying takes place as though the bytes in src are first copied into a temporary array that does notoverlap src or dest, and the bytes are then copied from the temporary array to dest

Non-standard functions

FunctionSynopsisDescription
ft_substrchar *ft_substr(char const *s, unsigned int start, size_t len)allocates (with malloc) and returns a substring from the string 's'. The substring begins at index 'start' and is of maximum size 'len'
ft_strjoinchar *ft_strjoin(char const *s1, char const *s2)allocates (with malloc) and returns a new string, which is the result of the concatenation of 's1' and 's2'
ft_strtrimchar *ft_strtrim(char const *s1, char const *set)allocates (with malloc) and returns a copy of 's1' with the characters specified in 'set' removed from the beginning and the end of the string
ft_splitchar **ft_split(char const *s, char c)allocates (with malloc) and returns an array of strings obtained by splitting 's' using the character 'c' as a delimiter. The array must be ended by a NULL pointer
ft_itoachar *ft_itoa(int n)allocates (with malloc) and returns a string representing the integer received as an argument. Negative numbers must be handled
ft_strmapichar *ft_strmapi(char const *s, char (*f)(unsigned int, char))applies the function 'f' to each character of the string 's' to create a new string (with malloc) resulting from successive applications of 'f'
ft_putchar_fdvoid ft_putchar_fd(char c, int fd)outputs the character 'c' to the given file descriptor
ft_putstr_fdvoid ft_putstr_fd(char *s, int fd)outputs the string 's' to the given file descriptor
ft_putendl_fdvoid ft_putendl_fd(char *s, int fd)outputs the string 's' to the given file descriptor, followed by a newline
ft_putnbr_fdvoid ft_putnbr_fd(int n, int fd)outputs the integer 'n' to the given file descriptor

Linked list functions

FunctionSynopsisDescription
ft_lstnewt_list *ft_lstnew(void *content)allocates (with malloc) and returns a new element. The variable 'content' is initialized with the value of the parameter 'content'. The variable 'next' is initialized to NULL.
ft_lstadd_frontvoid ft_lstadd_front(t_list **lst, t_list *new)add new element at beginning of the list
ft_lstsizeint ft_lstsize(t_list *lst)count the number of elements in a list
ft_lstlastt_list *ft_lstlast(t_list *lst)returns the last element of list
ft_lstadd_backvoid ft_lstadd_back(t_list **lst, t_list *new)add new element at end of the list
ft_lstdelonevoid ft_lstdelone(t_list *lst, void (del)(void))takes as a parameter an element and frees the memory of the element’s content using the function 'del' given as a parameter and free the element. The memory of 'next' must not be freed
ft_lstclearvoid ft_lstclear(t_list **lst, void (del)(void))deletes and frees the given element and every successor of that element, using the function 'del' and free. Finally, the pointer to the list must be set to NULL
ft_lstitervoid ft_lstiter(t_list *lst, void (*f)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element
ft_lstmapt_list *ft_lstmap(t_list *lst, void *(*f)(void *), void(*del)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element. creates a new list resulting of the successive applications of the function 'f'. The 'del' function is used to delete the content of an element if needed

Some other functions was added to this library in order to be used in future projects

About

My own implementation of some highly useful C functions. Project from 42 São Paulo

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

LIBFT

I. How to use libft in you project:

Clone repository

    git clone https://github.com/vscabell/libft.git

Compile

    run make to compile libft.a
    run make clean to delete tmp files after compile (only libft.a will be remain)
    run make fclean to delete all files after compile
    run make re to recompile all files

Include

    #include "libft.h" in your project
    compile libft.a
    link you binary with -L./$(lib_path) -lft flag

II. Function List

Functions from <ctype.h> library

FunctionSynopsisDescription
ft_isalnumint ft_isalnum(int c)checks for an alphanumeric character
ft_isalphaint ft_isalpha(int c)checks for an alphabetic character
ft_isdigitint ft_isdigit(int c)checks for a digit (0 through 9)
ft_isprintint ft_isprint(int c)checks for any printable character including space
ft_isspaceint ft_isspace(int c)checks for white-space characters
ft_tolowerint ft_tolower(int c)upper case to lower case letter conversion
ft_toupperft_toupper(int c)lower case to upper case letter conversion

Functions from <stdlib.h> library

FunctionSynopsisDescription
ft_atoiint ft_atoi(const char *str)convert ASCII string to an integer
ft_callocvoid *ft_calloc(size_t countsize_t size)allocates size bytes and returns a pointer to the allocated memory

Functions from <string.h> library

FunctionSynopsisDescription
ft_strlensize_t ft_strlen(const char *s)calculates the length of the string s, excluding the terminating null byteg
ft_strlcpysize_t ft_strlcpy(char *dst, const char *src, size_t dstsize)copies up to size - 1 characters from the NUL-terminated string src to dst, NUL-terminating the result
ft_strlcatsize_t ft_strlcat(char *dst, const char *src, size_t dstsize)appends the NUL-terminated string src to the end of dst. It will append at most size - strlen(dst) - 1 bytes, NUL-terminating the result
ft_strchrchar *ft_strchr(const char *s, int c)returns a pointer to the first occurrence of the character c in the string s
ft_strrchrchar *ft_strrchr(const char *s, int c)returns a pointer to the last occurrence of the character c in the string s
ft_strnstrchar *ft_strnstr(const char *haystack, const char *needle,size_t len)locate a substring in a string
ft_strncmpint ft_strncmp(const char *s1, const char *s2, size_t n)compares the two strings s1 and s2. It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2
ft_strdupchar *ft_strdup(const char *s1)returns a pointer to a new string which is a duplicate of the string s

Functions from <strings.h> library

FunctionSynopsisDescription
ft_bzerovoid ft_bzero(void *s, size_t n)erases the data in the n bytes of the memory starting at the location pointed to by s, by writing zeroes (bytes containing '\0') to that area
ft_memsetvoid *ft_memset(void *b, int c, size_t len)fills the first n bytes of the memory area pointed to by s with the constant byte c
ft_memchrvoid *ft_memchr(const void *s, int c, size_t n)locate byte in byte string
ft_memcpyvoid *ft_memcpy(void *dst, const void *src, size_t n)copies n bytes from memory area src to memory area dest. The memory areas must not overlap
ft_memccpyvoid *ft_memccpy(void *dst, const void *src, int c, size_t n)copies no more than n bytes from memory area src to memory area dest, stopping when the character c is found
ft_memcmpint ft_memcmp(const void *s1, const void *s2, size_t n)returns an integer less than, equal to, or greater than zero if the first n bytes of s1 is found, respectively, to be less than, to match, or be greater than the first n bytes of s2
ft_memmovevoid *ft_memmove(void *dst, const void *src, size_t len)function copies n bytes from memory area src to memory area dest. The memory areas may overlap: copying takes place as though the bytes in src are first copied into a temporary array that does notoverlap src or dest, and the bytes are then copied from the temporary array to dest

Non-standard functions

FunctionSynopsisDescription
ft_substrchar *ft_substr(char const *s, unsigned int start, size_t len)allocates (with malloc) and returns a substring from the string 's'. The substring begins at index 'start' and is of maximum size 'len'
ft_strjoinchar *ft_strjoin(char const *s1, char const *s2)allocates (with malloc) and returns a new string, which is the result of the concatenation of 's1' and 's2'
ft_strtrimchar *ft_strtrim(char const *s1, char const *set)allocates (with malloc) and returns a copy of 's1' with the characters specified in 'set' removed from the beginning and the end of the string
ft_splitchar **ft_split(char const *s, char c)allocates (with malloc) and returns an array of strings obtained by splitting 's' using the character 'c' as a delimiter. The array must be ended by a NULL pointer
ft_itoachar *ft_itoa(int n)allocates (with malloc) and returns a string representing the integer received as an argument. Negative numbers must be handled
ft_strmapichar *ft_strmapi(char const *s, char (*f)(unsigned int, char))applies the function 'f' to each character of the string 's' to create a new string (with malloc) resulting from successive applications of 'f'
ft_putchar_fdvoid ft_putchar_fd(char c, int fd)outputs the character 'c' to the given file descriptor
ft_putstr_fdvoid ft_putstr_fd(char *s, int fd)outputs the string 's' to the given file descriptor
ft_putendl_fdvoid ft_putendl_fd(char *s, int fd)outputs the string 's' to the given file descriptor, followed by a newline
ft_putnbr_fdvoid ft_putnbr_fd(int n, int fd)outputs the integer 'n' to the given file descriptor

Linked list functions

FunctionSynopsisDescription
ft_lstnewt_list *ft_lstnew(void *content)allocates (with malloc) and returns a new element. The variable 'content' is initialized with the value of the parameter 'content'. The variable 'next' is initialized to NULL.
ft_lstadd_frontvoid ft_lstadd_front(t_list **lst, t_list *new)add new element at beginning of the list
ft_lstsizeint ft_lstsize(t_list *lst)count the number of elements in a list
ft_lstlastt_list *ft_lstlast(t_list *lst)returns the last element of list
ft_lstadd_backvoid ft_lstadd_back(t_list **lst, t_list *new)add new element at end of the list
ft_lstdelonevoid ft_lstdelone(t_list *lst, void (del)(void))takes as a parameter an element and frees the memory of the element’s content using the function 'del' given as a parameter and free the element. The memory of 'next' must not be freed
ft_lstclearvoid ft_lstclear(t_list **lst, void (del)(void))deletes and frees the given element and every successor of that element, using the function 'del' and free. Finally, the pointer to the list must be set to NULL
ft_lstitervoid ft_lstiter(t_list *lst, void (*f)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element
ft_lstmapt_list *ft_lstmap(t_list *lst, void *(*f)(void *), void(*del)(void *))iterates the list 'lst' and appllies the function 'f' to content of each element. creates a new list resulting of the successive applications of the function 'f'. The 'del' function is used to delete the content of an element if needed

Some other functions was added to this library in order to be used in future projects

About

My own implementation of some highly useful C functions. Project from 42 São Paulo

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages