]> git.sur5r.net Git - bacula/bacula/commitdiff
escaping,typo fix
authorStefan Reddig <Stefan.Reddig@ingres.com>
Fri, 12 Mar 2010 17:14:55 +0000 (18:14 +0100)
committerMarco van Wieringen <mvw@planets.elm.net>
Fri, 12 Mar 2010 18:52:11 +0000 (19:52 +0100)
bacula/src/cats/ingres.c
bacula/src/cats/myingres.c

index a00b3f9353cb112b89121f252ff2c8d3cd2a22e4..45d4a3485a4ae5ca9f9d7c2b03d0569b7401ac67 100755 (executable)
@@ -313,21 +313,32 @@ int db_next_index(JCR *jcr, B_DB *mdb, char *table, char *index)
  *   NOTE! len is the length of the old string. Your new
  *         string must be long enough (max 2*old+1) to hold
  *         the escaped output.
- * SRE: TODO! 
  */
 void
 db_escape_string(JCR *jcr, B_DB *mdb, char *snew, char *old, int len)
 {
-/*
-   int error;
-  
-   PQescapeStringConn(mdb->db, snew, old, len, &error);
-   if (error) {
-      Jmsg(jcr, M_FATAL, 0, _("PQescapeStringConn returned non-zero.\n"));*/
-      /* error on encoding, probably invalid multibyte encoding in the source string
-        see PQescapeStringConn documentation for details. */
-/*      Dmsg0(500, "PQescapeStringConn failed\n");
-   }*/
+   char *n, *o;
+
+   n = snew;
+   o = old;
+   while (len--) {
+      switch (*o) {
+      case '\'':
+         *n++ = '\'';
+         *n++ = '\'';
+         o++;
+         break;
+      case 0:
+         *n++ = '\\';
+         *n++ = 0;
+         o++;
+         break;
+      default:
+         *n++ = *o++;
+         break;
+      }
+   }
+   *n = 0;
 }
 
 /*
index 88d86d4fb6bd4018e8c9b4b9b37ae579b1f28fa6..0f5c64e238fc80f5d3a36675dd103d245065c349 100644 (file)
@@ -1,7 +1,7 @@
 #include "bacula.h"
 /* # line 3 "myingres.sc" */   
 #ifdef HAVE_INGRES
-#include <eqdefc.h>
+#include <eqdef.h>
 #include <eqsqlca.h>
     extern IISQLCA sqlca;   /* SQL Communications Area */
 #include <eqsqlda.h>
@@ -328,7 +328,7 @@ int INGfetchAll(const char *stmt, INGresult *ing_res)
          ++linecount;
          row->row_number = linecount;
       }
-   } while ( (sqlca.sqlcode == 0) || (sqlca.sqlcode == -40202) )
+   } while ( (sqlca.sqlcode == 0) || (sqlca.sqlcode == -40202) );
 /* # line 348 "myingres.sc" */ /* close */
   {
     IIsqInit(&sqlca);
@@ -347,7 +347,6 @@ ING_STATUS INGresultStatus(INGresult *res)
 void INGrowSeek(INGresult *res, int row_number)
 {
    ING_ROW *trow = NULL;
-   int i;
    if (res->act_row->row_number == row_number) {
       return;
    }
@@ -357,7 +356,7 @@ void INGrowSeek(INGresult *res, int row_number)
    if (row_number<0 || row_number>res->num_rows) {
       return;
    }
-   for (trow = res->first_row , i=1 ; trow->row_number != row_number , i <= res->num_rows; trow = trow->next , ++i);
+   for (trow = res->first_row ; trow->row_number != row_number; trow = trow->next);
    res->act_row = trow;
    /*
     * Note - can be null - if row_number not found, right?