Add patch for a fix for braindead applications that were depending on

atoi('') (ex: RT and Horde).  While I'm here, de-"pkg-comment"-ify.  Port
revision bump.

Submitted by:	Larry Rosenman <ler@lerctr.org>
Approved by:	maintainer
This commit is contained in:
Sean Chittenden
2003-02-20 01:14:12 +00:00
parent 7e0afad953
commit 42b61aee6e
39 changed files with 403 additions and 13 deletions

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere

View File

@@ -7,6 +7,7 @@
PORTNAME?= postgresql
PORTVERSION?= 7.3.2
PORTREVISION= 1
CATEGORIES?= databases
MASTER_SITES= ftp://ftp3.us.postgresql.org/pub/postgresql/%SUBDIR%/ \
ftp://ftp5.us.postgresql.org/pub/PostgreSQL/%SUBDIR%/ \
@@ -28,6 +29,7 @@ DISTFILES= postgresql-base-${PORTVERSION}${EXTRACT_SUFX} \
MAINTAINER?= girgen@pingpong.net
COMMENT= The most advanced open-source database available anywhere
WRKSRC= ${WRKDIR}/postgresql-${PORTVERSION}
DIST_SUBDIR= postgresql

View File

@@ -0,0 +1,29 @@
Index: src/backend/utils/adt/numutils.c
===================================================================
RCS file: /cvsroot/pgsql-server/src/backend/utils/adt/numutils.c,v
retrieving revision 1.54
diff -c -c -r1.54 numutils.c
*** src/backend/utils/adt/numutils.c 4 Sep 2002 20:31:28 -0000 1.54
--- src/backend/utils/adt/numutils.c 19 Dec 2002 17:10:56 -0000
***************
*** 70,76 ****
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! elog(ERROR, "pg_atoi: zero-length string");
else
l = strtol(s, &badp, 10);
--- 70,80 ----
if (s == (char *) NULL)
elog(ERROR, "pg_atoi: NULL pointer");
else if (*s == 0)
! {
! /* 7.3.X workaround for broken apps, bjm 2002-12-19 */
! elog(WARNING, "pg_atoi: zero-length string");
! l = (long) 0;
! }
else
l = strtol(s, &badp, 10);

View File

@@ -1 +0,0 @@
The most advanced open-source database available anywhere