clean: remove trash file
This commit is contained in:
		
							parent
							
								
									a36e2a9bc4
								
							
						
					
					
						commit
						a5b42a6c7f
					
				
							
								
								
									
										142
									
								
								src/alias/:q
									
									
									
									
									
								
							
							
						
						
									
										142
									
								
								src/alias/:q
									
									
									
									
									
								
							@ -1,142 +0,0 @@
 | 
				
			|||||||
#include "../../lib/bozolib/bozolib.h"
 | 
					 | 
				
			||||||
#include "./alias.h"
 | 
					 | 
				
			||||||
#include <stdlib.h>
 | 
					 | 
				
			||||||
#include <stdio.h>
 | 
					 | 
				
			||||||
#include "../env/env.h"
 | 
					 | 
				
			||||||
#include <unistd.h>
 | 
					 | 
				
			||||||
#include <fcntl.h>
 | 
					 | 
				
			||||||
#include "../utils/utils.h"
 | 
					 | 
				
			||||||
#include <string.h>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
static char* get_zzsh_aliases(lst** env)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  char* home;
 | 
					 | 
				
			||||||
  ssize_t file_name_size;
 | 
					 | 
				
			||||||
  char* file_path;
 | 
					 | 
				
			||||||
  ssize_t size_file_path;
 | 
					 | 
				
			||||||
  file_name_size = strlen("/.zzsh_aliases");
 | 
					 | 
				
			||||||
  home = get_env_variable(env, "HOME");
 | 
					 | 
				
			||||||
  size_file_path = strlen(home)+file_name_size;
 | 
					 | 
				
			||||||
  file_path = malloc((size_file_path+1)*sizeof(char));
 | 
					 | 
				
			||||||
  strcpy(file_path, home);
 | 
					 | 
				
			||||||
  strcat(file_path, "/.zzsh_aliases");
 | 
					 | 
				
			||||||
  return file_path;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
lst** aliases_init(lst** env)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	lst** aliases;
 | 
					 | 
				
			||||||
  int fd;
 | 
					 | 
				
			||||||
  char* file_path = get_zzsh_aliases(env);
 | 
					 | 
				
			||||||
  fd = open(file_path, O_CREAT, 0644);
 | 
					 | 
				
			||||||
  if (fd == -1) 
 | 
					 | 
				
			||||||
    dprintf(2, "Erreur lors la création du fichier .zzsh_aliases\n");
 | 
					 | 
				
			||||||
  close(fd);
 | 
					 | 
				
			||||||
  fd = open(file_path, O_RDONLY);
 | 
					 | 
				
			||||||
  if (fd == -1)
 | 
					 | 
				
			||||||
    dprintf(2, "Erreur lors de la lecture du fichier .zzsh_aliases\n");
 | 
					 | 
				
			||||||
  int buff_size;
 | 
					 | 
				
			||||||
  buff_size = lseek(fd, 0, SEEK_END);
 | 
					 | 
				
			||||||
  close(fd);
 | 
					 | 
				
			||||||
  fd = open(file_path, O_RDONLY);
 | 
					 | 
				
			||||||
  char buffer[buff_size];
 | 
					 | 
				
			||||||
  buffer[0] = '\0';
 | 
					 | 
				
			||||||
  read(fd, buffer, buff_size);
 | 
					 | 
				
			||||||
  char** assignation;
 | 
					 | 
				
			||||||
  char** line = split_quoted_charset(buffer, "\n");
 | 
					 | 
				
			||||||
  aliases = malloc(sizeof(lst*));
 | 
					 | 
				
			||||||
  *aliases = NULL; 
 | 
					 | 
				
			||||||
  for(int i = 0; line[i]!=NULL; i++)
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    if (strchr(line[i], '=') != NULL)
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
      assignation = split_quoted_charset(line[i], "=");
 | 
					 | 
				
			||||||
      add_alias(aliases, assignation[0], assignation[1]);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  return aliases;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int add_alias(lst** root, const char* key, const char* value)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	lst* nouveau;
 | 
					 | 
				
			||||||
	alias_t* alias;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	alias = malloc(sizeof(alias_t));
 | 
					 | 
				
			||||||
	if (alias == NULL)
 | 
					 | 
				
			||||||
		return 1;
 | 
					 | 
				
			||||||
	nouveau = malloc(sizeof(lst));
 | 
					 | 
				
			||||||
	if (nouveau == NULL)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		free(alias);
 | 
					 | 
				
			||||||
		return 1;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	alias->key = strdup(key);
 | 
					 | 
				
			||||||
	if (alias->key == NULL)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		free(alias->key);
 | 
					 | 
				
			||||||
		free(alias);
 | 
					 | 
				
			||||||
		return 1;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	alias->value = strdup(value);
 | 
					 | 
				
			||||||
	if (alias->key == NULL)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		free(alias->key);
 | 
					 | 
				
			||||||
		free(alias->value);
 | 
					 | 
				
			||||||
		free(alias);
 | 
					 | 
				
			||||||
		return 1;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	nouveau->content = alias;
 | 
					 | 
				
			||||||
	lst_addback(root, nouveau);
 | 
					 | 
				
			||||||
	return 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
char* get_alias(lst** aliases, const char* key)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	lst* current = *aliases;
 | 
					 | 
				
			||||||
	alias_t* content;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	while (current != NULL)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		content = current->content;
 | 
					 | 
				
			||||||
		if (strcmp(key, content->key) == 0)
 | 
					 | 
				
			||||||
			return content->value;
 | 
					 | 
				
			||||||
		current = current->next;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
	return NULL;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void alias_del(void *ptr)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	alias_t *alias = ptr;
 | 
					 | 
				
			||||||
	free(alias->key);
 | 
					 | 
				
			||||||
	free(alias->value);
 | 
					 | 
				
			||||||
	free(alias);
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
void print_aliases(lst** aliases, int fd_out)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
	lst* current = *aliases;
 | 
					 | 
				
			||||||
	alias_t* content;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
	while (current != NULL)
 | 
					 | 
				
			||||||
	{
 | 
					 | 
				
			||||||
		content = current->content;
 | 
					 | 
				
			||||||
		dprintf(fd_out, "%s='%s'\n", content->key, content->value);
 | 
					 | 
				
			||||||
		current = current->next;
 | 
					 | 
				
			||||||
	}
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
int alias_save(lst** aliases, lst** env)
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
  int fd;
 | 
					 | 
				
			||||||
  char* file_path = get_zzsh_aliases(env);
 | 
					 | 
				
			||||||
  fd = open(file_path, O_WRONLY);
 | 
					 | 
				
			||||||
  if (fd == -1)
 | 
					 | 
				
			||||||
  {
 | 
					 | 
				
			||||||
    dprintf(2, "Une erreur est survenue lors de l'écriture des aliases\n");
 | 
					 | 
				
			||||||
    return 1;
 | 
					 | 
				
			||||||
  }
 | 
					 | 
				
			||||||
  print_aliases(aliases, fd);
 | 
					 | 
				
			||||||
  return 0;
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user