Skip to content

Instantly share code, notes, and snippets.

@Girgias
Last active January 15, 2020 15:25
Show Gist options
  • Save Girgias/b9a2b9926190630d433c84da0ef1b002 to your computer and use it in GitHub Desktop.
Save Girgias/b9a2b9926190630d433c84da0ef1b002 to your computer and use it in GitHub Desktop.
Custom snprintf formats used in php-src
george@DESKTOP-GEORGE-P:/mnt/c/Dev/php-src$ grep -rPbnH "(v)?(a)?s(n|l)?printf\(.*%(\+|-| |#|0)?(\d+|\*)?(\.(\d+|\*))?(h|H|k|v|t|j|z|Z|l|L|I).*\)"
ext/bcmath/libbcmath/src/output.c:73:2220: snprintf(digits, sizeof(digits), "%ld", val);
ext/date/php_date.c:51:1925: int st = snprintf(s, len, "%lld", i); \
ext/date/php_date.c:840:35029: case 'Y': length = slprintf(buffer, sizeof(buffer), "%s%04lld", t->y < 0 ? "-" : "", php_date_llabs((timelib_sll) t->y)); break;
ext/date/php_date.c:915:38829: case 'U': length = slprintf(buffer, sizeof(buffer), "%lld", (timelib_sll) t->sse); break;
ext/date/tests/bug63435.phpt:8:146: $datetime = Datetime::createFromFormat("u", sprintf("%06ld", $i));
ext/ftp/ftp.c:1729:32954: eprtarg_len = snprintf(eprtarg, sizeof(eprtarg), "|2|%s|%hu|", out, ntohs(((struct sockaddr_in6 *) &addr)->sin6_port));
ext/imap/php_imap.c:1329:41542: snprintf(tmp + 6, sizeof(tmp) - 6, "%4ld) ", cache->msgno);
ext/imap/php_imap.c:1344:42103: snprintf(t += strlen(t), sizeof(tmp) - strlen(tmp), " (%ld chars)", cache->rfc822_size);
ext/imap/php_imap.c:1791:54898: snprintf(dummy, sizeof(dummy), "%4ld", cache->msgno);
ext/imap/php_imap.c:1797:55088: snprintf(dummy, sizeof(dummy), "%ld", cache->rfc822_size);
ext/imap/php_imap.c:4336:128250: snprintf(buf, 25, "%ld.num", thisNode);
ext/imap/php_imap.c:4340:128331: snprintf(buf, 25, "%ld.next", thisNode);
ext/imap/php_imap.c:4349:128574: snprintf(buf, 25, "%ld.branch", thisNode);
ext/opcache/zend_accelerator_module.c:480:21284: snprintf(buf, sizeof(buf), "%zu", zend_shared_alloc_get_free_memory());
ext/opcache/zend_accelerator_module.c:482:21411: snprintf(buf, sizeof(buf), "%zu", ZSMMG(wasted_shared_memory));
ext/opcache/zend_accelerator_module.c:485:21601: snprintf(buf, sizeof(buf), "%zu", (size_t)((char*)ZCSG(interned_strings).top - (char*)ZCSG(interned_strings).start));
ext/opcache/zend_accelerator_module.c:487:21793: snprintf(buf, sizeof(buf), "%zu", (size_t)((char*)ZCSG(interned_strings).end - (char*)ZCSG(interned_strings).top));
ext/openssl/openssl.c:2059:58466: snprintf(buf, sizeof(buf), "%08lx", X509_subject_name_hash(cert));
ext/snmp/snmp.c:379:10623: snprintf(buf, buflen, "%lu", *vars->val.integer);
ext/snmp/snmp.c:385:10772: snprintf(buf, buflen, "%ld", *vars->val.integer);
ext/snmp/snmp.c:602:18417: sprintf(buf, "%lu.", vars->name[count]);
ext/standard/crypt_sha256.c:509:14497: int n = snprintf(cp, MAX(0, buflen), "%s%zu$", sha256_rounds_prefix, rounds);
ext/standard/crypt_sha512.c:544:16616: int n = snprintf(cp, MAX(0, buflen), "%s%zu$", sha512_rounds_prefix, rounds);
ext/standard/hrtime.c:145:3690: int st = snprintf(s, len, "%llu", i); \
main/main.c:1635:49740: snprintf(memory_leak_buf, 512, "%s(%" PRIu32 ") : Freeing " ZEND_ADDR_FMT " (%zu bytes), script=%s\n", t->filename, t->lineno, (size_t)t->addr, t->size, SAFE_FILENAME(SG(request_info).path_translated));
main/main.c:1645:50278: snprintf(memory_leak_buf, 512, "Last leak repeated %lu time%s\n", leak_count, (leak_count>1?"s":""));
sapi/cli/ps_title.c:320:9452: sprintf(windows_error_details, "Windows error code: %lu", GetLastError());
sapi/fpm/fpm/fpm_log.c:217:5044: len2 = snprintf(b, FPM_LOG_BUFFER - len, "%lu", proc.duration.tv_sec * 1000000UL + proc.duration.tv_usec);
sapi/fpm/fpm/fpm_log.c:248:6033: len2 = snprintf(b, FPM_LOG_BUFFER - len, "%zu", proc.content_length);
sapi/fpm/fpm/fpm_log.c:262:6425: len2 = snprintf(b, FPM_LOG_BUFFER - len, "%zu", proc.memory);
sapi/fpm/fpm/fpm_log.c:268:6626: len2 = snprintf(b, FPM_LOG_BUFFER - len, "%zu", proc.memory / 1024);
sapi/fpm/fpm/fpm_log.c:274:6834: len2 = snprintf(b, FPM_LOG_BUFFER - len, "%zu", proc.memory / 1024 / 1024);
sapi/fpm/fpm/fpm_log.c:340:8842: len2 = snprintf(b, FPM_LOG_BUFFER - len, "%ld", (long)getpid());
sapi/fpm/fpm/fpm_log.c:346:8975: len2 = snprintf(b, FPM_LOG_BUFFER - len, "%ld", (long)getppid());
sapi/phpdbg/phpdbg_cmd.c:104:3035: ZEND_IGNORE_VALUE(asprintf(pointer, "%li", param->num));
sapi/phpdbg/phpdbg_cmd.c:113:3268: ZEND_IGNORE_VALUE(asprintf(pointer, "%s:%lu#%lu", param->file.name, param->file.line, param->num));
sapi/phpdbg/phpdbg_cmd.c:115:3384: ZEND_IGNORE_VALUE(asprintf(pointer, "%s:%lu", param->file.name, param->file.line));
sapi/phpdbg/phpdbg_cmd.c:120:3518: ZEND_IGNORE_VALUE(asprintf(pointer, "%s#%lu", param->str, param->num));
sapi/phpdbg/phpdbg_cmd.c:124:3632: ZEND_IGNORE_VALUE(asprintf(pointer, "%s::%s#%lu", param->method.class, param->method.name, param->num));
sapi/phpdbg/phpdbg_out.c:1029:24341: msgoutlen = phpdbg_asprintf(&msgout, "[%ld %.8F]: %.*s\n", tp.tv_sec, tp.tv_usec / 1000000., msglen, msg);
george@DESKTOP-GEORGE-P:/mnt/c/Dev/php-src$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment