From 487a66394061f2d14a2fa421302966b5442d643f Mon Sep 17 00:00:00 2001
From: JozanLeClerc <bousset.rudy@gmail.com>
Date: Mon, 27 Jul 2020 18:55:07 +0200
Subject: I couldn't see shit

---
 src/e_lcom.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 59 insertions(+)
 create mode 100644 src/e_lcom.c

(limited to 'src/e_lcom.c')

diff --git a/src/e_lcom.c b/src/e_lcom.c
new file mode 100644
index 0000000..e8159fd
--- /dev/null
+++ b/src/e_lcom.c
@@ -0,0 +1,59 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   e_lcom.c                                           :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: rbousset <marvin@42.fr>                    +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2020/02/14 17:19:27 by rbousset          #+#    #+#             */
+/*   Updated: 2020/02/14 17:19:29 by rbousset         ###   ########lyon.fr   */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include <libft.h>
+#include <stdint.h>
+
+#include "e_builtins.h"
+#include "e_externs.h"
+#include "e_pipes.h"
+#include "s_lpipes.h"
+#include "s_struct.h"
+
+static uint8_t
+	get_builtin_id(const char com[],
+					t_msh *msh)
+{
+	uint8_t	i;
+
+	i = 0;
+	while (msh->bu_ref[i] && ft_strncmp(com, msh->bu_ref[i],
+		ft_strlen(msh->bu_ref[i]) + 1) != 0)
+	{
+		i++;
+	}
+	return (i);
+}
+
+void
+	e_lcom(t_msh *msh)
+{
+	t_lcom	*ptr;
+	uint8_t	bu_id;
+
+	ptr = msh->curr;
+	while (ptr != NULL)
+	{
+		if (ptr->pipes)
+		{
+			e_pipes(ptr, msh);
+		}
+		else if (ptr->com)
+		{
+			if ((bu_id = get_builtin_id(ptr->com, msh)) < FT_BUILTINS_COUNT)
+				e_builtin(ptr, bu_id, msh);
+			else
+				e_extern(ptr, msh);
+		}
+		ptr = ptr->next;
+	}
+}
-- 
cgit v1.2.3