diff options
author | Nick Ing-Simmons <nik@tiuk.ti.com> | 1997-10-31 23:54:01 +0000 |
---|---|---|
committer | Nick Ing-Simmons <nik@tiuk.ti.com> | 1997-10-31 23:54:01 +0000 |
commit | f0f333f45536802923a359d930d1dcfd5b4589ea (patch) | |
tree | 6f746f4b9cda56e2432754d6816467676c601820 /ext/SDBM_File | |
parent | 8ac853655d9b744749adcb9687c13d99cdd6e9fb (diff) | |
download | perl-f0f333f45536802923a359d930d1dcfd5b4589ea.tar.gz |
Further ANSI changes now builds and passes (most) tests
with gcc -x c++.
p4raw-id: //depot/ansiperl@196
Diffstat (limited to 'ext/SDBM_File')
-rw-r--r-- | ext/SDBM_File/sdbm/hash.c | 4 | ||||
-rw-r--r-- | ext/SDBM_File/sdbm/pair.c | 45 | ||||
-rw-r--r-- | ext/SDBM_File/sdbm/sdbm.c | 66 | ||||
-rw-r--r-- | ext/SDBM_File/sdbm/sdbm.h | 6 | ||||
-rw-r--r-- | ext/SDBM_File/sdbm/util.c | 7 |
5 files changed, 40 insertions, 88 deletions
diff --git a/ext/SDBM_File/sdbm/hash.c b/ext/SDBM_File/sdbm/hash.c index eb585ac102..514bb5ed1a 100644 --- a/ext/SDBM_File/sdbm/hash.c +++ b/ext/SDBM_File/sdbm/hash.c @@ -17,9 +17,7 @@ * 65587 even better. */ long -sdbm_hash(str, len) -register char *str; -register int len; +sdbm_hash(register char *str, register int len) { register unsigned long n = 0; diff --git a/ext/SDBM_File/sdbm/pair.c b/ext/SDBM_File/sdbm/pair.c index 23bbfe9a67..e1a6ee6f43 100644 --- a/ext/SDBM_File/sdbm/pair.c +++ b/ext/SDBM_File/sdbm/pair.c @@ -44,9 +44,7 @@ static int seepair proto((char *, int, char *, int)); */ int -fitpair(pag, need) -char *pag; -int need; +fitpair(char *pag, int need) { register int n; register int off; @@ -63,10 +61,7 @@ int need; } void -putpair(pag, key, val) -char *pag; -datum key; -datum val; +putpair(char *pag, datum key, datum val) { register int n; register int off; @@ -92,9 +87,7 @@ datum val; } datum -getpair(pag, key) -char *pag; -datum key; +getpair(char *pag, datum key) { register int i; register int n; @@ -114,9 +107,7 @@ datum key; #ifdef SEEDUPS int -duppair(pag, key) -char *pag; -datum key; +duppair(char *pag, datum key) { register short *ino = (short *) pag; return ino[0] > 0 && seepair(pag, ino[0], key.dptr, key.dsize) > 0; @@ -124,9 +115,7 @@ datum key; #endif datum -getnkey(pag, num) -char *pag; -int num; +getnkey(char *pag, int num) { datum key; register int off; @@ -145,9 +134,7 @@ int num; } int -delpair(pag, key) -char *pag; -datum key; +delpair(char *pag, datum key) { register int n; register int i; @@ -219,11 +206,7 @@ datum key; * return 0 if not found. */ static int -seepair(pag, n, key, siz) -char *pag; -register int n; -register char *key; -register int siz; +seepair(char *pag, register int n, register char *key, register int siz) { register int i; register int off = PBLKSIZ; @@ -239,10 +222,7 @@ register int siz; } void -splpage(pag, new, sbit) -char *pag; -char *new; -long sbit; +splpage(char *pag, char *New, long int sbit) { datum key; datum val; @@ -254,7 +234,7 @@ long sbit; (void) memcpy(cur, pag, PBLKSIZ); (void) memset(pag, 0, PBLKSIZ); - (void) memset(new, 0, PBLKSIZ); + (void) memset(New, 0, PBLKSIZ); n = ino[0]; for (ino++; n > 0; ino += 2) { @@ -265,14 +245,14 @@ long sbit; /* * select the page pointer (by looking at sbit) and insert */ - (void) putpair((exhash(key) & sbit) ? new : pag, key, val); + (void) putpair((exhash(key) & sbit) ? New : pag, key, val); off = ino[1]; n -= 2; } debug(("%d split %d/%d\n", ((short *) cur)[0] / 2, - ((short *) new)[0] / 2, + ((short *) New)[0] / 2, ((short *) pag)[0] / 2)); } @@ -283,8 +263,7 @@ long sbit; * this could be made more rigorous. */ int -chkpage(pag) -char *pag; +chkpage(char *pag) { register int n; register int off; diff --git a/ext/SDBM_File/sdbm/sdbm.c b/ext/SDBM_File/sdbm/sdbm.c index c2d9cbd47d..7fbba0f00a 100644 --- a/ext/SDBM_File/sdbm/sdbm.c +++ b/ext/SDBM_File/sdbm/sdbm.c @@ -39,7 +39,7 @@ extern int errno; extern Malloc_t malloc proto((MEM_SIZE)); extern Free_t free proto((Malloc_t)); -extern Off_t lseek(); +extern Off_t lseek(int, off_t, int); #endif /* @@ -75,10 +75,7 @@ static long masks[] = { datum nullitem = {NULL, 0}; DBM * -sdbm_open(file, flags, mode) -register char *file; -register int flags; -register int mode; +sdbm_open(register char *file, register int flags, register int mode) { register DBM *db; register char *dirname; @@ -92,7 +89,7 @@ register int mode; */ n = strlen(file) * 2 + strlen(DIRFEXT) + strlen(PAGFEXT) + 2; - if ((dirname = malloc((unsigned) n)) == NULL) + if ((dirname = (char *) malloc((unsigned) n)) == NULL) return errno = ENOMEM, (DBM *) NULL; /* * build the file names @@ -107,11 +104,7 @@ register int mode; } DBM * -sdbm_prep(dirname, pagname, flags, mode) -char *dirname; -char *pagname; -int flags; -int mode; +sdbm_prep(char *dirname, char *pagname, int flags, int mode) { register DBM *db; struct stat dstat; @@ -170,8 +163,7 @@ int mode; } void -sdbm_close(db) -register DBM *db; +sdbm_close(register DBM *db) { if (db == NULL) errno = EINVAL; @@ -183,9 +175,7 @@ register DBM *db; } datum -sdbm_fetch(db, key) -register DBM *db; -datum key; +sdbm_fetch(register DBM *db, datum key) { if (db == NULL || bad(key)) return errno = EINVAL, nullitem; @@ -197,9 +187,7 @@ datum key; } int -sdbm_delete(db, key) -register DBM *db; -datum key; +sdbm_delete(register DBM *db, datum key) { if (db == NULL || bad(key)) return errno = EINVAL, -1; @@ -223,11 +211,7 @@ datum key; } int -sdbm_store(db, key, val, flags) -register DBM *db; -datum key; -datum val; -int flags; +sdbm_store(register DBM *db, datum key, datum val, int flags) { int need; register long hash; @@ -285,22 +269,19 @@ int flags; * giving up. */ static int -makroom(db, hash, need) -register DBM *db; -long hash; -int need; +makroom(register DBM *db, long int hash, int need) { long newp; char twin[PBLKSIZ]; char *pag = db->pagbuf; - char *new = twin; + char *New = twin; register int smax = SPLTMAX; do { /* * split the current page */ - (void) splpage(pag, new, db->hmask + 1); + (void) splpage(pag, New, db->hmask + 1); /* * address of the new page */ @@ -319,10 +300,10 @@ int need; || write(db->pagf, db->pagbuf, PBLKSIZ) < 0) return 0; db->pagbno = newp; - (void) memcpy(pag, new, PBLKSIZ); + (void) memcpy(pag, New, PBLKSIZ); } else if (lseek(db->pagf, OFF_PAG(newp), SEEK_SET) < 0 - || write(db->pagf, new, PBLKSIZ) < 0) + || write(db->pagf, New, PBLKSIZ) < 0) return 0; if (!setdbit(db, db->curbit)) @@ -363,8 +344,7 @@ int need; * deletions aren't taken into account. (ndbm bug) */ datum -sdbm_firstkey(db) -register DBM *db; +sdbm_firstkey(register DBM *db) { if (db == NULL) return errno = EINVAL, nullitem; @@ -382,8 +362,7 @@ register DBM *db; } datum -sdbm_nextkey(db) -register DBM *db; +sdbm_nextkey(register DBM *db) { if (db == NULL) return errno = EINVAL, nullitem; @@ -394,9 +373,7 @@ register DBM *db; * all important binary trie traversal */ static int -getpage(db, hash) -register DBM *db; -register long hash; +getpage(register DBM *db, register long int hash) { register int hbit; register long dbit; @@ -435,9 +412,7 @@ register long hash; } static int -getdbit(db, dbit) -register DBM *db; -register long dbit; +getdbit(register DBM *db, register long int dbit) { register long c; register long dirb; @@ -458,9 +433,7 @@ register long dbit; } static int -setdbit(db, dbit) -register DBM *db; -register long dbit; +setdbit(register DBM *db, register long int dbit) { register long c; register long dirb; @@ -494,8 +467,7 @@ register long dbit; * the page, try the next page in sequence */ static datum -getnext(db) -register DBM *db; +getnext(register DBM *db) { datum key; diff --git a/ext/SDBM_File/sdbm/sdbm.h b/ext/SDBM_File/sdbm/sdbm.h index fdd9165145..fc0ea8705e 100644 --- a/ext/SDBM_File/sdbm/sdbm.h +++ b/ext/SDBM_File/sdbm/sdbm.h @@ -183,6 +183,10 @@ extern long sdbm_hash proto((char *, int)); #ifdef I_MEMORY #include <memory.h> +#endif + +#ifdef __cplusplus +#define HAS_MEMCPY #endif #ifdef HAS_MEMCPY @@ -239,7 +243,9 @@ extern long sdbm_hash proto((char *, int)); # else # define memcmp Perl_my_memcmp # endif +#ifndef __cplusplus extern int memcmp proto((char*, char*, int)); +#endif # endif #endif /* HAS_MEMCMP */ diff --git a/ext/SDBM_File/sdbm/util.c b/ext/SDBM_File/sdbm/util.c index 4b03d89f09..16bd4ac9a5 100644 --- a/ext/SDBM_File/sdbm/util.c +++ b/ext/SDBM_File/sdbm/util.c @@ -6,9 +6,7 @@ #endif void -oops(s1, s2) -register char *s1; -register char *s2; +oops(register char *s1, register char *s2) { extern int errno, sys_nerr; extern char *sys_errlist[]; @@ -24,8 +22,7 @@ register char *s2; } int -okpage(pag) -char *pag; +okpage(char *pag) { register unsigned n; register off; |