Beispiel #1
0
void	my_append_octal(char *str, int oct, int size)
{
  int	i;
  int	j;
  char	tmp[12];

  my_init_char(tmp, 12);
  sprintf(tmp, "%o", oct);
  i = 0;
  while (i < size - my_strlen(tmp) - 1)
    str[i++] = '0';
  j = 0;
  while (i < size)
    str[i++] = tmp[j++];
}
Beispiel #2
0
void	my_append_int(char *str, int nbr, int size)
{
  int	i;
  int	j;
  char	tmp[12];

  my_init_char(tmp, 12);
  if (nbr != 0)
    sprintf(tmp, "%d", nbr);
  i = 0;
  while (i < size - my_strlen(tmp) - 1)
    str[i++] = '0';
  j = 0;
  while (i < size)
    str[i++] = tmp[j++];
  str[i] = '\0';
  }
Beispiel #3
0
void	my_append_dev(char *str, int nbr, int size, mode_t st_mode)
{
  int	i;
  int	j;
  char	tmp[8];

  my_init_char(tmp, 12);
  if (S_ISCHR(st_mode) || S_ISBLK(st_mode))
    {
      sprintf(tmp, "%d", nbr);
      i = 0;
      while (i < size - my_strlen(tmp))
	str[i++] = '0';
      j = 0;
      while (i < size)
	str[i++] = tmp[j++];
    }
}
Beispiel #4
0
static t_my_header	*my_init_file()
{
  t_my_header		*my_file;

  if ((my_file = malloc(sizeof(*my_file))) == NULL)
    exit(EXIT_FAILURE);
  my_init_char(my_file->name, 100);
  my_init_nbr(my_file->mode, 8);
  my_init_nbr(my_file->uid, 8);
  my_init_nbr(my_file->gid, 8);
  my_init_nbr(my_file->size, 12);
  my_init_nbr(my_file->mtime, 12);
  my_init_nbr(my_file->chksum, 8);
  my_file->typeflag = '0';
  my_init_char(my_file->linkname, 100);
  my_init_char(my_file->magic, 6);
  my_init_nbr(my_file->version, 2);
  my_init_char(my_file->u_name, 32);
  my_init_char(my_file->g_name, 32);
  my_init_nbr(my_file->devmajor, 8);
  my_init_nbr(my_file->devminor, 8);
  my_init_char(my_file->prefix, 167);
  return (my_file);
}