-int
-get_firstkey(
- char * hostname,
- int hostname_size,
- char * diskname,
- int diskname_size)
-{
-#ifdef TEXTDB
- (void)hostname; /* Quiet unused parameter warning */
- (void)hostname_size; /* Quiet unused parameter warning */
- (void)diskname; /* Quiet unused parameter warning */
- (void)diskname_size; /* Quiet unused parameter warning */
-
- assert(0);
- return 0;
-#else
- datum k;
- int rc;
- char *s, *fp;
- int ch;
-
- k = dbm_firstkey(infodb);
- if(k.dptr == NULL) return 0;
-
- s = k.dptr;
- ch = *s++;
-
- skip_whitespace(s, ch);
- if(ch == '\0') return 0;
- fp = hostname;
- while(ch && ch != ':') {
- if(fp >= hostname+hostname_size-1) {
- fp = NULL;
- break;
- }
- *fp = ch;
- ch = *s++;
- }
- if(fp == NULL) return 0;
- *fp = '\0';
-
- if(ch != ':') return 0;
- ch = *s++;
- copy_string(s, ch, diskname, diskname_size, fp);
- if(fp == NULL) return 0;
-
- return 1;
-#endif
-}
-
-
-int
-get_nextkey(
- char * hostname,
- int hostname_size,
- char * diskname,
- int diskname_size)
-{
-#ifdef TEXTDB
- (void)hostname; /* Quiet unused parameter warning */
- (void)hostname_size; /* Quiet unused parameter warning */
- (void)diskname; /* Quiet unused parameter warning */
- (void)diskname_size; /* Quiet unused parameter warning */
-
- assert(0);
- return 0;
-#else
- datum k;
- int rc;
- char *s, *fp;
- int ch;
-
- k = dbm_nextkey(infodb);
- if(k.dptr == NULL) return 0;
-
- s = k.dptr;
- ch = *s++;
-
- skip_whitespace(s, ch);
- if(ch == '\0') return 0;
- fp = hostname;
- while(ch && ch != ':') {
- if(fp >= hostname+hostname_size-1) {
- fp = NULL;
- break;
- }
- *fp = ch;
- ch = *s++;
- }
- if(fp == NULL) return 0;
- *fp = '\0';
-
- if(ch != ':') return 0;
- ch = *s++;
- copy_string(s, ch, diskname, diskname_size, fp);
- if(fp == NULL) return 0;
-
- return 1;
-#endif
-}
-
-