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 (at) 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. */ 34 long int 35 arlib_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