1/* Functions to handle creation of Linux archives. 2 Copyright (C) 2007 Red Hat, Inc. 3 This file is part of elfutils. 4 Written by Ulrich Drepper <drepper@redhat.com>, 2007. 5 6 This file is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3 of the License, or 9 (at your option) any later version. 10 11 elfutils is distributed in the hope that it will be useful, but 12 WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 18 19#ifdef HAVE_CONFIG_H 20# include <config.h> 21#endif 22 23#include <error.h> 24#include <libintl.h> 25#include <limits.h> 26#include <string.h> 27#include <sys/param.h> 28 29#include "arlib.h" 30 31 32/* Add long file name FILENAME of length FILENAMELEN to the symbol table 33 SYMTAB. Return the offset into the long file name table. */ 34long int 35arlib_add_long_name (const char *filename, size_t filenamelen) 36{ 37 size_t size = obstack_object_size (&symtab.longnamesob); 38 39 obstack_grow (&symtab.longnamesob, filename, filenamelen); 40 obstack_grow (&symtab.longnamesob, "/\n", 2); 41 42 return size - sizeof (struct ar_hdr); 43} 44