Opened 18 years ago

Closed 17 years ago

#5 closed task (fixed)

Add common functions to format and parse pathnames and numbers.

Reported by: Gregg Young Owned by:
Priority: minor Milestone: Release_3.7
Component: fm/2 base Version: 3.07
Keywords: Cc:

Description


Change History (5)

comment:1 by Steven Levine, 18 years ago

Owner: StevenHL removed

comment:2 by Steven Levine, 18 years ago

Milestone: Release_3.5.9
Priority: majorminor
Summary: add common functions to format and parse pathnames and numbersAdd common functions to format and parse pathnames and numbers.

We need to come up with a decent naming convention for the .c file(s) and the function names themselves. Code of the form

      runemf2(SEPARATEKEEP | WINDOWED | MAXIMIZED,
	      hwnd, NULL, NULL, "%s %s%s%s", ad->info->test,
	      needs_quoting(ad->arcname) ? "\"" : NullStr,
	      ad->arcname,
	      needs_quoting(ad->arcname) ? "\"" : NullStr);

Is inefficient, hard to read and hard to maintain.

      runemf2(SEPARATEKEEP | WINDOWED | MAXIMIZED,
	      hwnd, NULL, NULL, "%s %s", ad->info->test,
	      quote_if_needed(ad->arcname));

is IMNSHO better. This is not as simple as it looks to implement. Any buffers allocated within the quoting function would need to be per thread. An simpler alternative add an additional argument and make the caller provide a work buffer

      runemf2(SEPARATEKEEP | WINDOWED | MAXIMIZED,
	      hwnd, NULL, NULL, "%s %s", ad->info->test,
	      quote_if_needed(ad->arcname, szBuf));

The buffer will only be used if quotes are needed. If quotes are not needed the function returns a pointer to the original string.

comment:3 by Steven Levine, 18 years ago

Milestone: Release_3.5.9

comment:4 by Gregg Young, 17 years ago

Milestone: Release_3.7
Version: 3.07

comment:5 by Gregg Young, 17 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.