]> andersk Git - moira.git/commitdiff
detect DB errors
authormar <mar>
Tue, 3 Sep 1991 15:38:55 +0000 (15:38 +0000)
committermar <mar>
Tue, 3 Sep 1991 15:38:55 +0000 (15:38 +0000)
gen/moddiff.dc

index 044335ca8faea38ed5a221a908c8e48a4f62fc9a..6316be0372757912ff121165b2790697df00ea3a 100644 (file)
@@ -38,7 +38,11 @@ time_t ModTime;
 
     *flag = 0;
     tbl_name = tbl;
-    EXEC SQL SELECT MODTIME INTO :filetime FROM tblstats WHERE tbl = :tbl_name;
+    EXEC SQL SELECT modtime INTO :filetime FROM tblstats WHERE tbl = :tbl_name;
+    if (sqlca.sqlcode != 0) {
+       fprintf(stderr, "Query failed: %d\n", sqlca.sqlcode);
+       return(MR_DATE);
+    }
     if (Date2Sec (filetime, &filetimeno)) {
        fprintf(stderr,"Unable to parse mod. date for file %s\n", tbl);
        return(MR_DATE);
@@ -60,8 +64,16 @@ struct timeval *UTime;
 {
     int Day, Month, Year, Hour, Minute, Sec, Err, TotalDays, Iter;
 
+#ifdef DEBUG
+    printf("Date2Sec(\"%s\", %d.%d)\n", DS, UTime->tv_sec, UTime->tv_usec);
+#endif
     Err = ParseDateString (DS, &Day, &Month, &Year, &Hour, &Minute,&Sec);
+#ifdef DEBUG
+    printf("date=%d/%d/%d %d:%d:%d, err=%d\n", Day, Month, Year,
+          Hour, Minute, Sec, Err);
+#endif
     if (Err) return (Err);
+
     if (Year < 1970) {
        for (TotalDays = 0, Iter = 1969; Iter > Year; Iter--) {
            TotalDays += NumdaysY(Iter);}
@@ -151,7 +163,7 @@ int *Day, *Month, *Year, *Hour, *Minute, *Sec;
 
     M = (char *)malloc(strlen(DS));
     D = (char *)malloc(strlen(DS));
-    if (!(M && D)) return (0);
+    if (!(M && D)) return (1);
     Gotten = sscanf (DS, "%[^-]-%[^-]-%d %d:%d:%d", D, M, &Y, &H, &Min, &S);
     if (Gotten < 3) 
       Gotten = sscanf (DS, "%[^/]/%[^/]/%d %d:%d:%d", D, M, &Y, &H, &Min, &S);
This page took 0.041809 seconds and 5 git commands to generate.