@@ -409,7 +409,7 @@ tzloadbody(char const * name, char *canonname, struct state * sp, bool doextend,
409
409
struct state * ts = & lsp -> u .st ;
410
410
411
411
up -> buf [nread - 1 ] = '\0' ;
412
- if (tzparse (& up -> buf [1 ], ts , false) == 0
412
+ if (tzparse (& up -> buf [1 ], ts , false)
413
413
&& ts -> typecnt == 2 )
414
414
{
415
415
/*
@@ -534,7 +534,7 @@ tzloadbody(char const * name, char *canonname, struct state * sp, bool doextend,
534
534
* given name is stored there (the buffer must be > TZ_STRLEN_MAX bytes!).
535
535
*/
536
536
int
537
- tzload (const char * name , char * canonname , struct state * sp , int doextend )
537
+ tzload (const char * name , char * canonname , struct state * sp , bool doextend )
538
538
{
539
539
union local_storage ls ;
540
540
@@ -864,13 +864,10 @@ transtime(int year, const struct rule * rulep,
864
864
/*
865
865
* Given a POSIX section 8-style TZ string, fill in the rule tables as
866
866
* appropriate.
867
- *
868
- * Returns 0 on success, -1 on failure. (Note: tzcode has converted this
869
- * to a bool true-on-success convention, but we're holding the line in PG
870
- * for the moment, to avoid external API changes.)
867
+ * Returns true on success, false on failure.
871
868
*/
872
- int
873
- tzparse (const char * name , struct state * sp , int lastditch )
869
+ bool
870
+ tzparse (const char * name , struct state * sp , bool lastditch )
874
871
{
875
872
const char * stdname ;
876
873
const char * dstname = NULL ;
@@ -908,7 +905,7 @@ tzparse(const char *name, struct state * sp, int lastditch)
908
905
stdname = name ;
909
906
name = getqzname (name , '>' );
910
907
if (* name != '>' )
911
- return -1 ;
908
+ return false ;
912
909
stdlen = name - stdname ;
913
910
name ++ ;
914
911
}
@@ -918,13 +915,13 @@ tzparse(const char *name, struct state * sp, int lastditch)
918
915
stdlen = name - stdname ;
919
916
}
920
917
if (* name == '\0' ) /* we allow empty STD abbrev, unlike IANA */
921
- return -1 ;
918
+ return false ;
922
919
name = getoffset (name , & stdoffset );
923
920
if (name == NULL )
924
- return -1 ;
921
+ return false ;
925
922
charcnt = stdlen + 1 ;
926
923
if (sizeof sp -> chars < charcnt )
927
- return -1 ;
924
+ return false ;
928
925
load_ok = tzload (TZDEFRULES , NULL , sp , false) == 0 ;
929
926
}
930
927
if (!load_ok )
@@ -936,7 +933,7 @@ tzparse(const char *name, struct state * sp, int lastditch)
936
933
dstname = ++ name ;
937
934
name = getqzname (name , '>' );
938
935
if (* name != '>' )
939
- return -1 ;
936
+ return false ;
940
937
dstlen = name - dstname ;
941
938
name ++ ;
942
939
}
@@ -947,15 +944,15 @@ tzparse(const char *name, struct state * sp, int lastditch)
947
944
dstlen = name - dstname ; /* length of DST zone name */
948
945
}
949
946
if (!dstlen )
950
- return -1 ;
947
+ return false ;
951
948
charcnt += dstlen + 1 ;
952
949
if (sizeof sp -> chars < charcnt )
953
- return -1 ;
950
+ return false ;
954
951
if (* name != '\0' && * name != ',' && * name != ';' )
955
952
{
956
953
name = getoffset (name , & dstoffset );
957
954
if (name == NULL )
958
- return -1 ;
955
+ return false ;
959
956
}
960
957
else
961
958
dstoffset = stdoffset - SECSPERHOUR ;
@@ -972,13 +969,13 @@ tzparse(const char *name, struct state * sp, int lastditch)
972
969
973
970
++ name ;
974
971
if ((name = getrule (name , & start )) == NULL )
975
- return -1 ;
972
+ return false ;
976
973
if (* name ++ != ',' )
977
- return -1 ;
974
+ return false ;
978
975
if ((name = getrule (name , & end )) == NULL )
979
- return -1 ;
976
+ return false ;
980
977
if (* name != '\0' )
981
- return -1 ;
978
+ return false ;
982
979
sp -> typecnt = 2 ; /* standard time and DST */
983
980
984
981
/*
@@ -1044,7 +1041,7 @@ tzparse(const char *name, struct state * sp, int lastditch)
1044
1041
int j ;
1045
1042
1046
1043
if (* name != '\0' )
1047
- return -1 ;
1044
+ return false ;
1048
1045
1049
1046
/*
1050
1047
* Initial values of theirstdoffset and theirdstoffset.
@@ -1148,7 +1145,7 @@ tzparse(const char *name, struct state * sp, int lastditch)
1148
1145
memcpy (cp , dstname , dstlen );
1149
1146
* (cp + dstlen ) = '\0' ;
1150
1147
}
1151
- return 0 ;
1148
+ return true ;
1152
1149
}
1153
1150
1154
1151
static void
0 commit comments