Attached: valgrind output; used electric fence too Attached: original source code (licence: Artistic Licence v2) I am getting a segmentation fault. I have compiled using electric fence, and used valgrind to debug. (Not got used to gdb yet.) For some reason, while I have initialized the array grahanaama[] (line 64 of monthpan.c), grahanaama[0] gives an error at line 593 [added for debugging]. Similarly initialized array tithinaama does not give an error for accessing tithinaama[0]. Please help. -- Tux #395953 resides at http://samvit.org playing with KDE 3.51 on SUSE Linux 10.1 $ date [] CCE +2006-05-13 W19-6 UTC+0530
/* ---------------------- shuddha drik panchaanga ---------------------- */ /* version 1.43 */ /* ------------------- header includes ------------------- */ #include "swephexp.h" #include "time.h" /* ------------------- function declarations ------------------- */ /* display instructions to user */ void dispinstructsfordate(void); /* convenience functions - general */ double mod360(double inbut); /* convenience functions - output */ void writetithinaama(int tithi2); void writekarananaama(int karana2); void depwarn(const char *s); /* validate and input functions */ void vinputdate(void); void safeinput(void); /* output formatting functions */ char *ppt_hm(double t); char *ppd2(int mon, int day); /* jyotisha functions */ void calcpananglesfor(double tjd2); void searchforpan(int mode, int itemnum, double startjd, char searchspace); double ayanaamshafor(double tjd2); /* main output functions */ void listsplpanchaanga(double startjd2, double endjd2); /* ------------------- variable declarations ------------------- */ char ppoutput[12]; char cvoutput[30]; char safeinputbuffer[30]; char serr[AS_MAXCH]; char chaandramaasa[80]; int jday, jmon, jyear, jhour, jmin, jsec; int planet; int tithi, vaasara, nakshatra, yoga, karana; int rtu, saayanamaasa, nirayanamaasa; int tzhour, tzmin; int repeatinput, iteration; int userinputjulianday, borderday; int depwarned; int sunatamaa0, sunatamaa1, sunatamaa2, chaandramaasatype; int32 iflag, iflgret; time_t nowval; double jut, tjd, te, x2[6]; double startjd, endjd; double xSpica[6], ayanaamsha; double grahadata[9][2], saayanasuurya; double tithiangle, nakshatraangle, yogaangle; double stithiangle, snakshatraangle, syogaangle; // to be used during search double sayanaamsha, ssunlong, smoonlong; // to be used during search double tzoffset; double low, high, border, borderoftithi; // borderoftithi used when karana is second half double amaalow, amaahigh, amaa0, amaa1, amaa2; struct tm now, nowut, ppbuffer; FILE *fp; /* ------------------- constant declarations ------------------- */ enum searchpanchoices { S_TITHI, S_NAKSHATRA, S_YOGA, S_KARANA }; double chennai[3] = {80.3, 13.1, 0.0}; char spicanaama[] = "Spica"; char *grahanaama[] = {"Bhaanu", "Soma", "Mangala", "Budha", "Guru", "Shukra", "Shani"}; char *tithinaama[] = { "Pratham", "Dvitii", "Tritii", "Chatur", "Pancha", "Shash", "Sapta", "Ashta", "Nava", "Dasha", "Ekaada", "Dvaada", "Trayoda", "Chaturda" }; // puurnimaa and amaavaasyaa will be handled separately char *nakshatranaama[] = { "Ashvinii", "Bharanii", "Kritti", "Rohinii", "Mriga", "Aardraa", "Punar", "Pushya", "Aashre", "Maghaa", "P Phal", "U Phal", "Hasta", "Chitraa", "Svaatii", "Vishaa", "Anuraa", "Jyesh", "Muula", "P Ashaa", "U Ashaa", "Shravana", "Shravish", "Shata", "P Prosh", "U Prosh", "Revatii" }; char *yoganaama[] = { "Vishkam", "Priiti", "Aayush", "Saubhaa", "Shobhana", "Atiganda", "Sukarman", "Dhriti", "Shuula", "Ganda", "Vriddhi", "Dhruva", "Vyaaghaa", "Harshana", "Vajra", "Siddhi", "Vyatii", "Varigha", "Parigha", "Shiva", "Siddha", "Saadhya", "Shubha", "Shubhra", "Braahma", "Maahen", "Vaidhri" }; char *karananaama[] = { "Bava", "Baalava", "Kaulava", "Taitila", "Garajaa", "Vanijaa", "Bhadraa" }; // sthira karana-s will be handled separately double arcmin800 = 360.0 / 27.0; /* ------------------- main function ------------------- */ int main(int argc, char *argv[]) { swe_set_ephe_path("."); iflag = SEFLG_SPEED; userinputjulianday = 0; depwarned = 0; tzoffset = 0; printf("\n"); /* testing dependency files */ if ((fp = fopen("fixstars.cat", "r")) == NULL) depwarn("fixstars.cat"); else fclose(fp); if ((fp = fopen( "sepl_18.se1", "r")) == NULL) depwarn( "sepl_18.se1"); else fclose(fp); if ((fp = fopen( "semo_18.se1", "r")) == NULL) depwarn( "semo_18.se1"); else fclose(fp); /* ayanaamshafor(2451545.0); if (iflgret < 0) depwarn("fixstars.cat"); iflgret = swe_calc(2451545.0, 0, iflag, x2, serr); // sun if ((iflgret < 0) || (iflgret != iflag)) depwarn("sepl_18.se1"); iflgret = swe_calc(2451545.0, 1, iflag, x2, serr); // moon if ((iflgret < 0) || (iflgret != iflag)) depwarn("semo_18.se1"); */ if (depwarned) printf("\n"); /* processing arguments */ argc--; if (argc == 0) // no commandline arguments { printf("Please provide the start and end Gregorian dates.\n"); dispinstructsfordate(); tzoffset = 5.5 / 24.0; printf("Please enter the start date.\n"); vinputdate(); startjd = swe_julday(jyear,jmon,jday,jut,SE_GREG_CAL) - tzoffset; printf("Please enter the end date.\n"); do { repeatinput = FALSE; vinputdate(); endjd = swe_julday(jyear,jmon,jday,jut,SE_GREG_CAL) - tzoffset; if ((int) endjd <= (int) startjd) repeatinput = TRUE; if (repeatinput) printf("Please enter an end date later than the start date.\n"); } while (repeatinput); listsplpanchaanga(startjd, endjd); } else // too many parameters { printf ("Too many parameters.\n"); } printf("\nWritten special panchaanga for given date range for Chennai to monthpan.txt\n\n"); return 1; } /* display instructions to user */ void dispinstructsfordate(void) { printf("Years must be in the range 1800 to 2399 CCE (\"AD\"). Two-digit years are not accepted.\n"); printf("The timezone must be specified in terms of the UTC offset, positive east of Greenwich.\n\n"); } /* convenience functions - general */ double mod360(double inbut) { if (inbut >= 360.0) return (inbut - 360.0); if (inbut < 0.0) return (inbut + 360.0); return inbut; } /* convenience functions - output */ void writetithinaama(int tithi2) { tithi2 %= 30; if (tithi2 == 14) fprintf(fp, " Puurni "); else if (tithi2 == 29) fprintf(fp, " Amaa "); else fprintf(fp, "%8s ", tithinaama[(tithi2 > 14) ? (tithi2 - 15) : tithi2]); } void writekarananaama(int karana2) { karana2 %= 60; switch(karana2) { case 0: fprintf(fp, " Kimstu "); break; case 57: fprintf(fp, "Shakuni "); break; case 58: fprintf(fp, "Chatush "); break; case 59: fprintf(fp, "Naagava "); break; default: fprintf(fp, "%7s ", karananaama[(karana2 - 1) % 7]); break; } } void depwarn(const char *s) { printf("WARNING: %12s not found. Internal medium-accuracy formulae will be used.\n", s); // to change to "or corrupted" when the corruption checking is debugged depwarned = 1; } /* validate and input functions */ void vinputdate(void) { do { repeatinput = FALSE; printf("Date as YYYY-MM-DD : "); safeinput(); if (sscanf(safeinputbuffer, "%d-%d-%d", &jyear, &jmon, &jday) < 1) repeatinput = TRUE; if (swe_date_conversion(jyear, jmon, jday, 0.0, 'g', &tjd) == ERR) repeatinput = TRUE; if (jyear < 1800 || jyear > 2399) repeatinput = TRUE; if (repeatinput) printf ("Please enter a valid date.\n"); } while (repeatinput); } void safeinput(void) { fgets(safeinputbuffer, 30, stdin); } /* formatting functions */ char *ppt_hm(double t) // pretty print time -- no seconds { ppbuffer.tm_mday = 1; // since it's the only member without zero value ppbuffer.tm_hour = (int) t; t -= ppbuffer.tm_hour; t *= 60.0; ppbuffer.tm_min = (int) t; strftime (ppoutput, 6, "%H:%M", &ppbuffer); return ppoutput; } char *ppd2(int mon, int day) // pretty print date { ppbuffer.tm_mon = mon - 1; ppbuffer.tm_mday = day; strftime (ppoutput, 11, "%b-%d", &ppbuffer); return ppoutput; } /* jyotisha functions */ void calcpananglesfor(double tjd2) { /* calculate ephemeris time in julian days */ te = tjd2 + swe_deltat(tjd2); /* calculate ayanaamsha */ sayanaamsha = ayanaamshafor(te); /* calculate sun and moon */ swe_calc(te, 0, iflag, x2, serr); // sun ssunlong = mod360(x2[0] - sayanaamsha); swe_calc(te, 1, iflag, x2, serr); // moon smoonlong = mod360(x2[0] - sayanaamsha); /* calculate the tithi, nakshatra and yoga angles for search */ stithiangle = mod360(smoonlong - ssunlong); // lunar minus solar longitude snakshatraangle = smoonlong; // lunar longitude syogaangle = mod360(smoonlong + ssunlong); // lunar plus solar longitude } void searchforpan(int mode, int itemnum, double startjd, char searchspace) { low = startjd; switch (searchspace) { case 'h': high = low + 0.5; break; case 'f': high = low + 1.0; break; case 'x': high = low + 1.5; break; } for (iteration = 1; iteration < 26; iteration++) { border = (low + high) / 2.0; calcpananglesfor(border); switch (mode) { case S_TITHI: if (itemnum > 29) itemnum -= 30; // needed because we search for tithi + 2 etc if (itemnum == 0) { if (stithiangle > 330.0) low = border; if (stithiangle < 30.0) high = border; } else { if (stithiangle < (itemnum * 12.0)) low = border; else high = border; } break; case S_NAKSHATRA: if (itemnum > 26) itemnum -= 27; // needed because we search for nakshatra + 2 etc if (itemnum == 0) { if (snakshatraangle > 330.0) low = border; if (snakshatraangle < 30.0) high = border; } else { if (snakshatraangle < (itemnum * arcmin800)) low = border; else high = border; } break; case S_YOGA: if (itemnum > 26) itemnum -= 27; // needed because we search for yoga + 2 etc if (itemnum == 0) { if (syogaangle > 330.0) low = border; if (syogaangle < 30.0) high = border; } else { if (syogaangle < (itemnum * arcmin800)) low = border; else high = border; } break; case S_KARANA: if (itemnum > 59) itemnum -= 60; // needed because we search for karana + 2 etc if (itemnum == 0) { if (stithiangle > 330.0) low = border; if (stithiangle < 30.0) high = border; } else { if (stithiangle < (itemnum * 6.0)) low = border; else high = border; } break; } } } double ayanaamshafor(double te2) { iflgret = swe_fixstar(spicanaama, te2, iflag, xSpica, serr); if (iflgret >= 0) return (xSpica[0] - 180.0); // < 0 -> file not found or corrupted /* the following section is evaluated only if the fixstars.cat file is not found or is corrupted */ double t; double ra_h, ra_m, ra_s, ra; double de_d, de_m, de_s, de; double ra_pm, de_pm; double parallax, r, radv; double sinra, cosra; double sinde, cosde; double x, y, z; double delx, dely, delz; double zeta, zee, theta; double cosraz; double sinth, costh; double A, B, C; double ep; double lambda, ayana; double obli_nut[6]; t = te2 - 2451545.0; // days since J2000.0 t /= 365.25; // convert to years /* spica value initialization */ /* 1. x-y position */ ra_h = 13.0; ra_m = 25.0; ra_s = 11.5793; ra = (ra_h + ra_m / 60.0 + ra_s / 3600.0) * 15.0; // convert to degrees ra *= DEGTORAD; // convert to radians; de_d = -11.0; de_m = -9.0; de_s = -40.759; de = de_d + de_m / 60.0 + de_s / 3600.0; // convert to degrees de *= DEGTORAD; // convert to radians /* 2. x-y motion */ ra_pm = -42.50; // mas/yr de_pm = -31.73; // mas/yr ra_pm /= (3600.0 * 1000.0); // convert to degrees per year; de_pm /= (3600.0 * 1000.0); ra_pm *= DEGTORAD; // convert to radians per year de_pm *= DEGTORAD; /* 3. z position and motion */ parallax = 12.44; // milliarcseconds parallax /= 1000.0; // convert to arcseconds r = 1 / parallax; // distance in parsecs radv = 1.0; // km/s radv /= 977792.0; // convert to parsecs per year #if 0 /* simple proper motion */ ra += ra_pm * t; de += de_pm * t; #endif /* rigorous proper motion */ sinra = sin(ra); // convenience cosra = cos(ra); sinde = sin(de); cosde = cos(de); x = r * cosde * cosra; y = r * cosde * sinra; z = r * sinde; delx = (x / r) * radv - z * de_pm * cosra - y * ra_pm; dely = (y / r) * radv - z * de_pm * sinra + x * ra_pm; delz = (z / r) * radv + r * de_pm * cosde; x += t * delx; y += t * dely; z += t * delz; ra = atan2(y, x); de = atan2(z, sqrt(x * x + y * y)); /* precession */ t /= 100.0; // convert to centuries zeta = t * (2306.2181 + t * (0.30188 + t * 0.018998)); zee = t * (2306.2181 + t * (1.09468 + t * 0.018203)); theta = t * (2004.3109 + t * (0.42665 + t * 0.041833)); zeta /= 3600.0; // to degrees zee /= 3600.0; theta /= 3600.0; zeta *= DEGTORAD; // to radians zee *= DEGTORAD; theta *= DEGTORAD; cosraz = cos(ra + zeta); sinth = sin(theta); costh = cos(theta); sinde = sin(de); // recalculation for changed de value cosde = cos(de); A = cosde * sin(ra + zeta); B = cosde * cosraz * costh - sinth * sinde; C = cosde * cosraz * sinth + costh * sinde; ra = atan2(A, B) + zee; de = asin(C); /* find obliquity and nutation in longitude */ swe_calc(te2, SE_ECL_NUT, 0, obli_nut, serr); ep = obli_nut[0]; // ep = 23.0 + 26.0 / 60.0 + 21.448 / 3600.0; // J2000 ep *= DEGTORAD; /* find ecliptic longitude */ lambda = atan2(sin(ra) * cos(ep) + tan(de) * sin(ep), cos(ra)); lambda /= DEGTORAD; lambda += obli_nut[2]; /* find and return ayanaamsha */ ayana = lambda - 180.0; if (ayana < 0.0) ayana += 360.0; return ayana; } /* main output function */ void listsplpanchaanga(double startjd2, double endjd2) { fp = fopen("monthpan.txt", "w"); int secondtithi, secondnakshatra, secondyoga, thirdkarana; char bsecondtithi[10], bsecondnakshatra[10], bsecondyoga[10], bthirdkarana[10]; int extraexists; int endtithi, endnakshatra, endyoga, endkarana; int mendtithi, mendnakshatra, mendyoga, mendkarana; double prev_sunset, this_sunrise, this_sunset, this_braahma, this_noon; /* mend are modified end values use to prevent discontinuity at 0; if (start)tithi == 29 and endtithi == 0, endtithi would not be identified as (start)tithi + 1 similarly for other cases we cannot manipulate the end___ variables themselves since we need them to assign their values to the start___ variables for the next day */ calcpananglesfor(startjd2); tithi = stithiangle / 12.0; // prathamaa == 0 nakshatra = snakshatraangle / arcmin800; // ashvinii == 0 yoga = syogaangle / arcmin800; // vishkambha == 0 karana = stithiangle / 6.0; // kimstughna == 0 swe_rise_trans(startjd2 - 1, SE_SUN, NULL, SEFLG_SWIEPH, SE_CALC_SET + SE_BIT_DISC_CENTER + SE_BIT_NO_REFRACTION, chennai, 0, 25, &prev_sunset, serr); //fprintf(fp, "debug: first prev_sunset %f \n", prev_sunset); for (tjd = startjd2; tjd <= endjd2; tjd++) { extraexists = 0; secondtithi = secondnakshatra = secondyoga = thirdkarana = 300; // an illegal value for all these swe_revjul (tjd + tzoffset, SE_GREG_CAL, &jyear, &jmon, &jday, &jut); fprintf(fp, "%6s | ", ppd2(jmon, jday)); swe_rise_trans(tjd, SE_SUN, NULL, SEFLG_SWIEPH, SE_CALC_RISE + SE_BIT_DISC_CENTER + SE_BIT_NO_REFRACTION, chennai, 0, 25, &this_sunrise, serr); swe_rise_trans(tjd, SE_SUN, NULL, SEFLG_SWIEPH, SE_CALC_SET + SE_BIT_DISC_CENTER + SE_BIT_NO_REFRACTION, chennai, 0, 25, &this_sunset, serr); this_braahma = this_sunrise - (this_sunrise - prev_sunset) / 5; this_noon = (this_sunrise + this_sunset) / 2; fprintf(fp, "%5s ", ppt_hm((this_braahma - tjd) * 24.0)); fprintf(fp, "%5s ", ppt_hm((this_sunrise - tjd) * 24.0)); fprintf(fp, "%5s ", ppt_hm((this_noon - tjd) * 24.0)); fprintf(fp, "%5s | ", ppt_hm((this_sunset - tjd) * 24.0)); calcpananglesfor(tjd + 1); vaasara = fmod(tjd + tzoffset + 1.5, 7); mendtithi = endtithi = stithiangle / 12.0; mendnakshatra = endnakshatra = snakshatraangle / arcmin800; mendyoga = endyoga = syogaangle / arcmin800; mendkarana = endkarana = stithiangle / 6.0; if (tithi != 0 && endtithi == 0) mendtithi += 30; if (tithi == 29 && endtithi == 1) mendtithi += 30; if (nakshatra != 0 && endnakshatra == 0) mendnakshatra += 27; if (nakshatra == 26 && endnakshatra == 1) mendnakshatra += 27; if (yoga != 0 && endyoga == 0) mendyoga += 27; if (yoga == 26 && endyoga == 1) mendyoga += 27; if (karana != 0 && endkarana == 0) mendkarana += 60; if (karana != 0 && endkarana == 1) mendkarana += 60; if (karana == 59 && endkarana == 2) mendkarana += 60; /* karana can go from 59 to 0, 58 to 0, 57 to 0 59 to 1, 58 to 1 59 to 2 it is safe to test for karana != 0 as a shortcut to (karana == 58 || karana == 59) since karana == 1 && endkarana == 1 is *never* possible otoh tithi == 1 && endtithi == 1 is possible, so tithi != 0 would test false positive for tithi == 1 whereas it should evaluate only for tithi == 29 so we use safely tithi == 29 besides, since only one non-zero tithi value is possible for endtithi == 1, a shortcut is not required and regarding the mend___ += statements, i opted for += instead of direct assignment for the logic to be clear and remember that the mend___ values are assigned simultaneously with the end___ values, else += would not work as expected to produce 30 for 0 or 31 for 1 etc */ if ((mendtithi == tithi + 2) || (mendnakshatra == nakshatra + 2) || (mendyoga == yoga + 2) || (mendkarana == karana + 3)) extraexists = 1; if (tithi < 15) fprintf(fp, "Sh "); else fprintf(fp, "Kr "); writetithinaama(tithi); if (mendtithi == tithi + 2) { searchforpan(S_TITHI, tithi + 2, tjd, 'f'); // search for *start* of tithi + 2 secondtithi = tithi + 1; // we need to print name of tithi + 1 strcpy(bsecondtithi, ppt_hm((border - tjd) * 24.0)); } if (mendtithi > tithi) // tests for tithi + 1 and tithi + 2 { searchforpan(S_TITHI, tithi + 1, tjd, 'f'); fprintf(fp, "%5s | ", ppt_hm((border - tjd) * 24.0)); } if (mendtithi == tithi) fprintf(fp, " / | "); printf("debug: vaasara = %d, graha = %7s\n", vaasara, grahanaama[vaasara]); fprintf(fp, "%7s | ", grahanaama[vaasara]); fprintf(fp, "%8s ", nakshatranaama[nakshatra]); if (mendnakshatra == nakshatra + 2) { searchforpan(S_NAKSHATRA, nakshatra + 2, tjd, 'f'); // search for *start* of nakshatra + 2 secondnakshatra = nakshatra + 1; // we need to print name of nakshatra + 1 strcpy(bsecondnakshatra, ppt_hm((border - tjd) * 24.0)); } if (mendnakshatra > nakshatra) // tests for nakshatra + 1 and nakshatra + 2 { searchforpan(S_NAKSHATRA, nakshatra + 1, tjd, 'f'); fprintf(fp, "%5s | ", ppt_hm((border - tjd) * 24.0)); } if (mendnakshatra == nakshatra) fprintf(fp, " / | "); fprintf(fp, "%8s ", yoganaama[yoga]); if (mendyoga == yoga + 2) { searchforpan(S_YOGA, yoga + 2, tjd, 'f'); // search for *start* of yoga + 2 secondyoga = yoga + 1; // we need to print name of yoga + 1 strcpy(bsecondyoga, ppt_hm((border - tjd) * 24.0)); } if (mendyoga > yoga) // tests for yoga + 1 and yoga + 2 { searchforpan(S_YOGA, yoga + 1, tjd, 'f'); fprintf(fp, "%5s | ", ppt_hm((border - tjd) * 24.0)); } if (mendyoga == yoga) fprintf(fp, " / | "); writekarananaama(karana); searchforpan(S_KARANA, karana + 1, tjd, 'f'); // max karana size is larger than half-day, so 'f' fprintf(fp, "%5s ", ppt_hm((border - tjd) * 24.0)); writekarananaama(karana + 1); if (mendkarana == karana + 3) { searchforpan(S_KARANA, karana + 3, tjd, 'f'); // search for *start* of karana + 3 thirdkarana = karana + 2; // we need to print name of karana + 2 strcpy(bthirdkarana, ppt_hm((border - tjd) * 24.0)); } if (mendkarana > karana + 1) // tests for karana + 2 and karana + 3 { searchforpan(S_KARANA, karana + 2, tjd, 'f'); // search for *start* of karana + 2 fprintf(fp, "%5s", ppt_hm((border - tjd) * 24.0)); } if (mendkarana == karana + 1) fprintf(fp, " /"); fprintf(fp, "\n"); if (extraexists) { fprintf(fp, " | | "); // date and times if (secondtithi == 300) fprintf(fp, " - - - | "); // paksha and tithi else { if (secondtithi < 15) fprintf(fp, "Sh "); else fprintf(fp, "Kr "); writetithinaama(secondtithi % 30); fprintf(fp, "%5s | ", bsecondtithi); } fprintf(fp, " - | "); // vaasara if (secondnakshatra == 300) fprintf(fp, " - - | "); // nakshatra else { fprintf(fp, "%8s ", nakshatranaama[secondnakshatra % 27]); fprintf(fp, "%5s | ", bsecondnakshatra); } if (secondyoga == 300) fprintf(fp, " - - | "); // yoga else { fprintf(fp, "%8s ", yoganaama[secondyoga % 27]); fprintf(fp, "%5s | ", bsecondyoga); } fprintf(fp, " - - "); // first karana if (thirdkarana == 300) fprintf(fp, " - -"); // second karana else { writekarananaama(thirdkarana % 60); fprintf(fp, "%5s", bthirdkarana); // two spaces just for consistency } fprintf(fp, "\n"); } tithi = endtithi; nakshatra = endnakshatra; yoga = endyoga; karana = endkarana; prev_sunset = this_sunset; } fclose(fp); }
samjnaa@chandas:~/bin/swisseph/panchaanga> valgrind --tool=memcheck ./monthpan ==8908== Memcheck, a memory error detector. ==8908== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==8908== Using LibVEX rev 1575, a library for dynamic binary translation. ==8908== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. ==8908== Using valgrind-3.1.1, a dynamic binary instrumentation framework. ==8908== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==8908== For more details, rerun with: -v ==8908== Electric Fence 2.2.0 Copyright (C) 1987-1999 Bruce Perens <bruce@xxxxxxxxxx> Please provide the start and end Gregorian dates. Years must be in the range 1800 to 2399 CCE ("AD"). Two-digit years are not accepted. The timezone must be specified in terms of the UTC offset, positive east of Greenwich. Please enter the start date. Date as YYYY-MM-DD : 2006-05-15 Please enter the end date. Date as YYYY-MM-DD : 2006-06-14 ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A784: swi_cartpol_sp (swephlib.c:347) ==8908== by 0x804E302: app_pos_rest (sweph.c:2375) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A78A: swi_cartpol_sp (swephlib.c:347) ==8908== by 0x804E302: app_pos_rest (sweph.c:2375) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A79E: swi_cartpol_sp (swephlib.c:347) ==8908== by 0x804E302: app_pos_rest (sweph.c:2375) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A7A0: swi_cartpol_sp (swephlib.c:347) ==8908== by 0x804E302: app_pos_rest (sweph.c:2375) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A8C9: swi_cartpol_sp (swephlib.c:347) ==8908== by 0x804E302: app_pos_rest (sweph.c:2375) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A7D3: swi_cartpol_sp (swephlib.c:354) ==8908== by 0x804E302: app_pos_rest (sweph.c:2375) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A7D5: swi_cartpol_sp (swephlib.c:354) ==8908== by 0x804E302: app_pos_rest (sweph.c:2375) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A7F8: swi_cartpol_sp (swephlib.c:355) ==8908== by 0x804E302: app_pos_rest (sweph.c:2375) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A7FE: swi_cartpol_sp (swephlib.c:355) ==8908== by 0x804E302: app_pos_rest (sweph.c:2375) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A784: swi_cartpol_sp (swephlib.c:347) ==8908== by 0x804E311: app_pos_rest (sweph.c:2376) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A78A: swi_cartpol_sp (swephlib.c:347) ==8908== by 0x804E311: app_pos_rest (sweph.c:2376) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A79E: swi_cartpol_sp (swephlib.c:347) ==8908== by 0x804E311: app_pos_rest (sweph.c:2376) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A7A0: swi_cartpol_sp (swephlib.c:347) ==8908== by 0x804E311: app_pos_rest (sweph.c:2376) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A8C9: swi_cartpol_sp (swephlib.c:347) ==8908== by 0x804E311: app_pos_rest (sweph.c:2376) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A7D3: swi_cartpol_sp (swephlib.c:354) ==8908== by 0x804E311: app_pos_rest (sweph.c:2376) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A7D5: swi_cartpol_sp (swephlib.c:354) ==8908== by 0x804E311: app_pos_rest (sweph.c:2376) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A7F8: swi_cartpol_sp (swephlib.c:355) ==8908== by 0x804E311: app_pos_rest (sweph.c:2376) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Conditional jump or move depends on uninitialised value(s) ==8908== at 0x805A7FE: swi_cartpol_sp (swephlib.c:355) ==8908== by 0x804E311: app_pos_rest (sweph.c:2376) ==8908== by 0x8050B04: app_pos_etc_sun (sweph.c:3179) ==8908== by 0x8051B11: main_planet (sweph.c:1259) ==8908== by 0x8054D4B: swecalc (sweph.c:675) ==8908== by 0x8056F56: swe_calc (sweph.c:288) ==8908== by 0x806199D: swe_rise_trans (swecl.c:2905) ==8908== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== ==8908== Invalid read of size 1 ==8908== at 0x4021FB8: strlen (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==8908== by 0x40A0807: vfprintf (in /lib/libc-2.4.so) ==8908== by 0x40A5C92: printf (in /lib/libc-2.4.so) ==8908== by 0x8049B71: listsplpanchaanga (monthpan.c:593) ==8908== by 0x804AC97: main (monthpan.c:148) ==8908== Address 0x726956 is not stack'd, malloc'd or (recently) free'd ==8908== ==8908== Process terminating with default action of signal 11 (SIGSEGV) ==8908== Access not within mapped region at address 0x726956 ==8908== at 0x4021FB8: strlen (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==8908== by 0x40A0807: vfprintf (in /lib/libc-2.4.so) ==8908== by 0x40A5C92: printf (in /lib/libc-2.4.so) ==8908== by 0x8049B71: listsplpanchaanga (monthpan.c:593) ==8908== by 0x804AC97: main (monthpan.c:148) grahanaama[0] = ==8908== ==8908== ERROR SUMMARY: 4419 errors from 19 contexts (suppressed: 3 from 1) ==8908== malloc/free: in use at exit: 0 bytes in 0 blocks. ==8908== malloc/free: 0 allocs, 0 frees, 0 bytes allocated. ==8908== For counts of detected errors, rerun with: -v ==8908== All heap blocks were freed -- no leaks are possible. Segmentation fault samjnaa@chandas:~/bin/swisseph/panchaanga> make gcc -c -g -O2 -Wall monthpan.c gcc -g -O2 -Wall -o monthpan monthpan.o -L. -lswe -lm -lefence samjnaa@chandas:~/bin/swisseph/panchaanga> valgrind --tool=memcheck ./monthpan ==9160== Memcheck, a memory error detector. ==9160== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==9160== Using LibVEX rev 1575, a library for dynamic binary translation. ==9160== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. ==9160== Using valgrind-3.1.1, a dynamic binary instrumentation framework. ==9160== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==9160== For more details, rerun with: -v ==9160== Electric Fence 2.2.0 Copyright (C) 1987-1999 Bruce Perens <bruce@xxxxxxxxxx> Please provide the start and end Gregorian dates. Years must be in the range 1800 to 2399 CCE ("AD"). Two-digit years are not accepted. The timezone must be specified in terms of the UTC offset, positive east of Greenwich. Please enter the start date. Date as YYYY-MM-DD : 2006-05-15 Please enter the end date. Date as YYYY-MM-DD : 2006-06-14 ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A754: swi_cartpol_sp (swephlib.c:347) ==9160== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A75A: swi_cartpol_sp (swephlib.c:347) ==9160== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A76E: swi_cartpol_sp (swephlib.c:347) ==9160== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A770: swi_cartpol_sp (swephlib.c:347) ==9160== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A899: swi_cartpol_sp (swephlib.c:347) ==9160== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A7A3: swi_cartpol_sp (swephlib.c:354) ==9160== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A7A5: swi_cartpol_sp (swephlib.c:354) ==9160== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A7C8: swi_cartpol_sp (swephlib.c:355) ==9160== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A7CE: swi_cartpol_sp (swephlib.c:355) ==9160== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A754: swi_cartpol_sp (swephlib.c:347) ==9160== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A75A: swi_cartpol_sp (swephlib.c:347) ==9160== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A76E: swi_cartpol_sp (swephlib.c:347) ==9160== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A770: swi_cartpol_sp (swephlib.c:347) ==9160== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A899: swi_cartpol_sp (swephlib.c:347) ==9160== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A7A3: swi_cartpol_sp (swephlib.c:354) ==9160== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A7A5: swi_cartpol_sp (swephlib.c:354) ==9160== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A7C8: swi_cartpol_sp (swephlib.c:355) ==9160== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Conditional jump or move depends on uninitialised value(s) ==9160== at 0x805A7CE: swi_cartpol_sp (swephlib.c:355) ==9160== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9160== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9160== by 0x8051AE1: main_planet (sweph.c:1259) ==9160== by 0x8054D1B: swecalc (sweph.c:675) ==9160== by 0x8056F26: swe_calc (sweph.c:288) ==9160== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9160== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== ==9160== Invalid read of size 1 ==9160== at 0x4021FB8: strlen (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==9160== by 0x40A0807: vfprintf (in /lib/libc-2.4.so) ==9160== by 0x40A5C92: printf (in /lib/libc-2.4.so) ==9160== by 0x8049B7D: listsplpanchaanga (monthpan.c:593) ==9160== by 0x804AC67: main (monthpan.c:148) ==9160== Address 0x726956 is not stack'd, malloc'd or (recently) free'd ==9160== ==9160== Process terminating with default action of signal 11 (SIGSEGV) ==9160== Access not within mapped region at address 0x726956 ==9160== at 0x4021FB8: strlen (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==9160== by 0x40A0807: vfprintf (in /lib/libc-2.4.so) ==9160== by 0x40A5C92: printf (in /lib/libc-2.4.so) ==9160== by 0x8049B7D: listsplpanchaanga (monthpan.c:593) ==9160== by 0x804AC67: main (monthpan.c:148) debug: vaasara = 1, graha = Somadebug: vaasara = 2, graha = Mangaladebug: vaasara = 3, graha = Budhadebug: vaasara = 4, graha = Gurudebug: vaasara = 5, graha = Shukradebug: vaasara = 6, graha = Shanidebug: vaasara = 0, graha = ==9160== ==9160== ERROR SUMMARY: 22083 errors from 19 contexts (suppressed: 3 from 1) ==9160== malloc/free: in use at exit: 0 bytes in 0 blocks. ==9160== malloc/free: 0 allocs, 0 frees, 0 bytes allocated. ==9160== For counts of detected errors, rerun with: -v ==9160== All heap blocks were freed -- no leaks are possible. Segmentation fault samjnaa@chandas:~/bin/swisseph/panchaanga> make gcc -c -g -O2 -Wall monthpan.c gcc -g -O2 -Wall -o monthpan monthpan.o -L. -lswe -lm -lefence samjnaa@chandas:~/bin/swisseph/panchaanga> valgrind --tool=memcheck ./monthpan > oput ==9579== Memcheck, a memory error detector. ==9579== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==9579== Using LibVEX rev 1575, a library for dynamic binary translation. ==9579== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. ==9579== Using valgrind-3.1.1, a dynamic binary instrumentation framework. ==9579== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==9579== For more details, rerun with: -v ==9579== Electric Fence 2.2.0 Copyright (C) 1987-1999 Bruce Perens <bruce@xxxxxxxxxx> ==9579== ==9579== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 3 from 1) ==9579== malloc/free: in use at exit: 0 bytes in 0 blocks. ==9579== malloc/free: 0 allocs, 0 frees, 0 bytes allocated. ==9579== For counts of detected errors, rerun with: -v ==9579== All heap blocks were freed -- no leaks are possible. samjnaa@chandas:~/bin/swisseph/panchaanga> valgrind --tool=memcheck ./monthpan ==9675== Memcheck, a memory error detector. ==9675== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==9675== Using LibVEX rev 1575, a library for dynamic binary translation. ==9675== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. ==9675== Using valgrind-3.1.1, a dynamic binary instrumentation framework. ==9675== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==9675== For more details, rerun with: -v ==9675== Electric Fence 2.2.0 Copyright (C) 1987-1999 Bruce Perens <bruce@xxxxxxxxxx> Please provide the start and end Gregorian dates. Years must be in the range 1800 to 2399 CCE ("AD"). Two-digit years are not accepted. The timezone must be specified in terms of the UTC offset, positive east of Greenwich. Please enter the start date. Date as YYYY-MM-DD : 2006-05-15 Please enter the end date. Date as YYYY-MM-DD : 2006-06-14 ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A754: swi_cartpol_sp (swephlib.c:347) ==9675== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A75A: swi_cartpol_sp (swephlib.c:347) ==9675== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A76E: swi_cartpol_sp (swephlib.c:347) ==9675== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A770: swi_cartpol_sp (swephlib.c:347) ==9675== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A899: swi_cartpol_sp (swephlib.c:347) ==9675== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A7A3: swi_cartpol_sp (swephlib.c:354) ==9675== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A7A5: swi_cartpol_sp (swephlib.c:354) ==9675== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A7C8: swi_cartpol_sp (swephlib.c:355) ==9675== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A7CE: swi_cartpol_sp (swephlib.c:355) ==9675== by 0x804E2D2: app_pos_rest (sweph.c:2375) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A754: swi_cartpol_sp (swephlib.c:347) ==9675== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A75A: swi_cartpol_sp (swephlib.c:347) ==9675== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A76E: swi_cartpol_sp (swephlib.c:347) ==9675== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A770: swi_cartpol_sp (swephlib.c:347) ==9675== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A899: swi_cartpol_sp (swephlib.c:347) ==9675== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A7A3: swi_cartpol_sp (swephlib.c:354) ==9675== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A7A5: swi_cartpol_sp (swephlib.c:354) ==9675== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A7C8: swi_cartpol_sp (swephlib.c:355) ==9675== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== ==9675== Conditional jump or move depends on uninitialised value(s) ==9675== at 0x805A7CE: swi_cartpol_sp (swephlib.c:355) ==9675== by 0x804E2E1: app_pos_rest (sweph.c:2376) ==9675== by 0x8050AD4: app_pos_etc_sun (sweph.c:3179) ==9675== by 0x8051AE1: main_planet (sweph.c:1259) ==9675== by 0x8054D1B: swecalc (sweph.c:675) ==9675== by 0x8056F26: swe_calc (sweph.c:288) ==9675== by 0x806196D: swe_rise_trans (swecl.c:2905) ==9675== by 0x8049AD0: listsplpanchaanga (monthpan.c:512) ==9675== by 0x804AC67: main (monthpan.c:148) debug: vaasara = 1, graha = Soma debug: vaasara = 2, graha = Mangala debug: vaasara = 3, graha = Budha debug: vaasara = 4, graha = Guru debug: vaasara = 5, graha = Shukra debug: vaasara = 6, graha = Shani ==9675== ==9675== Invalid read of size 1 ==9675== at 0x4021FB8: strlen (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==9675== by 0x40A0807: vfprintf (in /lib/libc-2.4.so) ==9675== by 0x40A5C92: printf (in /lib/libc-2.4.so) ==9675== by 0x8049B7D: listsplpanchaanga (monthpan.c:593) ==9675== by 0x804AC67: main (monthpan.c:148) ==9675== Address 0x726956 is not stack'd, malloc'd or (recently) free'd ==9675== ==9675== Process terminating with default action of signal 11 (SIGSEGV) ==9675== Access not within mapped region at address 0x726956 ==9675== at 0x4021FB8: strlen (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so) ==9675== by 0x40A0807: vfprintf (in /lib/libc-2.4.so) ==9675== by 0x40A5C92: printf (in /lib/libc-2.4.so) ==9675== by 0x8049B7D: listsplpanchaanga (monthpan.c:593) ==9675== by 0x804AC67: main (monthpan.c:148) debug: vaasara = 0, graha = ==9675== ==9675== ERROR SUMMARY: 22083 errors from 19 contexts (suppressed: 3 from 1) ==9675== malloc/free: in use at exit: 0 bytes in 0 blocks. ==9675== malloc/free: 0 allocs, 0 frees, 0 bytes allocated. ==9675== For counts of detected errors, rerun with: -v ==9675== All heap blocks were freed -- no leaks are possible. Segmentation fault samjnaa@chandas:~/bin/swisseph/panchaanga>
Attachment:
pgpyl4FIz85Gq.pgp
Description: PGP signature