diff --git a/library.json b/library.json new file mode 100644 index 0000000..26b879a --- /dev/null +++ b/library.json @@ -0,0 +1,38 @@ +{ + "$schema": "https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/schema/library.json", + "name": "Libzmanim", + "version": "1.0-1", + "description": "a C library for zmanim and hebrew dates", + "repository": { + "type": "git", + "url": "git://github.com/yparitcher/libzmanim" + }, + "build": { + "unflags":"-std=gnu11", + "flags":[ + "-I include" + ,"-I windows" + ,"-D _WIN32" + ,"-Wall" + ,"-Wextra" + ,"-Wno-format-truncation" + ,"-O2" + ,"-pedantic" + + ,"-std=c11" + ], + "includeDir": ".", + "srcDir": ".", + "srcFilter": "+ +" + }, + "authors": [ + { + "name": "Yparitcher", + "email": "support@paritcher.com", + "url": "https://paritcher.com/" + } + ], + "license": "MIT", + "frameworks": "*", + "platforms": "*" +} \ No newline at end of file diff --git a/src/hdateformat.c b/src/hdateformat.c index e40d3fb..98c6bdf 100644 --- a/src/hdateformat.c +++ b/src/hdateformat.c @@ -20,8 +20,8 @@ or connect to: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html #include "stpncpy.h" #endif -const char* hchar[]={ "׆", "א", "ב", "ג", "ד", "ה", "ו", "ז", "ח", "ט", "י", "כ", "ל", "מ", "נ", "ס", "ע", "פ", "צ", "ק", "ר", "ש", "ת", "״", "׳"}; -const char* hmonth[]={ "אדר א׳", "ניסן", "אייר", "סיון", "תמוז", "אב", "אלול", "תשרי", "חשון", "כסלו", "טבת", "שבט", "אדר", "אדר ב׳"}; +const char* hchar[]={ "׆", "א", "ב", "ג", "ד", "ה", "ו", "ז", "ח", "ט", "י", "כ", "ל", "מ", "נ", "ס", "ע", "פ", "צ", "ק", "ר", "ש", "ת", "\"", "'"}; +const char* hmonth[]={ "אדר א'", "ניסן", "אייר", "סיון", "תמוז", "אב", "אלול", "תשרי", "חשון", "כסלו", "טבת", "שבט", "אדר", "אדר ב'"}; const char* hwday[]={ "שביעי", "ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת"}; const char* parshahchar[]={"\0", "בראשית", "נח", "לך לך", "וירא", "חיי שרה", "תולדות", "ויצא", "וישלח", "וישב", "מקץ", "ויגש", "ויחי", "שמות", "וארא", "בא", "בשלח", "יתרו", "משפטים", "תרומה", "תצוה", "כי תשא", "ויקהל", "פקודי", "ויקרא", "צו", "שמיני", "תזריע", "מצורע", "אחרי מות", "קדושים", "אמור", "בהר", "בחוקותי", "במדבר", "נשא", "בהעלותך", "שלח", "קרח", "חקת", "בלק", "פינחס", "מטות", "מסעי", "דברים", "ואתחנן", "עקב", "ראה", "שופטים", "כי תצא", "כי תבוא", "נצבים", "וילך", "האזינו", "וזאת הברכה", "ויקהל - פקודי", "תזריע - מצורע", "אחרי מות - קדושים", "בהר - בחוקותי", "חקת - בלק", "מטות - מסעי", "נצבים - וילך"}; @@ -254,9 +254,9 @@ const char* yomtovformat(yomtov current) case PESACH_SHEINI: return "פסח שני"; case LAG_BAOMER: - return "ל״ג בעומר"; + return "ל\"ג בעומר"; case TU_BAV: - return "ט״ו באב"; + return "ט\"ו באב"; case CHANUKAH_DAY1: case CHANUKAH_DAY2: case CHANUKAH_DAY3: @@ -267,7 +267,7 @@ const char* yomtovformat(yomtov current) case CHANUKAH_DAY8: return "חנוכה"; case TU_BISHVAT: - return "ט״ו בשבט"; + return "ט\"ו בשבט"; case PURIM_KATAN: return "פורים קטן"; case SHUSHAN_PURIM_KATAN: @@ -279,7 +279,7 @@ const char* yomtovformat(yomtov current) case SHIVA_ASAR_BTAAMUZ: return "שבעה עשר בתמוז"; case TISHA_BAV: - return "ט׳ באב"; + return "תשעה באב"; case TZOM_GEDALIA: return "צום גדליה"; case ASARAH_BTEVES: diff --git a/src/hebrewcalendar.c b/src/hebrewcalendar.c index 1d657fc..d663825 100644 --- a/src/hebrewcalendar.c +++ b/src/hebrewcalendar.c @@ -78,16 +78,18 @@ const parshah parshahlist[17][56] = { {NOPARSHAH, VAYELECH, HAAZINU, NOPARSHAH, BERESHIT, NOACH, LECH_LECHA, VAYEIRA, CHAYEI_SARAH, TOLEDOT, VAYETZE, VAYISHLACH, VAYESHEV, MIKETZ, VAYIGASH, VAYECHI, SHEMOT, VAEIRA, BO, BESHALACH, YITRO, MISHPATIM, TERUMAH, TETZAVEH, KI_TISA, VAYAKHEL, PEKUDEI, VAYIKRA, TZAV, SHEMINI, TAZRIA, METZORA, NOPARSHAH, ACHAREI_MOT, KEDOSHIM, EMOR, BEHAR, BECHUKOTAI, BAMIDBAR, NASO, BEHAALOTECHA, SHLACH, KORACH, CHUKAT, BALAK, PINCHAS, MATOT, MASEI, DEVARIM, VAETCHANAN, EIKEV, REEH, SHOFTIM, KI_TEITZEI, KI_TAVO, NITZAVIM}, {NOPARSHAH, NOPARSHAH, HAAZINU, NOPARSHAH, NOPARSHAH, BERESHIT, NOACH, LECH_LECHA, VAYEIRA, CHAYEI_SARAH, TOLEDOT, VAYETZE, VAYISHLACH, VAYESHEV, MIKETZ, VAYIGASH, VAYECHI, SHEMOT, VAEIRA, BO, BESHALACH, YITRO, MISHPATIM, TERUMAH, TETZAVEH, KI_TISA, VAYAKHEL, PEKUDEI, VAYIKRA, TZAV, SHEMINI, TAZRIA, METZORA, NOPARSHAH, ACHAREI_MOT, KEDOSHIM, EMOR, BEHAR, BECHUKOTAI, BAMIDBAR, NASO, BEHAALOTECHA, SHLACH, KORACH, CHUKAT, BALAK, PINCHAS, MATOT_MASEI, DEVARIM, VAETCHANAN, EIKEV, REEH, SHOFTIM, KI_TEITZEI, KI_TAVO, NITZAVIM_VAYELECH}}; -int HebrewLeapYear(int year) +int HebrewLeapYear(int hyear) { + long int year=hyear;//8 bit if ((((7 * year) + 1) % 19) < 7) return 1; else return 0; } -long int HebrewCalendarElapsedDays(int year) +long int HebrewCalendarElapsedDays(int hyear) { + long int year=hyear;// 8 bit long int MonthsElapsed = (235 * ((year - 1) / 19)) // Months in complete cycles so far. + (12 * ((year - 1) % 19)) // Regular months in this cycle. @@ -933,7 +935,7 @@ int iscandlelighting(hdate date) || current == SHAVOUS_DAY2 || current == ROSH_HASHANAH_DAY2 || current == SIMCHAS_TORAH) - && date.wday == 6) {return 2;} + ) {return 2;} if((date.month == 9 && date.day == 24) || (current >= CHANUKAH_DAY1 && current <= CHANUKAH_DAY7)) { diff --git a/src/zmanim.c b/src/zmanim.c index dac679d..725ee9b 100644 --- a/src/zmanim.c +++ b/src/zmanim.c @@ -440,7 +440,7 @@ hdate gettzais72(hdate date, location here) return calctimeoffset(getsunset(date, here), MINUTES72); } -hdate calcmoladoffset(hdate date, int offsetsec) +hdate calcmoladoffset(hdate date, long int offsetsec) { molad result = getmolad(date.year, date.month); int tz = (-result.offset) + date.offset;