linux/scripts/dtc/util.c
<<
>>
Prefs
   1/*
   2 * Copyright 2008 Jon Loeliger, Freescale Semiconductor, Inc.
   3 *
   4 * This program is free software; you can redistribute it and/or
   5 * modify it under the terms of the GNU General Public License as
   6 * published by the Free Software Foundation; either version 2 of the
   7 * License, or (at your option) any later version.
   8 *
   9 *  This program is distributed in the hope that it will be useful,
  10 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  11 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12 *  General Public License for more details.
  13 *
  14 *  You should have received a copy of the GNU General Public License
  15 *  along with this program; if not, write to the Free Software
  16 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  17 *                                                                   USA
  18 */
  19
  20#include <stdio.h>
  21#include <stdlib.h>
  22#include <stdarg.h>
  23#include <string.h>
  24
  25#include "util.h"
  26
  27char *xstrdup(const char *s)
  28{
  29        int len = strlen(s) + 1;
  30        char *dup = xmalloc(len);
  31
  32        memcpy(dup, s, len);
  33
  34        return dup;
  35}
  36
  37char *join_path(const char *path, const char *name)
  38{
  39        int lenp = strlen(path);
  40        int lenn = strlen(name);
  41        int len;
  42        int needslash = 1;
  43        char *str;
  44
  45        len = lenp + lenn + 2;
  46        if ((lenp > 0) && (path[lenp-1] == '/')) {
  47                needslash = 0;
  48                len--;
  49        }
  50
  51        str = xmalloc(len);
  52        memcpy(str, path, lenp);
  53        if (needslash) {
  54                str[lenp] = '/';
  55                lenp++;
  56        }
  57        memcpy(str+lenp, name, lenn+1);
  58        return str;
  59}
  60
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.