> these is my contribution to implement islamic (hijri) calendar.
>
> Waiting for your suggestions.
>
Without knowing the internals of the hijri calender here are a few generic
suggestions:

1) Consider using zend_parse_parameters rather than zend_get_parameters,
it'll help furture readability.

2) Rather than combining month/day/year into astring for returning from
jdtohijri() consider returning them as an array of values, as
string-OR-array depending on optional flag parameter, or return the
component pieces by-ref.

3) What's the maximum length of a hijri date string?  If it's 10 like the
gregorian calender MM/DD/YYYY, then you need to make your temporary buffer
be char[11] to hold the terminating NULL.

3a) When dealing with a short buffer it's a good idea to use snprintf() to
be absolutely certain you don't overrun.  Since you'll be estrdup()ing this
call (in RETURN_STRING()) later on anyway, you could just use spprintf()
here and pass the return in with a duplicate parameter of 0, but that's
splitting hairs.

3b) It'll also avoid an extra strlen() in RETURN_STRING() if you capture the
legnth output of sprintf() and pass it into RETURN_STRINGL().

4) To avoid potential namespace conflicts, it'd help to prefix the internal
methods you define in hijri.c with something uniqing (i.e.:
php_cal_hijri_SdnToHijri(), php_cal_hijri_HijriToSdn), or speicfy them as
'static' if they will only be used within their local object file.

5) Internal method names should be all lowercase with underscores used for
word boundaries. i.e.:  SdnToHijri => std_to_hijri.  studlyCaps is meant for
object method names exported to userspace.

6) How is Hijri pronounced?  Is the j hard like english-"Jump", soft like
spanish-"Juego", or silent?  Just curious on that one...

-Sara

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to