diff options
author | Bruce Momjian <bruce@momjian.us> | 1999-05-25 16:15:34 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1999-05-25 16:15:34 +0000 |
commit | 07842084fe3e11041f83563c851236395f481470 (patch) | |
tree | ab9960e67325bec5a97b8b4dd4b2075ce60cc420 /src/backend/utils/adt/arrayfuncs.c | |
parent | 4b04b01aaa460f1e52980f24173dc7a4535efd2d (diff) | |
download | postgresql-07842084fe3e11041f83563c851236395f481470.tar.gz postgresql-07842084fe3e11041f83563c851236395f481470.zip |
pgindent run over code.
Diffstat (limited to 'src/backend/utils/adt/arrayfuncs.c')
-rw-r--r-- | src/backend/utils/adt/arrayfuncs.c | 134 |
1 files changed, 70 insertions, 64 deletions
diff --git a/src/backend/utils/adt/arrayfuncs.c b/src/backend/utils/adt/arrayfuncs.c index 41f02797a7f..b0e59e3ff08 100644 --- a/src/backend/utils/adt/arrayfuncs.c +++ b/src/backend/utils/adt/arrayfuncs.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/adt/arrayfuncs.c,v 1.42 1999/05/10 00:45:58 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/adt/arrayfuncs.c,v 1.43 1999/05/25 16:11:50 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -200,7 +200,7 @@ array_in(char *string, /* input array in external form */ /* array not a large object */ dataPtr = (char *) _ReadArrayStr(p, nitems, ndim, dim, &inputproc, typelem, typmod, typdelim, typlen, typbyval, typalign, - &nbytes); + &nbytes); nbytes += ARR_OVERHEAD(ndim); retval = (ArrayType *) palloc(nbytes); MemSet(retval, 0, nbytes); @@ -246,7 +246,7 @@ array_in(char *string, /* input array in external form */ } /*----------------------------------------------------------------------------- - * _ArrayCount + * _ArrayCount * Counts the number of dimensions and the *dim array for an array string. * The syntax for array input is C-like nested curly braces *----------------------------------------------------------------------------- @@ -1284,19 +1284,19 @@ array_assgn(ArrayType *array, * Map an arbitrary function to an array and return a new array with * same dimensions and the source elements transformed by fn(). */ -ArrayType * +ArrayType * array_map(ArrayType *v, Oid type, - char * (*fn)(), + char *(*fn) (), Oid retType, int nargs, ...) { - ArrayType *result; - void *args[4]; - char **values; - char *elt; - int *dim; + ArrayType *result; + void *args[4]; + char **values; + char *elt; + int *dim; int ndim; int nitems; int i; @@ -1308,26 +1308,23 @@ array_map(ArrayType *v, char typdelim; Oid typelem; Oid proc; - char typalign; - char *s; - char *p; + char typalign; + char *s; + char *p; va_list ap; /* Large objects not yet supported */ - if (ARR_IS_LO(v) == true) { + if (ARR_IS_LO(v) == true) elog(ERROR, "array_map: large objects not supported"); - } /* Check nargs */ - if ((nargs < 0) || (nargs > 4)) { + if ((nargs < 0) || (nargs > 4)) elog(ERROR, "array_map: invalid nargs: %d", nargs); - } /* Copy extra args to local variable */ va_start(ap, nargs); - for (i=0; i<nargs; i++) { + for (i = 0; i < nargs; i++) args[i] = (void *) va_arg(ap, char *); - } va_end(ap); /* Lookup source and result types. Unneeded variables are reused. */ @@ -1336,14 +1333,13 @@ array_map(ArrayType *v, system_cache_lookup(retType, false, &typlen, &typbyval, &typdelim, &typelem, &proc, &typalign); - ndim = ARR_NDIM(v); - dim = ARR_DIMS(v); + ndim = ARR_NDIM(v); + dim = ARR_DIMS(v); nitems = getNitems(ndim, dim); /* Check for empty array */ - if (nitems <= 0) { + if (nitems <= 0) return v; - } /* Allocate temporary array for new values */ values = (char **) palloc(nitems * sizeof(char *)); @@ -1351,64 +1347,74 @@ array_map(ArrayType *v, /* Loop over source data */ s = (char *) ARR_DATA_PTR(v); - for (i=0; i<nitems; i++) { + for (i = 0; i < nitems; i++) + { /* Get source element */ - if (inp_typbyval) { - switch (inp_typlen) { - case 1: - elt = (char *) ((int) (*(char *) s)); - break; - case 2: - elt = (char *) ((int) (*(int16 *) s)); - break; - case 3: - case 4: - default: - elt = (char *) (*(int32 *) s); - break; + if (inp_typbyval) + { + switch (inp_typlen) + { + case 1: + elt = (char *) ((int) (*(char *) s)); + break; + case 2: + elt = (char *) ((int) (*(int16 *) s)); + break; + case 3: + case 4: + default: + elt = (char *) (*(int32 *) s); + break; } s += inp_typlen; - } else { + } + else + { elt = s; - if (inp_typlen > 0) { + if (inp_typlen > 0) s += inp_typlen; - } else { + else s += INTALIGN(*(int32 *) s); - } } /* - * Apply the given function to source elt and extra args. - * nargs is the number of extra args taken by fn(). + * Apply the given function to source elt and extra args. nargs is + * the number of extra args taken by fn(). */ - switch (nargs) { - case 0: - p = (char *) (*fn) (elt); - break; - case 1: - p = (char *) (*fn) (elt, args[0]); - break; - case 2: - p = (char *) (*fn) (elt, args[0], args[1]); - break; - case 3: - p = (char *) (*fn) (elt, args[0], args[1], args[2]); - break; - case 4: - default: - p = (char *) (*fn) (elt, args[0], args[1], args[2], args[3]); - break; + switch (nargs) + { + case 0: + p = (char *) (*fn) (elt); + break; + case 1: + p = (char *) (*fn) (elt, args[0]); + break; + case 2: + p = (char *) (*fn) (elt, args[0], args[1]); + break; + case 3: + p = (char *) (*fn) (elt, args[0], args[1], args[2]); + break; + case 4: + default: + p = (char *) (*fn) (elt, args[0], args[1], args[2], args[3]); + break; } /* Update values and total result size */ - if (typbyval) { + if (typbyval) + { values[i] = (char *) p; nbytes += typlen; - } else { - int len; + } + else + { + int len; + len = ((typlen > 0) ? typlen : INTALIGN(*(int32 *) p)); /* Needed because _CopyArrayEls tries to pfree items */ - if (p == elt) { + if (p == elt) + { p = (char *) palloc(len); memcpy(p, elt, len); } |