[BusyBox-cvs] busybox/coreutils/libcoreutils Makefile,NONE,1.1 Makefile.in,NONE,1.1 coreutils.h,NONE,1.1 cp_mv_stat.c,NONE,1.1 getopt_mk_fifo_nod.c,NONE,1.1 xgetoptfile_sort_uniq.c,NONE,1.1

Manuel Novoa III mjn3 at busybox.net
Wed Mar 19 09:11:42 UTC 2003


Update of /var/cvs/busybox/coreutils/libcoreutils
In directory winder:/home/mjn3/work/busybox/coreutils/libcoreutils

Added Files:
	Makefile Makefile.in coreutils.h cp_mv_stat.c 
	getopt_mk_fifo_nod.c xgetoptfile_sort_uniq.c 
Log Message:
Major coreutils update.


--- NEW FILE: Makefile ---
# Makefile for busybox
#
# Copyright (C) 1999-2002 Erik Andersen <andersee at debian.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#

TOPDIR:= ../../
LIBCOREUTILS_DIR:=./
include $(TOPDIR).config
include $(TOPDIR)Rules.mak
include Makefile.in
all: $(libraries-y)
-include $(TOPDIR).depend

clean:
	rm -f *.o *.a $(AR_TARGET)


--- NEW FILE: Makefile.in ---
# Makefile for busybox
#
# Copyright (C) 1999-2002 Erik Andersen <andersee at debian.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#

LIBCOREUTILS_AR:=libcoreutils.a
ifndef $(LIBCOREUTILS_DIR)
LIBCOREUTILS_DIR:=$(TOPDIR)coreutils/libcoreutils/
endif

LIBCOREUTILS_SRC:= cp_mv_stat.c getopt_mk_fifo_nod.c xgetoptfile_sort_uniq.c

LIBCOREUTILS_OBJS=$(patsubst %.c,$(LIBCOREUTILS_DIR)%.o, $(LIBCOREUTILS_SRC))

libraries-y+=$(LIBCOREUTILS_DIR)$(LIBCOREUTILS_AR)

$(LIBCOREUTILS_DIR)$(LIBCOREUTILS_AR): $(LIBCOREUTILS_OBJS)
	$(AR) -ro $@ $(LIBCOREUTILS_OBJS)

--- NEW FILE: coreutils.h ---
#ifndef COREUTILS_H
#define COREUTILS_H		1

typedef int (*stat_func)(const char *fn, struct stat *ps);

extern int cp_mv_stat2(const char *fn, struct stat *fn_stat, stat_func sf);
extern int cp_mv_stat(const char *fn, struct stat *fn_stat);

extern mode_t getopt_mk_fifo_nod(int argc, char **argv);
extern FILE *xgetoptfile_sort_uniq(char **argv, const char *mode);

#endif

--- NEW FILE: cp_mv_stat.c ---
/* vi: set sw=4 ts=4: */
/*
 * coreutils utility routine
 *
 * Copyright (C) 2003  Manuel Novoa III  <mjn3 at codepoet.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 */

#include <errno.h>
#include <sys/stat.h>
#include "libbb.h"
#include "coreutils.h"

extern int cp_mv_stat2(const char *fn, struct stat *fn_stat, stat_func sf)
{
	if (sf(fn, fn_stat) < 0) {
		if (errno != ENOENT) {
			bb_perror_msg("unable to stat `%s'", fn);
			return -1;
		}
		return 0;
	} else if (S_ISDIR(fn_stat->st_mode)) {
		return 3;
	}
	return 1;
}

extern int cp_mv_stat(const char *fn, struct stat *fn_stat)
{
	return cp_mv_stat2(fn, fn_stat, stat);
}

--- NEW FILE: getopt_mk_fifo_nod.c ---
/* vi: set sw=4 ts=4: */
/*
 * coreutils utility routine
 *
 * Copyright (C) 2003  Manuel Novoa III  <mjn3 at codepoet.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 */

#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include "libbb.h"
#include "coreutils.h"

extern mode_t getopt_mk_fifo_nod(int argc, char **argv)
{
	mode_t mode = 0666;
	int opt;

	while ((opt = getopt(argc, argv, "m:")) > 0) {
		if (opt == 'm') {
			mode = 0666;
			if (bb_parse_mode(optarg, &mode)) {
				umask(0);
				continue;
			}
		}
		bb_show_usage();
	}
	return mode;
}

--- NEW FILE: xgetoptfile_sort_uniq.c ---
/* vi: set sw=4 ts=4: */
/*
 * coreutils utility routine
 *
 * Copyright (C) 2003  Manuel Novoa III  <mjn3 at codepoet.org>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 */

#include <stdio.h>
#include <unistd.h>
#include "libbb.h"
#include "coreutils.h"

extern FILE *xgetoptfile_sort_uniq(char **argv, const char *mode)
{
	const char *n;

	if ((n = *argv) != NULL) {
		if ((*n != '-') || n[1]) {
			return bb_xfopen(n, mode);
		}
	}
	return (*mode == 'r') ? stdin : stdout;
}




More information about the busybox-cvs mailing list