Print this page
make: unifdef SUN5_0 (defined)

*** 44,64 **** #include <errno.h> /* errno */ #include <fcntl.h> /* open() */ #include <mk/defs.h> #include <mksh/misc.h> /* retmem_mb() */ - #if defined(SUN5_0) || defined(HP_UX) || defined(linux) struct ranlib { union { off_t ran_strx; /* string table index of */ char *ran_name; /* symbol defined by */ } ran_un; off_t ran_off; /* library member at this offset */ }; - #else - #include <ranlib.h> - #endif #if defined(linux) #include <ctype.h> /* isspace */ #else #include <unistd.h> /* close() */ --- 44,60 ----
*** 286,319 **** if ((fd < 0) || ((arp->fd = fdopen(fd, "r")) == NULL)) { return failed; } (void) fcntl(fileno(arp->fd), F_SETFD, 1); - #if !defined(SUN5_0) && !defined(linux) //XXX - /* Read enough of the archive to distinguish between the formats */ - if (fread(mag_5, AR_5_MAGIC_LENGTH, 1, arp->fd) != 1) { - return failed; - } - if (IS_EQUALN(mag_5, AR_5_MAGIC, AR_5_MAGIC_LENGTH)) { - arp->type = AR_5; - /* Must read in header to set necessary info */ - if (fseek(arp->fd, 0L, 0) != 0 || - fread((char *) &arp->arh_5, sizeof (Arh_5), 1, arp->fd) != - 1) { - return failed; - } - arp->sym_begin = ftell(arp->fd); - arp->num_symbols = sgetl(arp->arh_5.ar_syms); - arp->first_ar_mem = arp->sym_begin + - sizeof (Ars_5) * arp->num_symbols; - arp->sym_size = 0L; - return succeeded; - } - if (fseek(arp->fd, 0L, 0) != 0) { - return failed; - } - #endif if (fread(mag_port, AR_PORT_MAGIC_LENGTH, 1, arp->fd) != 1) { return failed; } if (IS_EQUALN(mag_port, AR_PORT_MAGIC, AR_PORT_MAGIC_LENGTH)) { arp->type = AR_PORT; --- 282,291 ----
*** 342,368 **** * Do we have a symbol table? A symbol table is always * the first member in an archive. In 4.1.x it has the * name __.SYMDEF, in SVr4, it has the name "/ " */ /* ! #ifdef SUN5_0 ! MBSTOWCS(wcs_buffer, NOCATGETS("/ ")); ! if (IS_WEQUALN(arp->ar_port.ar_name, wcs_buffer, 16)) { ! #else ! MBSTOWCS(wcs_buffer, NOCATGETS("__.SYMDEF ")); if (IS_WEQUALN(arp->ar_port.ar_name, wcs_buffer, 16)) { - #endif */ - #if defined(SUN5_0) || defined(HP_UX) || defined(linux) if (IS_EQUALN(arp->ar_port.ar_name, NOCATGETS("/ "), 16)) { - #else - if (IS_EQUALN(arp->ar_port.ar_name, - NOCATGETS("__.SYMDEF "), - 16)) { - #endif if (sscanf(arp->ar_port.ar_size, "%ld", &arp->sym_size) != 1) { return failed; } --- 314,329 ---- * Do we have a symbol table? A symbol table is always * the first member in an archive. In 4.1.x it has the * name __.SYMDEF, in SVr4, it has the name "/ " */ /* ! MBSTOWCS(wcs_buffer, "/ "); if (IS_WEQUALN(arp->ar_port.ar_name, wcs_buffer, 16)) { */ if (IS_EQUALN(arp->ar_port.ar_name, NOCATGETS("/ "), 16)) { if (sscanf(arp->ar_port.ar_size, "%ld", &arp->sym_size) != 1) { return failed; }
*** 414,428 **** * with names > 15 characters long * * Global variables used: */ static Boolean - #if defined(SUN5_0) || defined(linux) //XXX read_archive_dir(register Ar *arp, Name library, char **long_names_table) - #else - read_archive_dir(register Ar *arp, Name library, char **) - #endif { wchar_t *name_string; wchar_t *member_string; register long len; register wchar_t *p; --- 375,385 ----
*** 430,450 **** register Name name; Property member; long ptr; long date; - #if defined(SUN5_0) || defined(linux) //XXX int offset; /* * If any of the members has a name > 15 chars, * it will be found here. */ if (process_long_names_member(arp, long_names_table, library->string_mb) == failed) { return failed; } - #endif name_string = ALLOC_WC((int) (library->hash.length + (int) ar_member_name_len * 2)); (void) mbstowcs(name_string, library->string_mb, (int) library->hash.length); member_string = name_string + library->hash.length; *member_string++ = (int) parenleft_char; --- 387,405 ----
*** 516,526 **** catgets(catd, 1, 28, "Read error in archive `%s': invalid archive file member header at 0x%x"), library->string_mb, ftell(arp->fd) ); } - #if defined(SUN5_0) || defined(linux) //XXX /* If it's a long name, retrieve it from long name table */ if (arp->ar_port.ar_name[0] == '/') { /* * "len" is used for hashing the string. * We're using "ar_member_name_len" instead of --- 471,480 ----
*** 535,548 **** q = *long_names_table + offset; } else { q = arp->ar_port.ar_name; len = sizeof arp->ar_port.ar_name; } - #else - q = arp->ar_port.ar_name; - len = sizeof arp->ar_port.ar_name; - #endif for (p = member_string; (len > 0) && (*q != (int) nul_char) && !isspace(*q) && --- 489,498 ----
*** 782,792 **** &date) != 1) { fatal(catgets(catd, 1, 9, "Bad date field for member `%s' in archive `%s'"), arp->ar_port.ar_name, target->string_mb); } - #if defined(SUN5_0) || defined(linux) //XXX /* If it's a long name, retrieve it from long name table */ if (arp->ar_port.ar_name[0] == '/') { sscanf(arp->ar_port.ar_name + 1, "%ld", &offset); --- 732,741 ----
*** 794,806 **** hp = *long_names_table + offset; } else { len = sizeof arp->ar_port.ar_name; hp = arp->ar_port.ar_name; } - #else - hp = arp->ar_port.ar_name; - #endif ap = member_string; while (*hp && (*hp != (int) slash_char) && (ap < &member_string[len])) { MBTOWC(ap, hp); --- 743,752 ----