+/* $OpenLDAP$ */
+/*
+ * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
+ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+ */
/*
* Copyright (c) 1991, 1993
* Regents of the University of Michigan. All rights reserved.
"memberOfGroup",
"lastModifiedBy",
"lastModifiedTime",
+ "modifiersname",
+ "modifytimestamp",
NULL
};
"labeledURL",
"lastModifiedBy",
"lastModifiedTime",
+ "modifiersname",
+ "modifytimestamp",
+ "creatorsname",
+ "createtimestamp",
NULL
};
if (debug & D_TRACE)
printf("->print_an_entry()\n");
#endif
+
+ if( Entry.name == NULL ) {
+ printf(" No Entry found.\n");
+ return;
+ }
+
printf(" \"%s\"\n", Entry.name);
/*
struct tm t;
char *p, *timestr, zone, *fmterr = "badly formatted time";
time_t gmttime;
+ int ndigits;
+
+ if (strlen( ldtimestr ) < 12 ) {
+ return( fmterr );
+ }
- memset( (char *)&t, 0, sizeof( struct tm ));
- if ( strlen( ldtimestr ) < 13 ) {
- return( fmterr );
+ for ( ndigits=0; isdigit((unsigned char) ldtimestr[ndigits]); ndigits++) {
+ ; /* EMPTY */
}
- for ( p = ldtimestr; p - ldtimestr < 12; ++p ) {
- if ( !isdigit( (unsigned char) *p )) {
+ if ( ndigits != 12 && ndigits != 14) {
return( fmterr );
}
- }
+
+ memset( (char *)&t, '\0', sizeof( struct tm ));
p = ldtimestr;
- t.tm_year = GET2BYTENUM( p ); p += 2;
+
+ if( ndigits == 14) {
+ /* came with a century */
+ /* POSIX says tm_year should be year - 1900 */
+ t.tm_year = 100 * GET2BYTENUM( p ) - 1900;
+ p += 2;
+ } else {
+ t.tm_year = 0;
+ }
+ t.tm_year += GET2BYTENUM( p ); p += 2;
+
t.tm_mon = GET2BYTENUM( p ) - 1; p += 2;
t.tm_mday = GET2BYTENUM( p ); p += 2;
t.tm_hour = GET2BYTENUM( p ); p += 2;
SAFEMEMCPY( timestr + 11, timestr + 20, strlen( timestr + 20 ) + 1 );
}
- Free ( ldtimestr );
return( strdup( timestr ) );
}
#define dysize(y) \
(((y) % 4) ? 365 : (((y) % 100) ? 366 : (((y) % 400) ? 365 : 366)))
-#define YEAR(y) ((y) >= 100 ? (y) : (y) + 1900)
+/*
+ * Y2K YEAR
+ */
+ /* per STDC & POSIX tm_year *should* be offset by 1900 */
+#define YEAR_POSIX(y) ((y) + 1900)
+
+ /*
+ * year is < 1900, year is offset by 1900
+ */
+#define YEAR_CAREFUL(y) ((y) < 1900 ? (y) + 1900 : (y))
+
+#define YEAR(y) YEAR_CAREFUL(y)
+
/* \f */