From fb322edd72bebddee1a9828baec2f8bc83666ddf Mon Sep 17 00:00:00 2001 From: scratko Date: Sat, 25 May 2024 21:36:07 +0300 Subject: Shell-II release Implementation of launching external programs via fork(). Running cd as a change to the current process directory (chdir). Ability to change to user's home directory (cd without arguments). --- queue.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'queue.c') diff --git a/queue.c b/queue.c index 861f1e5..eed3cf8 100644 --- a/queue.c +++ b/queue.c @@ -33,6 +33,7 @@ void queue_clear(struct queue *q) q->last = NULL; } +#if 0 void queue_processing(const struct queue *q, void (*callback)(char*)) { struct word_item *tmp; @@ -42,3 +43,22 @@ void queue_processing(const struct queue *q, void (*callback)(char*)) tmp = tmp->next; } } +#endif + +int queue_get_word_count(const struct queue *q) +{ + struct word_item *tmp; + int counter; + for(counter = 0, tmp = q->first; tmp; tmp = tmp->next, ++counter) + {} + return counter; +} + +void queue_copy_words_to_args(const struct queue *q, char **cmdline) +{ + struct word_item *tmp; + int mas_idx; + for(tmp = q->first, mas_idx = 0; tmp; tmp = tmp->next, ++mas_idx) + cmdline[mas_idx] = tmp->word; + cmdline[mas_idx] = NULL; +} -- cgit v1.2.3