-
Notifications
You must be signed in to change notification settings - Fork 0
/
_fixEntry.c
71 lines (63 loc) · 1.16 KB
/
_fixEntry.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include "minishell.h"
/**
* _null_char - Adds a null character at the end of a string
*
* @entry: string to add the null char to
*
* Return: pointer to the null terminated string
*/
char *_null_char(char *entry)
{
int x;
for (x = 0; entry[x] != '\n'; x++)
{
}
entry[x] = '\0';
entry = _lessSpaces(entry);
return (entry);
}
/**
* _lessSpaces - removes unwanted spaces from a command
*
* @entry: string to take the unwanted spaces from
*
* Return: modified string
*/
char *_lessSpaces(char *entry)
{
int pos, space = 0;
for (pos = 0; entry[pos] != '\0'; pos++)
{
if (pos == 0 && entry[pos] == ' ')
{
entry = _deleteChar(entry, pos);
pos--;
}
else if (entry[pos] == ' ' && space)
{
entry = _deleteChar(entry, pos);
pos--;
}
else if (entry[pos] == ' ')
space = 1;
else
space = 0;
}
return (entry);
}
/**
* _deleteChar - eliminates a char from a string moving the char back one space
*
* @entry: string to modify
* @indx: index of the char to be deleted
*
* Return: modified string
*/
char *_deleteChar(char *entry, int indx)
{
for (; entry[indx] != '\0'; indx++)
{
entry[indx] = entry[indx + 1];
}
return (entry);
}