OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

[/] [openrisc/] [trunk/] [gnu-src/] [newlib-1.17.0/] [newlib/] [libc/] [argz/] [argz_extract.c] - Diff between revs 148 and 158

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 148 Rev 158
/* Copyright (C) 2002 by  Red Hat, Incorporated. All rights reserved.
/* Copyright (C) 2002 by  Red Hat, Incorporated. All rights reserved.
 *
 *
 * Permission to use, copy, modify, and distribute this software
 * Permission to use, copy, modify, and distribute this software
 * is freely granted, provided that this notice is preserved.
 * is freely granted, provided that this notice is preserved.
 */
 */
 
 
#include <stddef.h>
#include <stddef.h>
#include <argz.h>
#include <argz.h>
#include <sys/types.h>
#include <sys/types.h>
 
 
void
void
_DEFUN (argz_extract, (argz, argz_len, argv),
_DEFUN (argz_extract, (argz, argz_len, argv),
       char *argz _AND
       char *argz _AND
       size_t argz_len _AND
       size_t argz_len _AND
       char **argv)
       char **argv)
{
{
  size_t i = 0;
  size_t i = 0;
  int j = 0;
  int j = 0;
  const size_t count = argz_count(argz, argz_len);
  const size_t count = argz_count(argz, argz_len);
 
 
  if (argz_len > 1)
  if (argz_len > 1)
    for (i = argz_len - 2; i > 0; i--)
    for (i = argz_len - 2; i > 0; i--)
      {
      {
        if (argz[i] == '\0')
        if (argz[i] == '\0')
          {
          {
            j++;
            j++;
            argv[count - j] = &argz[i + 1];
            argv[count - j] = &argz[i + 1];
          }
          }
      }
      }
  argv[0] = &argz[0];
  argv[0] = &argz[0];
  argv[count] = NULL;
  argv[count] = NULL;
}
}
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.