faa1795a28a5c712eed6d0a3f84d98c368a316c6jb/***********************************************************************
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* This software is part of the ast package *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* Copyright (c) 1992-2011 AT&T Intellectual Property *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* and is licensed under the *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* Common Public License, Version 1.0 *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* by AT&T Intellectual Property *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* A copy of the License is available at *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* http://www.opensource.org/licenses/cpl1.0.txt *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* Information and Software Systems Research *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* AT&T Research *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* Florham Park NJ *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* Glenn Fowler <gsf@research.att.com> *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* David Korn <dgk@research.att.com> *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb* *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb***********************************************************************/
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb/*
c586600796766c83eb9485c446886fd9ed2359a9Keyur Desai * -lcmd specific workaround to handle
86d7016b0051dd58772baafe5b5bcee51d560b05Gordon Ross * fts_namelen
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb * fts_pathlen
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb * fts_level
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb * changing from [unsigned] short bit to [s]size_t
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb * ksh (or any other main application) that pulls in -lcmd
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb * at runtime may result in old -last running with new -lcmd
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb * which is not a good situation (tm)
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb *
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb * probably safe to drop after 20150101
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb */
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb#include <ast.h>
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb#include <fts_fix.h>
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb#undef fts_read
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb
faa1795a28a5c712eed6d0a3f84d98c368a316c6jbFTSENT*
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb_fts_read(FTS* fts)
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb{
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb FTSENT* oe;
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb static FTSENT* ne;
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb if ((oe = _ast_fts_read(fts)) && ast.version < 20100102L && (ne || (ne = newof(0, FTSENT, 1, 0))))
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb {
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb *ne = *oe;
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb oe = ne;
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb ne->fts_namelen = ne->_fts_namelen;
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb ne->fts_pathlen = ne->_fts_pathlen;
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb ne->fts_level = ne->_fts_level;
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb }
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb return oe;
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb}
faa1795a28a5c712eed6d0a3f84d98c368a316c6jb